Beiträge von ~P4!N~

    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 :)

    hi, ich versuche schon vergeblich meine tazer /hs und cuff befehle so einzustellen das sie Funktionieren. Denn wenn ich im getazerten zustand /hs mache ist man nach 10 Sekunden wieder frei anstatt nach 40 Sekunden. hab es schon probiert geht aber nicht. Ich hab es mit Variablen gespeichert und abgefragt es geht aber nicht bin echt Rat los.



    ocmd:t(playerid,params[])
    {
    if(isPlayerInFrakt(playerid,1))
    {
    if(cduty[playerid]==0)return SendClientMessage(playerid,Grau,"**Du bist nicht im Dienst");
    if(IsPlayerInAnyVehicle(playerid)) // Checks if the player is in a vehicle.
    {
    SendClientMessage(playerid, Grau, "**Du kannst diesen Befehl nicht in einem Auto benutzen.");
    return 1;
    }
    if(pTazer[playerid] == 0)
    {
    GivePlayerWeapon(playerid, 23, 100);
    pTazer[playerid] = 1;
    return 1;
    }
    else if(pTazer[playerid] == 1)
    {
    SetPlayerAmmo(playerid,2,0);
    pTazer[playerid] = 0;
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, Grau, "**Du hast keinen Tazer.");
    }
    return 1;
    }


    public OnPlayerShootPlayer(Shooter,Target,Float:HealthLost,Float:ArmourLost)
    {
    if(isPlayerInFrakt(Shooter,1))
    {
    if(GetPlayerWeapon(Shooter) == 23)
    {
    new string[100],string2[100];
    TogglePlayerControllable(Target, false);
    ApplyAnimation(Target,"CRACK","crckdeth2",4.1,1,1,1,1,1);
    pTazed[Target] = 1;
    new Float: x, Float: y, Float: z;
    GetPlayerPos(Shooter,x,y,z);
    SetTimerEx("Tazed", 10000, 0, "d", Target);
    format(string,sizeof(string),"Officer %s hat dich für 10 Sekunden getazed.",SpielerName(Shooter));
    format(string2,sizeof(string2),"Du hast %s für 10 Sekunden getazed..",SpielerName(Target));
    SendClientMessage(Target,GELB,string);
    SendClientMessage(Shooter,GELB,string2);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    new ansage[100];
    format(ansage,sizeof(ansage),"**=> %s hat %s getazed.",SpielerName(Shooter),SpielerName(Target));
    if(IsPlayerInRangeOfPoint(i,30,x,y,z))
    {
    SendClientMessage(i,Grau,ansage);
    }
    }
    }
    }
    return 1;
    }
    public Tazed(playerid)
    {
    if(pHS[playerid]==0)
    {
    pTazed[playerid] = 0;
    TogglePlayerControllable(playerid,1);
    ClearAnimations(playerid);
    }
    else if(pHS[playerid]==1);
    {
    SendClientMessage(playerid,Grau,"test");
    }
    return 1;
    }


    ocmd:hs(playerid,params[])
    {
    new pID, string[64],string1[64];
    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,"u",pID))return SendClientMessage(playerid,Grau,"Benutze: /hs [ID]");
    if(pID==playerid)return SendClientMessage(playerid,Grau,"**Du kannst dir nicht selber Handschellen anlegen.");
    if(pTazed[pID]==0)return SendClientMessage(playerid,Grau,"**Erst Tazern.");
    new Float: x, Float: y, Float: z;
    new Float: x1, Float: y1, Float: z1;
    GetPlayerPos(pID,x,y,z);
    GetPlayerPos(playerid,x1,y1,z1);
    if(IsPlayerInRangeOfPoint(playerid,5.0,x,y,z))
    {
    TogglePlayerControllable(pID,0);
    SetTimerEx("hs",40000,0,"i",pID);
    format(string,sizeof(string),"Officer %s hat dir Handschellen angelegt.",SpielerName(playerid));
    SendClientMessage(pID,Blau,string);
    pHS[playerid]=1;
    format(string1,sizeof(string1),"Du hast %s Handschellen angelegt.",SpielerName(pID));
    SendClientMessage(playerid,Blau,string1);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    new ansage[100];
    format(ansage,sizeof(ansage),"**=> %s hat %s Handschellen angelegt.",SpielerName(playerid),SpielerName(pID));
    if(IsPlayerInRangeOfPoint(i,30,x1,y1,z1))
    {
    SendClientMessage(i,Grau,ansage);
    }
    }
    }
    else SendClientMessage(playerid,Grau,"**Der Spieler ist nicht in der Nähe");
    return 1;
    }


    public hs(playerid)
    {


    //////////////Cuff ist für Cuff aber das poste ich jetzt nicht :D


    if(pCuff[playerid]==0)
    {
    TogglePlayerControllable(playerid,1);
    pHS[playerid]=0;
    GameTextForPlayer(playerid,"~r~Handschellen geknackt.",3000,1);
    }
    else
    {
    }
    return 1;
    }

    Bitte um schnelle Hilfe :(

    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 :)

    kann mir einer bei einem /arrest Befehl helfen bei dem man die Knast Zeit mit /knasttime abrufen kann und man noch im Knast ist nach einem Relogg.
    Da man ja mit Timern glaubig die verbleibende Zeit nicht abrufen kann und ich keine Ahnung habe wie ich sonst die Zeit Speichern könnte.
    :)

    Hallo ich wollte einen ein oder aus befehl machen wo ebend nicht ein/aus steht sonder nur ein oder aus. Geht aber nicht :(




    //edit code verändert

    Also ich wollte das man wenn man in den cp fährt 5 sek stehen bleiben muss aber man steht für immer da und ist gefreezet...


    public OnPlayerEnterCheckpoint(playerid)
    {
    if(Muellmann[playerid][pmi_bAktiv]) {
    Muellmann[playerid][pmi_Checkpoint]++;
    TogglePlayerControllable(playerid,0);
    SetTimer("muell",5000,0);
    new
    playercp = Muellmann[playerid][pmi_Checkpoint];
    if(playercp == sizeof(Muellabfuhr_Stationen)) {
    Muellmann[playerid][pmi_bAktiv]=false;
    // Extra code
    SendClientMessage(playerid, COLOR_GREEN, "Super Arbeit,du hast die Stadt hervorragend gesäubert");
    GivePlayerMoney(playerid, 2000);
    }
    else {
    SendClientMessage(playerid, COLOR_GREEN, "Müll wird aufgeladen.");
    PlayerPlaySound(playerid,1056,0.0,0.0,0.0);
    }
    return 1;
    }
    return 1;
    }



    public muell(playerid)
    {
    new String[128];
    new playercp = Muellmann[playerid][pmi_Checkpoint];
    TogglePlayerControllable(playerid,1);
    format(String,sizeof(String),"Weiter so,du hast es fasst geschafft ! (%d / %d)",playercp,sizeof(Muellabfuhr_Stationen));
    SendClientMessage(playerid,COLOR_LIGHTGREEN,String);
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,Muellabfuhr_Stationen[playercp][M_fX],Muellabfuhr_Stationen[playercp][M_fY],Muellabfuhr_Stationen[playercp][M_fZ],Muellabfuhr_Stationen[playercp][M_fRad]);
    }

    Also ich habe mir einen /knast Befehl für Cops gemacht nur wie kann ich das machen dass wenn der der im Knast ist off geht die Zeit gespeichert wird die noch übrich ist und er beim Login wieder in den Knast kommt... ?


    Ich hab so Probiert aber das klappt nicht ^^



    Bei OnPlayerSpawn


    if(GetPVarInt(playerid,"Knastzeit") >0)
    {
    new string[100];
    new knastzeit = GetPVarInt(playerid,"Knastzeit");
    SetPlayerInterior(playerid,6);
    SetPlayerPos(playerid,263.7221,76.5386,1001.0391+1);
    SetTimer("knast",knastzeit,0);
    format(string,sizeof(string),"Du bist jetzt noch %i Minuten im Knast",knastzeit);
    SendClientMessage(playerid,GRÜN,string);
    }


    Befehl


    ocmd:knast(playerid,params[])
    {
    new pID,grund;
    if(sscanf(params,"ui",pID,grund))return SendClientMessage(playerid,GRAU,"Benutze: /knast[ID] [Zeit]");
    if(!isPlayerAnCop(playerid)) return SendClientMessage(playerid,ROT,"Du bist kein Beamter.");
    if(isPlayerInFrakt(playerid,0)) return SendClientMessage(playerid,ROT,"Du bist kein Beamter.");
    if(IsPlayerConnected(pID))
    {
    if(IsPlayerInRangeOfPoint(playerid,10,1562.4326,-1612.5048,13.3828))
    {
    if(GetPVarInt(pID,"Wantedlevel")==0) return SendClientMessage(playerid,GRAU,"Dieser Spieler hat keine Wanteds.");
    new Float:x; new Float:y; new Float:z;
    GetPlayerPos(pID,x,y,z);
    if(IsPlayerInRangeOfPoint(playerid,5,x,y,z))
    {
    new string[100];
    SetPlayerInterior(pID,6);
    SetPlayerPos(pID,263.7221,76.5386,1001.0391+1);
    format(string,sizeof(string),"Du bist jetzt %i Minuten im Knast",grund);
    SetTimerEx("knast",grund*30000,0,"i",pID);
    SetPVarInt(pID,"Knastzeit",grund*30000);
    SendClientMessage(pID,GRÜN,string);
    }
    else
    {
    SendClientMessage(playerid,GRAU,"Du bist nicht in der nähe des Gesuchten.");
    }
    }
    else
    {
    SendClientMessage(playerid,GRAU,"Du bist nicht am Einknast Punkt!");
    }
    }
    else
    {
    SendClientMessage(playerid,GRAU,"Dieser Spieler ist nicht Online.");
    }
    return 1;
    }


    Timer


    public knast(playerid)
    {
    SetPlayerPos(playerid,267.3192,77.5994,1001.0391);
    imknast[playerid]=0;
    SetPVarInt(playerid,"Wantedlevel",0);
    SetPVarInt(playerid,"Knastzetit",0);
    SpielerSpeichern(playerid);
    SendClientMessage(playerid,GRÜN,"Du bist Entlassen. Benehme dich in Zukunft.!");
    }