Hey
Beim Payday läuft der Timer irgendwie nicht richtig !
Er schwankt immer zwischen 3 und 10 Minuten !
Laut dem Code sollte er aber jede 2 Minuten kommen !
Hier der Code:
forward pimer(playerid);
pimerday[playerid] = SetTimerEx("pimer",60000,1,"i",playerid);
public pimer(playerid)
{
pPlaytime[playerid]++; // ++ ist wie +1 also wird es alle 60000 milliskunden um 1 erhöht soll die Spielzeit sein
if(pSincePayday[playerid] >= 2) // wenn Zeitseitpayday 60 oder über 6o ist wird das in der Klammer ausgelöst
{
new Spieler[64];
format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
new levelbonus;
//levelbonus=GetPlayerScore(playerid);
// ZeitseitPayday wird wieder auf 0 gesetzt da er den Payday hatte.
//GivePlayerMoney(playerid, 3000); // der ID "Playerid" werden 2000$ gegeben
dini_IntSet(Spieler,"Levelpunkte",dini_Int(Spieler,"Levelpunkte")+1);
new gehalt;
if(GetPlayerFrakRang(playerid,0))
{
gehalt=2500;
}
if(GetPlayerFrakRang(playerid,1))
{
gehalt=4000;
}
if(GetPlayerFrakRang(playerid,2))
{
gehalt=5000;
}
if(GetPlayerFrakRang(playerid,3))
{
gehalt=6000;
}
if(GetPlayerFrakRang(playerid,4))
{
gehalt=9000;
}
if(GetPlayerFrakRang(playerid,5))
{
gehalt=12000;
}
if(dini_Int(Spieler,"Levelpunkte")>=dini_Int(Spieler,"Level"))
{
dini_IntSet(Spieler,"Levelpunkte",0);
SetPlayerScore(playerid,dini_Int(Spieler,"Level")+1);
new string[256];
format(string,sizeof(string),"Du hast 0 von %i Levelpunkten!",GetPlayerScore(playerid));
dini_IntSet(Spieler,"Level",GetPlayerScore(playerid));
SendClientMessage(playerid,Orange,"~Payday~");
SendClientMessage(playerid,Gelb,"Glückwunsch! Du bist ein Level aufgestiegen!");
new string3[256];
format(string3,sizeof(string3),"Du bist nun Level %i !",GetPlayerScore(playerid));
SendClientMessage(playerid,Gelb,string3);
SendClientMessage(playerid,Gelb,string);
levelbonus=GetPlayerScore(playerid)*300;
new bankkontostring[256];
new levelbonusstring[256];
new hartz4string[256];
new gehaltstring[256];
new bankkontostringneu[256];
format(bankkontostring,sizeof(bankkontostring),"Alter Kontostand: %i",GetPVarInt(playerid,"Kontostand"));
format(levelbonusstring,sizeof(levelbonusstring),"Levelbonus: %i",levelbonus);
//format(hartz4string,sizeof(hartz4string),"Hartz IV: 500");
format(gehaltstring,sizeof(gehaltstring),"Gehalt: %i",gehalt);
SendClientMessage(playerid,Gelb,bankkontostring);
SendClientMessage(playerid,Gelb,levelbonusstring);
SendClientMessage(playerid,Gelb,"Hartz IV: 500");
SendClientMessage(playerid,Gelb,gehaltstring);
SetPVarInt(playerid,"Kontostand",GetPVarInt(playerid,"Kontostand")+levelbonus);
SetPVarInt(playerid,"Kontostand",GetPVarInt(playerid,"Kontostand")+gehalt);
if(dini_Int(Spieler,"Hartz4")>=1)
{
SetPVarInt(playerid,"Kontostand",GetPVarInt(playerid,"Kontostand")+500);
}
format(bankkontostringneu,sizeof(bankkontostringneu),"Neuer Kontostand: %i",GetPVarInt(playerid,"Kontostand"));
SendClientMessage(playerid,Gelb,bankkontostringneu);
pSincePayday[playerid] = 0;
SpielerSpeichern(playerid);
}
else
{
new string[256];
format(string,sizeof(string),"Du hast %i von %i Levelpunkten!",dini_Int(Spieler,"Levelpunkte"),GetPlayerScore(playerid));
SendClientMessage(playerid,Orange,"~Payday~");
SendClientMessage(playerid,Gelb,string);
levelbonus=GetPlayerScore(playerid)*300;
new bankkontostring[256];
new levelbonusstring[256];
new gehaltstring[256];
new bankkontostringneu[256];
format(bankkontostring,sizeof(bankkontostring),"Alter Kontostand: %i",GetPVarInt(playerid,"Kontostand"));
format(levelbonusstring,sizeof(levelbonusstring),"Levelbonus: %i",levelbonus);
format(gehaltstring,sizeof(gehaltstring),"Gehalt: %i",gehalt);
SendClientMessage(playerid,Gelb,bankkontostring);
SendClientMessage(playerid,Gelb,levelbonusstring);
SendClientMessage(playerid,Gelb,gehaltstring);
SetPVarInt(playerid,"Kontostand",GetPVarInt(playerid,"Kontostand")+levelbonus);
SetPVarInt(playerid,"Kontostand",GetPVarInt(playerid,"Kontostand")+gehalt);
format(bankkontostringneu,sizeof(bankkontostringneu),"Neuer Kontostand: %i",GetPVarInt(playerid,"Kontostand"));
SendClientMessage(playerid,Gelb,bankkontostringneu);
pSincePayday[playerid] = 0;
SpielerSpeichern(playerid);
}
}
else
{
pSincePayday[playerid]++; // ZEit seit Payday wird um 1 erhöht
}
return 1;
}
Beweis: