/sup befehl geht nicht

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
  • Mahlzeit
    Kann mir jemand vieleicht helfen bzw den cmd ausbessern?
    wenn inch ingame gehe und /sup eingege kommt unknow command.
    Bitte helft mir!


    if(strcmp(strget(cmdtext,0),"/sup"))
    {
    if(IsPlayerConnected(playerid))
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(pInfo[i][Admin] >= 2 && pInfo[i][Admin] < 7)
    {
    new ziel = strval(strget(cmdtext,1));
    if(!strlen(strget(cmdtext,1)))
    {
    SendClientMessage(playerid,0xFF0000FF,"Benutze /sup ID Grund"); return 1;
    }
    new sendername[MAX_PLAYER_NAME];
    new reason[MAX_PLAYER_NAME];
    new string[256];
    GetPlayerName(playerid,sendername,sizeof(sendername));
    GetPlayerName(ziel,reason,sizeof(reason));
    format(string,sizeof(string), "%s meldet %s [Grund, %s",sendername,reason,cmdtext[6]);
    SendClientMessage(i, 0xFF0000FF, string);
    SendClientMessage(playerid,0x00FF00FF,"Report wurde an die Online-Admins gesendet!");
    new File:SaveFile = fopen("report.txt",io_append);
    fwrite(SaveFile,string);
    fclose(SaveFile);
    return 1;
    }
    }
    }
    }
    }


    Hoffe es kann jemand helfen.
    Mfg:Tigerkiller

  • Weil du strcmp falsch verwendest ^^
    Ein Zitat von diesem Link hier: http://wiki.sa-mp.com/wiki/Strcmp
    Returns 0 if the strings are the same.
    Das bedeutet du musst deine Zeile ersetzen durch
    if(strcmp(strget(cmdtext,0),"/sup") == 0)
    p.S.: Nebenbei gemerkt, könntest du mir den stock von strget hier geben? Würde mich interressieren was der macht ^^
    Edit: Noch paar Optimerungsfeinheiten sowie ServerCrash fix...
    Definiere für dein for das new vorher und lass erst dann die schleife drüber laufen, also z.B.:
    new i = 0;
    for(; i < MAX_PLAYERS; i++)
    und betreffend der Zeile
    if(!strlen(strget(cmdtext,1)))
    änder sie um in
    if(!strlen(strget(cmdtext,1)) || strlen(strget(cmdtext, 1)) > 256)
    Dieser Fix verhindert, dass dein Server Crasht, wenn jemand zuviele Zeichen schreibt (Passiert jedoch nur selten)

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!