Aduty nachicht

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
  • Hallo,


    kann mir jemand sagen wie alle user vom server eine Nachricht bekommen wenn ein admin in den dienst geht zum beuspiel so eine nachricht?


    Der Admin NICKNAME ist als ADMINRANGNAME in den Dienst gegangen



    Der Admin NICKNAME ist als ADMINRANGNAME aus den Dienst gegangen


    FÜr hilfe danke im vorraus.


    MFG

  • Ich hoffe ich hab an alles gedacht, müsste so funktionieren (natürlich musst du es an dein System anpassen), wenns nicht klappt, helf ich natürlich gern weiter.



    new Aduty[MAX_PLAYERS];


    ocmd:aduty(playerid, params[])
    {
    if(SpielerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid, COLOR_GREY, "Du bist kein Admin.");
    new adminrangname[26]; //Rangnamen-String
    switch(SpielerInfo[playerid][pAdmin]) //Alle Adminränge durchgehen und mit Rangnamen versehen
    { //Beispiele
    case 1: { adminrangname = "Supporter"; }
    case 2: { adminrangname = "Moderator"; }
    case 3: { adminrangname = "Administrator"; }
    case 4: { adminrangname = "Full-Admmin"; }
    case 5: { adminrangname = "Projektleiter"; }
    }
    new string[128], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name)); //Name des Admins holen
    if(Aduty[playerid] == 0) //Wenn er nicht Admin Onduty ist
    {
    format(string, sizeof(string), "Der Admin %s ist als %s in den Dienst gegangen", name, adminrangname);
    SendClientMessageToAll(COLOR_PURPLE, string);
    Aduty[playerid] = 1; // In "Den Dienst" stellen
    }
    else if(Aduty[playerid] == 1) //Wenn er Admin Onduty ist
    {
    format(string, sizeof(string), "Der Admin %s ist als %s aus den Dienst gegangen", name, adminrangname);
    SendClientMessageToAll(COLOR_PURPLE, string);
    Aduty[playerid] = 0; //In "Aus dem Dienst" stellen
    }
    return 1;
    }



    Gruß
    Crowley

  • dann bekomme ich folgenes:


    C:\Users\pasca\Desktop\Haupt-ript\gamemodes\script.pwn(49891) : error 017: undefined symbol "SpielerInfo"
    C:\Users\pasca\Desktop\Haupt-ript\gamemodes\script.pwn(49891) : warning 215: expression has no effect
    C:\Users\pasca\Desktop\Haupt-ript\gamemodes\script.pwn(49891) : error 001: expected token: ";", but found "]"
    C:\Users\pasca\Desktop\Haupt-ript\gamemodes\script.pwn(49891) : error 029: invalid expression, assumed zero
    C:\Users\pasca\Desktop\Haupt-ript\gamemodes\script.pwn(49891) : fatal error 107: too many error messages on one line



    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase




    4 Errors.



    COMMAND:aduty(playerid, params[])
    {
    if(SpielerInfo[playerid][pAdmin] == 0) return SendClientMessage(playerid, COLOR_GREY, "Du bist kein Admin.");
    new adminrangname[26]; //Rangnamen-String
    switch(SpielerInfo[playerid][pAdmin]) //Alle Adminränge durchgehen und mit Rangnamen versehen
    { //Beispiele
    case 1: { adminrangname = "Probe - Supporter"; }
    case 2: { adminrangname = "Supporter"; }
    case 3: { adminrangname = "Moderator"; }
    case 4: { adminrangname = "Administrator"; }
    case 5: { adminrangname = "Community-Manager"; }
    case 6: { adminrangname = "Stel.v Projektleiter"; }
    case 7: { adminrangname = "Developer"; }
    case 8: { adminrangname = "Projektleiter"; }
    }
    new string[128], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name)); //Name des Admins holen
    if(Aduty[playerid] == 0) //Wenn er nicht Admin Onduty ist
    {
    format(string, sizeof(string), "Der Admin %s ist als %s in den Dienst gegangen", name, adminrangname);
    SendClientMessageToAll(COLOR_PURPLE, string);
    Aduty[playerid] = 1; // In "Den Dienst" stellen
    }
    else if(Aduty[playerid] == 1) //Wenn er Admin Onduty ist
    {
    format(string, sizeof(string), "Der Admin %s ist als %s aus den Dienst gegangen", name, adminrangname);
    SendClientMessageToAll(COLOR_PURPLE, string);
    Aduty[playerid] = 0; //In "Aus dem Dienst" stellen
    }
    else{
    ShowPlayerDialog(playerid,ADMIN_PASSWORT,DIALOG_STYLE_PASSWORD,""ClanTagDialoge" Admin Passwort",""#HTML_WEISS"Bitte logge dich mit dem Admin Passwort ein um in den Admindienst zu gehen!\nBei Falscher eingabe wirst du vom Server gekickt!","Bestätigen","Abbrechen");
    }
    return 1;
    }

  • SpielerInfo habe ich nur als Beispiel genommen, das musst du mit deiner Spieler-Variable abändern, genau so wie "pAdmin", oder die Farben, falls diese so nicht in deinem Script definiert sind.


    Falls du Schwierigkeiten dabei hast, helfe ich dir gerne über TeamViewer weiter.


    Gruß

  • SpielerInfo musst du mit mit deinem Enum(?) oben ersetzten.

    Ich bin wieder da, MoFogga


    You're not completely useless. You can always serve as a bad example!

  • Beitrag von Includ ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Andere waren schneller ().
  • SpielerInfo habe ich nur als Beispiel genommen, das musst du mit deiner Spieler-Variable abändern, genau so wie "pAdmin", oder die Farben, falls diese so nicht in deinem Script definiert sind.


    Falls du Schwierigkeiten dabei hast, helfe ich dir gerne über TeamViewer weiter.


    Gruß

    Okay könntest du mir per TV helfen bitte.

  • Klar, lass mir dazu deine TeamViewer Daten per Konversation zu kommen.


    Edit: Problem wurde über TeamViewer gelöst und funktioniert nun.
    Mussten in seinem Script SpielerInfo[ zu Spieler[ ändern.


    Gruß

    Einmal editiert, zuletzt von varrez ()

  • Wenn du OnDuty gehst, formatierst du deinen neuen Namen mit
    format(string, sizeof(string), "[TAG]%s", name);
    Mit [wiki]SetPlayerName[/wiki] kannst du dann nach dem format(); den Namen ändern.


    und beim Offduty gehen formatierst du ihn in etwa so
    format(string, sizeof(string), "%s", Spieler[playerid][BeispielName]);
    Natürlich musst du das "Beispielname" ersetzen, schau dazu am besten in deinem enum.



    //Beim Onduty gehen
    format(string, sizeof(string), "[TAG]%s", name);
    SetPlayerName(playerid, string);


    //Beim Offduty gehen
    format(string, sizeof(string), "%s", Spieler[playerid][BeispielName]);
    SetPlayerName(playerid, string);


    Ich hoffe das war das was du meintest :)

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Okay danke könntest du eben bei der PN schauen ?