Adminränge einzeln definieren bei /aduty

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 ihr Brotfische,
    Ich habe eben im Script gesehen dass wenn man mit egal welchem Adminrang /aduty eingibt, dieser Textauszug kommt: Du hast dich als Teammitglied angemeldet.


    Hier ist der relevante Code:


    format(string,24,"[IRL]%s",sendername);
    SetPlayerName(playerid,string);
    if(PlayerInfo[playerid][pAdmin] >= 6)
    {
    if(PlayerInfo[playerid][pAdmin] > 2000)
    {
    TextDrawShowForPlayer(playerid,TicketsTextdraw);
    }
    SendClientMessage(playerid,COLOR_SUPPORTER, "*** Du hast dich als Teammitglied angemeldet. ***");
    }
    }
    else if(PlayerInfo[playerid][pAdminOnDuty] == 1)
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    PlayerInfo[playerid][pAdminOnDuty] = 0;
    if(PlayerInfo[playerid][pAdmin] < 6) { format(string, sizeof(string), "*** %s hat sich als Teammitglied abgemeldet. ***", sendername); SendClientMessageToAll(COLOR_SUPPORTER, string); }
    SetPlayerToTeamColor(playerid);
    SetPlayerHealth(playerid, 100);
    TextDrawHideForPlayer(playerid, AONDD);
    SetPlayerArmour(playerid, 0);
    // SetPlayerName(playerid,PlayerInfo[playerid][pName],24);
    if(PlayerInfo[playerid][pAdmin] >= 6)
    {


    Wie kann ich das nun so umschreiben dass beim Anmelden des Admindienstes für jeden Adminrang extra dransteht: [Name] hat sich als Probe Supporter angemeldet. Und das halt für jeden Rang

  • Du kannst es so machen:

    GetRang(playerid)
    {
    new string[36];
    switch(PlayerInfo[playerid][pAdmin]) {
    case 0: string = "Spieler";
    case 1: string = "Probe-Supporter";
    case 2: string = "Supoorter";
    case 3: string = "Administrator";
    case 4: string = "High Administrator";
    case 5: string = "Serverleiter";
    case 6: string = "Developer"; //Developer
    }
    return string;
    }

    Diese Funktion machst du irgendwo in dein Script.


    Dann ersetzt du die Nachricht mit:

    format(string,sizeof(string),"*** %s hat sich als %s angemeldet. ***",sendername,GetRang(playerid));
    SendClientMessageToAll(COLOR_SUPPORTER, string);

  • Das:

    format(string,sizeof(string),"*** %s hat sich als %s angemeldet. ***",sendername,GetRang(playerid));
    SendClientMessageToAll(COLOR_SUPPORTER, string);


    Kommt in diese Zeile:

    SendClientMessage(playerid,COLOR_SUPPORTER, "*** Du hast dich als Teammitglied angemeldet. ***");

    Das ist bei deinem am Anfang geposteten Code, die Zeile 9.
    Du löscht einfach diese Nachricht die da jetzt ist mit "Du hast dich als Teammitglied angemeldet" weg, und fügst da diese Zeilen ein:

    format(string,sizeof(string),"*** %s hat sich als %s angemeldet. ***",sendername,GetRang(playerid));
    SendClientMessageToAll(COLOR_SUPPORTER, string);

  • und der restliche code?
    kommt der auch in die funktion /aduty mit rein?


    //edit


    Ich habs jetzt mal so eingetragen



    GetRang(playerid)
    {
    new string[36];
    switch(PlayerInfo[playerid][pAdmin]) {
    case -1: string = "Beschwerdemoderator");
    case 0: string = "Spieler";
    case 1: string = "Supporter auf Probe";
    case 2: string = "Supoorter";
    case 3: string = "Moderator";
    case 4: string = "Administrator";
    case 5: string = "Fulladmin";
    case 1338: string = "Stellv.Serverleiter"; //Developer
    case 2000: string = "ServerLeiter";
    case 2002: string = "Scripter/Mapper";
    }
    return string;
    }


    if(strcmp("/aduty", cmd, true) == 0)
    {
    if(PlayerInfo[playerid][pAdmin] >= 1)
    {
    if(PlayerInfo[playerid][pAdminOnDuty] == 0)
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    PlayerInfo[playerid][pAdminOnDuty] = 1;
    //if(PlayerInfo[playerid][pAdmin] < 6) { format(string, sizeof(string), "*** %s hat sich als Teammitglied angemeldet. ***", sendername); SendClientMessageToAll(COLOR_SUPPORTER, string); }
    SendClientMessage(playerid,0xEB0000FF, "*** Du wirst nun als Marker auf der Karte angezeigt. ***");
    SendClientMessage(playerid,0xEB0000FF, "*** Pass auf was du machst, man kann alles in den Logs nachlesen. ***");
    SendClientMessage(playerid,0xEB0000FF, "*** Das heisst die Befehle werden nicht ausgenutzt. ***");
    TextDrawShowForPlayer(playerid, AONDD);
    SetPlayerColor(playerid, COLOR_SUPPORTER);
    SetPlayerHealth(playerid, 200);
    SetPlayerArmour(playerid, 2000);
    // GetPlayerName(playerid,PlayerInfo[playerid][pName],24);
    format(string,24,"[IRL]%s",sendername);
    // SetPlayerName(playerid,string);
    if(PlayerInfo[playerid][pAdmin] >= 6)
    {
    if(PlayerInfo[playerid][pAdmin] > 2000)
    {
    TextDrawShowForPlayer(playerid,TicketsTextdraw);
    }
    //SendClientMessage(playerid,COLOR_SUPPORTER, "*** Du hast dich als Teammitglied angemeldet. ***");
    format(string,sizeof(string),"*** %s hat den Admindienst als %s begonnen. ***",sendername,GetRang(playerid));
    SendClientMessageToAll(COLOR_SUPPORTER, string);
    }
    }
    else if(PlayerInfo[playerid][pAdminOnDuty] == 1)
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    PlayerInfo[playerid][pAdminOnDuty] = 0;
    if(PlayerInfo[playerid][pAdmin] < 6) { format(string, sizeof(string), "*** %s hat sich als Teammitglied abgemeldet. ***", sendername); SendClientMessageToAll(COLOR_SUPPORTER, string); }
    SetPlayerToTeamColor(playerid);
    SetPlayerHealth(playerid, 100);
    TextDrawHideForPlayer(playerid, AONDD);
    SetPlayerArmour(playerid, 0);
    // SetPlayerName(playerid,PlayerInfo[playerid][pName],24);
    if(PlayerInfo[playerid][pAdmin] >= 6)
    {
    if(PlayerInfo[playerid][pAdmin] > 2000)
    {
    TextDrawHideForPlayer(playerid,TicketsTextdraw);
    }
    SendClientMessage(playerid,COLOR_SUPPORTER, "*** Du hast dich als Teammitglied abgemeldet. ***");
    }
    if(IsACop(playerid) && OnDuty[playerid] == 1)
    {
    SetPlayerArmour(playerid, 100);
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_KEINADMIN, "{D3002D}Dies ist ein Admin Befehl!");
    return 1;
    }
    return 1;

    Einmal editiert, zuletzt von NcDeluxe ()