TextDraw Problem bei < ID 0 Anzeige geht nicht :SSS Fail

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
  • AC/DC biste des Wahnsinns?


    Du erstellt einfach nen Textdraw ohne ihn löschen?
    Willst du schon anfangen unschuldige Server zu vernichten?


    Besser wäre so


    new Text:anzeige[MAX_PLAYERS];


    public Anzeige()
    {
    for new (i = 0; i < MAX_PLAYERS, i++)
    {
    if(IsPlayerConnected(i))
    {
    new Float:lebenvonplayer;
    killsvonplayer[i] = GetPlayerScore(i);
    Money[i] = GetPlayerMoney(i);
    Ping[i] = GetPlayerPing(i);
    GetPlayerHealth(i,lebenvonplayer);


    new string[256];
    format(string, sizeof(string),"Ping:~r~ %d ~n~~w~Score:~r~ %d ~n~~w~Geld:~r~ %d ~n~~w~Leben:~r~ %.0f",Ping[i],killsvonplayer[i],Money[i],lebenvonplayer);
    TextDrawSetSting(anzeige[i], string);
    }
    }

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

    Margarete Stokowski

  • @BlackAce jetzt hab ich nur in einer Zeile Errors:
    TextDrawSetSting(anzeige[i], string);


    C:\Users\Dennis Fritsch\Desktop\Server\gamemodes\Free'n'Fun.pwn(2605) : error 017: undefined symbol "TextDrawSetSting"
    C:\Users\Dennis Fritsch\Desktop\Server\gamemodes\Free'n'Fun.pwn(2605) : warning 215: expression has no effect
    C:\Users\Dennis Fritsch\Desktop\Server\gamemodes\Free'n'Fun.pwn(2605) : error 001: expected token: ";", but found "]"
    C:\Users\Dennis Fritsch\Desktop\Server\gamemodes\Free'n'Fun.pwn(2605) : error 029: invalid expression, assumed zero
    C:\Users\Dennis Fritsch\Desktop\Server\gamemodes\Free'n'Fun.pwn(2605) : fatal error 107: too many error messages on one line

  • wo wird der Textdraw erstellt :| ?
    Und nein hatte ich nicht vor ;)
    also las diese Anschuldigung ;)
    und wo wird er Zerstört :|

  • So ein paar Dinge will ich mal klären.


    Wo erstellt du den Textdraw?
    Wo zerstörst du ihn wieder?
    Wann lässt du ihn Anzeigen?
    Wie erstellt du deinen Texdraw?



    Achja es heißt nicht TextDrawSetSting sondern TextDrawSetString war ein schreibfehler meinerseits sorry


    @AC/DC nicht zu persönlich nehmen ;D

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

    Margarete Stokowski

  • Oben: new textdrawtimer;
    forward Anzeige();
    new killsvonplayer[MAX_PLAYERS];
    new Money[MAX_PLAYERS];
    new Ping[MAX_PLAYERS];
    new Text:anzeige;


    Anzeigen bei Spawn:
    TextDrawShowForPlayer(playerid, anzeige);
    Timer:
    textdrawtimer = SetTimer("Anzeige",1000,1);
    Und da wo das erstellt wird ist doch:


    public Anzeige()
    {
    for(new i; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    new Float:lebenvonplayer;
    killsvonplayer[i] = GetPlayerScore(i);
    Money[i] = GetPlayerMoney(i);
    Ping[i] = GetPlayerPing(i);
    GetPlayerHealth(i,lebenvonplayer);


    new string[256]; //Hier oder ??
    format(string, sizeof(string),"Ping:~r~ %d ~n~~w~Score:~r~ %d ~n~~w~Geld:~r~ %d ~n~~w~Leben:~r~ %.0f",Ping[i],killsvonplayer[i],Money[i],lebenvonplayer);
    TextDrawSetString(anzeige[i], string); //bis hier ?
    }
    }


    //Edit 1

  • erstellen solltest du deinen Textdraw bei OnPlayerConnect



    //oben sollte das so aussehen
    new textdrawtimer;
    forward Anzeige();
    new killsvonplayer[MAX_PLAYERS],
    Money[MAX_PLAYERS],
    Ping[MAX_PLAYERS];
    new Text:anzeige[MAX_PLAYERS];


    //Bei OnPlayerConnect(playerid)
    //solltest du hier deinen Textdraw vollständig erstellen
    //in etwa so
    anzeige[i] = TextDrawCreate(491.000000,292.000000, string);
    TextDrawLetterSize(anzeige[i], 0.5, 2.5);
    Der Rest kann so bleiben



    Hier:
    new string[256]; //Hier oder ??
    format(string, sizeof(string),"Ping:~r~ %d ~n~~w~Score:~r~ %d ~n~~w~Geld:~r~ %d ~n~~w~Leben:~r~ %.0f",Ping[i],killsvonplayer[i],Money[i],lebenvonplayer);
    TextDrawSetString(anzeige[i], string); //bis hier ?
    Erstellt du ihn nicht, sondern du Updatest ihn nur, erstellen tust du ihn wenn er Connected


    BTW:
    Du solltest bei OnPlayerDisconnect noch das einfügen
    TextDrawDestory(anzeige[playerid]);


    und bei OnGameModeExit()
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    TextDrawDestory(anzeige[i]);
    }

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

    Margarete Stokowski