/veh

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
  • Ich brauche einen /veh [CarID] Befehl aber keinen bei dem man sich unendlich spawnen kann sondern maximal 2 und wenn man sein Drittes SPawnt werden die anderen automatisch gelöscht.


    Ich weiß wzar im Grunde wie es geht nur ich würde es machen mit am anfang mit


    new autostk = 0


    dass sollte natürlich nur für den einzelenen Player einzeln hochgezählt werden.


    schonmal DAnke im VOraus :)


    MFG Tirus

  • habe jetzt noch ein Prob alles spawnt perfekt und klappt auc hdie ClientMessages gehen gut nur ganz am schluss werden die Autos nicht gelöscht O.o



    so sieht mein Befehl aus


    dcmd_veh(playerid,params[])
    {
    new vehcar;
    new vehcar2;
    new vehicleid;



    if(sscanf(params, "d", vehicleid)) {
    return SendClientMessage(playerid,COLOR_RED,"Benutzung: /veh [AutoID]");
    }


    if(IsNoCarID(vehicleid)) {
    return SendClientMessage(playerid,COLOR_RED,"Gütltige AutoIDs sind nur 400 -> 609");
    }


    if(spawned [playerid] == 2){
    SendClientMessage(playerid,COLOR_RED,"Du hast zuviele Autos gespawnt(Max.2) deine Alten werden nun Gelöscht");
    SendClientMessage(playerid,COLOR_RED,"---------------------Autos Werden Gelöscht--------------------------");
    DestroyVehicle(vehcar2);
    DestroyVehicle(vehcar);
    SetTimerEx("delveh",2000,0,"i",playerid); //macht Spawned [playerid] = 0
    }

    if(spawned [playerid] == 1){
    new Float:x, Float:y, Float:z, Float:za;
    GetPlayerPos(playerid,x,y,z);
    GetPlayerFacingAngle(playerid,za);
    vehcar2 = CreateVehicle(vehicleid,x,y,z,za,1,1,99999999999999);
    PutPlayerInVehicle(playerid,vehcar2,0);
    SendClientMessage(playerid,COLOR_RED,"Fahrzeug 2 von 2 Wurde gespawnt");
    spawned [playerid] = 2;
    }

    if(spawned [playerid] == 0){
    new Float:x, Float:y, Float:z, Float:za;
    GetPlayerPos(playerid,x,y,z);
    GetPlayerFacingAngle(playerid,za);
    vehcar = CreateVehicle(vehicleid,x,y,z,za,1,1,99999999999999);
    SendClientMessage(playerid,COLOR_RED,"Fahrzeug 1 von 2 wurde gespawnt");
    PutPlayerInVehicle(playerid,vehcar,0);
    spawned [playerid] = 1;
    }

    return 1;
    }

    2 Mal editiert, zuletzt von Tirus ()

  • Du deklarierst  
    new vehcar;
    new vehcar2;
    immer wieder neu bei jedem Befehl.
    Lösche dies und füg oben
    enum Cars
    {
    vehcar,
    vehcar2,
    };
    stock PlayCarInfo[MAX_PLAYERS][Cars]; //ersetz natürlich dann im Command vehcar mit PlayerCarInfo[playerid][vehcar] zB DestroyVehicle(PlayerCar...);


    // ======= oder da es nur wenige sind:
    const Cars = 2;
    stock PlayCarInfo[MAX_PLAYERS][Cars]; // dafür dann PlayCarInfo[playerid][0]; und 1

    Teste das mal :)

  • Klar.
    Es ist allgemein so:" Wörter statt Zahlen"
    zB:

    enum Mahlzeiten
    {
    Abendessen,
    Mittagessen,
    Frühstück
    };


    Nun kannst du machen:


    new Gewohnheiten[MAX_PLAYERS][Mahlzeiten];


    Ebenso wäre dafür möglich:
    new Gewohnheiten[MAX_PLAYERS][3];


    Vorteil vom Enum:
    - Gewohneit[playerid][Mittagessen] = 1;
    statt: Gewohnheit[playerid][1] = 1;
    denn weißt du nach einiger Zeit noch,was 1,oder 2, oder 0 nochmal war? Es dient, wie gesagt, zur besseren Orientierung.


    Allg. ist es ein Arry.

    Einmal editiert, zuletzt von KornChief ()

  • Hi ich bräuchte das auch, nur das der mir das nur ganu simpel spawnt:
    Meins sieht so aus:
    }
    if (strcmp("/gocar", cmdtext, true, 10) == 0)
    {
    new vehcar;
    new vehicleid;
    new Float:x, Float:y, Float:z, Float:za;
    GetPlayerPos(playerid,x,y,z);
    GetPlayerFacingAngle(playerid,za);
    vehcar = CreateVehicle(vehicleid,x,y,z,za,1,1,99999999999999);
    SendClientMessage(playerid,COLOR_RED,"Dein Fahrzeug wurde gespawnt!");
    PutPlayerInVehicle(playerid,vehcar,0);
    return 1;


    ist das richtig so?


    MFG,Cedi :thumbup: