Szerző Téma: GetAllVehicle()  (Megtekintve 966 alkalommal)

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
GetAllVehicle()
« Dátum: 2013. Június 07. - 17:36:24 »
0 Show voters
Üdv! :D
Készítettem egy olyan \"stock\"-t amely lekérdezi a szerveren lévõ összes jármûvének számát
Eredetileg a szerverembe készítettem, de bárkinek jól jöhet.
Sorok száma: 6
Készítõ: Flash > én
Elkészítési idõ: kb 45 másodperc
A kód:
 
stock GetAllVehicle() {
new value;
value = AddStaticVehicleEx(522,0,0,0,0,0,0,0);
DestroyVehicle(value);
return value-1;
}

 
Lekérdezés:
 
GetAllVehicle()

 
Példa használat:
 
public OnFilterScriptInit() {
printf(\"Jármûvek betöltve! %i db\", GetAllVehicle());
return 1;
}

 
Használjátok egészséggel!
« Utoljára szerkesztve: 2013. Június 07. - 17:41:55 írta Flash »

Nem elérhető ZyZu.

  • Globális moderátor
  • 8939
  • my turbo diesel forum
  • Discord: ZyZu.
    • Profil megtekintése
GetAllVehicle()
« Válasz #1 Dátum: 2013. Június 07. - 18:07:43 »
0 Show voters
Egy kérdésem lenne.. ha le tudjuk kérezni a jármûvek számát minden jármû elé hozzá kell írni a value = sorát?  :hmmm: mivel én úgy látom, hogy igen.. meg lehet ezt a számolást egyszerûen is csinálni úgy tudom van függvény rá.. http://wiki.sa-mp.com/wiki/IsValidVehicle
« Utoljára szerkesztve: 2013. Június 07. - 18:11:49 írta ZyZu »

Nem elérhető Csabesz

  • 7827
    • Profil megtekintése
GetAllVehicle()
« Válasz #2 Dátum: 2013. Június 07. - 18:43:23 »
+4 Show voters
Idézetet írta: ZyZu date=1370621263\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"38230\" data-ipsquote-contentclass=\"forums_Topic
Egy kérdésem lenne.. ha le tudjuk kérezni a jármûvek számát minden jármû elé hozzá kell írni a value = sorát?  :hmmm: mivel én úgy látom, hogy igen.. meg lehet ezt a számolást egyszerûen is csinálni úgy tudom van függvény rá.. http://wiki.sa-mp.com/wiki/IsValidVehicle
 
szerintem te felejtsd el a scriptelést :D ez elég hülye felfogás már bocs.
Ez a függvény úgy mûködik, hogy a value címkével létrehoz 1 jármûvet. ( ilyenkor a value megkapja az IDjét, vagyis hanyadik kocsi )
ha létrehozol 1 kocsit és kiírod a value értékét akkor megkapod hány kocsi van, mivel növekvõ sorrendbe vannak az ID-k.
és ahányadik lett, annyi kocsi van a szerveren.
A value-1, azért van mert van elõtte egy DestroyVehicle. és az ki kell vonni az összesbõl.


Más:
Ennek van egy hátránya! Ha pl: A szerveren van 1000 jármû, és törölted az 555.-et és lekérdezed mennyi van, akkor 555-t fogsz kapni, nem pedig 999-et.
Ezért jobb ZyZu megoldása, hogy végignézi az összes slotot (0-1999) és a létezik a kocsi akkor növeli a változót.

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
GetAllVehicle()
« Válasz #3 Dátum: 2013. Június 07. - 22:20:45 »
0 Show voters
Idézetet írta: ZyZu date=1370621263\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"38230\" data-ipsquote-contentclass=\"forums_Topic
Egy kérdésem lenne.. ha le tudjuk kérezni a jármûvek számát minden jármû elé hozzá kell írni a value = sorát?  :hmmm: mivel én úgy látom, hogy igen.. meg lehet ezt a számolást egyszerûen is csinálni úgy tudom van függvény rá.. http://wiki.sa-mp.com/wiki/IsValidVehicle
 
Írtam mellé egy print-es példát.
Nem kell semmihez semmit írni.
Ez egy úgymond könnyebben ki lehet írni a jármûvek számát.
Jethro amit leírtál, hogy lehet orvosolni?

Nem elérhető Csabesz

  • 7827
    • Profil megtekintése
GetAllVehicle()
« Válasz #4 Dátum: 2013. Június 07. - 23:24:14 »
0 Show voters
Idézetet írta: Flash date=1370636445\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"38230\" data-ipsquote-contentclass=\"forums_Topic
Jethro amit leírtál, hogy lehet orvosolni?
 
2 lehetõség jutott most eszembe.
1:
 

Ezért jobb ZyZu megoldása, hogy végignézi az összes slotot (0-1999) és a létezik a kocsi akkor növeli a változót.
 
[/quote]
Magyarul, for ciklus 0-tól MAX_VEHICLES-ig és ha ( if ) létezik a kocsik ( IsValidVehicle(i) ) akkor 1 változó értékét növeled, ami majd az összes kocsi számát adja meg.
2:
CreateVehicle, AddStaticVehicle(Ex) és DestroyVehicle függvények kicserélése.
Vagyis nem kicserélése, hanem kiegészítése. Kell 1 glob. változó ami számolja majd a kocsikat és létrehozásnál növeled a változót, törlésnél meg csökkented.
 

#undef CreateVehicle
#define CreateVehicle CreateVehicle_Ex
#undef DestroyVehicle
#define DestroyVehicle DestroyVehicle_Ex
new TotalVehicles = 0;
// Ugyan ez AddStaticVehicle függvénynél
stock CreateVehicle_Ex ( modelid, Float:x, Float:y, Float:z, Float:angle, color1, color2, respawn_delay)
{
    CreateVehicle ( modelid, x, y, z, angle, color1, color2, respawn_delay);
    TotalVehicles++;
}
stock DestroyVehicle_Ex ( vehicleid )
{
    DestroyVehicle( vehicleid );
    TotalVehicles--;

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal