Befehl mit vielen auswahlmöglichkeiten

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
  • moin moin,


    ich hab schon lange nix mehr an meinem script gemacht und einiges wieder vergessen.
    Wie ging das wenn ich z.B /goto mach und danach entscheiden kann ob man eine 1 nimmt, 2,3,4...oder ls, sf, bs
    das sieht dann so aus /goto 1, /goto 2....
    Das ich halt nicht für jedes teil einen neuen cmd schreiben muss, hoffe ihr habt mich verstanden^^

  • meinst du wenn man /goto eingibt das da so ein kasten kommt wo /goto 1 /goto2 usw steht??

  • also nochmal du schreibst veh hin dann kommt ne auswahl oder eine liste oder was?


    mach ein beispiel wie:


    /veh
    >>> /veh 1 [AusWAHLTASTE DRÜCKEN] oder sowas??? oder eher


    /veh
    >>> /veh 1 [Schreibe dies mit /t] oder was????


    xD ich blick ent druch ein bischen verständniss musste haben für meine dummheit xD

  • if(!strcmp(cmdtext,"/goto",true,5))
    {
    if(!cmdtext[7])return SendClientMessage(playerid,0xFF0000FF,"Nutze /goto [playerid]");
    new id = strval(cmdtext[7]);
    if(!IsPlayerConnected(id) ||IsPlayerNPC(id))return SendClientMessage(playerid,0xFF0000FF,"Spieler ist nicht Aktiv!");
    new Float:hpos[3];
    GetPlayerPos(id,hpos[0],hpos[1],hpos[2]);
    return SetPlayerPos(playerid,hpos[0],hpos[1],hpos[2]);
    }


    Ansonsten kann ich dir noch die strtok & dcmd Methode zeigen wenn es nötig ^^ oder zcmd

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Befehl: /blablub [1/2/3/4]");
    return 1;
    }
    if(tmp == 1)...



    dmcd nutz ich nicht

  • ich glaub ich geb mal ein beispiel^^


    der befehl heißt z.B /veh
    jetzt kann man nach /veh noch eine zahl schreiben:
    /veh 520
    er soll dann in dem bsp das vehicle mit der id 520 spawnen.
    das soll mit allen zahlen gehen falls die autos vorhanden sind

  • achso


    sowas wie


    /veh dann kommt Auswahl welche autos da sind odeR?

  • Nein Er meint!


    ....


    if(strcmp(cmd, "/tele", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, Farbe_weiß, "Benutze: /tele 1 = Los Santos");
    SendClientMessage(playerid, Farbe_weiß, "Benutze: /tele 2 = San Fierro");
    SendClientMessage(playerid, Farbe_weiß, "Benutze: /tele 3 = Las Venturas");
    return 1;
    }
    new item = strval(tmp);


    if (item == 1)
    {
    SetPlayerPos....
    }
    else if (item == 2)
    {
    SetPlayerPos
    }
    }
    return 1;
    }


    wenn du noch keine
    new tmp; //hast mach dir eine :D
    wenn du mit Fahrzeug möchtest ... Das Vehicle mit porten, ich hoffe du weißt noch wie das geht!


    MfG Kevin


    PS: wenn nicht sag beshceid!

  • Strtok


    new cmd[128],tmp[128],idx;
    cmd = strtok(cmdtext,idx);
    if(!strcmp(cmd,"/veh",true))
    {
    tmp = strtok(cmdtext,idx);
    if(!tmp[0])return SendClientMessage(playerid,0xFF0000FF,"/veh [Model]");
    new temp = strval(tmp);
    if(temp < 400 || temp > 611)return SendClientMessage(playerid,0xFF0000FF,"Ungültiges Model!");
    new Float:hpos[3];
    GetPlayerPos(playerid,hpos[0],hpos[1],hpos[2]);
    new vv = CreateVehicle(temp,hpos[0],hpos[1],hpos[2],90.0,-1,-1,9999999);
    return PutPlayerInVehicle(playerid,vv,0);
    }

    Mfg. BlackFoX_UD_ alias [BFX]Explosion