Admin Chat funktioniert nicht.

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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
  • Ich möchte das wenn man /a nicht da steht "7* Admin Name: Test"


    Da soll stehen Projektleiter Rang 2002 "Projektleiter Name: Test"


    Screen wie es aussieht:







    if(strcmp(cmd, "/admin", true) == 0 || strcmp(cmd, "/a", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "NUTZE: (/a)dmin [admin chat]");
    return 1;
    }
    if(PlayerInfo[playerid][pAdmin] >= 6)
    {
    format(string, sizeof(string), "*%d Projektleiter %s[%d]: %s", PlayerInfo[playerid][pAdmin], sendername, playerid, result);
    }
    if(PlayerInfo[playerid][pAdmin] >= 1)
    {
    format(string, sizeof(string), "*%d Admin %s[%d]: %s", PlayerInfo[playerid][pAdmin], sendername, playerid, result);
    }
    else if(PlayerInfo[playerid][pSupporter] >= 1)
    {
    format(string, sizeof(string), "*%d Supporter %s[%d]: %s", PlayerInfo[playerid][pSupporter], sendername, playerid, result);
    }
    else if(PlayerInfo[playerid][pSupporter] == 6)
    {
    format(string, sizeof(string), "*%d Admin %s[%d]: %s", PlayerInfo[playerid][pSupporter], sendername, playerid, result);
    }


    else return 1;
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerInfo[pSupporter] >= 1 || PlayerInfo[pAdmin] >= 1)
    {
    SendClientMessage(i,COLOR_YELLOW,string);
    }
    }
    }
    Log("OA-Chat.txt",string);
    }
    return 1;
    }

  • Ich hoffe dir ist bewusst das du beim formatieren die Zahl beziehungsweise das Adminlevel was sich
    unter der Variabel PlayerInfo[playerid][pAdmin] mit ein beziehst.


    Wenn du das nicht willst solltest du das jeweilige entfernen


    format(string, sizeof(string), "*%d Projektleiter %s[%d]: %s", PlayerInfo[playerid][pAdmin], sendername, playerid, result);


    oder du änderst hier die Zahl um


    if(PlayerInfo[playerid][pAdmin] >= 6)


    statt ist gleich oder größer als 6 die gewünschte zahl.

  • Wie meinst du das so


    if(PlayerInfo[playerid][pAdmin] = 6)


    ich mein es wie du es willst


    zu dem code bei dir hast du ein fehler bei if abfragen brauchst du für den vergleichs operator zwei gleichzeichen ==

    if(PlayerInfo[playerid][pAdmin] >= 2002)


    so hast du ab diesem rang den titel oder höher und nur für den range müsstest du wie ich es oben geschrieben habe ein == verwenden also == 2002