Arrest System

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Arrest System

    Hallo,

    alles schln, alles gut dank playerid.
    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:
    [pwn]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"));
    [/pwn]

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

    MFG

    Neu im Bereich Pawn? Du kommst nicht klar? Du bist verwirrt und möchtest endlich scripten können?
    Klick mich für mehr Informationen.
  • Hallo,
    erst einmal ist dein Arrest Command ziemlich, nun ja "scheiße" aufgebaut.Wenn der Spieler dann mehr als 6 Wanteds hat passiert mit ihm gar nichts :O
    Zu dem könntest du Pawn einfach rechnen lassen und das nicht alles manuell aufschreiben.
    Zweitens zu deinem Problem: Wie Playerid schon gesagt hat, versuche das doch einfach mal mit SetSpawnInfo unter OnPlayerRequestClass und lasse den Spieler dann direkt spawnen mit
    SpawnPlayer(playerid);

    MFG