Szerző Téma: /v -vel lehívott jármûvek törlése  (Megtekintve 811 alkalommal)

Nem elérhető inf

  • 366
    • Profil megtekintése
/v -vel lehívott jármûvek törlése
« Dátum: 2014. február 23. - 15:19:41 »
+1 Show voters
Sziasztok!
Valaki megtudná csinálni a jármû lehívó parancsomba azt hogy ha beírom pl.: /delcars akkor törli azokat a jármûveket amiket /v -vel hívtak le. És ha lehet akkor úgy legyen a /delcars hogy aki a /v -vel lehívott jármûvében ül azt a jármûvet ne törölje.
Elõre is köszi!
/v parancsom:
 
CMD:v(playerid, params[])
{
new Vehicle[32], VehicleID, ColorOne, ColorTwo, Float:pX,Float:pY, Float:pZ, Float:pAngle;
JatekosInfo[playerid][CanSpawnVehicle] = 1;
if(sscanf(params, \"s[32]D(-1)D(-1)\", Vehicle, ColorOne, ColorTwo))
{
JatekosInfo[playerid][CanSpawnVehicle] = 1;
Msg(playerid, \"{\"vzold\"}Használat: /v [Jármû Név / Jármû ID] [szin 1] [szin 2]\");
return 1;
}
if(JatekosInfo[playerid][CanSpawnVehicle])
{
VehicleID = GetVehicleModelIDFromName(Vehicle);
{
   if(VehicleID == -1 )
   {
      VehicleID = strval(Vehicle);
      if(VehicleID < 400 || VehicleID > 611 )
      {
         return Msg(playerid, \"{\"piros\"}Nincs ilyen jármû!\");
      }
   }
   GetPlayerPos(playerid, pX, pY, pZ);
   GetPlayerFacingAngle(playerid, pAngle);
   JatekosInfo[playerid][spawnVehicle] = CreateVehicle(VehicleID, pX, pY, pZ+2.0, pAngle, ColorOne, ColorTwo, -1);
   LinkVehicleToInterior(JatekosInfo[playerid][spawnVehicle], GetPlayerInterior(playerid));
   PutPlayerInVehicle(playerid, JatekosInfo[playerid][spawnVehicle], 0);
   Msg(playerid, \"{\"vzold\"}A jármû sikeresen le lett kérve!\");
}
} else {
Msg(playerid,\"{\"piros\"}You can not spawn vehicles in this zone!\");
}
return 1;
}

Nem elérhető TheDon

  • 159
    • Profil megtekintése
/v -vel lehívott jármûvek törlése
« Válasz #1 Dátum: 2014. február 23. - 15:39:06 »
+1 Show voters
Ha nem baj inkább nem kódot írok, hanem egy kis segítséget, hogy ezzel is tanulhass.
Elõször is:
Ahhoz, hogy a /v-s jármûveket töröld, ha jól láttam a JatekosInfo[playerid][spawnVehicle] változó fog kelleni. Na ha ezt egy for ciklussal és a DestroyVehicle(vehicleid) függvénnyel összerakod, törli mindet.
 

for(new i = 0; i < MAX_PLAYERS; i++)
   DestroyVehicle(JatekosInfo[spawnVehicle]);

 
Na ha ez meg van, akkor meg kell nézni, hogy van e valaki a kocsiban.
Itt is egy for ciklussal végignézel minden játékost, hogy az adott jármûben ül-e valaki, és ha ül akkor egyszerûen kihagyod, egy if-else feltételes elágazással a kocsi törlését.
Remélem tudtam segíteni.
Ha ez sem elég akkor kérlek szólj és segítek.
Sok sikert.
The Don

Nem elérhető inf

  • 366
    • Profil megtekintése
/v -vel lehívott jármûvek törlése
« Válasz #2 Dátum: 2014. február 23. - 15:45:00 »
0 Show voters
Az a baj vele, hogy csak a utolsó lehívott jármûvet törli a többit nem.

Nem elérhető TheDon

  • 159
    • Profil megtekintése
/v -vel lehívott jármûvek törlése
« Válasz #3 Dátum: 2014. február 23. - 15:46:42 »
+1 Show voters
De mindenki csak egyet hívhat le nem?

Nem elérhető inf

  • 366
    • Profil megtekintése
/v -vel lehívott jármûvek törlése
« Válasz #4 Dátum: 2014. február 23. - 15:48:11 »
0 Show voters
Nem itt nem törlõdik az elõzõ lehívott jármû. Direkt így van.

Nem elérhető TheDon

  • 159
    • Profil megtekintése
/v -vel lehívott jármûvek törlése
« Válasz #5 Dátum: 2014. február 23. - 15:49:13 »
+1 Show voters
Akkor viszont minden jármûvet menteni kell változóban. Kivéve ha nincsenek állandó jármûvek amiket a modba írtál.

Nem elérhető inf

  • 366
    • Profil megtekintése
/v -vel lehívott jármûvek törlése
« Válasz #6 Dátum: 2014. március 06. - 16:30:14 »
0 Show voters
De vannak.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal