/stats im Dialog

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
  • Guten Tag, ich hab bereit alles durchsucht, aber leider nichts gefunden, kommen wir nun zu meinem Problem.
    Ich hab eine Zeile, die leider zu lang ist. Ich wollte die /stats im Dialog aufrufen, doch die Zeile ist zu lang, wie kann ich die kürzen, ohne das etwas verloren geht, bitte.


    format(string,sizeof(string),"Level:[%d] Geschlecht:[%s] Alter:[%d] Herkunft:[%s] Spawnenergie:[%.1f] Geld:[$%d] Bank:[$%d] Ph:[%d]\nPremium Rang:[%s] Verheiratet:[%s] Spielzeit:[%d] LottoNr:[%d] Job:[%s]\nFishesCaught:[%d] GrösterFisch:[%d] Verbrechen:[%d] Gefängniszeit:[%d] Gesucht:[%d]\nKills:[%d] Tode:[%d] Nächstes Level:[$%d] Respekt:[%d/%d] WantedLevel:[%d] Familie:[%s]\nDrugs:[%d] DrugsSafebox: [%d] Materials:[%d] MatsSafebox: [%d] Team:[%s] Krankheit:[%s] Organisation:[%s] Rank:[%s]\nSpielminuten seit Login: [%d] Spielminuten Insgesamt: [%d]",level,atext,age,otext,shealth+50, cash, account, pnumber, drank,married,ptime,lotto,jtext,fishes,bigfish,crimes,arrests,warrests,kills,deaths,costlevel,exp,expamount,wanted,f2text,drugs, drugssafebox, mats, MaterialsSafebox, ttext,dtext,ftext,rtext,PlayerInfo[targetid][pMinutesSinceLogin],PlayerInfo[targetid][pGesamtMinutes]);



    Das hab ich dann auch hinein getahn, das ist aber normal :D


    ShowPlayerDialog(playerid,stats,DIALOG_STYLE_MSGBOX,"Statistik von dir",string,"Ok","Abbrechen");

  • Teile sie einfach auf.
    Die erste Hälfte der Zeile machst du mit format (sagen wir mit der Variable 'string1') und die zweite Hälfte genaus so (Variable 'string2').
    Danach machst du auch wieder format und packst die 2 Strings zusammen.
    Würde ca. so aussehen:
    format(string1,sizeof(string1),"Level: %d Geschlecht: %s",Level,Geschlecht);
    format(string2,sizeof(string2),"Alter: %d, Herkunft: %s",Alter,Herkunft);
    format(string,sizeof(string),"%s\n%s",string1,string2);

  • Das würde mich auch mal interessieren, da ich bei mir den string auf 256 gestellt habe:
    new string[256];
    und es geklappt habe. Aber welche Methode ist besser bzw. ressourcen sparender?

  • Die 256 ist für die Zeichenlänge. WEnn etwas abgeschnitten wird, einfach erhöhen. Oder einfach zählen wieviele Zeichen es werden könnten, und fertig ;)


    Advertising has us chasing cars and clothes, working jobs we hate so we can buy shit we don’t need.
    – Tyler Durden


    Sobald Werbung im Spiel ist, bist du, die Nutzerin, der Nutzer, das Produkt.


  • Die 256 ist für die Zeichenlänge. WEnn etwas abgeschnitten wird, einfach erhöhen. Oder einfach zählen wieviele Zeichen es werden könnten, und fertig ;)


    Das Problem ist ja, dass der Chat nur 128 Zeichen unterstützt und 256 Zeichen somit Ressourcenfressend wäre.
    Da wir aber von Dialogen sprechen wollte ich mich ja erkundigen ob es hier genauso ist oder eben nicht :)

  • Bekomme aber jetzt die Errors...


    C:\Users\Aldin\Desktop\Dies ist der Server\gamemodes\gfl.pwn(10867) : error 017: undefined symbol "string1"C:\Users\Aldin\Desktop\Dies ist der Server\gamemodes\gfl.pwn(10867) : error 017: undefined symbol "string1"C:\Users\Aldin\Desktop\Dies ist der Server\gamemodes\gfl.pwn(10867) : error 029: invalid expression, assumed zero



    format(string1,sizeof(string1),"Level:[%d] Geschlecht:[%s] Alter:[%d] Herkunft:[%s] Spawnenergie:[%.1f] Geld:[$%d] Bank:[$%d] Ph:[%d]",level,atext,age,otext,shealth+50, cash, account, pnumber);

  • Zcelo12: Nein, in Dialogen ist weitaus mehr als 128 Zeichen möglich. Ich benutze in einem Text Dialog einen String von 2300, der voll ausgenutzt und angezeigt wird ;)


    Advertising has us chasing cars and clothes, working jobs we hate so we can buy shit we don’t need.
    – Tyler Durden


    Sobald Werbung im Spiel ist, bist du, die Nutzerin, der Nutzer, das Produkt.


  • Die Stats werden bei mir aber nur so angezeigt, wieso:





    new string[64];
    new string1[64];
    new string2[64];
    new string3[64];
    new string4[64];
    new string5[64];
    new string6[64];
    format(string1,sizeof(string1),"Level:[%d] Geschlecht:[%s] Alter:[%d] Herkunft:[%s] Spawnenergie:[%.1f] Geld:[$%d] Bank:[$%d] Ph:[%d]",level,atext,age,otext,shealth+50, cash, account, pnumber);


    format(string2,sizeof(string2),"Premium Rang:[%s] Verheiratet:[%s] Spielzeit:[%d] LottoNr:[%d] Job:[%s]",drank,married,ptime,lotto,jtext);


    format(string3,sizeof(string3),"FishesCaught:[%d] GrösterFisch:[%d] Verbrechen:[%d] Gefängniszeit:[%d] Gesucht:[%d]",fishes,bigfish,crimes,arrests,warrests);


    format(string4,sizeof(string4),"Kills:[%d] Tode:[%d] Nächstes Level:[$%d] Respekt:[%d/%d] WantedLevel:[%d] Familie:[%s]",kills,deaths,costlevel,exp,expamount,wanted,f2text);


    format(string5,sizeof(string5),"Drugs:[%d] DrugsSafebox: [%d] Materials:[%d] MatsSafebox: [%d] Team:[%s] Krankheit:[%s] Organisation:[%s] Rank:[%s]",drugs, drugssafebox, mats, MaterialsSafebox, ttext,dtext,ftext,rtext);


    format(string6,sizeof(string6),"Spielminuten seit Login: [%d] Spielminuten Insgesamt: [%d]",PlayerInfo[targetid][pMinutesSinceLogin],PlayerInfo[targetid][pGesamtMinutes]);


    format(string,sizeof(string),"%s\n%s\n\n%s\n%s\n\n%s\n%s",string1,string2,string3,string4,string5,string6);
    ShowPlayerDialog(playerid,stats,DIALOG_STYLE_MSGBOX,"Statistik von dir",string,"Ok","Abbrechen");

  • Weil du max. 64 Zeichen erlaubt hast für den gesammten String. Erhöhe new string[64]; auf 300 oder wieviel du auch immer brauchst.


    Advertising has us chasing cars and clothes, working jobs we hate so we can buy shit we don’t need.
    – Tyler Durden


    Sobald Werbung im Spiel ist, bist du, die Nutzerin, der Nutzer, das Produkt.