Knast

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
  • So du musst natürlich die texte mit deinen farben um ändern hier der code ist ganz ungetestet
    und auf die schnelle geschrieben da ich weg muss



    forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
    forward eingesperrt(playerid);
    new jailtimer[MAX_PLAYERS];


    new tmp[64],tmp2[64];
    new zeit[64];
    new Minute[MAX_PLAYERS];
    new idx;
    new SpielerId;
    new Text1[64],Text2[64];
    cmd = strtok(cmdtext,idx);
    if (strcmp(cmd, "/jail", true) ==0 )
    {
    if(PlayerToPoint(5.0,playerid,x,y,z);//musst du mit deine koordinaten austauschen
    {
    if(SpielerInfo[playerid][Admin] >= 2)
    {
    tmp=strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,Grau,"Verwendung : /jail [playerid] [Zeit]");
    return 1;
    }
    SpielerId=strval(tmp);
    if(!IsPlayerConnected(SpielerId))
    {
    SendClientMessage(playerid,Gelb,"Dieser Spieler ist wohl Offline");
    return 1;
    }
    tmp2 = strtok(cmdtext ,idx);
    if(!strlen(tmp2))
    {
    SendClientMessage(playerid,Grau,"Verwendung : /jail [playerid] [zeit]");
    return 1;
    }
    GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
    GetPlayerName(playerid,SpielerName2,sizeof(SpielerName2));
    format(SpielerDatei,sizeof (SpielerDatei),"/Accounts/%s.ini",SpielerName2);
    Minute[SpielerId] = tmp2*60000;
    format(Text,sizeof(Text),"Du wurdest von %s für %d minuten eingesperrt",SpielerName,Minute[SpielerId]);
    format(Text2,sizeof(Text2),"Du hast %s für %d minuten eingesperrt",SpielerName2,Minute[SpielerId]);
    SetPlayerPos(playerid,X,Y,Z);//musst du mit deinen koordinaten für die zellen austauschen
    JailTimer[playerid] = SetTimer("eingesperrt",Minute[playerid],1);
    }
    else
    {
    SendClientMessage(playerid,Rot,"Du bist nicht autoriesiert um diesen Command zu benutzen");
    return 1;
    }
    }
    SendClientMessage(playerid,Rot,"Du bist nicht bei den Zellen");
    }
    return 1;
    }


    public eingesperrt(playerid)
    {
    SendClientMessage(playerid,Grün,"Du bist nun frei");
    SetPlayerPos(playerid,X,Y,Z);//die Koordinaten wo der spieler spawnt wenn er raus ist
    KillTimer(JailTimer[playerid]);
    return 1;
    }

    public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
    {
    if(IsPlayerConnected(playerid))
    {
    new Float:oldposx, Float:oldposy, Float:oldposz;
    new Float:tempposx, Float:tempposy, Float:tempposz;
    GetPlayerPos(playerid, oldposx, oldposy, oldposz);
    tempposx = (oldposx -x);
    tempposy = (oldposy -y);
    tempposz = (oldposz -z);
    //printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
    if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
    {
    return 1;
    }
    }
    return 0;
    }

    RFT

  • public OnPlayerCommandText(playerid, cmdtext[]) {
    dcmd(jail,4,cmdtext);
    return false;
    }


    new
    pJailTimer[MAX_PLAYERS],
    pName[MAX_PLAYER_NAME],
    psName[MAX_PLAYER_NAME],
    str[128];


    dcmd_jail(playerid, params[]) {
    new
    target,
    time;
    if(sscanf(params,"ud",target,time)) {
    return SendClientMessage(playerid, 0xFF0000FF, "Benutzung: /jail [PlayerID/Name] [Zeit]");
    }
    if(Cop[playerid] == 0) { // Variable musst du selbst anpassen!
    return SendClientMessage(playerid, 0xFF0000FF, "Du bist kein Cop!");
    }
    if(!IsPlayerConnected(target)) {
    return SendClientMessage(playerid, 0xFF0000FF, "Der angegebene User ist nicht online!");
    }
    GetPlayerName(playerid, pName, sizeof(pName));
    GetPlayerName(target, psName, sizeof(psName));
    format(str, sizeof(str), "Du wurdest von Polizist %s für %d Minuten eingesperrt.", pName, time*60000);
    SendClientMessage(target, 0xFF0000FF, str);
    format(str, sizeof(str), "Du hast den Verbrecher %s für %d Minuten eingesperrt.", psName, time*60000);
    SendClientMessage(playerid, 0xFF0000FF, str);
    pJailTimer[target] = SetTimerEx("UnJail", time*60000, false, "i", target);
    SetPlayerPos(target, x, y, z); // Selbst anpassen
    SetPlayerInterior(target, interiorid); // Auch selbst anpassen
    return 1;
    }


    forward UnJail(guy);
    public UnJail(guy)
    {
    KillTimer(pJailTimer[guy]);
    SetPlayerPos(guy, x, y, z); // Wieder selbst anpassen
    SetPlayerInterior(guy, 0); // Er kommt ja frei, Interior 0 also
    SendClientMessage(guy, 0xFF00FFFF, "Du bist frei D:");
    return 1;
    }