GOV - Government-- FRAGE [HILFE]

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 Tag.


    Kann mir jmd. helfen?


    Wie mache ich das jeder Leader der Fraktion (24 Fraktionen) ein GOV machen kann,? also könntet ihr des ändern ^^, habs versucht aber naja :D


    Beispiel:


    ________________________:: Durchsage - [FRAKTIONSNAME]::________________________


    [RANKNAME] Max Mustermann: Wir suche noch Mitglieder für unsere Fraktion!
    _____________________________________________________________


    if(strcmp(cmd, "/government", true) == 0 || strcmp(cmd, "/gov", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gTeam[playerid] != 2 && !IsACop(playerid) && !IsPlayerInFrac(playerid, 7) && !IsPlayerInFrac(playerid, 24))
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist kein Staatsbeamter!");
    return 1;
    }
    if(PlayerInfo[playerid][pRank] < 5)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du benötigst mindestens Rang 5!");
    return 1;
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /gov(ernment) [Nachricht]");
    return 1;
    }
    SendClientMessageToAll(COLOR_WHITE, "|================= {FF0000}Staatsnachricht {FFFFFF}=================|");
    if(PlayerInfo[playerid][pLeader] == 7)
    {
    format(string, sizeof(string), "Regierung %s: %s", sendername, result);
    }
    else if(PlayerInfo[playerid][pMember] == 7 && PlayerInfo[playerid][pRank] == 11)
    {
    format(string, sizeof(string), "Kanzler %s: %s", sendername, result);
    }
    else if(PlayerInfo[playerid][pMember] == 7 && PlayerInfo[playerid][pRank] == 10)
    {
    format(string, sizeof(string), "Staatsminister %s: %s", sendername, result);
    }
    else if(PlayerInfo[playerid][pMember] == 7 && PlayerInfo[playerid][pRank] == 9)
    {
    format(string, sizeof(string), "Finanzminister %s: %s", sendername, result);
    }
    else if(PlayerInfo[playerid][pMember] == 7 && PlayerInfo[playerid][pRank] == 8)
    {
    format(string, sizeof(string), "Innenminister %s: %s", sendername, result);
    }
    else if(PlayerInfo[playerid][pMember] == 7 && PlayerInfo[playerid][pRank] == 7)
    {
    format(string, sizeof(string), "Vorsitzender %s: %s", sendername, result);
    }
    else if(PlayerInfo[playerid][pMember] == 7 && PlayerInfo[playerid][pRank] == 6)
    {
    format(string, sizeof(string), "Leitender Geheimdienst %s: %s", sendername, result);
    }
    else if(PlayerInfo[playerid][pLeader] == 1)
    {
    format(string, sizeof(string), "Polizeipräsident %s: %s", sendername, result);
    }
    else if(PlayerInfo[playerid][pLeader] == 2)
    {
    format(string, sizeof(string), "FBI Präsident %s: %s", sendername, result);
    }
    else if(PlayerInfo[playerid][pLeader] == 3)
    {
    format(string, sizeof(string), "General %s: %s", sendername, result);
    }
    else format(string, sizeof(string), "Staatsbeamter %s: %s", sendername, result);
    SendClientMessageToAll(COLOR_DBLUE, string);
    }
    return 1;
    }
    /

  • if(IsPlayerInFrac(playerid, >= 0)))
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist kein Staatsbeamter!");
    return 1;
    }
    Sollte funktionieren, ungetestet. :D


    MFG


    Engelsflügel am Astonkühler, als Schutz vor dem Teufel!

  • So ist es Richtig!


    Nein ist es nicht ^^


    Die Funktion ist für so eine Abfrage nicht geeignet, man müsste dafür sowas machen:



    if(IsInAFrak(playerid) == 1)
    {
    //Er ist in einer Frak
    }
    else
    {
    //Er ist in keiner Frak
    }


    //Der stock
    stock IsInAFrak(playerid)
    {
    if(PlayerInfo[playerid][pMember] > 0 || PlayerInfo[playerid][pLeader] > 0) return 1;
    return 0;
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Also ist mir nicht klar warum ein neuer Stock?


    Ganz einfach, weil du ihn benötigst...hier nochmal eine Erklärung wieso:


    Zitat

    if(IsPlayerInFrac(playerid, >= 0)))


    So kannst du eine Funktion nicht verwenden, da du einen Wert als Parameter übergeben musst und ihn nicht während der Übergabe abfragen kannst :wacko:


    Aus diesem Grund brauchst du meine Funktion die dir zurückgibt ob man in einer Fraktion ist oder nicht ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Von einem Kumpel von mir:


  • stock GetPlayerFrac(playerid)
    {
    if(PlayerInfo[playerid][pLeader] > 0){
    return PlayerInfo[playerid][pLeader];
    }
    else if(PlayerInfo[playerid][pMember] > 0){
    return PlayerInfo[playerid][pMember];
    }
    }


    if(GetPlayerFrac(playerid) == 1337){
    SendClientMessage(playerid, COLOR_WHITE, "Du bist Mitglied der 1337-Fraktion.");
    return 1;
    }


    Auch nicht das was der Threadersteller wollte, er wollte schließlich wissen ob der Spieler in einer Fraktion ist und nicht in welcher er ist ;)


    PS: In der Funktion ist ein Fehler, da würde ein Waring kommen, dass nicht immer ein Wert zurückgegeben wird ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S


  • Bro, das ist kein Copy & Paste Forum, Das Scripting Base Forum ist für die Hilfe von erstellen von Gamemode's und ich denke das solltest du schon selbst schaffen.