Hallo zusammen
ich bin so amateur von der Selbsteinschätzung ich weiss auch wie Timer etc funktionieren aber weiter komme ich nicht
Nun zu den Fakten
Ich habe versucht ein PayDay System zu erstellen wo Rechts vom Bild ingame die Statistik 1mal pro sek geupdatet wird nun leider schmiert der Server nach 60Sek nachdem ich mich eingeloggt habe ab und restartet sich
Testen könnt ihr das ingame
der crahsdetect error
[13:09:22] Crash caused by gamemodes/XYZ.amx, see stack trace below
[13:09:22] Stack trace (most recent call first):
[13:09:22] TextDrawShowForAll (native) on line 1 in C:\Users\CYZ\Desktop\new\Pawnfox\PawnStuff\include\float.inc
[13:09:22] operator+(Float:,_:) (entry point)
Server.marsrl.de
nun der Code zu dem System vlt findet ihr fehler
Teil PaydaysInfo[playerid][exp] = cache_get_field_content_int(0,"PEXP",dbhandle);
sInfo[playerid][paydayzeit] = cache_get_field_content_int(0,"PZEIT",dbhandle);
SetTimer("PayDay",1000*60*60,1);//60min
sInfo[playerid][tidpayday] = SetTimerEx("ZeitUpdatePayDay",1000*60,true,"i",playerid);
public PayDay(playerid)
{
if(IsPlayerConnected(playerid))
{
if(sInfo[playerid][eingeloggt]==1)
{
SendClientMessage(playerid,CL_HROT,"-------------------Statistik-----------------");
new year,month,day,a_level,string[299],ueberschrift[128];
getdate(year,month,day);
switch(sInfo[playerid][alevel])
{
case 0://User
{
SendClientMessage(playerid,-1,"Du hast Zahltag User.");
return 1;
}
case 1:
{
SendClientMessage(playerid,-1,"Du hast Zahltag VIP/Premium.");
return 1;
}
case 2:
{
SendClientMessage(playerid,-1,"Du hast Zahltag Supporter.");
return 1;
}
case 3:
{
SendClientMessage(playerid,-1,"Du hast Zahltag Moderator.");
return 1;
}
case 4:
{
SendClientMessage(playerid,-1,"Du hast Zahltag Super Moderator.");
return 1;
}
case 5:
{
SendClientMessage(playerid,-1,"Du hast Zahltag Admin.");
return 1;
}
case 6:
{
SendClientMessage(playerid,-1,"Du hast Zahltag Server Manager.");
return 1;
}
case 7://stelvProjektleitung
{
SendClientMessage(playerid,-1,"Du hast Zahltag stelv. Projektleitung.");
return 1;
}
case 8://Projektleitung
{
new string1[128];
SendClientMessage(playerid,CL_WHITE,"Info: Du hast Zahltag Projektleitung.");
sInfo[playerid][geld] = GetPlayerMoney(playerid);
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid,sInfo[playerid][geld]);
GivePlayerMoney(playerid,15200);
a_level = sInfo [playerid][alevel];
SendClientMessage(playerid,CL_KNALLROT,"Muss noch überarbeitet werden sInfo[i][geld] zu sInfo[i][bankgeld])");
format(ueberschrift,sizeof(ueberschrift),"Zahltag von %s ",SpielerName(playerid));
format(string,sizeof(string),"Dein Payday vom %i.%i.%i.\nName: %s Team-Rang: %s \nLevel: %i \nTeam-Gehalt: 15200% Alter Kontostand: %i$ ",day,month,year,SpielerName(playerid),a_rang[a_level],sInfo[playerid][level],sInfo[playerid][geld]);
//SendClientMessage(playerid,CL_HROT,string);
sInfo[playerid][geld] = GetPlayerMoney(playerid);
format(string1,sizeof(string1),"\nNeuer Kontostand: %i",sInfo[playerid][geld]);
//SendClientMessage(i,CL_HGRÜN,string1);
SCM(playerid,CL_HGRÜN,string);
SCM(playerid,CL_HGRÜN,string1);
strcat(string,string1);
SCM(playerid,CL_HGRÜN,string);
//in string gespeichert
SCM(playerid,CL_HROT,"-------------------Statistik-----------------");
return 1;
}
}
return 1;
}
return 1;
}
return 1;
}
public ZeitUpdatePayDay(playerid)
{
//if(IsPlayerConnected(playerid))return 1;
if(sInfo[playerid][paydayzeit]>=60)
{
sInfo[playerid][paydayzeit] = 0;
sInfo[playerid][exp]=sInfo[playerid][exp]+1;
SCM(playerid,CL_GELB,"Du hast Payday! Dein erfahrung im Spiel steigt um 1Punkt.");
PayDay(playerid);
if(sInfo[playerid][exp]==3)
{
new slevel,str[128];
slevel = GetPlayerScore(playerid);
slevel = slevel+1;
SetPlayerScore(playerid,slevel);
format(str,sizeof(str),"Dein Level ist auf %i angestiegen.Lasse dir deinen Payday im Dialog per /showpayday anzeigen.",slevel);
SCM(playerid,CL_GELB,str);
sInfo[playerid][exp] = 0;
sInfo[playerid][paydaycheck]=1;
return 1;
}
return 1;
}
sInfo[playerid][paydayzeit]=sInfo[playerid][paydayzeit]+1;
return 1;
}
Statistik das was rechts ist
public Statistikupdate(playerid)
{
new str[128];
sInfo[playerid][geld]=GetPlayerMoney(playerid);
sInfo[playerid][level]=GetPlayerScore(playerid);
format(str,sizeof(str),"~n~Level: %i~n~Geld: %i$~n~Kontostand: %i$~n~Payday: %i/60 Minuten~n~Exp Level: %i/%i",sInfo[playerid][level],sInfo[playerid][geld],sInfo[playerid][bankgeld],sInfo[playerid][paydayzeit],sInfo[playerid][exp],sInfo[playerid][nexp]);
TextDrawSetString(Statistik1, str);
TextDrawShowForPlayer(playerid,Statistiken);
Statistikupdate(playerid);
print("update statistik");
return 1;
}
stock loadstat(playerid)
{
new str[128];
format(str,sizeof(str),"~n~Level: %i~n~Geld: %i$~n~Kontostand: %i$~n~Payday: X/60 Minuten~n~",sInfo[playerid][level],sInfo[playerid][geld],sInfo[playerid][bankgeld]);
Statistik1 = TextDrawCreate(495 ,113.8 ,str);
TextDrawLetterSize(Statistik1,0.3,1.3);
TextDrawColor(Statistik1 , CL_DGRÜN);
TextDrawFont(Statistik1 , 1);
TextDrawSetOutline(Statistik1 , true);
TextDrawSetProportional(Statistik1 , true);
TextDrawSetShadow(Statistik1 , 1);
TextDrawShowForPlayer(playerid,Statistik1);
SetTimerEx("Statistikupdate",500,1,"i",playerid);
return 1;
}
stock Statistik(playerid)
{
Statistiken = TextDrawCreate(495 ,113.8 ,"Statistiken");
TextDrawFont(Statistiken , 1);
TextDrawLetterSize(Statistiken , 0.5, 1.5);
TextDrawColor(Statistiken , CL_GELB);
TextDrawSetOutline(Statistiken , true);
TextDrawSetProportional(Statistiken , true);
TextDrawSetShadow(Statistiken , 1);
TextDrawShowForPlayer(playerid,Statistiken);
return 1;
}
//Statistik
Statistik(playerid);
SetTimer("Statistikupdate",1000,false);
loadstat(playerid);
falls ihr fragen habt bitte melden
MFG Jane