Format hilfe :s!

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
  • Hallöchen Leute, ich bin dabei ein Format festzustellen, doch leider komme ich nicht weiter.
    Ich habe folgendes:
    format(string3, sizeof string3, "Du hast ID:%s zum Leader der Fraktion %i ernannt!",pID,Fraktion);


    Problem: Ich habe es schon oft versucht die % zu ändern, zu d, i und s, doch ich weiß nicht genau was passen muss. Wenn ich Es so hab, kommt eine Nachricht mit dem Text:
    Du hast ID: 0 (Richtig!) zum Leader der Fraktion (Unsichtbar)ernannt.


    Weiß einer was genau das Problem ist? :/


    Mit freundlichen Grüßen
    PacMario.

  • format(string3, sizeof string3, "Du hast ID:%s zum Leader der Fraktion %i ernannt!",pID,Fraktion);

    so muss es aussehen :


    format(string3,sizeof(string3),"Du hast ID:%i zum Leader der Fraktion %s ernannt!",pID,Fraktion); // %i oder %d = Zahlen (integer) %s = Buchstaben (strings) %f = Kommazahlen (floats)

  • so muss es aussehen :


    format(string3,sizeof(string3),"Du hast ID:%i zum Leader der Fraktion %s ernannt!",pID,Fraktion); // %i oder %d = Zahlen (integer) %s = Buchstaben (strings) %f = Kommazahlen (floats)

    Ich habe es mit pID bestimmt. 8|
    Öhm ich habejetzt %i für pID und %s für Fraktion, sind ja beides Zahlen, da ich es mit ID's mache. Nur leider war es falsch, da mir die Fraktion ID's nicht angezeigt wird, also Unsichtbar. Ich habe jetzt %i und %d, doch ID wird genau das selbe wie Fraktion ID.

  • SendClientMessage(playerid,Farbe,string3); // An den Admin.


    Mit welcher ID hast du das Ziel versehen.
    also pID oder ect?



    format(string3, sizeof string3, "Du hast ID:%s zum Leader der Fraktion %i ernannt!",pID,Fraktion);



    Da wird pID wohl das Ziel sein ;)



    //Edit:



    Dann sag uns doch mal wie du den Rest des Codes gestaltet hast.
    Also wo Fraktion ausgewertet wird.

    format(string3,sizeof(string3),"Du hast ID:%d zum Leader der Fraktion %d ernannt!",pID,Fraktion); // %i oder %d = Zahlen (integer) %s = Buchstaben (strings) %f = Kommazahlen (floats)

  • Nein, das ist auch falsch :/ ID spiegelt sich mit Fraktion ID. Also wenn ich ID 0 schreibe und FraktionID 4, sind beides 0.
    EDIT:
    Ganzer Code:



    new pID, Fraktion; new string3[100]; if(sscanf(params,"ui",pID,Fraktion)) return SendClientMessage(playerid,Orange,"Benutze: [ID] [Fraktion]"); pID += Fraktion; SpielerInfo[playerid][pFraktion] = Fraktion; format(string3, sizeof string3, "Du hast ID:%d zum Leader der Fraktion %d ernannt!",pID,Fraktion); SendClientMessage(playerid,Orange,string3); return 1;

  • Mooomeent.
    Bei Fraktion wird da eine Zahl angeben?
    Wenn ja dann ist es %i.
    format(string3,sizeof(string3),"Du hast ID:%d zum Leader der Fraktion %i ernannt!",pID,Fraktion);
    format(string4,sizeof(string4),"Der Admin hat dich zum Leader der Fraktion %i ernannt!",Fraktion);
    SendClientMessage(playerid,farbe,string3);
    SendClientMessage(pID,farbe,string4); // Der String muss noch hinzugefügt werden.

  • Geht auch nicht :huh: Du hast ID: 1 zum Leader der Fraktion 1 ernannt!, obwohl ich ID 0 angegeben habe, und Fraktion ID 1 :D

  • Zeig mal den kompletten Befehl.

    new pID, Fraktion; new string3[100]; if(sscanf(params,"ui",pID,Fraktion)) return SendClientMessage(playerid,Orange,"Benutze: [ID] [Fraktion]"); pID += Fraktion; SpielerInfo[playerid][pFraktion] = Fraktion; format(string3, sizeof string3, "Du hast ID:%d zum Leader der Fraktion %d ernannt!",pID,Fraktion); SendClientMessage(playerid,Orange,string3); return 1;

  • new pID, Fraktion,string3[100];
    if(sscanf(params,"ui",pID,Fraktion)) return SendClientMessage(playerid,Orange,"Benutze: [ID] [Fraktion]");
    format(string3, sizeof string3, "Du hast ID:%i zum Leader der Fraktion %d ernannt!",pID,Fraktion);
    SendClientMessage(playerid,Orange,string3);
    SpielerInfo[pID][pFraktion] = Fraktion;
    return 1;


    playerid != pID mein Freund :thumbup:

    KleineHilfe 2.0

  • xD. Danke, ist weg und funktioniert jetzt.


    Nein... Du wirst IMMER egal welche ID du eingibst bei mehreren SPielern immer dich zu einer Fraktion machen irrelevant was im Chat steht, siehe mein Code an und deinen.
    Der Fehler liegt bei dir unter anderem bei


    SpielerInfo[playerid][pFraktion] = Fraktion;
    =
    SpielerInfo[pID][pFraktion] = Fraktion;
    playerid = Der Spieler der den Befehl eingibt
    pID in dem Falle der Spieler der eingegeben wird.


    Spoiler anzeigen
    Edit Info

    KleineHilfe 2.0

  • Hm, okay. Danke für die Information, habe es jetzt entsprechend geändert :).