Nur InGame erstellte Autos löschen

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo,


    ich habe folgendes Problem:


    Ich will ,dass man alle Autos die man InGame gespawnt hat mit einem Command löschen kann.Jedoch sollten die Autos,die im Script definiert sind bleiben.


    ocmd:scardel(playerid,params[])
    {
    if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,Rot,"Dein Adminlevel ist zu niedrig");
    for(new i = 0; i < CarID; i++)
    {
    DestroyVehicle(i);
    }
    return 1;
    }


    Bei diesem Code werden die im SCript definierten Cars auch gelöscht und kommen erst nach einem restart wieder.

  • Du machst eine globale Variable für alle Autos


    new bool:admincar[MAX_VEHICLES];
    Bei deinem Befehl wenn du die Autos Ingame erstellst setzt du die Variable auf true


    new acar = CreateVehicle(400, 0, 0, 0, 0, -1, -1, -1);
    admincar[acar] = true;
    Dan bei deinem Befehl abfragen ob die Variable bei dem Auto auf true ist falls ja löschen:


    ocmd:scardel(playerid,params[])
    {
    if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,Rot,"Dein Adminlevel ist zu niedrig");
    for(new i = 0; i < CarID; i++)
    {
    if(admincar[i] == true)
    {
    DestroyVehicle(i);
    admincar[i] = false;//Nach der löschung wieder zurücksetzen auf false
    }
    }
    return 1;
    }