Jailtime Problem

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
  • Huhu com!
    Ich bin dabei ein "/einsperren" Befehl zu erstellen.
    Doch nun ist folgendes Problem.
    Wenn ich mich einsperre dann spawne ich direkt wieder vorm LVPD ohne im Gefängnis gewesen zu sein.
    Hier mal der Code:



    ocmd:einsperren(playerid,params[])
    {
    new pid;
    if(LVPDDuty[playerid] == 0)return scm(playerid,c_error,"[Error] {FFFFFF}Du musst im Dienst sein.");
    if(sscanf(params,"u",pid))return scm(playerid,c_error,"[Error] {FFFFFF}/einsperren [ID]");
    if(GetPlayerWantedLevel(pid) == 0)return scm(playerid,c_error,"[Error] {FFFFFF}Dieser Spieler hat keine Wanteds!");
    if(sInfo[playerid][Fraktion]==1)
    {
    if(IsPlayerInRangeOfPoint(playerid,8.0,2281.4922,2430.9136,-7.4531))
    {
    new wantedlevel = GetPlayerWantedLevel(playerid);
    JailPlayer(pid,wantedlevel);
    return 1;
    }
    else
    {
    scm(playerid,c_error,"[Error] {FFFFFF}Du bist nicht am Arrest Punkt!");
    scm(playerid,-1,"Er befindet sich in der untersten Garage des {DB9353}LVPD's{FFFFFF}.");
    return 1;
    }
    }
    return 1;
    }



    public JailTime(playerid)
    {
    new wantedlevel[MAX_PLAYERS], minutes, str[128];
    format(str,sizeof(str),"Dir wurden wegen deiner Straftat soeben %i$ entzogen!",minutes);
    wantedlevel[playerid] = GetPlayerWantedLevel(playerid);
    minutes = wantedlevel[playerid]*4;
    SetPlayerPos(playerid,2291.6296,2423.6606,10.8203);
    SetPlayerInterior(playerid,0);
    scm(playerid,-1," ");
    scm(playerid,-1," ");
    scm(playerid,0x5A5A5AFF,"|| Polizei Information ||");
    scm(playerid,-1,str);
    GivePlayerMoney(playerid,-wantedlevel[playerid]*4);
    return 1;
    }




    stock JailPlayer(playerid,wantedlevel)
    {
    new minutes;
    SetTimer("JailTime",minutes*1000,false);
    wantedlevel = GetPlayerWantedLevel(playerid);
    minutes = wantedlevel*4;
    sInfo[playerid][Knast]=1;
    SetPlayerPos(playerid,219.6628,108.4956,999.0156);
    SetPlayerInterior(playerid,10);
    SetPlayerWantedLevel(playerid,0);
    return 1;
    }


    Vielleicht habt ihr eine Lösung für mein Problem :wacko:


    mfg.

  • encrusted.:
    Ja hier:
    stock JailPlayer(playerid,wantedlevel)
    {
    new minutes;
    SetTimer("JailTime",minutes*1000,false);
    wantedlevel = GetPlayerWantedLevel(playerid);
    minutes = wantedlevel*4;
    sInfo[playerid][Knast]=1;
    SetPlayerPos(playerid,219.6628,108.4956,999.0156);
    SetPlayerInterior(playerid,10);
    SetPlayerWantedLevel(playerid,0);
    return 1;
    }


    Du hattest erst den Timer gestartet, und danach in der Variable "minutes" den Wert gespeichert. Das ist dann zu spät. Du musst das erst in der Variable abspeichern, und dann den Timer starten. Siehe mein Beispiel :)
    Mach das so:
    stock JailPlayer(playerid,wantedlevel)
    {
    new minutes;
    wantedlevel = GetPlayerWantedLevel(playerid);
    minutes = wantedlevel*4;
    SetTimer("JailTime",minutes*1000,false);
    sInfo[playerid][Knast]=1;
    SetPlayerPos(playerid,219.6628,108.4956,999.0156);
    SetPlayerInterior(playerid,10);
    SetPlayerWantedLevel(playerid,0);
    return 1;
    }

    3 Mal editiert, zuletzt von BaRkS ()