Geldanzeige löst immernoch Crash aus [o,O]

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
  • Hey Leute,
    Mein TextDraw für Geld verursacht beim 2. Connect des Spielers eine .ExE
    Hier der Code:
    Ganz oben:
    new Text:Textdraw0[MAX_PLAYERS];
    OnGameModeInit:
    SetTimer("MoneyCheck",1000,3600*24); // Der Timer zum Updaten der Anzeige!
    OnPlayerSpawn:
    new string[32];
    format(string, sizeof string,"$ %d",P_Geld[playerid]);
    Textdraw0[playerid] = TextDrawCreate(498.000000,126.000000,string);
    TextDrawUseBox(Textdraw0[playerid],1);
    TextDrawBoxColor(Textdraw0[playerid],0x00ff00ff);
    TextDrawTextSize(Textdraw0[playerid],644.000000,26.000000);
    TextDrawAlignment(Textdraw0[playerid],0);
    TextDrawBackgroundColor(Textdraw0[playerid],0x000000ff);
    TextDrawFont(Textdraw0[playerid],2);
    TextDrawLetterSize(Textdraw0[playerid],0.599999,1.800000);
    TextDrawColor(Textdraw0[playerid],0xffffffff);
    TextDrawSetOutline(Textdraw0[playerid],1);
    TextDrawSetProportional(Textdraw0[playerid],1);
    TextDrawSetShadow(Textdraw0[playerid],1);


    TextDrawShowForPlayer(playerid, Text:Textdraw0[playerid]);

    OnPlayerDisconnect:
    TextDrawHideForPlayer(playerid,Textdraw0[playerid]);
    TextDrawDestroy(Textdraw0[playerid]);

    Die funktion zum Checken des Geldes:
    public MoneyCheck() {


    for (new i = 0; i < MAX_PLAYERS; i++)
    {
    TextDrawHideForPlayer(i,Textdraw0[i]);
    new string[32];
    format(string, sizeof string,"$ %d",P_Geld[i]);
    TextDrawSetString(Textdraw0[i],string);
    TextDrawShowForPlayer(i,Textdraw0[i]);
    }
    return 1;
    }

    ->>>>>>

    Zitat

    Also beim 1. login also nach dem erstellen des Accounts haut alles hin. Nur beim 2. Connect (-> Spawn!) bekmomt man ne fiese Exe.


    Ich hoffe ihr könnt mir helfen. Und bitte nur TIpps geben wenn ihr euch gaaanz sicher seid, vielen dank. :thumbup:
    mit freundlichen Grüßen,

    Einmal editiert, zuletzt von Bendley ()


  • Textdraw0[playerid] = TextDrawCreate(498.000000,126.000000,string);
    TextDrawUseBox(Textdraw0[playerid],1);
    TextDrawBoxColor(Textdraw0[playerid],0x00ff00ff);
    TextDrawTextSize(Textdraw0[playerid],644.000000,26.000000);
    TextDrawAlignment(Textdraw0[playerid],0);
    TextDrawBackgroundColor(Textdraw0[playerid],0x000000ff);
    TextDrawFont(Textdraw0[playerid],2);
    TextDrawLetterSize(Textdraw0[playerid],0.599999,1.800000);
    TextDrawColor(Textdraw0[playerid],0xffffffff);
    TextDrawSetOutline(Textdraw0[playerid],1);
    TextDrawSetProportional(Textdraw0[playerid],1);
    TextDrawSetShadow(Textdraw0[playerid],1);

    Unter OnGameModeInit setzen, und da für alle Spieler machen (sprich Schleife)

  • hm Ace das haut aber anfangs rein. und wieso für 500 Spieler machen wenn vl. doch nur 5 kommen? ich habe es bei meinen Script viefolgt bei OnPlayerConnect und es geht Prima:


    Beispiel an deinem Script:
    new string[32];
    if(!Textdraw0[playerid])
    {
    format(string, sizeof string,"$ %d",P_Geld[playerid]);
    Textdraw0[playerid] = TextDrawCreate(498.000000,126.000000,string);
    TextDrawUseBox(Textdraw0[playerid],1);
    TextDrawBoxColor(Textdraw0[playerid],0x00ff00ff);
    TextDrawTextSize(Textdraw0[playerid],644.000000,26.000000);
    TextDrawAlignment(Textdraw0[playerid],0);
    TextDrawBackgroundColor(Textdraw0[playerid],0x000000ff);
    TextDrawFont(Textdraw0[playerid],2);
    TextDrawLetterSize(Textdraw0[playerid],0.599999,1.800000);
    TextDrawColor(Textdraw0[playerid],0xffffffff);
    TextDrawSetOutline(Textdraw0[playerid],1);
    TextDrawSetProportional(Textdraw0[playerid],1);
    TextDrawSetShadow(Textdraw0[playerid],1);


    TextDrawShowForPlayer(playerid, Text:Textdraw0[playerid]);
    }