If abfrage geht net so wie ich es möchte

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
  • Guten Abend ich wollte gerne bei Uninvite das der co leader es auch kann doch es geht nicht..
    if(PlayerInfo[playerid][pLeader] >= 1)//so war sie normal


    und so möchte ich es


    if(PlayerInfo[playerid][pLeader] == 1 ||PlayerInfo[playerid][pRank] == 11


    aber es geht net
    muss ich vill '&&' verwenden anstat '||' ??

  • pRank ist der normale member rank und wen man 11 hat soll man auch uninvite können

  • ne es geht nix mehr
    if(PlayerInfo[playerid][pLeader] == 1 && PlayerInfo[playerid][pRank] == 11)
    jetzt kann keiner mehr uninviten mein leader und ich net ^^

  • Zitat

    if(PlayerInfo[playerid][pLeader] == 1 && PlayerInfo[playerid][pRank] == 11)

    So ein blödsinn, hier fragst du ab ob er Leader und Rang 11 hat.


    mit || sagst du oder
    da du sagen möchtest Leader == 1 oder Rang == 11 must du mit || arbeiten.


    zeig mal den gesamten Code, vielleicht liegt ja garnicht hier der Fehler.
    (Ich denke man das da eigendlich eine Klammer dran ist, oder??... wenn nicht fehlt da eine ;) )


    und wo genau liegt dein problem?

  • das es nicht geht auch wen ich mit || habe kann es nur der leader und rank 11 bekommt immer die selbe naricht blabla du lein leader

    if(strcmp(cmd, "/invite", true) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "BENUTZUNG: /invite [playerid/Name]");
    return 1;
    }
    new leader = PlayerInfo[playerid][pLeader];
    new para1 = ReturnUser(tmp);
    if(PlayerInfo[playerid][pLeader] 1 || PlayerInfo[playerid][pRank] 11)
    {
    if(IsPlayerConnected(para1))
    {
    if(para1 != INVALID_PLAYER_ID)
    {
    if(gTeam[para1]==TEAM_GREEN && PlayerInfo[para1][pMember] == 0 && PlayerInfo[para1][pFMember] == 255)
    {
    if(PlayerInfo[para1][pFrakSperre] == 0)
    {
    GetPlayerName(para1, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    printf("Adminmeldung: %s hat %s in die Fraktion %s eingeladen.", sendername, giveplayer,Fracs[leader-1]);
    format(string, sizeof(string), "Du wurdest in die Fraktion %s von Leader %s eingeladen.",Fracs[leader-1], sendername);
    SendClientMessage(para1, COLOR_LIGHTBLUE, string);
    ShowPlayerDialog(para1,DIALOG_INVITE,DIALOG_STYLE_MSGBOX,"Du wurdes Eingeladen","Ein leader möchte dich gerne Einladen\nMöchtes du Invitet werden?","Ja","Nein");
    format(string, sizeof(string), "Du hast %s in die Fraktion %s eingeladen.", giveplayer,Fracs[leader-1]);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    SendClientMessage(playerid, COLOR_GRAD2, " Der Spieler muss nun deine Einladung annehmen oder ablehnen.");
    new iyear, imonth,iday;
    getdate(iyear, imonth, iday);
    format(string, sizeof(string), "%s[Level:%d] wurde von %s in die Fraktion %s eingeladen (%d-%d-%d)", giveplayer,PlayerInfo[para1][pLevel],sendername,Fracs[leader-1],imonth,iday,iyear);
    Eingeladen[para1] = leader;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Dieser Spieler hat eine Fraktions-Sperre");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Dieser Spieler ist in einer anderen Fraktion oder bereits ein Fraktionsmitglied.");
    return 1;
    }
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Nur der Leader kann diesen Befehl nutzen!");
    }
    return 1;
    }

  • if(strcmp(cmd, "/invite", true) == 0)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "BENUTZUNG: /invite [playerid/Name]");
    return 1;
    }
    new leader = PlayerInfo[playerid][pLeader];
    new para1 = ReturnUser(tmp);
    if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pRank] == 11)
    {
    if(IsPlayerConnected(para1))
    {
    if(para1 != INVALID_PLAYER_ID)
    {
    if(gTeam[para1]==TEAM_GREEN && PlayerInfo[para1][pMember] == 0 && PlayerInfo[para1][pFMember] == 255)
    {
    if(PlayerInfo[para1][pFrakSperre] == 0)
    {
    GetPlayerName(para1, giveplayer, sizeof(giveplayer));
    GetPlayerName(playerid, sendername, sizeof(sendername));
    printf("Adminmeldung: %s hat %s in die Fraktion %s eingeladen.", sendername, giveplayer,Fracs[leader-1]);
    format(string, sizeof(string), "Du wurdest in die Fraktion %s von Leader %s eingeladen.",Fracs[leader-1], sendername);
    SendClientMessage(para1, COLOR_LIGHTBLUE, string);
    ShowPlayerDialog(para1,DIALOG_INVITE,DIALOG_STYLE_MSGBOX,"Du wurdes Eingeladen","Ein leader möchte dich gerne Einladen\nMöchtes du Invitet werden?","Ja","Nein");
    format(string, sizeof(string), "Du hast %s in die Fraktion %s eingeladen.", giveplayer,Fracs[leader-1]);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    SendClientMessage(playerid, COLOR_GRAD2, " Der Spieler muss nun deine Einladung annehmen oder ablehnen.");
    new iyear, imonth,iday;
    getdate(iyear, imonth, iday);
    format(string, sizeof(string), "%s[Level:%d] wurde von %s in die Fraktion %s eingeladen (%d-%d-%d)", giveplayer,PlayerInfo[para1][pLevel],sendername,Fracs[leader-1],imonth,iday,iyear);
    Eingeladen[para1] = leader;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Dieser Spieler hat eine Fraktions-Sperre");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Dieser Spieler ist in einer anderen Fraktion oder bereits ein Fraktionsmitglied.");
    return 1;
    }
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Nur der Leader kann diesen Befehl nutzen!");
    return 1;
    }
    return 1;
    }

  • if(PlayerInfo[playerid][pLeader] == 1 && PlayerInfo[playerid][pRank] == 11)


    Mach daraus:


    if(PlayerInfo[playerid][pLeader == 1] || PlayerInfo[playerid][pRank] < 11)



    Sollte so funktionieren, da du nur den Rank 11 abgefragt hast.
    Hier wird es hochgezählt, dass es ab Rank 11 kann man es ausführen ..


    //Edit Klammer vergessen
    //Edit²: DialogHD, was hast du bitte daran jetzt geändert? Jetzt kann es wieder nur der jenige mit Rank 11 ausführen ...

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • bezweifel ich, ich habe aus


    if(PlayerInfo[playerid][pLeader] 1 || PlayerInfo[playerid][pRank] 11)


    if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pRank] == 11)


    aso ja die hatte ich vergessen wieder hinzuzufügen warn test ^^
    ich versuch es gleich normal mit mein usern aber ich vermute das es unten am retrun lag

  • if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pRank] == 11)

    Super da fragt er jetzt aber wieder nur den Rank 11 ab.
    Er muss aus dem pRank == 11 ein pRank < 11 machen.
    Lassen wir ihn ausprobieren ...


    DialogHD:
    Guten Abend ich wollte gerne bei Uninvite das der co leader es auch kann doch es geht nicht..


    Er will das es der Rank 11 ausführen kann, dass heißt wahrscheinlich ist Rank 11 bei ihn der Co Leader.
    Hätte ja keinen Sinn, wenn es der Leader mit rank 12 nicht ausführen dürfte 8|

  • Der Leader wird aber durch die erste Abfrage schon abgefangen. Da man hier aber von einem impliziten oder ausgeht, ist die Abfrage erfüllt sobald das erste zutrifft, das zweite zutrifft oder beides zutrifft.
    Also kann der Leader den Befehl immer ausführen, egal was nach dem oder kommt.

  • ich will das er Leader abfragt oder ob er bei rank 11 hat warum < das wen man es mit == abfragen kann ? weil das egal ob ob man da abragt ob er drüber ist oder gleich ist
    nur er fragt nur leader ab wen ich kein leader bin und nur rank 11 habe lässt er mich net


    und nochmal zuanleitung


    ich will das man auch unvite kann wen man kein leader ist sondern nur pRank 11 hat

  • Zitat

    ich will das er Leader abfragt oder ob er bei rank 11 hat warum < das
    wen man es mit == abfragen kann ? weil das egal ob ob man da abragt ob
    er drüber ist oder gleich ist


    nur er fragt nur leader ab wen ich kein leader bin und nur rank 11 habe lässt er mich net

    So sollte es gehen:


    if(PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pRank] >= 11 && PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pRank] >= 11)

  • habs selbst hinbekommen danke euch :)
    supper antworten waren auch dabei ;)


    //clsoe