/veh und /dvehicles Befehl

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,


    ich benötige einen Befehl(/veh [carid] [farbe1] [farbe2]) mit dem man Autos spawnen lassen kann, soviele man will.
    Dazu sollte es noch einen Befehl geben (/dvehicles) mit dem man ALLE erstellten Autos wieder löscht.


    Ich hoffe es kann einer für mich machen, ach ja, ich benutzte GF.


    MfG. Cody09

  • in den meisten Scripts Ist das schon vorhanden
    t


    In den meisten ist es aber /destroycar oder /destroycars ... in seltenenn fällen auch /killcar ;)

  • ich hab eins im gamemode, da konnte man autos ohne probleme erstellen, aber net löschen..., hatte sufu schon benutzt...


    @edit: Code eingefügt:


    if(strcmp(cmd, "/destroycars", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pAdmin] < 1338)
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Das darfst du nicht tun!");
    return 1;
    }
    for(new i = 0; i < sizeof(CreatedCars); i++)
    {
    if(i != 0)
    {
    DestroyVehicle(i);
    }
    }
    SendClientMessage(playerid, COLOR_GREY, " Alle erstellten Autos zerstört !");
    }
    return 1;
    }


    if(strcmp(cmd, "/veh", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if (PlayerInfo[playerid][pAdmin] < 1338)
    {
    SendClientMessage(playerid, COLOR_GRAD1, " Du bist kein Admin!");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2]");
    return 1;
    }
    new car;
    car = strval(tmp);
    if(car < 400 || car > 611) { SendClientMessage(playerid, COLOR_GREY, " Auto Nummer nicht weniger als 400 oder höher als 611 sein !"); return 1; }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2]");
    return 1;
    }
    new color1;
    color1 = strval(tmp);
    if(color1 < 0 || color1 > 126) { SendClientMessage(playerid, COLOR_GREY, " Nicht Weniger als 0 oder höher 126 !"); return 1; }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /veh [carid] [color1] [color2]");
    return 1;
    }
    new color2;
    color2 = strval(tmp);
    if(color2 < 0 || color2 > 126) { SendClientMessage(playerid, COLOR_GREY, " Nicht weniger als 0 oder höher als 126 !"); return 1; }
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid, X,Y,Z);
    new carid = CreateVehicle(car, X,Y,Z, 0.0, color1, color2, 60000);
    CreatedCars[CreatedCar] = carid;
    CreatedCar++;
    Gas[carid] = GetGasMax(car);
    format(string, sizeof(string), " Auto %d gespawned.", carid);
    SendClientMessage(playerid, COLOR_GREY, string);
    }
    return 1;
    }


    Das ist der, der net funzt

  • Ok hier hast du meinen ;)
    Ich arbeite aber mit "STRGET"! musst du also noch ändern.


    if(strcmp(strget(cmdtext,0), "/deletecar", true) == 0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new currentveh;
    currentveh = GetPlayerVehicleID(playerid);
    DestroyVehicle(currentveh);
    SCM(playerid, COLOR_SCHWARZ, "Du hast das Auto zerstört.");
    }else{
    SCM(playerid, COLOR_ROT, "Du bist in keinem Auto");
    }


    return 1;
    }


    MFG Kompressor

  • kann ich nicht strget und cmd in einem gleichzeitig verwenden? Und nein, ich hab mich bis jetzt nur mit cmd beschäftigt, was muss ich da ändern? So?



    if(strcmp(cmd, "/deletecar", true) == 0)


    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new currentveh;
    currentveh = GetPlayerVehicleID(playerid);
    DestroyVehicle(currentveh);
    SCM(playerid, COLOR_SCHWARZ, "Du hast das Auto zerstört.");
    }else{
    SCM(playerid, COLOR_ROT, "Du bist in keinem Auto");
    }


    return 1;
    }


    Ich brauch doch noch deinen /veh Befehl oder? Ich brüchte es fertig zum einbauen...


    @edit: dieser Befehl zerstört ja nur das Auto in dem die Person ist, ich brauche es aber, das alle erstellten Autos zerstört werden..

  • So müsstest du ihn direkt verwenden können:
    if (strcmp("/deleteveh", cmdtext, true, 10) == 0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new currentveh;
    currentveh = GetPlayerVehicleID(playerid);
    DestroyVehicle(currentveh);
    SendClientMessage(playerid, 0x000000FF, "Du hast das Auto zerstört.");
    }else{
    SendClientMessage(playerid, 0xCD0000FF, "Du bist in keinem Auto");
    }


    Und der /veh Befhel weiß ich nicht wie man da das strget rausnimmt...Ich habe bissher immer damit gearbeitet.
    So habe ich es:
    if(strcmp(strget(cmdtext,0), "/veh", true) == 0)
    {
    if(pInfo[playerid][alevel] >= 5)
    {
    if(!strlen(strget(cmdtext,3))) return SendClientMessage(playerid, COLOR_GRUEN, "Benutze: /veh [MODELID] [COLOR1] [COLOR2]");
    {
    new modelid, col1, col2, car;
    new Float:PosX, Float:PosY, Float:PosZ, Float:PosZA;


    GetPlayerPos(playerid, PosX, PosY, PosZ);
    GetPlayerFacingAngle(playerid,PosZA);


    modelid = strval(strget(cmdtext, 1));
    col1 = strval(strget(cmdtext, 2));
    col2 = strval(strget(cmdtext, 3));


    car = AddStaticVehicle(modelid,PosX, PosY, PosZ, PosZA, col1, col2);


    PutPlayerInVehicle(playerid,car,0);
    }
    }else{
    SCM(playerid, COLOR_ROT, "Du bist kein Level 5 Admin");
    }
    return 1;
    }