Knast Buggt

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
  • Hi, ich habe mir ein Knast System gebaut mit dem man nach relog immern och im KAnst sein "sollte" aber das klapp i.wie nicht. Wenn man im kannst off geht und wieder rein kommt sind alle Daten resetet. Ich weis nicht warum hier mal ein Paar Zeilen:



    ocmd:arrest(playerid,params[])
    {
    new pID,zeit,knastz,knastzm/*kaution*/;
    new string[90],string2[90];
    if(!isPlayerInFrakt(playerid,1)) return SendClientMessage(playerid,Grau,"** Du bist kein Cop.");
    if(cduty[playerid]==0)return SendClientMessage(playerid,Grau,"**Du bist nicht im Dienst");
    if(sscanf(params,"ui",pID,zeit/*,kaution*/))return SendClientMessage(playerid,Grau,"Benutze /arrest [ID] [Wanteds]");
    if(GetPVarInt(pID,"Wanted")==0) return SendClientMessage(playerid,Grau,"** Dieser Spieler hat keine Wanteds.");
    if(!IsPlayerInRangeOfPoint(playerid,10,1564.4517,-1612.5597,13.3828)) return SendClientMessage(playerid,Grau,"**Du bist nicht am Arrest Point.");
    if(!IsPlayerInRangeOfPoint(pID,10,1564.4517,-1612.5597,13.3828)) return SendClientMessage(playerid,Grau,"**Der Gesuchte ist nicht am Arrest Point.");
    knastzm=zeit*5;
    format(string,sizeof(string),"**->Polizist %s hat %s für %i Minuten eingesperrt.",SpielerName(playerid),SpielerName(pID),knastzm);
    format(string2,sizeof(string2),"*** ->Du bist jetz %i Minuten im Knast. /knastzeit um zu kucken wir lang noch.",knastzm);
    SetPlayerWantedLevel(pID,0);
    SetPVarInt(pID,"Wanted",0);
    knastz=zeit*6000*5;
    SetPVarInt(pID,"Knastzeit",knastz);
    SetPlayerInterior(pID,3);
    SetPlayerPos(pID,198.6527,161.9291,1003.0300);
    SetTimerEx("knast1",1,1,"i",pID);
    SetTimerEx("knast2",knastz,0,"i",pID);
    SendClientMessage(pID,0x0087FFFF,string2);
    SendClientMessageToAll(0x0087FFFF,string);


    return 1;
    }




    public knast1(playerid)
    {
    new knzeit;
    knzeit=GetPVarInt(playerid,"Knastzeit")-1;
    SetPVarInt(playerid,"Knastzeit",knzeit);
    SpielerSpeichern(playerid);
    }
    public knast2(playerid)
    {
    SetPlayerInterior(playerid,0);
    SpawnPlayer(playerid);
    SendClientMessage(playerid,GRÜN,"Du bist entlassen. Versuche ein besserer Mensch zu werden.");
    }


    Bei on Player Spawn -->


    if(GetPVarInt(playerid,"Knastzeit")>=1)
    {
    SetPlayerWantedLevel(playerid,0);
    SetPlayerInterior(playerid,3);
    SetPlayerPos(playerid,198.6527,161.9291,1003.0300);
    SetTimerEx("knast4",1,1,"i",playerid);
    SendClientMessage(playerid,GRÜN,"Du bist wieder im Knast.");
    }





    public knast4(playerid)
    {
    if(GetPVarInt(playerid,"Knastzeit")>=1)
    {
    new knzeit;
    knzeit=GetPVarInt(playerid,"Knastzeit")-1;
    SetPVarInt(playerid,"Knastzeit",knzeit);
    SpielerSpeichern(playerid);
    }
    else if(GetPVarInt(playerid,"Knastzeit")<=0)
    {
    SetPlayerInterior(playerid,0);
    SpawnPlayer(playerid);
    SendClientMessage(playerid,GRÜN,"Du bist entlassen. Versuche ein besserer Mensch zu werden.");
    }

    }






    Wenn ihr noch mehr braucht sagen :)

  • Geht nicht Hab s jetzt so :




    ocmd:arrest(playerid,params[])
    {
    new pID,zeit,knastz,knastzm/*kaution*/;
    new string[90],string2[90];
    if(!isPlayerInFrakt(playerid,1)) return SendClientMessage(playerid,Grau,"** Du bist kein Cop.");
    if(cduty[playerid]==0)return SendClientMessage(playerid,Grau,"**Du bist nicht im Dienst");
    if(sscanf(params,"ui",pID,zeit/*,kaution*/))return SendClientMessage(playerid,Grau,"Benutze /arrest [ID] [Wanteds]");
    if(GetPVarInt(pID,"Wanted")==0) return SendClientMessage(playerid,Grau,"** Dieser Spieler hat keine Wanteds.");
    if(!IsPlayerInRangeOfPoint(playerid,10,1564.4517,-1612.5597,13.3828)) return SendClientMessage(playerid,Grau,"**Du bist nicht am Arrest Point.");
    if(!IsPlayerInRangeOfPoint(pID,10,1564.4517,-1612.5597,13.3828)) return SendClientMessage(playerid,Grau,"**Der Gesuchte ist nicht am Arrest Point.");
    knastzm=zeit*5;
    format(string,sizeof(string),"**->Polizist %s hat %s für %i Minuten eingesperrt.",SpielerName(playerid),SpielerName(pID),knastzm);
    format(string2,sizeof(string2),"*** ->Du bist jetz %i Minuten im Knast. /knastzeit um zu kucken wir lang noch.",knastzm);
    SetPlayerWantedLevel(pID,0);
    SetPVarInt(pID,"Wanted",0);
    knastz=zeit*6000*5;
    SetPVarInt(pID,"Knastzeit",knastz);
    SetPlayerInterior(pID,3);
    SetPlayerPos(pID,198.6527,161.9291,1003.0300);
    SpielerSpeichern(pID);
    SetTimerEx("knast1",1,1,"i",pID);
    SetTimerEx("knast2",knastz,0,"i",pID);
    SendClientMessage(pID,0x0087FFFF,string2);
    SendClientMessageToAll(0x0087FFFF,string);


    return 1;
    }



    public knast1(playerid)
    {
    new knzeit;
    knzeit=GetPVarInt(playerid,"Knastzeit")-1;
    SetPVarInt(playerid,"Knastzeit",knzeit);
    SpielerSpeichern(playerid);
    }
    public knast2(playerid)
    {
    SetPlayerInterior(playerid,0);
    SpawnPlayer(playerid);
    SendClientMessage(playerid,GRÜN,"Du bist entlassen. Versuche ein besserer Mensch zu werden.");
    }
    public knast4(playerid)
    {
    if(GetPVarInt(playerid,"Knastzeit")>=1)
    {
    new knzeit;
    knzeit=GetPVarInt(playerid,"Knastzeit")-1;
    SetPVarInt(playerid,"Knastzeit",knzeit);
    SpielerSpeichern(playerid);
    }
    return 1;
    }
    public knast3(playerid)
    {
    SetPlayerInterior(playerid,0);
    SpawnPlayer(playerid);
    SendClientMessage(playerid,GRÜN,"Du bist entlassen. Versuche ein besserer Mensch zu werden.");
    return 1;
    }


    OnPlayerSpawn --->
    if(GetPVarInt(playerid,"Knastzeit")>=1)
    {
    SetPlayerWantedLevel(playerid,0);
    SetPlayerInterior(playerid,3);
    SetPlayerPos(playerid,198.6527,161.9291,1003.0300);
    SetTimerEx("knast4",1,1,"i",playerid);
    SetTimerEx("knast§",dini_Int(Spieler,"Knastzeit"),1,"i",playerid);
    SendClientMessage(playerid,GRÜN,"Du bist wieder im Knast.");
    }



    Beim Disconnect:


    stock SpielerSpeichern(playerid)
    {
    new pname[MAX_PLAYERS],Spieler[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(Spieler,sizeof Spieler,"/Accounts/%s.datei",pname);
    dini_IntSet(Spieler,"admin",GetPVarInt(playerid,"admin"));
    dini_IntSet(Spieler,"skin",GetPlayerSkin(playerid));
    dini_FloatSet(Spieler,"lastx",GetPVarFloat(playerid,"lastx"));
    dini_FloatSet(Spieler,"lasty",GetPVarFloat(playerid,"lasty"));
    dini_FloatSet(Spieler,"lastz",GetPVarFloat(playerid,"lastz"));
    dini_IntSet(Spieler,"timeban",GetPVarInt(playerid,"timeban"));
    dini_IntSet(Spieler,"BanZeit",GetPVarInt(playerid,"BanZeit"));
    dini_IntSet(Spieler,"Fraktion",GetPVarInt(playerid,"Fraktion"));
    dini_IntSet(Spieler,"Rang",GetPVarInt(playerid,"Rang"));
    dini_IntSet(Spieler,"Level",GetPlayerScore(playerid));
    dini_IntSet(Spieler,"Skin",GetPlayerSkin(playerid));
    dini_IntSet(Spieler,"Money",GetPlayerMoney(playerid));
    dini_IntSet(Spieler,"Bank",GetPVarInt(playerid,"Bank"));
    dini_IntSet(Spieler,"Wanted",GetPVarInt(playerid,"Wanted"));
    dini_IntSet(Spieler,"Bank",pInfo[playerid][Bank]);
    dini_IntSet(Spieler,"dutySkin",GetPVarInt(playerid,"dutySkin"));
    dini_IntSet(Spieler,"Knastzeit",GetPVarInt(playerid,"Knastzeit"));
    dini_IntSet(Spieler,"Tazed",GetPVarInt(playerid,"Tazed"));
    dini_IntSet(Spieler,"HS",GetPVarInt(playerid,"HS"));
    dini_IntSet(Spieler,"Cuffed",GetPVarInt(playerid,"Cuffed"));
    new Grund[128];
    GetPVarString(playerid,"BanGrund",Grund,128);
    dini_Set(Spieler,"BanGrund",Grund);
    new Admin[128];
    GetPVarString(playerid,"AdminName",Admin,128);
    dini_Set(Spieler,"AdminName",Admin);
    }





    Such immer noch Hilfe :)