Dialog Commands

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
  • Servus Leute, ich habe mal 2 Fragen an euch.
    Die erste wäre, muss man bei dem Rang eines Admins in MAX_PLAYERS setzen da ja jeder einen eigenen Rang haben soll oder wird dies automatisch im Command gemacht.
    Beispiel:


    ocmd:makeadmin(playerid,params[])
    {
    new pID, string[500],string2[500];
    if(!IsPlayerAnAdmin(playerid, 0)) return SendClientMessage(playerid, ROT,"Dein Rang reicht nicht aus um diese Funktion zu benutzen.");
    if(sscanf(params,"ui",pID,rank)) return SendClientMessage(playerid, ROT,"Benutzung: /Makeadmin [ID] [Rang[1-5]]");
    if(rank<0||rank>5) return SendClientMessage(playerid, ROT,"Bitte gebe einen gültigen Rang an. [1-5]");
    format(string,sizeof(string),"Du hast den Spieler %s eingeladen, dem Support-Team beizutreten.",SpielerName(pID));
    SendClientMessage(playerid,grün,string);
    format(string2,sizeof(string2),"EMAILS: Du hast eine /Anfrage(n) von %s erhalten. (Betreff: Supporter-Team).",SpielerName(playerid));
    SendClientMessage(pID,grün,string2);
    Emailcheck[playerid] = 1;
    return 1;
    }


    Müsste ich "rank" in MAX_PLAYERS einbinden und rank[playerid] benutzen?
    --------------------------------------------------------------------------------------------------
    2. Frage:
    Wie kann ich in Dialogen beispielsweise den Befehl makeadmin ausführen?
    Sprich im ersten DIALOG_STYL_LIST sollen alle Spieler angezeigt werden die online sind, im 2. Dialog sollte man dann die höhe des Ranges angeben können welche
    dieser Spieler bekommen soll.
    Wäre nett wenn mir da wer unter die Arme greifen könne.


    mfg ghost


    //Edit
    Brauche nur noch Hilfe dabei, alle Spieler die online sind in einem Listen Dialog darzustellen.
    //Edit 2


    if(listitem == 1)
    {
    for(new i = 0; i< MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    new string[500];
    format(string, sizeof(string), "%s", SpielerName(i));
    ShowPlayerDialog(playerid,MAXPLAYERS,DIALOG_STYLE_LIST, "{FF0066}A{FFFFFF}dmin {FF0066}C{FFFFFF}ontrol {FF0066}P{FFFFFF}anel", string,"Ausführen","Spielen");
    return 1;
    }
    }
    }
    Wäre das richtig? Aber wie mache ich es, das immer wenn ein Spieler gezählt wird das er eine Zeile runter geht und wenn die MAX Grenze des dialogs gesetzt ist das es in einem 2, Dialog weiter geht?

    KleineHilfe 2.0

    2 Mal editiert, zuletzt von YaBroo ()

  • Beim ersten muss noch sowas rein:
    AdminVariable = rank;
    Beim zweiten (Aus freier Hand geschrieben + ungetestet):
    new string[500];
    for(new i; i<GetMaxPlayers(); i++)
    {
    if(!IsPlayerConnected(i))continue;
    format(string, sizeof string, "%s\n%s", SpielerName(i), string);
    }
    ShowPlayerDialog(playerid, MAXPLAYERS, DIALOG_STYLE_LIST, "{FF0066}A{FFFFFF}dmin {FF0066}C{FFFFFF}ontrol {FF0066}P{FFFFFF}anel", string,"Ausführen","Spielen");
    Wenns nicht klappt schick mir TV Daten oderso.