Hey,
also ich möchte, wenn der spieler für 5min arrestet wurde, und bereits 1min abgessessen hat, und nachher wieder on kommt, das er dann nurnoch 4min im Knast sein muss.
Das is fail.
Wenn er reloggt, spawnt er ganz normal.
Hier meine CMDS:
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);
KnastTimerx = SetTimerEx("KnastTimer", Time*1000*60, false,"d",pID);
SetPlayerPos(pID,215.4654,110.5644,999.0156);
SetPlayerWantedLevel(pID,0);
if(SpielerInfo[pID][pFraktion] == 0 || SpielerInfo[pID][pLeader] == 0)
{
SetPlayerColor(pID, FARBE_WEISS);
}
if(SpielerInfo[pID][pFraktion] == 1 || SpielerInfo[pID][pLeader] == 1)
{
SetPlayerColor(pID, FARBE_DUNKELGRÜN);
}
if(SpielerInfo[pID][pFraktion] == 2 || SpielerInfo[pID][pFraktion] == 2)
{
SetPlayerColor(pID, FARBE_BRAUN);
}
if(SpielerInfo[pID][pFraktion] == 3 || SpielerInfo[pID][pFraktion] == 3)
{
SetPlayerColor(pID, FARBE_DUNKELROT);
}
if(SpielerInfo[pID][pFraktion] == 4 || SpielerInfo[pID][pLeader] == 4)
{
SetPlayerColor(pID, FARBE_PINK);
}
if(SpielerInfo[pID][pFraktion] == 5 || SpielerInfo[pID][pLeader] == 5)
{
SetPlayerColor(pID, FARBE_LILA);
}
if(SpielerInfo[pID][pFraktion] == 6 || SpielerInfo[pID][pLeader] == 6)
{
SetPlayerColor(pID, FARBE_BLAU);
}
if(SpielerInfo[pID][pFraktion] == 7 || SpielerInfo[pID][pLeader] == 7)
{
SetPlayerColor(pID, FARBE_GRÜN);
}
if(SpielerInfo[pID][pFraktion] == 8 || SpielerInfo[pID][pLeader] == 8)
{
SetPlayerColor(pID, FARBE_ROT);
}
if(SpielerInfo[pID][pFraktion] == 9 || SpielerInfo[pID][pLeader] == 9)
{
SetPlayerColor(pID, FARBE_GELB);
}
SpielerInfo[pID][pKnast] = 1;
SpielerInfo[pID][pZeit] = Time;
MinTimerx = SetTimerEx("MinTimer",1000*60, false, "d", pID);
return 1;
}
OnPLayerDisconnect:
KillTimer(KnastTimerx);
SpielerInfo[playerid][pKnast] = 2;
SpielerInfo[playerid][pDifferenzZeit] = SpielerInfo[playerid][pZeit] - SpielerInfo[playerid][pMinZeit];
OnPlayerSpawn:
if(SpielerInfo[playerid][pKnast] == 2)
{
SetPlayerPos(playerid, 215.4654,110.5644,999.0156 );
SetPlayerInterior(playerid,10);
SetTimerEx("KnastTimer2", SpielerInfo[playerid][pDifferenzZeit], false, "d",playerid);
return 1;
}
Timer:
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;
}
forward KnastTimer2(playerid);
public KnastTimer2(playerid)
{
SendClientMessage(playerid, FARBE_HELLBLAU, "Du wurdest aus dem Knast entlassen !");
SpielerInfo[playerid][pKnast] = 0;
return 1;
}
regards
//edit pwn zeilen