Wieso geht der /stats Befehl nicht richtig?

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 mir einen Stats befehl geschrieben jedoch kommt dann dabei so etwas raus.



    was soll ich nur tun? Hab schon alles versucht.


    Hier mal mein befehl:



    ocmd:stats(playerid,params[])
    {
    new Spielerdatei[128],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    new string[500];
    format(string,sizeof(string),"|----------[Allgemeines]----------|\nName: %s\nGeschlecht: %s\nAlter: %i Jahre\n\n|----------[Finanzen]----------|\nGeld auf Hand: $%i",SName[playerid],SetPVarString(playerid,"Geschlecht",dini_Get(Spielerdatei,"Geschlecht")),GetPVarInt(playerid,"Alter"));
    ShowPlayerDialog(playerid,STATS,DIALOG_STYLE_MSGBOX,"Statistik - "SERVERNAME"",string,"Fertig","");
    return 1;
    }



    Danke im vorraus


    MfG Exon

  • willst du die Werte aus der Spielerdatei auslesen und in der Box anzeigen lassen? oder was willst du genau machen?:)
    Um das Geld anzuzeigen machst du einfach noch folgendes:


    GetPlayerMoney(playerid)


    und für den Spielernamen kannst du dir ganz leicht so eine funktion schreiben, dann brauchst du nicht immer eine variable für den Namen


    stock SpielerName(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    return name;
    }


    So müsste es eigentlich gehen:




    ocmd:stats(playerid,params[])
    {
    new Spielerdatei[128], name[MAX_PLAYER_NAME], string[500];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",name);
    format(string,sizeof(string),"|----------[Allgemeines]----------|\nName: %s\nGeschlecht: %s\nAlter: %i Jahre\n\n|----------[Finanzen]----------|\nGeld auf Hand: $%i", SpielerName(playerid), dini_Get(Spielerdatei, "Geschlecht"), GetPVarInt(playerid, "Alter"), GetPlayerMoney(playerid));
    ShowPlayerDialog(playerid,1,DIALOG_STYLE_MSGBOX,"Statistik - SERVERNAME",string,"Fertig","");
    return 1;
    }


    Gruß Storm

    SAMP ServerIP: meinnewcraft.de:7777
    TeamSpeak IP: meinnewcraft.de


    Website: www.meinnewcraft.de


    Script: 100% Selfmade


    Deutscher SAMP Server basierend auf Cops and Robber/LightRoleplay/Reallife

    5 Mal editiert, zuletzt von Storm123 ()

  • nee immernoch nicht. Da steht Name: nix und Geschlecht: auch nix

  • Komisch habs bei mir auf dem pc ausprobiert und da gings:/
    Hast du das Geschlecht in der Datei richtig angegeben?
    Also in der Datei müsste dann ja stehen:


    Geschlecht=maennlich

    SAMP ServerIP: meinnewcraft.de:7777
    TeamSpeak IP: meinnewcraft.de


    Website: www.meinnewcraft.de


    Script: 100% Selfmade


    Deutscher SAMP Server basierend auf Cops and Robber/LightRoleplay/Reallife

  • Die Variablen Methode ist ressourcen schonender

    Es ist eigentlich genau das gleiche, jedoch vereinfacht die Funktion das Abfragen des Spielernamens und wenn man an mehreren Stellen
    des Scriptes die Funktion benutzt, ist diese ressourcenschonender.

    SAMP ServerIP: meinnewcraft.de:7777
    TeamSpeak IP: meinnewcraft.de


    Website: www.meinnewcraft.de


    Script: 100% Selfmade


    Deutscher SAMP Server basierend auf Cops and Robber/LightRoleplay/Reallife

  • Du willst mir also weiß machen das Du wirklich glaubst das es ressourcen schonender ist den Namen immer und immer wieder abzufragen anstatt Ihn bloß beim Connecten einmal auszulesen? Das ergibt schon rein Logisch keinen Sinn...

  • Es ist eigentlich genau das gleiche, jedoch vereinfacht die Funktion das Abfragen des Spielernamens und wenn man an mehreren Stellen
    des Scriptes die Funktion benutzt, ist diese ressourcenschonender.

    Komisch habs bei mir auf dem pc ausprobiert und da gings:/
    Hast du das Geschlecht in der Datei richtig angegeben?
    Also in der Datei müsste dann ja stehen:


    Geschlecht=maennlich

    bei mir steht es so drinne:


    Geschlecht=Maennlich


    also Groß geschrieben

  • SetPVarString(playerid,"Geschlecht",dini_Get(Spielerdatei,"Geschlecht"))


    warum setzt man den da das geschlecht wenn man es doch laden will?


    hab nie mit PVars gearbeitet aber meiner meinung macht das Set kein sinn

  • @ChainzZ


    Wie stellst du dir das vor den Namen beim Connecten einmal auszulesen? Die beste Möglichkeit wäre, ein Array zu erstellen, wo alle Spielernamen gespeichert sind und mithilfe der ID ausgelesen werden können. Jedoch ist dies wohl kaum ressourcenschonender, da jeder String im Array ein eigenen Speicherplatz benötigt


    Gruß Storm

    SAMP ServerIP: meinnewcraft.de:7777
    TeamSpeak IP: meinnewcraft.de


    Website: www.meinnewcraft.de


    Script: 100% Selfmade


    Deutscher SAMP Server basierend auf Cops and Robber/LightRoleplay/Reallife