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.
A Rendszam változót szerintem mátrixként kéne deklarálnod.
new Rendszam[ MAX_VEHICLES ][ 12 ];
A Rendszam változót szerintem mátrixként kéne deklarálnod.
new Rendszam[ MAX_VEHICLES ][ 12 ];
Javítva
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];
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.