Spieler arresten

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
  • Hey ^^


    Hab ein Prob. , undzwar ist mein /arrest system buggy.


    Man wird nach ein paar Sekunden entlassen , und das Knastzeittextdraw kommt 10x :!



    new Text:Knastzeit[MAX_PLAYERS];
    new knastzeitvar[MAX_PLAYERS];
    new pSinceArrested[MAX_PLAYERS];
    forward knastzeittimer(playerid);


    OnGameModeInit
    for(new i=0; i<MAX_PLAYERS;i++)
    {
    Knastzeit[i] = TextDrawCreate(522.000000, 102.000000, "Knastzeit: ---- Sekunden");
    TextDrawBackgroundColor(Knastzeit[i], 255);
    TextDrawFont(Knastzeit[i], 1);
    TextDrawLetterSize(Knastzeit[i], 0.200000, 1.000000);
    TextDrawColor(Knastzeit[i], -1);
    TextDrawSetOutline(Knastzeit[i], 0);
    TextDrawSetProportional(Knastzeit[i], 1);
    TextDrawSetShadow(Knastzeit[i], 1);
    }


    OnPlayerSpawn
    if(dini_Int(Spieler,"Knast")>=1)
    {
    SetPlayerPos(playerid,215.5796,111.5,999);
    SendClientMessage(playerid,Gelb,"Polizist: Zurück in deine Zelle!");
    knastzeitvar[playerid] = SetTimerEx("knastzeittimer",1000,true,"i",playerid);
    }


    public knastzeittimer(playerid)
    {


    new Spieler[64];
    format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
    //if(pSinceArrested[playerid] >= ) // wenn Zeitseitpayday 60 oder über 6o ist wird das in der Klammer ausgelöst
    if(dini_Int(Spieler,"Knastzeit")<=0)
    {
    SetPlayerPos(playerid,1549.5132,-1675.6614,14.9998);
    SetPlayerFacingAngle(playerid,87.9242);
    SetCameraBehindPlayer(playerid);
    SetPlayerInterior(playerid,0);
    SendClientMessage(playerid,Gelb,"Du wurdest aus dem Gefängniss entlassen!");
    dini_IntSet(Spieler,"Knastzeit",0);
    dini_IntSet(Spieler,"Knastzeitvergangen",0);
    dini_IntSet(Spieler,"Knast",0);
    }
    else
    {
    for(new i=0; i<MAX_PLAYERS;i++)
    {
    new Knastzeitstring[256];
    dini_IntSet(Spieler,"Knastzeit",dini_Int(Spieler,"Knastzeit")-1);
    format(Knastzeitstring,sizeof(Knastzeitstring),"Knastzeit: %d Sekunden",dini_Int(Spieler,"Knastzeit"));//
    TextDrawSetString(Knastzeit[i], Knastzeitstring);
    TextDrawShowForPlayer(playerid,Knastzeit[i]);
    }
    }
    }


    ocmd:arrest(playerid,params[])
    {
    if(isPlayerACop(playerid))
    {
    new pID;
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,Rot,"Fehler: /arrest [ID/Name]");
    {
    //if(!isPlayerACop(pID))
    //{
    if(IsPlayerConnected(pID))
    {
    if(GetPlayerWantedLevel(pID)>=1)
    {
    if(IsPlayerInRangeOfPoint(playerid,12.0,216.6359,113.8774,999.0156)&&IsPlayerInRangeOfPoint(pID,12.0,216.6359,113.8774,999.0156))
    {
    new Spieler[64];
    format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(pID));
    new wanteds=GetPlayerWantedLevel(pID);
    new knastzeit=wanteds*1000;
    new geld;
    geld=wanteds*1000;
    GivePlayerMoney(playerid,-geld);
    dini_IntSet(Spieler,"Knastzeit",knastzeit);
    dini_IntSet(Spieler,"Knast",1);
    SetPlayerPos(pID,215.5796,111.5,999);
    SetPlayerWantedLevel(pID,0);
    knastzeitvar[playerid] = SetTimerEx("knastzeittimer",1000,true,"i",pID);
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    TextDrawShowForPlayer(pID,Knastzeit[i]);
    }
    new string[256];
    new string2[256];
    new string3[256];
    format(string3,sizeof(string3),"Du wurdest von %s verhaftet.",PlayerName(playerid));
    format(string2,sizeof(string2),"Du sitzt für %i Sekunden (%i Minuten) und verlierst %i$.",knastzeit*60,knastzeit,geld);
    format(string,sizeof(string),"%s verhaftet Verbrecher %s.",PlayerName(playerid),PlayerName(pID));
    SendClientMessageToAll(Grau,string);
    SendClientMessage(pID,Grau,string3);
    SendClientMessage(pID,Grau,string2);
    }
    else
    {
    SendClientMessage(playerid,Rot,"Du oder der Spieler ist nicht bei den Zellen!");
    }
    }
    else
    {
    SendClientMessage(playerid,Rot,"Der Spieler hat keine Wanteds!");
    }
    }
    else
    {
    SendClientMessage(playerid,Rot,"Ungültige ID!");
    }
    }
    //else
    //{
    // SendClientMessage(playerid,Rot,"Du kannst einem Polizisten keine Wanteds geben!");
    //}
    }
    }
    return 1;
    }


  • mach eine abfrage ob der spieler noch arrested ist, wenn ja dann zeig die knastzeit an, wenn nicht mache nix

  • mach eine abfrage ob der spieler noch arrested ist, wenn ja dann zeig die knastzeit an, wenn nicht mache nix


  • oh da unten :d übersehen


    frag lieber ab wenn kleiner gleich 1, denn du sagst ja so wie du es atm hast


    wenn arresttime = 0 gibt aus