Hey,
bei mir tritt folgendes Problem auf:
Der Befehl /einsperren funkioniert super.
Doch allerdings ist es leider so, wenn der Spieler reloggt, wird der Timer "KnastTimer" nicht abgerufen und die Variable Knast bleibt ewig auf 1.
enum SpielerDaten
{
pScore,
pAdmin,
pGeld,
pKnast,
pFraktion,
pLeader,
pRang,
pTazed,
pContract,
pContractGeld,
pHaus
}
ocmd:einsperren(playerid,params[])
{
new pID,Time,MSG[150],MSGToAll[225];
if(SpielerInfo[playerid][pFraktion] != 6)return SendClientMessage(playerid,FARBE_ROT,"Du bist kein Polizist !");
if(!IsPlayerInRangeOfPoint(playerid,2.0,221.9013,121.0338,999.0294))return SendClientMessage(playerid,FARBE_ROT, "Du bist nicht am Arrest-Point !");
if(sscanf(params,"ui", pID,Time))return SendClientMessage(playerid, FARBE_GRAU, "Fehler: /einsperren [Username/ID] [Zeit in MIN]");
if(GetPlayerWantedLevel(pID == 0))return SendClientMessage(playerid,FARBE_ROT,"Error: Du kannst nur Wanteds einsperren!");
if(!GetDistanceBetweenPlayers(playerid,pID,25))return SendClientMessage(playerid,FARBE_ROT,"Error: Der Spieler ist nicht in deiner Nähe !");
format(MSG,sizeof(MSG),"Du wurdest von Officer %s für %i Minuten in den Knast gesteckt!", SpielerName(playerid), Time);
SendClientMessage(pID,FARBE_HELLBLAU, MSG);
format(MSGToAll,sizeof(MSGToAll), "** %s wurde von Officer %s in den Knast gesteckt **",SpielerName(pID),SpielerName(playerid));
SendClientMessageToAll(FARBE_ROT, MSGToAll);
SetTimerEx("KnastTimer", Time*1000*60, false,"d",pID);
SetPlayerPos(pID,215.4654,110.5644,999.0156);
SpielerInfo[pID][pKnast] = 0;
return 1;
}
forward KnastTimer(pID);
public KnastTimer(pID)
{
SetPlayerPos(pID,221.9013,121.0338,999.0294);
SendClientMessage(pID,FARBE_HELLBLAU, "Du wurdest aus dem Knast entlassen !");
SpielerInfo[pID][pKnast] = 0;
return 1;
}
OnPlayerSpawn
if(SpielerInfo[playerid][pKnast] == 1)
{
SetPlayerPos(playerid, 215.4654,110.5644,999.0156 );
SetPlayerInterior(playerid, 10);
SendClientMessage(playerid, FARBE_ROT, "Du hast deine Knastzeit noch nicht abgesessen !");
return 1;
}
Sprich,
Spieler wird in knast gesteckt, er reloggt, dann wird der timer nicht mehr abgerufen, er bleibt ganze zeit im knast
regards,
iAIR