Problem mit Adminchat

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,


    Ich habe ein Problem ich kann alles benutzen das ist kein Problem.


    Foto:


    https://picload.org/image/rpodldri/sa-mp-006.png


    Hier wird das Problem erläutert :>


  • if(pInfo[playerid][Adminlevel] < 1)return SendClientMessage(playerid,dunkelrot,"Du hast nicht die benötigte Berechtigung!");
    new str[128];-
    GetPlayerName(playerid,str,sizeof(str));
    format(str,sizeof(str),"* AdminChat | {FFFFFF}%s:{FF0000} %s",str,cmdtext[5]);
    SendClientMessageToAll(dunkelgrün, str);



    das ist meins. Bisher ungetestet.

    Ich bin wieder da, MoFogga


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

  • if(pInfo[playerid][Adminlevel] < 1)return SendClientMessage(playerid,dunkelrot,"Du hast nicht die benötigte Berechtigung!");new str[128];-GetPlayerName(playerid,str,sizeof(str));format(str,sizeof(str),"* AdminChat | {FFFFFF}%s:{FF0000} %s",str,cmdtext[5]);SendClientMessageToAll(dunkelgrün, str);
    das ist meins. Bisher ungetestet.

    Mein Befehl Funktioniert ja,


    Aber komischerweiße steht das der Befehl nicht gefunden wurde obwohl wir im a chat schreiben können^^

  • kannst ja mal gucken ob du hier was raus bekommst dies nutze ich


    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] == 1 || PlayerInfo[playerid][pAdmin] == 2)
    {
    format(string, sizeof(string), "{FF00E5}*%d Supporter %s[%d]: %s{FFFFFF}", PlayerInfo[playerid][pAdmin], sendername, playerid, result);
    }
    else if(PlayerInfo[playerid][pAdmin] == 3 || PlayerInfo[playerid][pAdmin] == 4)
    {
    format(string, sizeof(string), "{FF00E5}*%d Moderator %s[%d]: %s{FFFFFF}", PlayerInfo[playerid][pAdmin], sendername, playerid, result);
    }
    else if(PlayerInfo[playerid][pAdmin] == 5)
    {
    format(string, sizeof(string), "{FF00E5}*%d Administrator %s[%d]: %s{FFFFFF}", PlayerInfo[playerid][pAdmin], sendername, playerid, result);
    }
    else if(PlayerInfo[playerid][pAdmin] == 6)
    {
    format(string, sizeof(string), "{FF00E5}*%d Management %s[%d]: %s{FFFFFF}", PlayerInfo[playerid][pAdmin], sendername, playerid, result);
    }
    else if(PlayerInfo[playerid][pAdmin] == 7)
    {
    format(string, sizeof(string), "{FF00E5}*%d Projektleiter %s[%d]: %s{FFFFFF}", PlayerInfo[playerid][pAdmin], sendername, playerid, result);
    }
    else return 1;
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(PlayerInfo[i][pSupporter] >= 1 || PlayerInfo[i][pAdmin] >= 1)
    {
    SendClientMessage(i,COLOR_YELLOW,string);
    }
    }
    }
    Log("OA-Chat.txt",string);
    }
    return 1;
    }

  • kannst ja mal gucken ob du hier was raus bekommst dies nutze ich


    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] == 1 || PlayerInfo[playerid][pAdmin] == 2){format(string, sizeof(string), "{FF00E5}*%d Supporter %s[%d]: %s{FFFFFF}", PlayerInfo[playerid][pAdmin], sendername, playerid, result);}else if(PlayerInfo[playerid][pAdmin] == 3 || PlayerInfo[playerid][pAdmin] == 4){format(string, sizeof(string), "{FF00E5}*%d Moderator %s[%d]: %s{FFFFFF}", PlayerInfo[playerid][pAdmin], sendername, playerid, result);}else if(PlayerInfo[playerid][pAdmin] == 5){format(string, sizeof(string), "{FF00E5}*%d Administrator %s[%d]: %s{FFFFFF}", PlayerInfo[playerid][pAdmin], sendername, playerid, result);}else if(PlayerInfo[playerid][pAdmin] == 6){format(string, sizeof(string), "{FF00E5}*%d Management %s[%d]: %s{FFFFFF}", PlayerInfo[playerid][pAdmin], sendername, playerid, result);}else if(PlayerInfo[playerid][pAdmin] == 7){format(string, sizeof(string), "{FF00E5}*%d Projektleiter %s[%d]: %s{FFFFFF}", PlayerInfo[playerid][pAdmin], sendername, playerid, result);}else return 1;for(new i=0; i<GetMaxPlayers(); i++){if(IsPlayerConnected(i)){if(PlayerInfo[i][pSupporter] >= 1 || PlayerInfo[i][pAdmin] >= 1){SendClientMessage(i,COLOR_YELLOW,string);}}}Log("OA-Chat.txt",string);}return 1;}


    Das Hilft mir auch nicht weiter ?



    @Jeffry

  • Hier, mach es mal so:


    sscanf bei nur einem Parameter solltest du vermeiden.
    Und den Log auch nicht in die schleife schreiben, sonst wird das n mal abgespeichert..was du sicher nicht willst ^^


    PS: Falls du IsNull nicht im Skript hast (füg es oben ein):


    #define IsNull(%0) (%0[0] == EOS || (%0[0] == '\1' && %0[1] == EOS))

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Habe es gefunden warum er das im Log Spamt,


    Das Problem ist nun wen ich in Checkpoint rein fahre zeigt er mir das an aber verschwindet gleich wider der Timer von der Haltestelle :(
    Warum auch immer ich finde den Fehler nicht. Normal müsste er von 10 Runter zählen wen er auf 0 ist kommt ja der nexte Checkpoint

    2 Mal editiert, zuletzt von Dr. Frauenarzt () aus folgendem Grund: Ordentlicher Gepostet