Gang Jail

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
  • Hallo Leute ich wollte fragen wie erstelle ich einen Gang Jail was ist das? Ein Gangjail ist ganz einfach ein Gang Knast wo die Gangs/Mafias andere Leute einspeeren können könnt ihr mir vll weiter helfen ich habe lange im google und forum gesucht aber habe nix gefunden am tollsten wäre natürlich wen ihr schon einen fertig für mich habt =) Oder hat es eine seite mit beschreibung dan schick bitte link und bitte um hilfe :) thx im vorraus

  • Hier bitte ;)


    Wenn du noch eine Map datei mit einem Gangjail brauchst sag bescheid ;)


    ///Defines///


    #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1


    //////////////


    //=============================
    //=============================
    unter die Spielerdatein musst du noch eintragen:


    pGangjail


    //=============================
    //=============================



    /////NEWS/////
    new timer1;
    /////////////


    ////FORWARDs////
    forward GANGJAIL(playerid);
    forward ProxDetectorS(Float:radi, playerid, targetid);
    ///////////////


    ganz unten ,unters script machst du die dcmds


    dcmd_gangjail(playerid,params[])
    {
    new pID;
    if (sscanf(params, "u", pID))
    {
    return SendClientMessage(playerid,COLOR_WHITE,"Benutzung: /gangjail [playerid].");
    }
    if(SpielerInfo[playerid][Fraktion] == 2) // Deine Abfrage für die Fraktion
    {
    if(IsPlayerInRangeOfPoint(playerid,1.5,-372.5778,-1428.0342,25.7266)) // position vom Gangjail
    {
    if(ProxDetectorS(8.0, playerid, pID)) // entfernung zwiscehn beiden Spielern
    {
    SetPlayerPos(pID,-368.0691,-1425.5498,25.7266);
    SpielerInfo[pID][pGangjail] = 1;
    SpielerSpeichern(pID);
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_WHITE,"Der Spieler ist nicht in deiner Nähe oder du bist nicht an den Zellen.");
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_WHITE,"Du bist nicht in einer Gang!");
    }
    return 1;
    }
    dcmd_ungangjail(playerid,params[])
    {
    new pID;
    if (sscanf(params, "u", pID))
    {
    return SendClientMessage(playerid,COLOR_WHITE,"Benutzung: /ungangjail [playerid].");
    }
    if(IsPlayerInRangeOfPoint(playerid,1.5,-372.5778,-1428.0342,25.7266))
    {
    timer1 = SetTimerEx("GANGJAIL",20000,0,"playerid",playerid); //Zeit für die Befreiung der Spieler
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_WHITE,"Der Spieler ist nicht in deiner Nähe oder du bist nicht an den Zellen.");
    }
    return 1;
    }



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    dcmd(gangjail,8,cmdtext);
    dcmd(ungangjail,10,cmdtext);
    return 0;
    }


    public GANGJAIL(playerid)
    {
    for(new i = 1; i < MAX_PLAYERS; i++)
    if(IsPlayerInRangeOfPoint(playerid,1.5,-372.5778,-1428.0342,25.7266))
    {
    if(SpielerInfo[i][pGangjail] == 1)
    {
    SetPlayerPos(i,-372.5778,-1428.0342,25.7266);
    SpielerInfo[i][pGangjail] = 0;
    KillTimer(timer1);
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_WHITE,"Du bist nicht am Gangjail stehen geblieben.");
    return 1;
    }
    return 1;
    }
    public ProxDetectorS(Float:radi, playerid, targetid)
    {
    if(IsPlayerConnected(playerid)&&IsPlayerConnected(targetid))
    {
    new Float:posx, Float:posy, Float:posz;
    new Float:oldposx, Float:oldposy, Float:oldposz;
    new Float:tempposx, Float:tempposy, Float:tempposz;
    GetPlayerPos(playerid, oldposx, oldposy, oldposz);
    GetPlayerPos(targetid, posx, posy, posz);
    tempposx = (oldposx -posx);
    tempposy = (oldposy -posy);
    tempposz = (oldposz -posz);
    if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
    {
    return true;
    }
    }
    return false;
    }


    lg Kempl

    Einmal editiert, zuletzt von Pluto ()

  • Danke :D
    Für mich auch sehr sinvoll du solltest gleich ein TUT machen daraus^^