GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => A témát indította: Casamiro - 2012. Április 09. - 16:48:39

Cím: GetVehicleNumberPlate
Írta: Casamiro - 2012. Április 09. - 16:48:39
Ezzel a funkcióval lekérhetjük egy jármû rendszámát.
 
GetVehicleNumberPlate(kocsi)

 
Kód:
 
new Rendszam[MAX_VEHICLES][32];
stock _SetVehicleNumberPlate_(kocsi, rendszam[])
{
if(0 < kocsi < MAX_VEHICLES) return 0;
SetVehicleNumberPlate(kocsi, rendszam);
format(Rendszam[kocsi], 12, \"%s\", rendszam);
return 1;
}
#define SetVehicleNumberPlate _SetVehicleNumberPlate_
stock GetVehicleNumberPlate(kocsi)
{
if(0 < kocsi < MAX_VEHICLES) return 0;
        new str[32]; format(str, 32, \"%s\", Rendszam[kocsi]);
return str;
}

 
Nem teszteltem, szóval ha valami hiba van jelezzétek.
Cím: GetVehicleNumberPlate
Írta: ZeRo - 2012. Április 09. - 16:58:02
A Rendszam változót szerintem mátrixként kéne deklarálnod.
 
new Rendszam[ MAX_VEHICLES ][ 12 ];
Cím: GetVehicleNumberPlate
Írta: Casamiro - 2012. Április 09. - 17:03:19
Idézetet írta: ZeRo date=1333983482\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"19906\" data-ipsquote-contentclass=\"forums_Topic
A Rendszam változót szerintem mátrixként kéne deklarálnod.
 
new Rendszam[ MAX_VEHICLES ][ 12 ];

 

Javítva
Cím: GetVehicleNumberPlate
Írta: kurta999 - 2012. Április 09. - 22:51:08
Maximum rendszám hosszúság 32 karakter lehet. (Színezeéssel együtt)
Ezenkívül itt nyugodtan lehetne használni a csomagolt stringeket, mivel az cellánként egy bájt, nempedig 4, mint ez.
Cím: GetVehicleNumberPlate
Írta: 1ST_Chr - 2012. Április 09. - 23:14:53
Hogy lesz a kocsi változó értéke 65535 (INVALID_VEHICLE_ID)? :D
Inkább ez kéne:
 

if(kocsi < 0 || kocsi >= MAX_VEHICLES)return 0;
if(kocsi > 0 || kocsi < MAX_VEHICLES)return Rendszam[kocsi];
Cím: GetVehicleNumberPlate
Írta: kurta999 - 2012. Április 09. - 23:27:15
Ez a megoldás egyszerûbb:
 

if(0 < vID < MAX_VEHICLES)

 
Ja és a GetVehicleNumberPlate() pedig hibát fog írni, mivel nem térhetsz vissza egy funkcióban kétféle típusú értékkel.
Itt ha \"nemjó\" a kocsi, akkor 0-val tér vissza, ellentétben pedig az array értékével, ami karakterlánc. Na és ezt nemlehet csinálni.