Cop straßenspeere

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,
    ich suche einen der mir eine Cop Straßenspeere machen kann.
    Es sollte eine Straßenspeere sein die 1 Meter vor dem Cop spaßt mit /rb und mit /rrb geht die weg.
    Mit /rrball sollen dan alle straßen speeren weg gehen.
    Es sollen 3 Frationen es können und zwa: Cop (1), FBI (2) und Army (3).
    Es sollte Godfather kompactibel sein.
    Habe auch schon andere Foren hier durchsucht und auch was gefunden aber es hatte immer ein absturtz gebracht.


    Ich bedanke mich schonma im vorraus.


    Gruß Stronge

  • Benutz die SUfu, man ey-.- Ja nicht zu viel bewegen.


    Bin auch weg von diesem Forum, zu viele Kinder ey.

    ....C, C++, MYSQL & Pawn....
    "Just Living For The Right Codes !"


    sad
    a
    das
    d
    as
    das
    da


    da
    asdasd

  • So jungs bitte schön

    sucht in Eure gamemode (SRTG+F) enum pInfo
    dann das da einfügen pRoadblock



    if(strcmp(cmdtext, "/roadblock", true)==0 || strcmp(cmdtext, "/rb", true)==0)
    {
    if (PlayerInfo[playerid][pMember] != 1 && PlayerInfo[playerid][pLeader] != 1 && PlayerInfo[playerid][pMember] != 2 && PlayerInfo[playerid][pLeader] !=2) return SendClientMessage(playerid, COLOR_GREY, "Du bist kein Cop!");
    if (PlayerInfo[playerid][pRoadblock] != 0) return SendClientMessage(playerid, COLOR_GREY, "Du kannst nur eine Straßensperre errichten, gib /rrb ein um eine vorhandene Sperre zu entfernen.");
    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~Strassensperre ~r~platziert", 5000, 5);
    SendClientMessage(playerid, COLOR_GREEN, "Starßensperre erfolgreich platziert, gib /rrb oder /roadunblock ein um sie zu entfernen.");
    //roadblocktimer = 1;
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "HQ: Officer %s hat eine Stra?ensperre platziert, auf der Karte ist sie als Checkpoint zu sehen.", 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] >= 5 && PlayerInfo[i][pMember] || PlayerInfo[i][pLeader] == 1)
    {
    SendClientMessage(i, COLOR_YELLOW, "Du kannst alle Sperren mit /rrball entfernen");
    }
    }
    }
    }
    return 1;
    }


    if(strcmp(cmdtext, "/roadunblock", true)==0 || strcmp(cmdtext, "/rrb", true)==0)
    {
    if (PlayerInfo[playerid][pMember] != 1 && PlayerInfo[playerid][pLeader] != 1 && PlayerInfo[playerid][pMember] != 2 && PlayerInfo[playerid][pLeader] !=2)// return SendClientMessage(playerid, COLOR_GREY, "Du bist kein Cop!");
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist kein Cop!");
    //return 1;
    }
    else if (PlayerInfo[playerid][pRank] < 2)
    {
    SendClientMessage(playerid, COLOR_GREY, "Du must mindestens Rang 2 haben um diesen Befehl nutzen zu können!");
    //return 1;
    }
    else if (PlayerInfo[playerid][pRoadblock] == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, "Du hast keine Straßensperre platziert!");
    //return 1;
    }
    else
    {
    RemoveRoadblock(playerid);
    SendClientMessage(playerid, COLOR_GREEN, "Straßensperre erfolgreich entfernt.");
    }
    return 1;
    }


    if(strcmp(cmdtext, "/roadunblockall", true)==0 || strcmp(cmdtext, "/rrball", true)==0)
    {
    if (PlayerInfo[playerid][pRank] >= 2 && PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pAdmin] > 1 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 2)
    {
    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: Durch die Anordnung von Officer %s wurden alle Starßensperren entfernt.", sendername);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerInfo[i][pMember] == 1 || PlayerInfo[i][pLeader] == 1 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 2)
    {
    SendClientMessage(i, TEAM_BLUE_COLOR, string);
    }
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du must Rang 2 haben oder Polizeichef sein um alle Straßensperren entfernen zu können!");
    }
    return 1;
    }



    Ich glaube das euch geholfen :)


    MfG

  • Warum so aufwändig?

    new Sperrebit[MAX_PLAYERS];
    new Sperre[MAX_PLAYERS][5]; 
    if (strcmp( cmdtext,"/sperre", true )==0)
    {
    if(!IsACop(playerid))
    {
    SendClientMessage(playerid, COLOR_GREY,"Du bist kein Cop!");
    return 1;
    }
    if(Sperrebit[playerid]==0)
    {
    if(!IsPlayerInAnyVehicle(playerid))
    {
    new Float:x,Float:y,Float:z,Float:a;
    GetPlayerPos(playerid,x,y,z);
    GetPlayerFacingAngle(playerid,a);
    GetXYInFrontOfPlayer(playerid,x,y,2.0);
    Sperre[playerid][0] = CreateObject(1228,x,y,z-0.5,0,0,a+90);
    Sperre[playerid][1] = CreateObject(1228,x+2.0 * floatsin(-a+90, degrees),y+2.0 * floatcos(-a+90, degrees),z-0.5,0,0,a+90);
    Sperre[playerid][2] = CreateObject(1228,x+4.0 * floatsin(-a+90, degrees),y+4.0 * floatcos(-a+90, degrees),z-0.5,0,0,a+90);
    Sperre[playerid][3] = CreateObject(1228,x-2.0 * floatsin(-a+90, degrees),y-2.0 * floatcos(-a+90, degrees),z-0.5,0,0,a+90);
    Sperre[playerid][4] = CreateObject(1228,x-4.0 * floatsin(-a+90, degrees),y-4.0 * floatcos(-a+90, degrees),z-0.5,0,0,a+90);
    Sperrebit[playerid]=1;
    SendClientMessage(playerid, COLOR_YELLOW,"Straßensperre erstellt!");
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED,"Du kannst keine Straßensperre erstellen wenn du in einem Auto bist!");
    }
    }
    else
    {
    DestroyObject(Sperre[playerid][0]);
    DestroyObject(Sperre[playerid][1]);
    DestroyObject(Sperre[playerid][2]);
    DestroyObject(Sperre[playerid][3]);
    DestroyObject(Sperre[playerid][4]);
    Sperrebit[playerid]=0;
    SendClientMessage(playerid, COLOR_YELLOW,"Straßensperre abgebaut!");
    }
    return 1;


    stock GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance)
    {
    new Float:a;
    GetPlayerPos(playerid, x, y, a);
    GetPlayerFacingAngle(playerid, a);
    if(GetPlayerVehicleID(playerid))
    {
    GetVehicleZAngle(GetPlayerVehicleID(playerid), a);
    }
    x += (distance * floatsin(-a, degrees));
    y += (distance * floatcos(-a, degrees));
    }