Fehler bei Stats Befehl

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 habe mich ebend mal gerade selber an einen
    /stats Befehl versucht mit ocmd. Hat alles gut
    geklappt aber ein Error, mit dem kann ich nichts anfangen.


    ocmd:stats(playerid,params[])
    {
    new string[300];
    strcat(string,"{335CD6}[=========={FFFFFF}[ Dein Status ]{335CD6}==========]");
    strcat(string,"{335CD6}\nName: {FFFFFF}%s",SpielerName(playerid)); // Die betroffende Zeile
    strcat(string,"{335CD6}\nGeld: {FFFFFF}%i",GetPlayerMoney(playerid));
    strcat(string,"{335CD6}\nScore: {FFFFFF}%i",GetPlayerScore(playerid));
    strcat(string,"{335CD6}\nAdminlevel: {FFFFFF}%i",GetPVarInt(playerid,"Adminlevel"));
    strcat(string,"{335CD6}\nZeit bis zum Payday: {FFFFFF}%i/30 Minuten",GetPVarInt(playerid,"PayTime"));
    ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,"Status",string,"OK","");
    return 1;
    }


    C:\Users\Patrick\Desktop\Scripten Lernen\gamemodes\UFS3.pwn(275) : error 035: argument type mismatch (argument 3)
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    Bitte um hilfe, ich hab schon verschiedenes versucht.
    Ist zwar bestimmt für euch nichts großes aber ich lerne es erst wieder ^^.


    MfG Kazuto

  • Du hast strcat mit format verwechselt.
    Mit strcat kannst du Strings aneinander hängen ( verketten ). Mit format kannst du es zwar auch über Platzhalter realisieren , kannst sie in erster Linie aber dazu nutzen Variablen und andere Werte darin darzustellen.


    strcat(string,"{335CD6}[=========={FFFFFF}[ Dein Status ]{335CD6}==========]");
    strcat(string,"{335CD6}\nName: {FFFFFF}%s",SpielerName(playerid)); // #
    Ich nehme an,du möchtest die markierte Zeile mit der ersten zusammenfügen UND den Spielernamen ( markiert durch Platzhalter %s ) einfügen.
    Ich mach dir mal eine Zeile vor:
    strcat(string,"{335CD6}[=========={FFFFFF}[ Dein Status ]{335CD6}==========]"); // strcat nicht unbedingt notwendig. Würde auch direkt gehen.
    format(string, sizeof(string),"%s{335CD6}\nName: {FFFFFF}%s",string,SpielerName(playerid)); //
    Ich füge den "alten" String an den Anfang des neuen Strings und mache dann die restlichen Aktionen, wie zum Beispiel den Spielernamen auslesen und einfügen.
    Das müsstest du übrigens so auch bei den Anderen Zeilen korrigieren.