Beiträge von YaBroo

    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?

    Ich möchte die Funktionen die aktuell unter /makeleader stehen am Ende eines Dialoges abrufen.
    mit makeleader bestimmt man ja aktuell den rank und dann öffnet sich auch der dialog. Aber am Ende des Dialoges muss ich ja alles neu definieren und dann stehen Sachen wie rank wieder auf 0 die zu Anfang bei makeleader eingegeben wurden.
    Wie krieg ich die oben definierten Sachen so unter einen Dialog das die Variablen rank gleich bleiben

    Servus Leute,
    angenommen ich habe einen makeadmin Befehl. Wie kriege ich die Funktionen die man dort eingibt unter makeadmin
    unter einen Dialog?
    Sprich ich gebe /makeadmin ein, bei ihm öffnet sich ein Dialog ect das habe ich alles, aber wie kriege ich die Funktionen die eig. bei makeadmin abgefragt werden unter den Dialog?
    makeleader sieht zB so aus


    ocmd:makeadmin(playerid,params[])
    {
    new pID, rank, 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]");
    SendClientMessageToAll( GELB," [NEWS].::International Mini-Games::.[NEWS]");
    format(String, sizeof(String),"#COL_MAGENTA"Spieler %s "#COL_YELLOW"wurde von "#COL_MAGENTA"%s "#COL_YELLOW"zum "#COL_MAGENTA"[IMG]Supporter Rang: %d "#COL_YELLOW"ernannt.",SpielerName(pID),SpielerName(playerid), rank);
    SendClientMessageToAll(grün, String);
    SetPVarInt(pID, "Adminlevel",rank);
    SpielerSpeichern(pID);
    Emailcheck[playerid] = 1;


    Wie kriege ich
    SendClientMessageToAll(GELB," [NEWS].::International Mini-Games::.[NEWS]");
    format(String, sizeof(String),"#COL_MAGENTA"Spieler %s "#COL_YELLOW"wurde von "#COL_MAGENTA"%s "#COL_YELLOW"zum "#COL_MAGENTA"[IMG]Supporter Rang: %d "#COL_YELLOW"ernannt.",SpielerName(pID),SpielerName(playerid), rank);
    SendClientMessageToAll(grün, String);
    SetPVarInt(pID, "Adminlevel",rank);
    SpielerSpeichern(pID);


    das unter' den Dialog sodass der rank angezeigt wird und der rank auch gesetzt wird.
    /e2

    Kannst dir'n Client programmieren mit dem man nur spielen kann wenn man diesen hat. Dieser durchsucht einfach den GTA SA Ordner.
    So machts ein anderer Serevr.
    Muss aber jeder runterladen und wird auch oft als virus angezeigt.

    Das passiert wenn man sich nicht konzentriert, hatte die Params noch an.


    //Edit2


    if(dialogid == Nachrichten)
    {
    if(response == 0) return 1;
    if(Emailcheck[playerid] == 1) return SendClientMessage(playerid,ROT, "Du hast keine neuen Anfragen");
    ShowPlayerDialog(playerid, ADMNachricht, DIALOG_STYLE_MSGBOX,"Team Anfrage","fds.", "Annehmen","Ablehnen");
    return 1;
    }


    Zitat

    warning 225: unreachable code


    hä?

    Problem/Bug los?^
    //E
    Habe paar Warnings, wie sind diese zu entfernen.


    C:\Dokumente und Einstellungen\user\Desktop\Games\Samp-Server\pawno\include\zcmd.inc(114) : warning 201: redefinition of constant/macro (symbol "OnPlayerCommandText")



    //

    Servus Leute, ich wollte mal Fragen ob jemand von euch ein Tutorial / FS o.ä kennt, welches erklärt wie man ein Nachrichten System(Dialog bezogen) scriptet?
    Ich arbeite ohne MySQL und würde mich freuen wenn wer was kennt.
    Ich weiß nicht wie ich es am besten machen kann.
    Sollte ich den inputtext in der Spielerdatei speichern, bei dem sie ankommen soll und dann abrufen?


    mfg
    //Edit
    Wie kann ich sie denn dann abrufen ohne das sie sich überschreiben,d as ist mein Hauptproblem.