Szerző Téma: GetVehicleNumberPlate  (Megtekintve 1717 alkalommal)

Nem elérhető Casamiro

  • 1046
    • Profil megtekintése
GetVehicleNumberPlate
« Dátum: 2012. Április 09. - 16:48:39 »
0
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.
« Utoljára szerkesztve: 2012. Október 18. - 06:38:48 írta ChuckNorris »

Nem elérhető ZeRo

  • 4620
  • Ex Globális Moderátor
    • Profil megtekintése
GetVehicleNumberPlate
« Válasz #1 Dátum: 2012. Április 09. - 16:58:02 »
0
A Rendszam változót szerintem mátrixként kéne deklarálnod.
 
new Rendszam[ MAX_VEHICLES ][ 12 ];

Nem elérhető Casamiro

  • 1046
    • Profil megtekintése
GetVehicleNumberPlate
« Válasz #2 Dátum: 2012. Április 09. - 17:03:19 »
0
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

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
GetVehicleNumberPlate
« Válasz #3 Dátum: 2012. Április 09. - 22:51:08 »
0
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.
« Utoljára szerkesztve: 2012. Április 09. - 22:53:23 írta kurta999 »

GetVehicleNumberPlate
« Válasz #4 Dátum: 2012. Április 09. - 23:14:53 »
0
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];

Nem elérhető kurta999

  • 2759
  • Éllő fédisznó
    • Profil megtekintése
GetVehicleNumberPlate
« Válasz #5 Dátum: 2012. Április 09. - 23:27:15 »
+1
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.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal