Stats im Dialog Problem

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 liebe Breadfish-Community,
    Ich wollte auf meinem GF ein Stats Dialog machen und habe gerade momentan Probleme.
    Ich habe auch schon ein Tutorial angeschaut aber mein Problem lies sich leider nicht lösen.
    Der Script zeigt 0 Errors und 0 Warnings,aber wenn ich auf dem Server draufjoine und "/stats" eingebe.
    Kommt dann(siehe Screen)



    new string1[1500];
    new string2[1500];
    new string3[1500];
    new string4[1500];
    new string5[1500];
    new string6[1500];
    new string7[1500];
    new string8[1500];
    format(string6, sizeof(string6),"Personalien:\nLevel: %d\n Geschlecht: %d\n Alter:[%d]\nGeld:[$%d]\nBank:[$%d]\nHandy:[%d]", level,atext,age,cash,account,pnumber); //
    format(string5, sizeof(string5),"Premiumrang: [%s]\nHerkunft: [%s]\nVerheiratet:[%s]\nSpielzeit:[%d]\nJob:[%s]", drank,otext,married,ptime,jtext);
    format(string4, sizeof(string4),"Sonstiges:\nFische gefangen:[%d]\nGrößterFisch:[%d]\nVerbrechen:[%d]\nGefängniszeit:[%d]\nGesucht:[%d]", fishes,bigfish,crimes,arrests,warrests);
    format(string3, sizeof(string3),"Kills[%d]\nTode:[%d]\nRespektpunkte:[%d/%d]\nWantedLevel:[%d]\nSpawnhealth:[%.1f]\nLottoNr:[%d]", kills,deaths,exp,expamount,wanted,shealth+50,lotto);
    format(string2, sizeof(string2),"Drogen:[%d]\nMaterials:[%d]\nTeam:[%s]\nKrankheit:[%s]\nFraktion:[%s]\nRank:[%s]", drugs,mats,ttext,dtext,ftext,rtext);
    format(string1, sizeof(string1),"Payday[%d]\nSpielminuten[%d]",(60 - PlayerInfo[targetid][pPayTime]),PlayerInfo[targetid][pGesamtMinutes]);
    ShowPlayerDialog(playerid, DIALOG_STYLE_MSGBOX, 0, "Meine Statistiken", string, "Weiter", "Schließen"); // Öffne das Dialog fenster beim Spieler
    if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pSupporter] >= 1)
    {
    format(string7, sizeof(string7),"Admineinsicht:\nHausschlüssel[%d]\nBizzkey[%d]\nLeihschlüssel[%d]\nLocal[%d]", housekey,bizkey,HireCar[targetid],intir,local);
    format(string8, sizeof(string8),"Health [%.2f]\nSchutzweste [%.2f]\nIP[%s]\nPing[%d]\nWarnungen[%d]", plHealth,plArmour,plIP,GetPlayerPing(targetid),PlayerInfo[targetid][pWarns]);
    }
    }
    }


    Screen:


    Würde mich freuen wenn jemand mir helfen kann.
    MFG YoungBuck

    ''Remember to keep yourself alive there is nothing more important than that.''

  • 1. Du darfst follgendes natürlich nicht vergessen:


    return 1;
    2. Schraub deine Stringgrößen RUNTER! Du wirst niemals 1500 Zeichen benötigen.
    3. Du hast string1-9 definiert, wenn du es nun ausgeben möchtest, dann musst du es dem Dialog auch sagen, bisher gibt er nur den String 'string' aus.

    ShowPlayerDialog(playerid, DIALOG_STYLE_MSGBOX, 0, "Meine Statistiken", string, "Weiter", "Schließen");

  • new string1[100];
    new string2[100];
    new string3[100];
    new string4[100];
    new string5[100];
    new string6[100];
    new string7[100];
    new string8[100];
    format(string6, sizeof(string6),"Personalien:\nLevel: %d\n Geschlecht: %d\n Alter:[%d]\nGeld:[$%d]\nBank:[$%d]\nHandy:[%d]", level,atext,age,cash,account,pnumber); // Unsere (New's) die wir oben neu angelegt haben - immer mit einem , trennen :5
    format(string5, sizeof(string5),"Premiumrang: [%s]\nHerkunft: [%s]\nVerheiratet:[%s]\nSpielzeit:[%d]\nJob:[%s]", drank,otext,married,ptime,jtext);
    format(string4, sizeof(string4),"Sonstiges:\nFische gefangen:[%d]\nGrößterFisch:[%d]\nVerbrechen:[%d]\nGefängniszeit:[%d]\nGesucht:[%d]", fishes,bigfish,crimes,arrests,warrests);
    format(string3, sizeof(string3),"Kills[%d]\nTode:[%d]\nRespektpunkte:[%d/%d]\nWantedLevel:[%d]\nSpawnhealth:[%.1f]\nLottoNr:[%d]", kills,deaths,exp,expamount,wanted,shealth+50,lotto);
    format(string2, sizeof(string2),"Drogen:[%d]\nMaterials:[%d]\nTeam:[%s]\nKrankheit:[%s]\nFraktion:[%s]\nRank:[%s]", drugs,mats,ttext,dtext,ftext,rtext);
    format(string1, sizeof(string1),"Payday[%d]\nSpielminuten[%d]",(60 - PlayerInfo[targetid][pPayTime]),PlayerInfo[targetid][pGesamtMinutes]);
    if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pSupporter] >= 1)
    {
    format(string7, sizeof(string7),"Admineinsicht:\nHausschlüssel[%d]\nBizzkey[%d]\nLeihschlüssel[%d]\nLocal[%d]", housekey,bizkey,HireCar[targetid],intir,local);
    format(string8, sizeof(string8),"Health [%.2f]\nSchutzweste [%.2f]\nIP[%s]\nPing[%d]\nWarnungen[%d]", plHealth,plArmour,plIP,GetPlayerPing(targetid),PlayerInfo[targetid][pWarns]);
    ShowPlayerDialog(playerid, DIALOG_STYLE_MSGBOX, 0, "Meine Statistiken", string, "Weiter", "Schließen");
    }
    }
    return 1;
    }


    Soo habe die stringgröße mal auf 100 gestzt.
    Es funktioniert leider noch immer nicht^^

    ''Remember to keep yourself alive there is nothing more important than that.''

  • Hast du schon mal daran gedacht die Strings zusammen zu führen ??... nur so nebenbei...


    Gruss: Sonic


    das heißt das ich alle strings zusammen mache.
    z.B "new string[547];" ?
    und die ganzen anderen kleinen strings1-7 wegmache ?
    Ich habe es nun so gemacht:


    new string[547];
    format(string, sizeof(string),"Personalien:\nLevel:[%d]\nGeschlecht:[%d]\nAlter:[%d]\nGeld:[$%d]\nBank:[$%d]\nHandy:[%d]", level,atext,age,cash,account,pnumber);
    format(string, sizeof(string),"Premiumrang: [%s]\nHerkunft: [%s]\nVerheiratet:[%s]\nSpielzeit:[%d]\nJob:[%s]", drank,otext,married,ptime,jtext);
    format(string, sizeof(string),"Sonstiges:\nFische gefangen:[%d]\nGrößterFisch:[%d]\nVerbrechen:[%d]\nGefängniszeit:[%d]\nGesucht:[%d]", fishes,bigfish,crimes,arrests,warrests);
    format(string, sizeof(string),"Kills[%d]\nTode:[%d]\nRespektpunkte:[%d/%d]\nWantedLevel:[%d]\nSpawnhealth:[%.1f]\nLottoNr:[%d]", kills,deaths,exp,expamount,wanted,shealth+50,lotto);
    format(string, sizeof(string),"Drogen:[%d]\nMaterials:[%d]\nTeam:[%s]\nKrankheit:[%s]\nFraktion:[%s]\nRank:[%s]", drugs,mats,ttext,dtext,ftext,rtext);
    format(string, sizeof(string),"Payday[%d]\nSpielminuten[%d]",(60 - PlayerInfo[targetid][pPayTime]),PlayerInfo[targetid][pGesamtMinutes]);
    if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pSupporter] >= 1)
    {
    format(string, sizeof(string),"Admineinsicht:\nHausschlüssel[%d]\nBizzkey[%d]\nLeihschlüssel[%d]\nLocal[%d]", housekey,bizkey,HireCar[targetid],intir,local);
    format(string, sizeof(string),"Health [%.2f]\nSchutzweste [%.2f]\nIP[%s]\nPing[%d]\nWarnungen[%d]", plHealth,plArmour,plIP,GetPlayerPing(targetid),PlayerInfo[targetid][pWarns]);
    ShowPlayerDialog(playerid, DIALOG_STYLE_MSGBOX, 0, "Meine Statistiken", string, "Weiter", "Schließen");
    }
    }
    return 1;
    }

    ''Remember to keep yourself alive there is nothing more important than that.''

  • PFUI nee was machst du denn da... 8|
    Nee du musst die ganzen Strings in einem separaten String zusammenführen.


    PS: Die Stringanzahlen sind nun definitiv zu tief


    new stringexample[x]; x = Anzahl Buchstaben im Stringcode


    Gruss: Sonic

    I didn't hit you. I high fived your face.

  • Du musst am ende \n%s,string1); einfügemn verstehst du?
    Damit die nächste format(string, sizeof(string), angezeigt wird,

  • Ich erklär euch das mal bzw versuche es.
    //zuerst brauchen wir einen passenden string, 547 ist etwas klein, hab ich nach gerechnet.
    //nehmen wie 650 das sollte reichen ;)
    new string[650];
    format(string, sizeof(string),"Personalien:\nLevel:[%d]\nGeschlecht:[%d]\nAlter:[%d]\nGeld:[$%d]\nBank:[$%d]\nHandy:[%d]", level,atext,age,cash,account,pnumber);
    format(string, sizeof(string),"%s\nPremiumrang: [%s]\nHerkunft: [%s]\nVerheiratet:[%s]\nSpielzeit:[%d]\nJob:[%s]", string, drank,otext,married,ptime,jtext);
    //etc
    /*
    warum jetzt %s\n davorne?
    ganz einfach, weil du den vorher mit inhalt gefütterten string ja nicht verlieren willst, musst du den ja in der neuen formatierung wieder mit übernehmen,
    deshalb auch , string in den parametern ;)
    Warum \n dahinter?
    Du möchtest bestimmt nicht das alles in einer Zeile nachher hängt :D


    Aber warum nicht auch im ersten?
    Weil es einfach keinen Sinn macht einen leeren string anzeigen zu lassen, man kann es tun es ist allerdings sinnlos
    */

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Hmm hab ein Warning:
    C:\Users\YoungBuck\Desktop\SAMP\samp03csvr_R2-2_win32\gamemodes\bgr.pwn(16209) : warning 204: symbol is assigned a value that is never used: "string"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    Header size: 14280 bytes
    Code size: 2381564 bytes
    Data size: 4421520 bytes
    Stack/heap size: 16384 bytes; estimated max. usage: unknown, due to recursion
    Total requirements: 6833748 bytes


    1 Warning.

    //edit.
    habs jetzt sogemacht:
    new string[650];
    format(string, sizeof(string),"Personalien:\nLevel: [%d]\n Geschlecht: [%d]\n Alter:[%d]\nGeld:[$%d]\nBank:[$%d]\nHandy:[%d]", level,atext,age,cash,account,pnumber); // Unsere (New's) die wir oben neu angelegt haben - immer mit einem , trennen :5
    format(string, sizeof(string),"%s\nPremiumrang: [%s]\nHerkunft: [%s]\nVerheiratet:[%s]\nSpielzeit:[%d]\nJob:[%s]", drank,otext,married,ptime,jtext);
    format(string, sizeof(string),"%s\nSonstiges:\nFische gefangen:[%d]\nGrößterFisch:[%d]\nVerbrechen:[%d]\nGefängniszeit:[%d]\nGesucht:[%d]", fishes,bigfish,crimes,arrests,warrests);
    format(string, sizeof(string),"%s\nKills[%d]\nTode:[%d]\nRespektpunkte:[%d/%d]\nWantedLevel:[%d]\nSpawnhealth:[%.1f]\nLottoNr:[%d]", kills,deaths,exp,expamount,wanted,shealth+50,lotto);
    format(string, sizeof(string),"%s\nDrogen:[%d]\nMaterials:[%d]\nTeam:[%s]\nKrankheit:[%s]\nFraktion:[%s]\nRank:[%s]", drugs,mats,ttext,dtext,ftext,rtext);
    format(string, sizeof(string),"%s\nPayday[%d]\nSpielminuten[%d]",(60 - PlayerInfo[targetid][pPayTime]),PlayerInfo[targetid][pGesamtMinutes]);
    if(PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pSupporter] >= 1)
    {
    format(string, sizeof(string),"%s\nAdmineinsicht:\nHausschlüssel[%d]\nBizzkey[%d]\nLeihschlüssel[%d]\nLocal[%d]", housekey,bizkey,HireCar[targetid],intir,local);
    format(string, sizeof(string),"%s\nHealth [%.2f]\nSchutzweste [%.2f]\nIP[%s]\nPing[%d]\nWarnungen[%d]", plHealth,plArmour,plIP,GetPlayerPing(targetid),PlayerInfo[targetid][pWarns]);
    ShowPlayerDialog(playerid, DIALOG_STYLE_MSGBOX, 0, "Meine Statistiken", string, "Weiter", "Schließen");
    }
    }
    return 1;
    }

    ''Remember to keep yourself alive there is nothing more important than that.''

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • 1. hast du bei der Paramter angabe den string vergessen


    2. du hast die variable string schon irgendwann mal global deklariert

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski