/roadblock problem wo ich nich checke

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
  • hi leutz


    ich hab ein problem.
    Ich möchte als Cop/FBI nicht nur einen Roadblock aufstellen können wie kann ich das ändern bei diesen script


    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 = 10;
    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;

    Is ja peinlich!

  • Du kannst schlecht LSPD und FBI gleichzeitig sein OMG.


    pLeader] != 1 && PlayerInfo[playerid][pMember] != 2 && PlayerInfo[playerid][pLeader] !=2


    || für &&


    Das kommt davon, wenn man nur Copy & Paste macht. Arm.

  • Jop wie Cardoso schon saqt...
    auserdem fehlt in deinen Pawn Code oben noch eine klammer =P


    Kurze Erklärung:
    || = heißt oder
    && = heißt und


    z.B

    Code
    If(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[pLeader] == 2)


    Bedeutung..

    Code
    Ist(SpielerInfo[playerid][pLeader] == 1 oder PlayerInfo[playerid][pLeader] == 2) // 1= Cop  2 = FBI


    Richtiger Code:
    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 = 10;
    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[pMember] == 1 || PlayerInfo[pLeader] == 1)
    {
    SetPlayerCheckpoint(playerid, X, Y, Z-10, 1.0);
    SendClientMessage(i, TEAM_BLUE_COLOR, string);
    if (PlayerInfo[pRank] >= 5 && PlayerInfo[pMember] || PlayerInfo[pLeader] == 1)
    {
    SendClientMessage(i, COLOR_YELLOW, "Du kannst alle Sperren mit /rrball entfernen");
    }
    }
    }
    }
    return 1; }



    Lua: 63% C++: 23% C#: 53% VB: 96%

  • Hmm hab´s nicht getestet weiß nicht ob´s geht aber teste es mal :D
    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 mußt 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 mußt Rang 2 haben oder Polizeichef sein um alle Straßensperren entfernen zu können!");
    }
    return 1;
    }