SendClientMessage für id/playerid bei einem CMD

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


    Ich habe hier einen /pay [ID] [Geldbetrag] Befehl
    Nun möchte ich, dass jedem der beiden Spieler eine SCM mit der anderen ID und dem Gelbetrag angeziegt wird.


    Geldgeber (ID2): Du hast ID 3 250 Dollar gesendet
    Gelderhalter (ID3): Du hast von ID 2 250 Dollar erhalten



    Nun kommt meine Frage:


    Beide Personen haben ja den anderen als id. Wird das playerid und die id oben beim /pay "definiert", da ich zweimal id drinn habe, erscheint ingame tweimal die gleiche ID, was nicht der Sinn ist. Wie kann ich das machen, das das id zum Zeitpunkt der Eingabe des pay Befehles nachher die id bei der ersten SCM und die playerid die id bei der zweiten Ausgabe ist ?


    dcmd_pay(playerid, params[])
    {
    new id, geld, string[256];
    if(sscanf(params, "ud", id, geld)) SendClientMessage(playerid, COLOR_WHITE, "Verwendung: /pay [ID] [Betrag]");
    else
    {
    JB_GivePlayerMoney(playerid, -geld);
    JB_GivePlayerMoney(id, geld);
    format(string,sizeof(string),"Du hast der ID %d $%d Dollar gesendet",id,geld);
    SendClientMessage(playerid, COLOR_WHITE, string);
    format(string,sizeof(string),"ID %d hat Dir $%d Dollar gesendet",id,geld);
    SendClientMessage(id, COLOR_WHITE, string);
    return 1;
    }
    return 1;
    }


    Deshalb sieht es dann auch so aus:


    Geldgeber (ID2): Du hast ID 3 250 Dollar gesendet
    Gelderhalter (ID3): Du hast von ID 3 250 Dollar erhalten



    MfG dUDALUS

  • "id" und "playerid" sind im grunde auch nur 2 Zahlen,"id" ist in diesem falle 3 und "playerid" 2
    playerid kann man in OnPlayerCommandText benutzten da es dann die ID desjenigen zurückgibt (oder darstellt) der grade den Befehl ausführt.
    Nun brauchst du nurnoch die variablen namen "id" und "playerid" dort einzusetzen wo du sie hinhaben willst.
    format(string,sizeof(string),"Du hast der ID %d $%d Dollar gesendet",id,geld); "id" ist die andere Person aus dem Befehl
    format(string,sizeof(string),"ID %d hat Dir $%d Dollar gesendet",id,geld);
    Und hier ist "id" wieder der andere? Das kann ja nicht sein,denn in diesem Teil ist nähmlich der gemeint der den Befehl ausführt, und wer ist das?
    Richtig, "playerid" :D Also statt "id" beim 2. "playerid"