Textdraw Limit ?

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 habe eben mal ein kleines Userbar System für mein Script gebaut, das ganze läuft natürlich über Textdraws, jedoch zeigt er mir nur die Textdraws an die geupdatet werden.


    Hier mal ein kleiner Einblick:
    Textdraws werden angezeigt unter OnPlayerSpawn:

    TextDrawShowForPlayer(playerid,UserbarBox);
    TextDrawShowForPlayer(playerid,UserbarLevelText);
    TextDrawShowForPlayer(playerid,UserbarBankText);
    TextDrawShowForPlayer(playerid,UserbarRespektText);
    TextDrawShowForPlayer(playerid,UserbarWantedsText);
    TextDrawShowForPlayer(playerid,UserbarName[playerid]);
    TextDrawShowForPlayer(playerid,UserbarBank[playerid]);
    TextDrawShowForPlayer(playerid,UserbarLevel[playerid]);
    TextDrawShowForPlayer(playerid,UserbarRespekt[playerid]);
    TextDrawShowForPlayer(playerid,UserbarWanteds[playerid]);


    Die Textdraws werden geupdatet:

    public UserBarUpdate(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    new Name[MAX_PLAYER_NAME],string1[256],string2[256],string3[256],string4[256],string5[256];
    GetPlayerName(playerid,Name,sizeof(Name));
    new nxtlevel = PlayerInfo[playerid][pLevel]+1;
    new exp = PlayerInfo[playerid][pExp];
    new expamount = nxtlevel*levelexp;
    format(string1,sizeof(string1),"%s",Name);
    format(string2,sizeof(string2),"%d",PlayerInfo[playerid][pLevel]);
    format(string3,sizeof(string3),"%d-%d",exp,expamount);
    format(string4,sizeof(string4),"%d",GetPlayerWantedLevel(playerid));
    format(string5,sizeof(string5),"%d$",PlayerInfo[playerid][pAccount]);
    TextDrawSetString(UserbarName[playerid],string1);
    TextDrawSetString(UserbarLevel[playerid],string2);
    TextDrawSetString(UserbarRespekt[playerid],string3);
    TextDrawSetString(UserbarWanteds[playerid],string4);
    TextDrawSetString(UserbarBank[playerid],string5);
    }
    return 1;
    }


    Achja und die Box wird angezeigt, also nur die Texte (Bank, Level, Wanteds, Respekt) werden nicht angezeigt jedoch das Level etc. dahinter schon.


    MfG,
    Dice.

  • Du überschreitest das Server-Textdraw-Limit.
    -> http://wiki.sa-mp.com/wiki/Limits


    2048 sind zulässig.
    Du hast 10 Boxen Arrays.
    D.h. du dürftest MAX_PLAYERS maximal bei 204 haben.
    Standard ist 500.
    D.h. du bist eindeutig drüber.


    Mach die Boxen anstatt beim OnGameModeInit einfach immer, wenn der Spieler connected.
    Dann bekommst du erst ernsthafte Probleme, wenn du wirklich die 205 Spieler erreichst.
    Wobei man das erstmal schaffen muss ;)



    Und guck mal...

    Zitat

    Important Note: text[] must NOT be empty or the server will crash! If you need a textdraw that shows nothing, use " " (a space) or _ (underscore)


    -> Quelle: http://wiki.sa-mp.com/wiki/TextDrawCreate

    Miete mich (nicht) :love: