Arrest System Problem (dringend)

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo,


    habe hier mal versucht ein Arrest System zu basteln, klappt auch alles, jedoch
    wird, wenn der Spieler disconnectet und wieder connectet und im Knast saß, nicht dorthin teleportiert.
    Spawn ich den Spieler jedoch neu ist er wieder im Knast.


    Code:
    ocmd:arrest(playerid,params[])
    {
    if(!isPlayerInFrakt(playerid,1))return SendClientMessage(playerid,ROT,"[Fehler]{FFFFFF} Dazu bist du nicht befugt.");
    new pID, Float:X, Float:Y, Float:Z;
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"[Hilfe]{FFFFFF} Benutze /arrest [ID/Teilname]");
    if(!IsPlayerInRangeOfPoint(playerid, 5.0, 1560.2823,-1693.9921,5.8906))return SendClientMessage(playerid, ROT, "[Fehler]{FFFFFF} Du bist nicht am Arrest Point.");
    GetPlayerPos(pID, X, Y, Z);
    if(!IsPlayerInRangeOfPoint(playerid, 5.0, X, Y, Z))return SendClientMessage(playerid, Weis, "Der Spieler ist nicht in deiner Nähe.");
    if(GetPlayerWantedLevel(pID) == 0)
    {
    SendClientMessage(playerid,ROT,"[Fehler]{FFFFFF} Der Spieler hat keine Wanteds.");
    }
    if(GetPlayerWantedLevel(pID) == 1)
    {
    new string[128];
    SendClientMessage(pID,ROT,"[Information]{FFFFFF} Du bist nun für 120 Sekunden im Gefängnis.");
    SetPlayerWantedLevel(pID,0);
    SetPlayerPos(pID,264.0242,81.5690,1001.0391);
    SetPlayerInterior(pID,6);
    ResetPlayerWeapons(pID);
    SetPVarInt(pID,"Knast",1);
    SetPVarInt(pID, "KnastTime", 120000);
    format(string,sizeof(string), "[Knast Information]{FFFFFF} Officer %s hat den Verbrecher %s eingesperrt.",SpielerName(playerid),SpielerName(pID));
    SendClientMessageToAll(ROT,string);
    SpielerSpeichern(pID);
    GivePlayerMoney(playerid,2000);
    TogglePlayerControllable(pID,true);
    }
    if(GetPlayerWantedLevel(pID) == 2)
    {
    #pragma tabsize 0
    new string[128];
    SendClientMessage(pID,ROT,"[Information]{FFFFFF} Du bist nun für 240 Sekunden im Gefängnis.");
    SetPlayerWantedLevel(pID,0);
    SetPlayerPos(pID,264.0242,81.5690,1001.0391);
    SetPlayerInterior(pID,6);
    ResetPlayerWeapons(pID);
    SetPVarInt(pID,"Knast",1);
    SetPVarInt(pID, "KnastTime", 240000);
    format(string,sizeof(string), "[Knast Information]{FFFFFF} Officer %s hat den Verbrecher %s eingesperrt.",SpielerName(playerid),SpielerName(pID));
    SendClientMessageToAll(ROT,string);
    SpielerSpeichern(pID);
    GivePlayerMoney(playerid,4000);
    TogglePlayerControllable(pID,true);
    }
    if(GetPlayerWantedLevel(pID) == 3)
    {
    new string[128];
    SendClientMessage(pID,ROT,"[Information]{FFFFFF} Du bist nun für 360 Sekunden im Gefängnis.");
    SetPlayerWantedLevel(pID,0);
    SetPlayerPos(pID,264.0242,81.5690,1001.0391);
    SetPlayerInterior(pID,6);
    ResetPlayerWeapons(pID);
    SetPVarInt(pID,"Knast",1);
    SetPVarInt(pID, "KnastTime", 360000);
    format(string,sizeof(string), "[Knast Information]{FFFFFF} Officer %s hat den Verbrecher %s eingesperrt.",SpielerName(playerid),SpielerName(pID));
    SendClientMessageToAll(ROT,string);
    SpielerSpeichern(pID);
    GivePlayerMoney(playerid,6000);
    TogglePlayerControllable(pID,true);
    }
    if(GetPlayerWantedLevel(pID) == 4)
    {
    new string[128];
    SendClientMessage(pID,ROT,"[Information]{FFFFFF} Du bist nun für 480 Sekunden im Gefängnis.");
    SetPlayerWantedLevel(pID,0);
    SetPlayerPos(pID,264.0242,81.5690,1001.0391);
    SetPlayerInterior(pID,6);
    ResetPlayerWeapons(pID);
    SetPVarInt(pID,"Knast",1);
    SetPVarInt(pID, "KnastTime", 480000);
    format(string,sizeof(string), "[Knast Information]{FFFFFF} Officer %s hat den Verbrecher %s eingesperrt..",SpielerName(playerid),SpielerName(pID));
    SendClientMessageToAll(ROT,string);
    SpielerSpeichern(pID);
    GivePlayerMoney(playerid,8000);
    TogglePlayerControllable(pID,true);
    }
    if(GetPlayerWantedLevel(pID) == 5)
    {
    new string[128];
    SendClientMessage(pID,ROT,"[Information]{FFFFFF} Du bist nun für 600 Sekunden im Gefängnis.");
    SetPlayerWantedLevel(pID,0);
    SetPlayerPos(pID,264.0242,81.5690,1001.0391);
    SetPlayerInterior(pID,6);
    ResetPlayerWeapons(pID);
    SetPVarInt(pID,"Knast",1);
    SetPVarInt(pID, "KnastTime", 600000);
    format(string,sizeof(string), "[Knast Information]{FFFFFF} Officer %s hat den Verbrecher %s eingesperrt.",SpielerName(playerid),SpielerName(pID));
    SendClientMessageToAll(Weis,string);
    SpielerSpeichern(pID);
    GivePlayerMoney(playerid,10000);
    TogglePlayerControllable(pID,true);
    }
    if(GetPlayerWantedLevel(pID) == 6)
    {
    new string[128];
    SendClientMessage(pID,ROT,"[Information]{FFFFFF} Du bist nun für 720 Sekunden im Gefängnis.");
    SetPlayerWantedLevel(pID,0);
    SetPlayerPos(pID,264.0242,81.5690,1001.0391);
    SetPlayerInterior(pID,6);
    ResetPlayerWeapons(pID);
    SetPVarInt(pID,"Knast",1);
    SetPVarInt(pID, "KnastTime", 720000);
    format(string,sizeof(string), "[Knast Information]{FFFFFF} Officer %s hat den Verbrecher %s eingesperrt.",SpielerName(playerid),SpielerName(pID));
    SendClientMessageToAll(ROT,string);
    SpielerSpeichern(pID);
    GivePlayerMoney(playerid,12000);
    TogglePlayerControllable(pID,true);
    }
    return 1;
    }


    forward KnastTimeCheck();


    public KnastTimeCheck()
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(GetPVarInt(i, "Knast") == 1)
    {
    if(GetPVarInt(i, "KnastTime") >= 1)
    {
    SetPVarInt(i, "KnastTime", GetPVarInt(i, "KnastTime") - 1000); // oderso in der Art, bin mir grad net sicher
    }
    }
    if(GetPVarInt(i, "KnastTime") <= 0 && GetPVarInt(i, "Knast") == 1)
    {
    SetPVarInt(i, "Knast", 0);
    SpielerSpeichern(i);
    SetPVarInt(i, "KnastTime", 0);
    SpielerSpeichern(i);
    SendClientMessage(i,ROT,"[Knast Information]{FFFFFF} Du hast deine Haftstrafe ausgesessen.");
    SetPlayerPos(i,1549.1331,-1675.4790,14.8298);
    SetPlayerFacingAngle(i,89.0210);
    SetPlayerInterior(i,0);
    SetPlayerWantedLevel(i,0);
    SetPVarInt(i, "Wanted", 0);
    SpielerSpeichern(i);
    }
    }
    return 1;
    }


    //Onplayerpsawn
    if(GetPVarInt(playerid, "Knast") == 1)
    {
    SetPlayerPos(playerid,264.0242,81.5690,1001.0391);
    SetPlayerInterior(playerid,6);
    ResetPlayerWeapons(playerid);
    SendClientMessage(playerid,ROT,"[Knast Information]{FFFFFF} Zurück in die Zelle.");
    }


    //connect
    if(GetPVarInt(playerid, "Knast") == 1)
    {
    SetPlayerPos(playerid,264.0242,81.5690,1001.0391);
    SetPlayerInterior(playerid,6);
    ResetPlayerWeapons(playerid);
    SendClientMessage(playerid,ROT,"[Knast Information]{FFFFFF} Zurück in die Zelle.");
    }


    //laden
    SetPVarInt(playerid,"Knast",dini_Int(Spielerdatei,"Knast"));
    SetPVarInt(playerid,"KnastTime",dini_Int(Spielerdatei,"KnastTime"));


    //speichern
    dini_IntSet(Spielerdatei,"Knast",GetPVarInt(playerid,"Knast"));
    dini_IntSet(Spielerdatei,"KnastTime",GetPVarInt(playerid,"KnastTime"));


    Will dass er auch in den knast kommt wenn er reloogt...


    MFG