Erstellte Cars (/veh) 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
  • So:


    //oben im Script
    new car[MAX_PLAYERS];


    //in deinem /veh befehl
    car[playerid] = CreateVehicle(...);


    //in deinem Delete Befehl
    DestroyVehicle(car[playerid]);


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Schaut mal:


    if(strcmp(cmdtext, "/destroyveh", true) == 0 || strcmp(cmdtext,"/dveh",true) == 0)
    {
    if(SpielerInfo[playerid][Adminlevel] >= 5)
    {
    new currentveh;
    currentveh = GetPlayerVehicleID(playerid);
    DestroyVehicle(currentveh);
    return 1;
    }
    return 1;
    }


    Ist doch nicht schwer zu machen O.o

  • Wenn du ein Belibeieges in dem du Sitzt löschen willst Hier in OCMD:



    ocmd:autol(playerid, params[])
    {
    new vehicle;
    if(PlayerInfo[playerid][pAdmin] == 0)return SendClientMessage(playerid,ROT,"Keine Erlaubniss!");
    if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid,ROT,"Sie sind in keinem Auto!");
    vehicle = GetPlayerVehicleID(playerid);
    DestroyVehicle(vehicle);
    SendClientMessage(playerid,GRUEN,"Auto Erfolgreich Gelöscht!");
    return 1;
    }

  • Hm..den delete befehl habe ich auch noch nicht :/


    8|


    Einfach sowas machen:


    if(!strcmp(cmdtext, "/delveh", true))
    {
    DestroyVehicle(car[playerid]);
    return 1;
    }



    Nein, so geht das nicht, dann würde er nämlich jedes Auto löschen in dem er drinnen sitzt und nicht nur das, was er mit /veh erstellt hat ^^


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • man kann den befehl auch so machen das man nicht im auto sitzen muss um es zerstören zu können -.-



    ocmd:delveh(playerid,params[])
    {
    if(IsPlayerConnected(playerid))return 0;
    if(GetPVarInt(playerid,"AdminLevel")<4)return SendClientMessage(playerid,ROT,"Dein Admin Level ist nicht hoch genug!");
    new car,lol[128];
    if(sscanf(params,"i",car))return SendClientMessage(playerid,BLAU,"Info: /delveh [ID]");
    DestroyVehicle(car);
    format(lol,sizeof(lol),"Info: Du hast das Fahrzeug mit der ID: %i gelöscht!",car);
    SendClientMessage(playerid,HELLROT,lol);
    return 1;
    }


  • Bei meinem Befehl muss man auch nicht im Auto sitzen ^^


    und bei deinem Befehl ist einfach der FAIL, dass der Spieler jetzt jedes Auto, egal von wem zerstören kann ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Kaliber und wie funzt das dann bei dir ohne Carid?
    Muss man da in der Nähe sein? Oder drinne sitzen?


    Nein, ich arbeite mit einer sogenannten globalen Variable, du schreibst das oben in dein Script die Variable und gibst ihr in deinem /veh Befehl den Wert und den hast du in deinem /del Befehl wieder ^^


    Habe oben doch ein Beispiel gemacht ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Mein Befehl ist so und wo kommt das jetzt rein?
    car[playerid] = CreateVehicle(...);
    if(strcmp(cmd, "/veh", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if (PlayerInfo[playerid][pAdmin] < 1337)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Dir ist es nicht erlaubt, diesen Befehl zu benutzen!");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: /veh [autoid] [farbe1] [farbe2]");
    return 1;
    }
    new car;
    car = strval(tmp);
    if(car < 400 || car > 611) { SendClientMessage(playerid, COLOR_GREY, "Fahrzeug-ID kann nicht unter 400 und über 611 sein!"); return 1; }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: /veh [autoid] [farbe1] [farbe2]");
    return 1;
    }
    new color1;
    color1 = strval(tmp);
    if(color1 < 0 || color1 > 126) { SendClientMessage(playerid, COLOR_GREY, "Die Farbe kann nicht unter 0 und über 126 sein!"); return 1; }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Verwendung: /veh [autoid] [farbe1] [farbe2]");
    return 1;
    }
    new color2;
    color2 = strval(tmp);
    if(color2 < 0 || color2 > 126) { SendClientMessage(playerid, COLOR_GREY, "Die Farbe kann nicht unter 0 und über 126 sein!"); return 1; }
    new Float:vehX,Float:vehY,Float:vehZ;
    GetPlayerPos(playerid, vehX,vehY,vehZ);
    new carid = CreateVehicle(car, vehX,vehY,vehZ, 0.0, color1, color2, 60000);
    CreatedCars[CreatedCar] = carid;
    CreatedCar ++;
    format(string, sizeof(string), "Fahrzeug %d wurde gespawned.", carid);
    SendClientMessage(playerid, COLOR_GREY, string);
    }
    return 1;
    }


    Beiträge:
    150 {X}
    300 {X}
    450 {X}
    600 { }


  • //oben
    new bool:CreatedVeh[MAX_VEHICLES];


    //Im /veh Befehl
    CreatedVeh[carid] = true;


    // /delveh, alle erstellten Fahrzeuge per /veh werden zersört
    for(new i=0; i!=MAX_VEHICLES; i++)
    {
    if(CreatedVeh[i] == true)
    {
    DestroyVehicle(i);
    CreatedVeh[i] = false;
    }
    }


  • do.de - Domain-Offensive - Domains für alle und zu super Preisen