/taxi annehmen Befehl setzt bei ID 0 den Checkpoint.

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
  • Hallo liebe Community.
    Ich habe einen /taxi Befehl eingebaut. Damit wird dem Taxifahrer eine Nachricht gesendet das jemand ein Taxi angefordert hat und der Taxifahrer dies mit /annehmen bestätigen muss.
    Sobald ich das aber mache setzt er den Checkpoint bei ID 0 (In diesem Falle der Busbot).


    Hier ist der Befehl:
    ocmd:annehmen(pID,params[])
    {
    if(isPlayerInFrakt(pID,4))
    {
    if(Tduty[pID]== 1)
    {
    if(TaxiRuf[pID]== 1)
    {
    new playerid,Float:x,Float:y,Float:z,string[128],string2[128];
    GetPlayerPos(playerid,x,y,z);
    SetPlayerCheckpoint(pID,x,y,z,3.0);
    format(string,sizeof(string),"%s hat deinen Ruf angenommen! Warte an deiner Position!",SpielerName(pID));
    format(string2,sizeof(string2),"Du hast den Ruf von %s angenommen! Es wurde ein Marker gesetzt!",SpielerName(playerid));
    SendClientMessage(pID,COLOR_LIGHTBLUE,string2);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
    TaxiCheckpoint[pID]=1;
    }
    }
    else SendClientMessage(pID,COLOR_YELLOW,"Du bist nicht im Dienst!");
    }
    else SendClientMessage(pID,COLOR_LIGHTRED,"Du bist kein Taxifahrer!");
    return 1;
    }
    ocmd:taxi(playerid,params[])
    {
    new string[128],string2[128];
    format(string,sizeof(string),"Du hast ein Taxi angefordert. Warte auf Annahme!");
    TaxiRuf[playerid]=1;
    format(string2,sizeof(string2),"%s hat ein Taxi angefordert. Gebe /annehmen ein um anzunehmen!",SpielerName(playerid));
    SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(isPlayerInFrakt(i,4))
    {
    SendClientMessage(i,COLOR_LIGHTBLUE,string2);
    }
    }
    return 1;
    }


    Bitte um Hilfe :/.
    Danke im Vorraus.


    DarkHell.

  • Bei deinem annehmen Befehl benutzt du pID. Im Kopf pID zu deklarieren ist irgendwie bescheuert, denn es erfüllt nicht den Zweck,den du gerne hättest.
    ocmd:annehmen(playerid /* nix pID */ ,params[])
    Du musst die Eingabe hinter /annehmen auslesen, z.B. bei /annehmen 8 die Zahl 8 auslesen.
    Am leichtesten ist es mit sscanf,hier eine Anleitung.