Semmi probléma, kérdezz bátran, akár alap dolgokat is, ezért is van ez a fórumrész.
new Jarmu[MAX_PLAYERS]; // Deklarálás
Jarmu[playerid] = CreateVehicle/AddStaticVehicle(Ex)(...); // A jármû létrehozása
DestroyVehicle(Jarmu[playerid]); // A létrehozott jármû törlése
Jarmu[playerid] = CreateVehicle/AddStaticVehicle(Ex)(...); // Új jármû létrehozása
new Jarmu[MAX_PLAYERS];
Ezt a mod elejére, gondolom van több globális változód.
Jarmu[playerid] = CreateVehicle/AddStaticVehicle(Ex)(...);
Ezt pedig amikor a megadott paranccsal létrehozod neki a jármûvet, pl. látom írtad hogy minden kocsira külön parancsod van, tehát jelenleg egy parancs hasonlóan nézhet ki:
CMD:infernus(playerid, params[])
{
GetPlayerPos(...);
CreateVehicle(...);
return 1;
}
A jármû létrehozásakor a CreateVehicle függvény visszatér a létrehozott jármû azonosítójával, így azt kell eltárolni a Jarmu változóba minden játékosnak. Tehát:
CMD:infernus(playerid, params[])
{
GetPlayerPos(...);
Jarmu[playerid] = CreateVehicle(...);
return 1;
}
Majd a parancs beírásánál le kell ellenõrzni, hogy a játékos hozott -e létre jármûvet, és ha igen, töröljük.
CMD:infernus(playerid, params[])
{
GetPlayerPos(...);
if(IsValidVehicle(Jarmu[playerid])) DestroyVehicle(Jarmu[playerid]); // ha van létrehozott jármûve, töröljük
Jarmu[playerid] = CreateVehicle(...);
return 1;
}
Illetve célszerû kilépésnél is törölni a létrehozott jármûvet:
public OnPlayerDisconnect(playerid, reason)
{
if(IsValidVehicle(Jarmu[playerid])) DestroyVehicle(Jarmu[playerid]); // ha van létrehozott jármûve, töröljük
return 1;
}