Ein leader /gov

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
  • ist doch ganz einfach



    dcmd:gov(playerid,params[])
    {
    //abfrage ob er in der jewaligen Fraktion ist zum Beispiel LSPD
    {
    //abfrage ob er ein Leader ist
    {
    new text[128],string[20],pName;
    GetPlayerName(playerid, pname, sizeof(pname));
    if(sscanf(params,"s",text))return SendClientMessage(playerid,PINK,"/gov [NACHRICHT]");
    format(string,sizeof(string),"((Nachricht vom Spieler %s:%s ))",pName,text);
    SendClientMessageToAll(0xAAAAAAFF,string);
    }
    else
    {
    // das was passieren soll wenn er kein Leader ist i.eine Message
    }
    }
    else
    {
    //das was passieren soll wenn er nicht in der jewaligen Fraktion ist (siehe oben beispiel)
    }
    return 1;
    }

    Einmal editiert, zuletzt von [NeR]Fernandez_ ()

  • ja das ist gerade das problemm woher sollte ich wissen wie man das macht und wo genau es hin kommt -.-? und wie erkennt das es für eine bestimmte frakktion ist? ID von der frakk eingeben?

  • if(strcmp(cmd, "/government", true) == 0 || strcmp(cmd, "/gov", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gTeam[playerid] != 2 && !IsACop(playerid) && !IsPlayerInFrac(playerid, 7))//Hier wird gefragt ob derjenige Polizist ist
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist kein Polizist !");
    return 1;
    }
    if(PlayerInfo[playerid][pRank] < 5)//welchen rang man braucht um /gov machen zu dürfen
    {
    SendClientMessage(playerid, COLOR_GREY, " Du brauchst 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 [text]");
    return 1;
    }
    SendClientMessageToAll(COLOR_WHITE, "|___________ Regierungsnachrichten ___________|");//das zwischen den "" kann man beliebig ändern
    if(PlayerInfo[playerid][pLeader] == 7)//die 7 ist z.B bei mir der Präsident
    {
    format(string, sizeof(string), "Bundespräsident %s: %s", sendername, result);
    }
    else if(PlayerInfo[playerid][pMember] == 7 && PlayerInfo[playerid][pRank] >= 7)
    {
    format(string, sizeof(string), "Minister %s: %s", sendername, result);
    }
    else if(PlayerInfo[playerid][pMember] == 7 && PlayerInfo[playerid][pRank] == 6)
    {
    format(string, sizeof(string), "Geheimdienst Leiter %s: %s", sendername, result);
    }
    else if(PlayerInfo[playerid][pLeader] == 1)//die 1 durch die Frak ID von z.B Ballas ändern und den jeweiligen Namen z.B Gangmember etc ändern
    {
    format(string, sizeof(string), "Chief %s: %s", sendername, result);
    }
    else if(PlayerInfo[playerid][pLeader] == 2)
    {
    format(string, sizeof(string), "FBI Agent %s: %s", sendername, result);
    }
    else if(PlayerInfo[playerid][pLeader] == 3)
    {
    format(string, sizeof(string), "General %s: %s", sendername, result);
    }
    else format(string, sizeof(string), "Beamter %s: %s", sendername, result);
    SendClientMessageToAll(COLOR_DBLUE, string);
    }
    return 1;
    }


    //Edit fehler korrigiert

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • ich habe das so gemacht :

    if(strcmp(cmd, "/yagovernment", true) == 0 || strcmp(cmd, "/yagov", true) == 0) { if(IsPlayerConnected(playerid)) { if(gTeam[playerid] != 6 && !IsACop(playerid) && !IsPlayerInFrac(playerid, 6)) { SendClientMessage(playerid, COLOR_GREY, " Du bist kein Leader !"); return 1; } if(PlayerInfo[playerid][pRank] < 6) { SendClientMessage(playerid, COLOR_GREY, " Du bist kein Leader !"); 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: (/yagov)ernment [text]"); return 1; } SendClientMessageToAll(COLOR_GREY, "|____________________ Yakuza ____________________|");//das zwischen den "" kann man beliebig ändern if(PlayerInfo[playerid][pLeader] == 6) format(string, sizeof(string), "Leader/In %s: %s", sendername, result); if(PlayerInfo[playerid][pLeader] == 6)//die 7 ist z.B bei mir der Präsident { format(string, sizeof(string), "Leader/In %s: %s", sendername, result); }
    else if(PlayerInfo[playerid][pLeader] ==6)//die 1 durch die Frak ID von z.B Ballas ändern und den jeweiligen Namen z.B Gangmember etc ändern SendClientMessageToAll(COLOR_GREY, string); } return 1; }



    und da kommt nur sowas :



    EDIT:Und dieses /yagov kann bei mir Jeder ! Ich will aber das nur in diesem Fall Yakuza Kann !



    Im Vorraus Danke


    4 Mal editiert, zuletzt von Jason_Smith ()

  • Ja bei mir kann es Jeder ! Ich will ja das es nur in meinem Falle Yakuza kann ^^


    und bei mir steht einfach nur |________________Yakuza___________|
    und nicht das was ich geschrieben hab
    bei mir soll z.B
    : |______________________________________________Yakuza_______________________________________|
    Leader/In Jason_Smith: Yakuza sucht Aktive &' Skilled Member ! Bewerbung im Forum !


    So soll das sein !
    Aber wenn jetzt z.B der Triaden Leader
    /yagov macht das da steht: Du bist nicht der Yakuza Leader !




    Ich brauche das noch heute !!
    Bitte Helft uns !
    mfg.
    Jason


    Einmal editiert, zuletzt von Jason_Smith ()

  • Ist realtiv einfach, wenn du logisch denken kannst ...


    Überleg mal: Normalerweise können Beamte /Gov machen! Das wäre dann z.B ab Rang 5 machbar. Zuerst erstellst du mit ocmd, dcmd etc. den Command /gov (oder wie er auch immer heiße soll).
    So danach musst du abfragen, ob der Spieler, der /gov eingibt, in der jeweiligen Fraktion ist (Zum Beispiel LSPD).
    Wenn er nicht im LSPD Mitglied ist, fügst du else ein und zum beispiel eine Nachrricht an den Spieler (SendClientMessage), dass er kein Mitglied im LSPD ist.
    Beispiel: SendClientMessage(playerid,ROT,"Du bist kein Polizist!");
    Wenn er LSPD ist kommt der nächste Schritt und zwar die Abfrage, ob der den Rank 5 oder höher hat. Dies machst du mit if (! oder is)
    Hier eignet sich ! (not) ganz gut
    Und wenn er unter Rank 5 ist, schreibst du ihm wieder per SendClientMessage eine Nachrricht, dass er nicht Rank 5 ist.
    Beispiel: SendClientMessage(playerid,ROT,"Du bist nicht Rank 5 oder höher!");


    Am besten du downloadest dir LoH 0.4 und schaust mal, wie der /gov Befehl dort aussieht ;)

  • Hast du Teamviewer ?


    Kannst du das dann für mich machen oder einfach machen das ich es nur Kopieren muss ?