Habe eine frage zu einen SetTimerEx. In dem public davon sind lediglich 3 Adminabfagen und 4 TextdrawSetStrings. Hier mal der SetTimerEx: SetTimerEx("Reporttimer",1000,1,"i",playerid);
Habe ein MySQL Login bzw Register System. Das Problem ist jetzt wenn ich ihn zb. in OnPlayerConnect einfüge, das ich sofort einen Crash bekomme. mfg
Wo soll ich den SetTimerEx einfügen?
- Hamst0r
- Geschlossen
- Erledigt
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
Bitte beschreib dein Problem mal genauer. Ich versteh nur Bahnhof
Gruss
-
Also, ich habe einen SetTimerEx für mein Report System. Er soll immer 5 Textdraws Updaten. Dort enthalten sind natürlich die TextDrawSetStrings und noch die dazugehörigen Admin Abfragen. Nun habe ich den Timer schon unter mehreren Kategorien eingefügt und bekam immer folgende Fehler:
- Textdraws werden nicht angezeigt
- Crash nach LoginHier mal der Public. Forward ist natürlich auch erstellt worden.
public Reporttimer(playerid)
{
if(pDaten[playerid][AdminLevel] >= 1)
{
new rstring[3];
format(rstring, sizeof(rstring),"~B~Allgemeine Fragen: ~G~%d",ALLGEMEINEFRAGEN);
TextDrawSetString(AFrage[playerid], rstring);
TextDrawShowForPlayer(playerid, AFrage[playerid]);
}
else if(pDaten[playerid][AdminLevel] >= 2)
{
new rstring1[3];
new rstring2[3];
format(rstring1, sizeof(rstring1),"~B~Regelverstoss: ~G~%d",REGELVERSTOSS);
TextDrawSetString(RFrage[playerid], rstring1);
format(rstring2, sizeof(rstring2),"~B~Cheatermeldung: ~G~%d",CHEATERMELDUNG);
TextDrawSetString(CFrage[playerid], rstring2);
TextDrawShowForPlayer(playerid, RFrage[playerid]);
TextDrawShowForPlayer(playerid, CFrage[playerid]);
}
else if(pDaten[playerid][AdminLevel] >= 4)
{
new rstring3[3];
new rstring4[3];
format(rstring3, sizeof(rstring3),"~B~Account Frage: ~G~%d",ACCOUNTFRAGEN);
TextDrawSetString(ACFrage[playerid], rstring3);
format(rstring4, sizeof(rstring4),"~B~Fraktions Fragen: ~G~%d",FRAKTIONSFRAGEN);
TextDrawSetString(FFrage[playerid], rstring4);
TextDrawShowForPlayer(playerid, ACFrage[playerid]);
TextDrawShowForPlayer(playerid, FFrage[playerid]);
}
else
{
TextDrawHideForPlayer(playerid, AFrage[playerid]);
TextDrawHideForPlayer(playerid, RFrage[playerid]);
TextDrawHideForPlayer(playerid, CFrage[playerid]);
TextDrawHideForPlayer(playerid, ACFrage[playerid]);
TextDrawHideForPlayer(playerid, FFrage[playerid]);
}
} -
Hallo
Wo erstellst Du die Textdraws mit TextDrawCreate ? Ansonsten würd ich mal auskommentierne und Stück für Stück den Code testen und schauen, wann der Absturz kommt
Gruss
-
Erstellt werden sie unter den Public "OnPlayerConnect" so zum Beispiel: AFrage[playerid] = TextDrawCreate(477.000000, 130.000000, "Allgemeine Fragen: 0 ");
Sind auch oben mit new Text:AFrage[MAX_PLAYERS];
Unter OnPlayerConnect werde sie auch dann Automatisch "gehiddet" damit sie dann immer Aktualisiert werden können.
mfg -
So ein System hört sich ganz gut an, hoffentlich bringst du es zum laufen.
-
Habe den Fehler nun gefunden. Es liegt am SetTimerEx. Hier der reporttimer public: public Reporttimer(playerid)
{
if(SpielerInfo[playerid][pAdmin] >= 1)
{
new rstring[3];
format(rstring, sizeof(rstring),"~B~Allgemeine Fragen: ~G~%d",ALLGEMEINEFRAGEN);
TextDrawSetString(AFrage[playerid], rstring);
TextDrawShowForPlayer(playerid, AFrage[playerid]);
}
else if(SpielerInfo[playerid][pAdmin] >= 2)
{
new rstring1[3];
new rstring2[3];
format(rstring1, sizeof(rstring1),"~B~Regelverstoss: ~G~%d",REGELVERSTOSS);
TextDrawSetString(RFrage[playerid], rstring1);
format(rstring2, sizeof(rstring2),"~B~Cheatermeldung: ~G~%d",CHEATERMELDUNG);
TextDrawSetString(CFrage[playerid], rstring2);
TextDrawShowForPlayer(playerid, RFrage[playerid]);
TextDrawShowForPlayer(playerid, CFrage[playerid]);
}
else if(SpielerInfo[playerid][pAdmin] >= 4)
{
new rstring3[3];
new rstring4[3];
format(rstring3, sizeof(rstring3),"~B~Account Frage: ~G~%d",ACCOUNTFRAGEN);
TextDrawSetString(ACFrage[playerid], rstring3);
format(rstring4, sizeof(rstring4),"~B~Fraktions Fragen: ~G~%d",FRAKTIONSFRAGEN);
TextDrawSetString(FFrage[playerid], rstring4);
TextDrawShowForPlayer(playerid, ACFrage[playerid]);
TextDrawShowForPlayer(playerid, FFrage[playerid]);
}
}
SetTimerEx("Reporttimer",1000,1,"i",playerid);Bitte helft mir
-
breadfish.de
Hat das Thema geschlossen.