Mein Problem besteht darin, dass mein Arrest-timer immer nur von 60 auf 59 runterzählt und dann "aufhört".
public CheckEntlassung(){for(new i=0;i<GetMaxPlayers();i++){if(pInfo[i][pJail]!=0){pInfo[i][pJail]--;printf("Noch %i Sekunden.",pInfo[i][pJail]/1000); //geprinted wird immer jede Sekunde dass selbe: Noch 59 Sekunden.if(pInfo[i][pJail]==0){pInfo[i][pJail]=0;SendClientMessage(i,CLR_RED,"Du hast deine Strafe abgesessen, hoffentlich hast du dazu gelernt!");SetPlayerArmour(i,0);ResetPlayerWeapons(i);SetPlayerPos(i,1555.0754,-1675.6427,16.1953);SetPlayerFacingAngle(i,90.0);SetPlayerInterior(i,0);SetPlayerVirtualWorld(i,0);SetPlayerHealth(i,100);GameTextForPlayer(i,"~p~Unjailed",10000,6);}}}return 1;}//im arrest befehl.pInfo[pID][pJail]=jminuten*1000*60;//ongamemodeinitSetTimer("CheckEntlassung",1000,true);
mfg
Meine Frage scheint wohl untergegangen zu sein, deswegen frage ich einfach nochmal.
public CheckEntlassung()
{
for(new i=0;i<GetMaxPlayers();i++)
{
if(pInfo[i][pJail]!=0)
{
pInfo[i][pJail]--;
printf("Noch %i Sekunden.",pInfo[i][pJail]/1000);
if(pInfo[i][pJail]==0)
{
pInfo[i][pJail]=0;
SendClientMessage(i,CLR_RED,"Du hast deine Strafe abgesessen, hoffentlich hast du dazu gelernt!");
SetPlayerArmour(i,0);
ResetPlayerWeapons(i);
SetPlayerPos(i,1555.0754,-1675.6427,16.1953);
SetPlayerFacingAngle(i,90.0);
SetPlayerInterior(i,0);
SetPlayerVirtualWorld(i,0);
SetPlayerHealth(i,100);
GameTextForPlayer(i,"~p~Unjailed",10000,6);
}
}
}
return 1;
}
pInfo[pID][pJail]=jminuten*1000*60;
SetTimer("CheckEntlassung",1000,true);