Der Befehl "/stats" funktzioniert nicht.

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
  • ocmd:stats(playerid)
    {
    new pname[MAX_PLAYER_NAME], string1[50], string[250];
    GetPlayerName(playerid, pname, sizeof(pname));
    new Float:kdrate = Spieler[playerid][Kills]/Spieler[playerid][Deaths];
    format(string1,sizeof(string1),"Stats von %s",pname);
    format(string,sizeof(string),"Name: %s\nLevel: %d\nGeld: %d\nAdminlevel: %d\nKills: %d\nDeaths: %d\nKD-Rate: %.2f\n\nSollten Fehler vorliegen, melde dich bei einem Admin.","Okay","Abbrechen",pname,Spieler[playerid][Level],GetPlayerMoney(playerid),Spieler[playerid][Admin],Spieler[playerid][Kills],Spieler[playerid][Deaths],kdrate);
    ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,string1,string,"Okay","Abbrechen");
    return 1;
    }
    Lautet der Code.
    Jedoch wenn ich IG "/stats" eingebe, passiert nichts, außer, dass im CHAT steht: Unknown Command.
    Hoffentlich könnt ihr mir weiter helfen.


    MfG

  • So.....


    ocmd:stats(playerid,params[])
    {
    new pname[MAX_PLAYER_NAME], string1[50], string[250];
    GetPlayerName(playerid, pname, sizeof(pname));
    new Float:kdrate = Spieler[playerid][Kills]/Spieler[playerid][Deaths];
    format(string1,sizeof(string1),"Stats von %s",pname);
    format(string,sizeof(string),"Name: %s\nLevel: %d\nGeld: %d\nAdminlevel: %d\nKills: %d\nDeaths: %d\nKD-Rate: %.2f\n\nSollten Fehler vorliegen, melde dich bei einem Admin.","Okay","Abbrechen",pname,Spieler[playerid][Level],GetPlayerMoney(playerid),Spieler[playerid][Admin],Spieler[playerid][Kills],Spieler[playerid][Deaths],kdrate);
    ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,string1,string,"Okay","Abbrechen");
    return 1;
    }


  • warum params[], wenn hierbei keine Parameter benutzt werden?

  • Auch wenn Du sie nicht benötigst, das muss so.


  • Dann haste aber einen Fehler :D

  • warum params[], wenn hierbei keine Parameter benutzt werden?


    wenn dann so:


    ocmd:stats(playerid,params[])
    {
    #pragma unused params
    new pname[MAX_PLAYER_NAME], string1[50], string[250];
    GetPlayerName(playerid, pname, sizeof(pname));
    new Float:kdrate = Spieler[playerid][Kills]/Spieler[playerid][Deaths];
    format(string1,sizeof(string1),"Stats von %s",pname);
    format(string,sizeof(string),"Name: %s\nLevel: %d\nGeld: %d\nAdminlevel: %d\nKills: %d\nDeaths: %d\nKD-Rate: %.2f\n\nSollten Fehler vorliegen, melde dich bei einem Admin.","Okay","Abbrechen",pname,Spieler[playerid][Level],GetPlayerMoney(playerid),Spieler[playerid][Admin],Spieler[playerid][Kills],Spieler[playerid][Deaths],kdrate);
    ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,string1,string,"Okay","Abbrechen");
    return 1;
    }



  • Der wäre?


    Das der Befehl nicht funktioniert, da dies ein "ocmd" Befehl ist & das Include nur so die Befehle erkennt ;)

  • Jan_: Nein probier es gerne aus man muss nicht params[] dazu Schreiben man kann es einfach weg lassen, habe es früher auch immer so gemacht. :)


    b2t:


    Erstell dir ne Gloabel Variable mit pName und speicher dort den Namen musst dann keine unnötigen ressourcen verbrauchen um auf eine Funktion zuzugreifen wie bei pr0x:


    enum playerinfos
    {
    pName[24]
    }
    new PInfo[MAX_PLAYERS][playerinfos];


    OnPlayerConnect:


    GetPlayerName(playerid, PInfo[playerid][pName], PInfo[playerid][pName]);


    Dann in deinen Stats anstatt pname PInfo[playerid][pName]verwenden und dann hast du den Namen so kannst du das überall machen wo du einen Namen benötigst.

  • Ich habe es mit pName & SpielerName(playerid) versucht beides funktzioniert nicht.
    Nun hab ich was neues rausgefunde, dass wenn man auf Okay (den Button) drückt, dass dort steht: "Du wurdest erfolgreich eingeloggt".


    Vllt. wär jemand so nett & würde aus den pVars mir einen neuen Stats CMD zu basteln, der auch funktz. ( Am besten OCMD)


    MfG
    Blood

  • format(string,sizeof(string),"Name: %s\nLevel: %d\nGeld: %d\nAdminlevel: %d\nKills: %d\nDeaths: %d\nKD-Rate: %.2f\n\nSollten Fehler vorliegen, melde dich bei einem Admin.","Okay","Abbrechen",pname,Spieler[playerid][Level],GetPlayerMoney(playerid),Spieler[playerid][Admin],Spieler[playerid][Kills],Spieler[playerid][Deaths],kdrate);


    format(string,sizeof(string),"Name: %s\nLevel: %d\nGeld: %d\nAdminlevel: %d\nKills: %d\nDeaths: %d\nKD-Rate: %.2f\n\nSollten Fehler vorliegen, melde dich bei einem Admin.",pname,Spieler[playerid][Level],GetPlayerMoney(playerid),Spieler[playerid][Admin],Spieler[playerid][Kills],Spieler[playerid][Deaths],kdrate);

  • 1
    format(string,sizeof(string),"Name: %s\nLevel: %d\nGeld: %d\nAdminlevel: %d\nKills: %d\nDeaths: %d\nKD-Rate: %.2f\n\nSollten Fehler vorliegen, melde dich bei einem Admin.",pname,Spieler[playerid][Level],GetPlayerMoney(playerid),Spieler[playerid][Admin],Spieler[playerid][Kills],Spieler[playerid][Deaths],kdrate);


    Jz wird es die schon vorgekaut.


    einfach oben
    #define DIALOG_STATS 1


    und bei dem Befehl:
    ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,"Stats",string,"OK","");