Mehrere Fragen in einem x.x

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
  • Heyo com,


    Ich arbeite gerade mit nem Kollegen an einem Komplett selbstgemachten DM Script.


    Nun die 1. Frage wenn ein Spieler sagen wir die Arena /dm1 betritt, dass er sie dann nicht direkt nochmal betreten kann sondern erst wieder /exit machen muss, damit er einer anderen bzw. /dm1 nochmal betreten kann?


    2. Frage : Wie kann ich mit z.B. /admins machen, dass die User dann sehen, welche Admins online sind?


    3. Frage : Wie kann ich machen, dass es ein extra chat für admins gibt so z.B. /ac, den nur die Admins lesen können?

  • 1. musst du mit ocmd machen ... wie genau weiss ich nicht ^^


    Was ist das für eine schwachsinnige Antwort!!!


    Man muss nicht ocmd haben da es auch mit anderen Systemen geht


    Für das erste sind einfache Variablen nützlich die du setzt und gibst wenn er ne Arena betritt

    All in all it's just another brick in the wall

  • Zur 1. Frage:
    //oben im Script
    new Mode[MAX_PLAYERS];


    //OnPlayerConnect
    Mode[playerid] = 0;


    //beim Command, /deagle z.B.
    if(Mode[playerid] != 0) return SendClientMessage(playerid, 0xFFFFFFFF, "Du musst erst den Modus verlassen!");
    else
    {
    Mode[playerid] = 1;
    //restlicher Kram
    }


    //bei /exit
    if(Mode[playerid] == 0) return SendClientMessage(playerid, 0xFFFFFFFF, "Du bist in garkeinem Modus!");
    else
    {
    Mode[playerid] = 0;
    //SetPlayerPos etc...
    }


    Zu deiner 2. Frage:
    //wenn /admins gemacht wird
    new var = 0, Name[MAX_PLAYER_NAME], string[128];


    for(new i; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PInfo[playerid][pAdmin]) //<- Adminfrage
    {
    GetPlayerName(i, Name, sizeof(Name));
    format(string, 128, "Admin %s", Name);
    SendClientMessage(playerid, 0xFFFFFFFF, string);
    var++;
    }
    }
    }
    format(string, 128, "Es sind %d Admins online!", var);
    SendClientMessage(playerid, 0xFFFFFFFF, string);


    Zu deiner 3. Frage:
    Dazu hab' ich hier ne kleine Funktion, bzw. nen Stock.
    stock SendAdminMessage(co, string[],level)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && PInfo[i][pAdmin] >= level) //<- Dort wieder die Adminabfrage
    {
    SendClientMessage(i, co, string);
    }
    }
    return 1;
    }


    //dann wenn /ac aufgerufen wird sendet man die Adminmessage so:
    SendAdminMessage(HEX_COLOR,string, level);


    //Beispiel:
    SendAdminMessage(0xFFFFFFFF, "Diese Nachricht sehen alle Admins AB dem Adminlevel 1!", 1);


    Ich hab jetzt alles aus dem Kopf geschrieben, bei eventuellen Fehlern, sie einfach drunter posten.