Als Polizist Absperrungen erstellen + Verstärkung

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 liebe Breadfish Community,


    könnt ihr mir vieleicht sowas erstellen, das man als Polizist (+ Leader) Absperrungen mit /as aufstellen kann und mit /noas löschen kann? Vieleicht dann der Leader bzw. Rang 5+ alle Absperrungen löschen kann? Wäre toll bei Unfällen oder sowas. Die Objectid dafür wäre 978.


    Und dann möchte ich noch sowas, das die Polizei mit /vs Verstärkung rufen können, das im Cop Channel steht: "PlayerXY braucht Verstärkung, er ist Rot auf der Karte markiert!" und das der Rot auf der Karte markiert ist das man weiß wo der ist bei Verfolgungsjagden (Wir haben zwar TS aber wenn man vlt. in LV Wüste ist geht das etwas schlecht zu Navigieren). Und diesen Befehl halt wieder mit /novs ausschalten.


    Wäre total Lieb und Nett wenn ihr mir dabei helfen würdet. Vielen Dank!

    Trancebase, Dreamweaver und ab geht die Uzi.

  • new Sperre;


    if (strcmp(cmdtext, "/as", true) == 0)
    {
    new Float:plocx,Float:plocy,Float:plocz;
    GetPlayerPos(playerid, plocx, plocy, plocz);
    Sperre = CreateObject(978,plocx,plocy,plocz);
    SendClientMessage(playerid,COLOR_RED,"Speerre wurde errichtet");
    //SetPlayerPos(playerid,plocx,plocy,plocz+10); //musste gucken wenn in der Sperre hängst das nehmen :D
    return 1;
    }
    if (strcmp(cmdtext, "/nas", true) == 0)
    {
    DestroyObject(Sperre);
    SendClientMessage(playerid,COLOR_RED,"Spere wurde gelöscht!");
    return 1;
    }

  • Ein kleiner Fehler, wenn jetzt zwei Polizisten eine Sperre errichten, kann nurnoch die letze errichtete zerstört werden.
    Du musst das so machen:
    new Sperre[MAX_PLAYERS];


    if (strcmp(cmdtext, "/as", true) == 0)
    {
    new Float:plocx,Float:plocy,Float:plocz;
    GetPlayerPos(playerid, plocx, plocy, plocz);
    Sperre[playerid] = CreateObject(978,plocx,plocy,plocz);
    SendClientMessage(playerid,COLOR_RED,"Sperre wurde errichtet");
    //SetPlayerPos(playerid,plocx,plocy,plocz+10); //musste gucken wenn in der Sperre hängst das nehmen :D
    return 1;
    }

    if (strcmp(cmdtext, "/nas", true) == 0)
    {
    DestroyObject(Sperre[playerid]);
    SendClientMessage(playerid,COLOR_RED,"Sperre wurde gelöscht!");
    return 1;
    }

  • Kann wer mir vieleicht beim einbauen helfen?

    • Ich bekomme 6 neue Warnungen
    • Ingame kann ich die Sperre zwar erstellen, aber nicht löschen
    • Die Sperre wird total schief gespawnt

    Trancebase, Dreamweaver und ab geht die Uzi.

  • is easy. Machs mit MidoStream ganz einfach ich erklärs dir mal.
    also machst bei Forward:
    forward GateCloseSperre1();


    dan bei new:
    new Sperre1;


    dann unter Addstaticvehicle:
    Sperre1 = CreateStreamObject(971,1539.670,-1628.000,12.32,0.0,0.0,-90.00,200.0);//Coordinaten rein, wo es unter der Erde ist 
    Dann i-wo anders:
    if (strcmp(cmdtext, "/sperre1", true)==0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gTeam[playerid] == 2 || IsACop(playerid))
    {
    if(IsPlayerConnected(playerid))
    MoveStreamObject(Sperre1,1539.670,-1628.000,12.325, 3.5);//Fechado, Coordianten(MTA screen) wenns zu ist
    MoveStreamObject(Sperre1,1539.670,-1637.460,12.325, 3.5);//Aberto, coords wenns offen ist also geschlossen die Straße
    SetTimer("GateCloseLSPD1", 9000, 0);//9000 = 9 Sekunden
    SendClientMessage(playerid, COLOR_YELLOW,"Die Sperre am LSPD wurde errichtet sie wird in 9 Sekunden automatisch geschlossen");
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " You are not a Cop / FBI / National Guard !");
    }
    }
    return 1;
    }


    und ganz unten im GM:
    public GateCloseLSPD1()
    {
    if(TOGGLE_DEBUG_MODE)
    {
    print(" //DEBUG: CALL GateCloseSperre1()");
    }


    MoveStreamObject(Sperre1,1539.567,-1637.460,12.325, 3.5);//Alberto
    MoveStreamObject(Sperre1,1539.670,-1628.000,12.325, 3.5);//Fechado
    return 1;
    }


    Hoffe du kapierst es ^^


    //edit: sry hab dein Anliegen falsch verstanden, dies kann Als tor oder derartiges genommen werden sry-.- X(

  • if(strcmp(cmdtext, "/roadblock", true)==0 || strcmp(cmdtext, "/rb", true)==0)
    {
    if (PlayerInfo[playerid][pMember] != 1 && PlayerInfo[playerid][pLeader] != 1) return SendClientMessage(playerid, COLOR_GREY, "You are not a cop!");
    if (PlayerInfo[playerid][pRoadblock] != 0) return SendClientMessage(playerid, COLOR_GREY, "You can only deploy 1 roadblock at a time, type /rrb to remove your existing one.");
    if (roadblocktimer != 0) return SendClientMessage(playerid, COLOR_GREY, "Please wait before trying to spawn another roadblock!");
    new Float:X, Float:Y, Float:Z, Float:A;
    GetPlayerPos(playerid, X, Y, Z);
    GetPlayerFacingAngle(playerid, A);
    PlayerInfo[playerid][pRoadblock] = CreateObject(981, X, Y, Z, 0.0, 0.0, A+180);
    SetPlayerPos(playerid, X, Y, Z+4);
    GameTextForPlayer(playerid, "~w~Roadblock ~r~Placed", 5000, 5);
    SendClientMessage(playerid, COLOR_GREEN, "Roadblock deployed successfully, type /rrb or /roadunblock to remove it.");
    roadblocktimer = 1;
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "HQ: A roadblock has been deployed by %s, it has been marked on the map by a checkpoint.", sendername);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerInfo[i][pMember] == 1 || PlayerInfo[i][pLeader] == 1)
    {
    SetPlayerCheckpoint(playerid, X, Y, Z-10, 1.0);
    SendClientMessage(i, TEAM_BLUE_COLOR, string);
    if (PlayerInfo[i][pRank] >= 2 && PlayerInfo[i][pMember] || PlayerInfo[i][pLeader] == 1)
    {
    SendClientMessage(i, COLOR_YELLOW, "You can remove all roadblocks by typing /rrball");
    }
    }
    }
    }
    SetTimer("ResetRoadblockTimer", 60000, false);
    return 1;
    }


    if(strcmp(cmdtext, "/roadunblock", true)==0 || strcmp(cmdtext, "/rrb", true)==0)
    {
    if (PlayerInfo[playerid][pMember] != 1 && PlayerInfo[playerid][pLeader] != 1)
    {
    SendClientMessage(playerid, COLOR_GREY, "You are not a cop!");
    return 1;
    }
    if (PlayerInfo[playerid][pRank] < 2)
    {
    SendClientMessage(playerid, COLOR_GREY, "You have to be rank 5 to use this command!");
    return 1;
    }
    if (PlayerInfo[playerid][pRoadblock] == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, "You haven't deployed a roadblock!");
    return 1;
    }
    RemoveRoadblock(playerid);
    SendClientMessage(playerid, COLOR_GREEN, "Roadblock removed successfully.");
    return 1;
    }


    if(strcmp(cmdtext, "/roadunblockall", true)==0 || strcmp(cmdtext, "/rrball", true)==0)
    {
    if (PlayerInfo[playerid][pRank] >= 2 && PlayerInfo[playerid][pMember] || PlayerInfo[playerid][pLeader] == 1)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(PlayerInfo[i][pRoadblock] != 0)
    {
    RemoveRoadblock(i);
    }
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "HQ: All roadblocks in the area are to be disbanded immediately by order of %s.", sendername);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerInfo[i][pMember] == 1 || PlayerInfo[i][pLeader] == 1)
    {
    SendClientMessage(i, TEAM_BLUE_COLOR, string);
    }
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "You have to be rank 5+ or a police leader to remove all roadblocks!");
    }
    return 1;
    }



    .... 1ma kann man es erstellen dan gehts net mehr weg help :D