Bekomme immer die gleiche Nachricht

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
  • Guten Tag liebe Community,
    also derzeit Scripte ich an einem /createcar Befehl und an einem /deletecar Befehl. Beide Befehle habe ich mir schon erstellt, nur ich bekomme immer einen Bug. Also wenn ich /Createcar 560 (in diesem Fall Sultan) eingebe, dann kann ich das Fahrzeug löschen. Aber ich kann nicht Fahrzeuge löschen, die vom Script gespawnt werden, also unter OnGameModeInit. Wie mache ich das?


    Mein bisjetzt Gescriptetes:





    ocmd:createcar(playerid,params[])
    {
    new string[128],mID,car;
    new Float:cx,Float:cy,Float:cz,Float:ca;
    if(!IsAdmin(playerid,20))return SendClientMessage(playerid,Color_Red,"* Du bist nicht befugt.");
    if(sscanf(params,"i",mID))return SendClientMessage(playerid,Color_Grad,"Benutze: /createcar [ID]");
    if(mID<400||mID>611)return SendClientMessage(playerid,Color_Red,"* Ungültiges Fahrzeug! (ID muss zwischen 400 und 611 sein)");
    GetPlayerPos(playerid,cx,cy,cz);
    GetPlayerFacingAngle(playerid,ca);
    car=CreateVehicle(mID,cx,cy,cz,ca,-1,-1,-1);
    PutPlayerInVehicle(playerid,car,0);
    format(string,sizeof(string),"* Admin %s hat Fahrzeug %i gespawnt.",GetSpielerName(playerid),mID);
    AS_BroadCast(1,Color_Lightblue,string);
    return 1;
    }


    ocmd:deletecar(playerid,params[])
    {
    new car,string[128];
    if(!IsAdmin(playerid,10))return SendClientMessage(playerid,Color_Red,"* Du bist nicht befugt.");
    if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid,Color_Red,"* Du musst in einem Fahrzeug sitzen.");
    if(GetPlayerVehicleID(playerid)!=car)return SendClientMessage(playerid,Color_Red,"* Du sitzt nicht in einem selbstgespawnten Fahrzeug!");
    DestroyVehicle(GetPlayerVehicleID(playerid));
    format(string,sizeof(string),"* Admin %s hat ein Fahrzeug gelöscht (/createcar) oder respawnt.",GetSpielerName(playerid));
    AS_BroadCast(1,Color_Lightblue,string);
    return 1;
    }

  • Danke für die Idee, doch ich möchte es so machen, dass wenn ich /createcar eingebe und dann irgendwelche Fahrzeug ID, dass ich dann nur dieses Fahrzeug wegmachen kann durch /deletecar. Ich möchte mir z.B. 20 Fahrzeuge durch /createcar spawnen lassen und diese Anschließend einzelnd durch /deletecar löschen - die anderen Fahrzeuge, die ich unter OnGameModeInit erstellt habe, sollten nicht weggemacht werden durch /deletecar - ich hoffe, du hast mich jetzt verstanden.

  • Definier doch Alle Autos, die du unter OnGamemodeInit hast (Beispiel Lspdveh[1] = CreateVehicle.....)
    Fass sie alle im Stock zsm. Und frag dann anschließen in /deletcar ab, ob es sich um ein solches Auto handelt...


    L.G.
    heyho ;)

    Habe dich zwar verstanden, doch es muss doch irgendwie eine kürzere Variante geben, als deine :)
    Irgendwie habe ich gehört, dass ich das in einer globalen Variable abspeichern kann, also die /createcar Fahrzeuge und diese anschließend durch eine Schleife abfragen, weiß aber auch nicht, wie das geht.
    Übrigens: Wenn ich z.B. LSPD Fahrzeuge habe und auch Zivil Fahrzeuge, dann muss ich die ja gleich benennen, oder? Und dies wäre zu umständlich, denn ich muss diese ja vergleichen ...


    Vielleicht habe ich hier mist geschrieben, also das hört sich so an, aber ich hoffe du / ihr versteht mich -:D