Habe das Problem das bei meinem PayDay, nur ID0 die Zeit runtergezählt wird.
Wiefolgt gescriptet:
SetTimer("SekundenTimer",1000,true);
forward SekundenTimer(playerid);
public SekundenTimer(playerid)
{
if(GetDesyncTime(playerid) >= 3000)
{
return 1;
}
SpielerInfo[playerid][pZeit] = SpielerInfo[playerid][pZeit]-1;
if(SpielerInfo[playerid][pZeit] == 0)
{
new string[358],string1[358];
new Rechnung = GetRangLohn(playerid)/100;
SendClientMessage(playerid,WEIS,"|-----[Zahltag]-----|");
SendClientMessage(playerid,WEIS,"");
format(string,sizeof(string)," + Gehalt: %i$ \n + Zinsen %i$ (%i Prozent) \n - Steuern: %i$ (%i Prozent)",GetRangLohn(playerid),Rechnung*Server[Zinsen],Server[Zinsen],Rechnung*Server[Steuern],Server[Steuern]);
SendClientMessage(playerid,WEIS,string);
SendClientMessage(playerid,WEIS,"------------------------------------");
format(string1,sizeof(string1),"Du erhälst: %i$",GetRangLohn(playerid));
SendClientMessage(playerid,WEIS,"-> 1 Respektpunkt erhalten!");
SpielerInfo[playerid][pZeit] = 3600;
SpielerInfo[playerid][pPoints] = SpielerInfo[playerid][pPoints]+1;
new Level = SpielerInfo[playerid][pLevel];
if(SpielerInfo[playerid][pPoints] == Level+1)
{
SpielerInfo[playerid][pLevel] = SpielerInfo[playerid][pLevel]+1;
SpielerInfo[playerid][pPoints] = 0;
return 1;
}
}
if(SpielerInfo[playerid][pPrisonTime] >= 1)
{
SpielerInfo[playerid][pPrisonTime] = SpielerInfo[playerid][pPrisonTime]-1;
if(SpielerInfo[playerid][pPrisonTime] == 0)
{
SendClientMessage(playerid,ROT,"Freiheit.");
PlayerSpawn(playerid);
return 1;
}
return 1;
}
if(SpielerInfo[playerid][pJailTime] >= 1)
{
SpielerInfo[playerid][pJailTime] = SpielerInfo[playerid][pJailTime]-1;
if(SpielerInfo[playerid][pJailTime] == 0)
{
SendClientMessage(playerid,ROT,"Freiheit.");
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,-156.4270,1139.3573,19.7422);
return 1;
}
}
return 1;
}