Wie kann man mehrere fraktionen einen befhel zuweisen

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
  • man benutze ||


    z.B



    if(strcmp(cmdtext, "/cuff", true)==0)
    {
    if(IsACop(playerid) || IsAMedic(playerid))
    {
    // Do something here
    }
    }


    ob es bei dir nun IsACop gibt oder IsAMedic weiß ich nicht, denke aber, dass du GF hast, wegen den anderen Posts.

  • nein, die || was hier unten sind:


    if(IsACop(playerid) || IsAMedic(playerid))


    stehen für oder, das heißt, wenn playerid ein Cop oder ein medic ist, dann....


    PS: IsAMedic gibt es nicht beim standard gf, aber ich hoffe du weißt was ich damit meine...

  • boah^^


    if(strcmp(cmd, "/cuff", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gTeam[playerid] == 2 || IsACop(playerid)) || IsAYakuza(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) {
    SendClientMessage(playerid, COLOR_WHITE, "USAGE: /cuff [Playerid/PartOfName]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(gTeam[giveplayerid] == 2 || IsACop(giveplayerid))
    {
    SendClientMessage(playerid, COLOR_GREY, " Du kannst keine Cops lähmen !");
    return 1;
    }
    if(PlayerCuffed[giveplayerid] > 0)
    {
    SendClientMessage(playerid, COLOR_GREY, " Ist schon gelähmt!");
    return 1;
    }
    if (ProxDetectorS(8.0, playerid, giveplayerid))
    {
    new car = GetPlayerVehicleID(playerid);
    if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "Du kannst dich nicht selbst Tazern!"); return 1; }
    if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == 2 && IsPlayerInVehicle(giveplayerid, car))
    {
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "* Du wurdest von %s, gefässelt.", sendername);
    SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* Du hast %s, gefässelt.", giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* %s Hand Cuffs %s, so he wont go anywhere.", sendername ,giveplayer);
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    GameTextForPlayer(giveplayerid, "~r~Cuffed", 2500, 3);
    TogglePlayerControllable(giveplayerid, 0);
    PlayerCuffed[giveplayerid] = 2;
    PlayerCuffedTime[giveplayerid] = 180;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " Player not in your Car, or your not the Driver !");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " That player is not near you !");
    return 1;
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " That player is Offline !");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " You are not a Cop / FBI / National Guard !");
    }
    }
    return 1;
    }
    if(strcmp(cmd, "/uncuff", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gTeam[playerid] == 2)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) {
    SendClientMessage(playerid, COLOR_WHITE, "USAGE: /uncuff [Playerid/PartOfName]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if (ProxDetectorS(8.0, playerid, giveplayerid))
    {
    if(giveplayerid == playerid) { SendClientMessage(playerid, COLOR_GREY, "You cannot Uncuff yourself!"); return 1; }
    if(PlayerCuffed[giveplayerid])
    {
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "* You were Uncuffed by %s.", sendername);
    SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* You Uncuffed %s.", giveplayer);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    GameTextForPlayer(giveplayerid, "~g~Uncuffed", 2500, 3);
    TogglePlayerControllable(giveplayerid, 1);
    PlayerCuffed[giveplayerid] = 0;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " That player isn't Tied up !");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " That player is not near you !");
    return 1;
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " That player is Offline !");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, " You are not a Cop / FBI / National Guard !");
    }
    }//not connected
    return 1;
    }


    Ungetestet

  • er meint du sollst den command einer Fraktion zuweisen.. sprich wen er jetz Fraktionsid 1 ist passiert das was du bei der Fraktionsid 1 if(strcmp(cmdtext, "/cuff", true)==0)
    {
    if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 1)
    {
    // Do something here
    }
    }


    oder so:


    if(strcmp(cmdtext, "/cuff", true)==0)
    {
    if(PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 2)
    {
    // Do something here
    }
    }


    so kannste die befehle zuweisen... wen du willst natürlich auch mit pRank

    Mein I-Net ^^

  • ...


    du hast doch in deinem Mod irgendwo sowas in der Art wie das hier stehn...


    public IsACop(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    new leader = PlayerInfo[playerid][pLeader];
    new member = PlayerInfo[playerid][pMember];
    if(member==1)
    {
    return 1;
    }
    else if(leader==1)
    {
    return 1;
    }
    }
    return 0;
    }


    schreib einfach hinter das


    if(member==1
    und das
    else if(leader==1)


    deine gewünschten Zahlen hinter... sollte dann so in etwa aussehen:


    public IsACop(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    new leader = PlayerInfo[playerid][pLeader];
    new member = PlayerInfo[playerid][pMember];
    if(member==1 || member==2 || member==3)
    {
    return 1;
    }
    else if(leader==1 || leader==2 || leader==3)
    {
    return 1;
    }
    }
    return 0;
    }


    das heißt das das Leader 1, Leader 2 und Leader 3, sowie Member 1, Member 2 und Member 3 Cops sind...

    Einmal editiert, zuletzt von Virus ()

  • So...
    bei..if(gTeam[playerid] == 2 || IsACop(playerid)) machst..du einfach weiter so... PlayerInfo[playerid][pLeader] == 3 || PlayerInfo[playerid][pMember] == 3) // Wäre army weil /makeleader [id] 3 wär ja army^^ die Makeleader id dort immer rein :O


    z.B wärs hier so damit es army auch noch kann^^


    if(strcmp(cmd, "/tazer", true) ==0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gTeam[playerid] == 2 || IsACop(playerid) || PlayerInfo[playerid][pLeader] == 3 || PlayerInfo[playerid][pMember] == 3)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    SendClientMessage(playerid, COLOR_GREY, " Im Auto kannst du keinen Tazer benutzen !");
    return 1;
    }
    new suspect = GetClosestPlayer(playerid);
    if(IsPlayerConnected(suspect))


    info: is nur der anfang vom befehl!


    & Ungetestet :>



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

  • Also... Nehmen wir mal ein ganz einfaches Beispiel:
    if(zahl==1 || zahl==2 || zahl==8 || zahl==834) {
    SendClientMessageToAll(farbe,"schinken!"); }
    Wenn die Variable "zahl" den Wert 1 oder 2 oder 8 oder 834 hat, dann bekommen alle die Nachricht "schinken!"

  • gib in die Sufu TEXTDRAW ein?


    was ist drann net zu verstehen