Report Crash durch Textdraw ?

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
  • Schönen guten abend,


    ich muss leider hier ein Neues Thema erstellen, da das alte sich mittlerweile nicht mehr aktuell hielt, insofern ich zwischendrinne
    schon zuviel verändert hatte & es nun anderst ist als sonst. Da ich noch ein bisschen rumprobiert habe, musste ich feststellen das
    der Fehler bei diesem PayDay Textdraw liegt.


    Also was passiert: Wenn ich spawne bekomme ich direkt einen Report Crash !
    Den ReportCrash verursacht diese Zeile:


    TextDrawShowForPlayer(playerid,PayDaytd);


    Natürlich unter dem Callback OnPlayerSpawn.


    Ganz oben:


    new Text:Paydaytd;


    OnGameModeInit:

    SetTimer("PayDay",1016,1);


    for(new i=0; i<MAX_PLAYERS; i++)
    {
    Paydaytd = TextDrawCreate(545.000000,436.000000,"_");
    TextDrawFont(Paydaytd,1);
    TextDrawAlignment(Paydaytd,0);
    TextDrawLetterSize(Paydaytd,0.200000,1.000000);
    TextDrawSetProportional(Paydaytd,1);
    TextDrawSetShadow(Paydaytd,1);
    }


    Callback des Timers:


    public PayDay()
    {
    new string[256];
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && !IsPlayerNPC(i))
    {
    if(SpielerInfo[i][Eingeloggt] == 1)
    {
    if(SpielerInfo[i][MinutenafterPayDay] < 0)
    {
    new price = GetPlayerLevel(i) * 25;
    SetPlayerChatBubble(i,"PayDay",0xC1002398,MAX_STREAM_NAME_DISTANCE,30000);
    TextDrawSetString(Paydaytd,"~r~PayDay");
    SpielerInfo[i][MinutenafterPayDay] = 0;
    GameTextForPlayer(i,"~g~Zahltag",5000,1);
    format(string,sizeof(string),"|_____ %s dein Kontoauszug _____|",SpielerName(i));
    SendClientMessage(i,0x84002DFF,string);
    SetPMoney(i, GetPMoney(i)+price);
    SpielerInfo[i][Respektpunkte]++;
    format(string,sizeof(string),"Deine Respektpunkte: {41FF00}%i{FEFEFE} / {FF000F}%i",SpielerInfo[i][Respektpunkte],SpielerInfo[i][Respektpunkteforlvlup]);
    SendClientMessage(i,Weiss,string);
    SpielerInfo[i][MinutenafterPayDay] = 3600;
    }
    else
    {
    if(SpielerInfo[i][MinutenafterPayDay] < 61)
    {
    SpielerInfo[i][MinutenafterPayDay]--;
    format(string,sizeof(string),"~w~ Sekunden zum ~g~PayDay~w~: ~g~%i~",SpielerInfo[i][MinutenafterPayDay]);
    TextDrawSetString(Paydaytd,string);
    return 1;
    }
    else
    {
    SpielerInfo[i][MinutenafterPayDay]--;
    format(string,sizeof(string),"~w~ Minuten zum ~g~PayDay~w~: ~g~%i~",SpielerInfo[i][MinutenafterPayDay]/60);
    TextDrawSetString(Paydaytd,string);
    return 1;
    }
    }
    }
    }
    }
    return 1;
    }


    Wenn ich ihm das Textdraw nicht anzeigen lasse, dann bekomme ich keinen Reportcrash und alles funktioniert einwandfrei.


    Ich hoffe ihr könnt mir helfen.


  • Ich gehe mich gleich erschießen ! ich suche seit 2 Stunden diesen verka**** Fehler ! -.-


    Danke dir :love:


    //EDIT Komischeweise ist der Textdraw jetzt verdunkelt ? Bzw hinter der normalen Schwarzen leiste ?

  • Kleiner Tipp du kannst für jeden Spieler das Textdraw beim einloggen "OnPlayerConnect" erstellen wäre besser ;)

    [tabmenu][tab='Angebote','http://cdn3.iconfinder.com/data/icons/glyph/227/Tag-48.png']

    + Die Preise liegen bei 5-100+€ Ablauf:
    + Entweder ihr addet mich in Skype (PN vorher Schreiben) oder Ihr schreibt eine PN an mich (Betreff - Euer Wunsch z.B. Filterscript)
    + So nun schreibt ihr mir was ihr alles in dem Script haben wollt ich werd euch dann sagen ob ich es hinbekomme.
    + Dann machen wir ein groben Preis aus. Ich werde das Script erstellen und es zusammen mit dem Kunden Testen.



    [tab='Kontakt','http://cdn3.iconfinder.com/data/icons/line/36/person_add-48.png']
    edmix23

    + Bitte beim Adden angeben wer ihr seit oder per PN bescheid sagen!
    [tab='Zahlungs Methoden','https://cdn3.iconfinder.com/data/icons/line/36/check_money-32.png']
    +Paypal!
    +Direkte Banküberweisung

  • Warum besser ?


    Weil er es mit einer schleife erstellt die durch MAX_PLAYERS(500) geht sprich es werden 500 Textdraws erstellt.
    Aber wenn nur 10 Leute Connecten was bringts?!

    [tabmenu][tab='Angebote','http://cdn3.iconfinder.com/data/icons/glyph/227/Tag-48.png']

    + Die Preise liegen bei 5-100+€ Ablauf:
    + Entweder ihr addet mich in Skype (PN vorher Schreiben) oder Ihr schreibt eine PN an mich (Betreff - Euer Wunsch z.B. Filterscript)
    + So nun schreibt ihr mir was ihr alles in dem Script haben wollt ich werd euch dann sagen ob ich es hinbekomme.
    + Dann machen wir ein groben Preis aus. Ich werde das Script erstellen und es zusammen mit dem Kunden Testen.



    [tab='Kontakt','http://cdn3.iconfinder.com/data/icons/line/36/person_add-48.png']
    edmix23

    + Bitte beim Adden angeben wer ihr seit oder per PN bescheid sagen!
    [tab='Zahlungs Methoden','https://cdn3.iconfinder.com/data/icons/line/36/check_money-32.png']
    +Paypal!
    +Direkte Banküberweisung

  • Beim anzeigen lass zuerst das Textdraw anzeigen mit der Transparents und danach das mit dem Text.


    Weil so liegt die Box über dem Text und dunkelt dieses ab.


    //edit um mal das ganze was !TheO geschrieben hat noch zu erläutern.


    Wenn du das ganze so erstellst kommst du bald an das Limit. Da jedoch PlayerTextdraws das ganze für den spieler einmal erstellt wird und nicht mehrmals.
    Du musst dir die PlayerTextdraws wie CreatePlayerObject vorstellen. Ein streamer kann um das limit an einem punkt herrumarbeiten wenn du die Objecte mit CreateObject erstellst kommst du schnell ans limit.


  • Ich danke dir nun funktioniert alles wieder 8)


    //EDIT Codes entfernt

    Einmal editiert, zuletzt von K3V1N ()