Okay ich muss es dann später testen wenn er on ist :>
Edit: Es geht nicht ._.
Es wird runtergezählt , wenn der Countdown vorbei ist wird "Viel Glück!" gespammt, nur er wurde unfreezt !
Aber wieso wird die Variable im Timer so oft verringert wie Spieler on sind/teilnehmen?
zB hier , geht die Variable PayDayZeit jede Sekunde um 2 runter , wenn 2 Spieler online sind!
public paydaytimer(playerid)
{
for(new i=0;i<GetMaxPlayers();i++)
{
if(IsPlayerConnected(i) && !IsPlayerNPC(i))
{
new Spieler[64];
format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(i));
//if(PayDayZeit[playerid]<2700)
if(PayDayZeit[i]>0)
{
PayDayZeit[i]--;
dini_IntSet(Spieler,"Payday",PayDayZeit[i]);
}
else
{
new geld;
new gehalt;
new hartz4;
new levelbonus = GetPlayerScore(i)*300;
switch(dini_Int(Spieler,"Fraktionsrang"))
{
case 0: {gehalt = 2500;}
case 1: {gehalt = 4500;}
case 2: {gehalt = 6000;}
case 3: {gehalt = 7500;}
case 4: {gehalt = 10000;}
case 5: {gehalt = 12500;}
}
if(dini_Int(Spieler,"Hartz4")==1)
{
hartz4+=750;
}
else
{
hartz4=0;
}
geld=gehalt+hartz4+levelbonus;
GivePlayerMoney(playerid,geld);
SendClientMessage(i,Hellblau,"Payday");
dini_IntSet(Spieler,"Levelpunkte",dini_Int(Spieler,"Levelpunkte")+1);
new levelpunkteprolevel=GetPlayerScore(i)*2;
levelpunkteprolevel+=6;
new gehaltstring[128];
new hartz4string[128];
new levelbstring[128];
new levelustring[128];
new levelpstring[128];
format(gehaltstring,sizeof(gehaltstring),"Gehalt: %i€",gehalt);
format(hartz4string,sizeof(hartz4string),"Hartz IV: %i€",hartz4);
format(levelbstring,sizeof(levelbstring),"Levelbonus: %i€",levelbonus);
format(levelustring,sizeof(levelustring),"Glückwunsch! Du bist nun Level %i.",GetPlayerScore(i)+1);
format(levelpstring,sizeof(levelpstring),"Dir fehlen noch %i Levelpunkte bis Level %i.",levelpunkteprolevel-dini_Int(Spieler,"Levelpunkte"),GetPlayerScore(i)+1);
SendClientMessage(i,Hellblau,"|_______Payday_______|");
SendClientMessage(i,Weiss,gehaltstring);
if(hartz4>0)
{
SendClientMessage(i,Weiss,hartz4string);
}
SendClientMessage(i,Weiss,levelbstring);
SendClientMessage(i,Weiss,levelpstring);
if(dini_Int(Spieler,"Levelpunkte")>=levelpunkteprolevel)
{
SetPlayerScore(i,GetPlayerScore(playerid)+1);
SendClientMessage(i,Weiss,levelustring);
dini_IntSet(Spieler,"Levelpunkte",0);
}
PayDayZeit[i]=2700;
}
}
}
}