Auto nach einer bestimmten Zeit respawnen lassen

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
  • Hey,
    ich habe mir ein Fahrzeugspawn-Kommando erstellt. Nun will ich aber, wenn der Admin wieder /spawncar eingibt, das alte Auto gelöscht wird. Wie stelle ich das an?
    Habs schon mit DestroyVehicle versucht, allerdings wird das nur gelöscht, wenn das Fahrzeug kapput geht.
    Code: ocmd:spawncar(playerid,params[]){
    new carID, Colour1, Colour2;
    new string[128];
    new Float:x,Float:y,Float:z;
    if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,Color_DarkRed,"Du bist kein Admin!");
    if(sscanf(params,"iii",carID,Colour1,Colour2))return SendClientMessage(playerid,Color_DarkRed,"/spawncar [CarID] [Colour1] [Colour2]");
    if(carID<400||carID>611)return SendClientMessage(playerid,Color_DarkRed,"Bitte eine gültige Zahl eingeben!");
    if(Colour1>127)return SendClientMessage(playerid,Color_DarkRed,"Bitte eine gültige Zahl eingeben!");
    if(Colour2>127)return SendClientMessage(playerid,Color_DarkRed,"Bitte eine gültige Zahl eingeben!");
    if (GetPVarInt(playerid, "lastvehicle"))
    {
    DestroyVehicle(GetPVarInt(playerid, "lastvehicle"));
    }
    SetPVarInt(playerid,"LastVehicle",carID);
    GetPlayerPos(playerid,x,y,z);
    CreateVehicle(carID,x-3.0,y,z,0.0,Colour1,Colour2,300);
    format(string,sizeof(string),"CarSpawn: Du hast ein Fahrzeug gespawnt!");
    SendClientMessage(playerid,Color_Orange,string);
    SavePlayer(playerid);
    return 1;
    }




    Mfg Maksimo007

  • Bei SetPVar schreibst du die Model-ID (z.B. 411 für Infernus), du musst jedoch die Vehicle-ID schreiben (z.B. 1 oder 2 - für jedes Fahrzeug unterschiedlich).
    Das kannst du zum Beispiel machen, indem du oben im Skript
    new vID
    schreibst und vor das CreateVehicle noch "vid = " schreibst - dadurch wird die Vehicle-ID nach vID geschrieben.
    Diese schreibst du dann auch per
    SetPVarInt(playerid, "lastvehicle" , vID);

    Ich bin Dittis Signatur.

  • Das ganze sieht nun so aus:ocmd:spawncar(playerid,params[]){
    new carID, Colour1, Colour2;
    new vID;
    new string[128];
    new Float:x,Float:y,Float:z;
    if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,Color_DarkRed,"Du bist kein Admin!");
    if(sscanf(params,"iii",carID,Colour1,Colour2))return SendClientMessage(playerid,Color_DarkRed,"/spawncar [CarID] [Colour1] [Colour2]");
    if(carID<400||carID>611)return SendClientMessage(playerid,Color_DarkRed,"Bitte eine gültige Zahl eingeben!");
    if(Colour1>127)return SendClientMessage(playerid,Color_DarkRed,"Bitte eine gültige Zahl eingeben!");
    if(Colour2>127)return SendClientMessage(playerid,Color_DarkRed,"Bitte eine gültige Zahl eingeben!");
    if (GetPVarInt(playerid, "Lastvehicle"))
    {
    DestroyVehicle(GetPVarInt(playerid, "Lastvehicle"));
    }
    SetPVarInt(playerid,"LastVehicle",vID);
    GetPlayerPos(playerid,x,y,z);
    vID=AddStaticVehicle(carID,x-3.0,y,z,0.0,Colour1,Colour2);
    format(string,sizeof(string),"CarSpawn: Du hast ein Fahrzeug gespawnt!");
    SendClientMessage(playerid,Color_Orange,string);
    SavePlayer(playerid);
    return 1;
    }


    Allerdings steht das alte Auto immer noch da... (nicht wundern, hab das CreateVehicle durch AddStaticVehicle ausgetauscht)