Whitelist Befehle gehen nicht[Dringend]

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
  • Ihr ist mein Filterscript jeder kann aber joinen


    #include <a_samp>


    #define RED 0xAA3333AA
    #define YELLOW 0xFFFF00AA


    forward Whitelist(playerid);


    new gdebug = 0;


    public Whitelist(playerid)
    {
    if (gdebug==1){printf("DEBUG Whitelist Check(%d) (%s)", playerid);}
    new playername2[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername2, sizeof(playername2));
    new File: file = fopen("whitelist.cfg", io_read);
    if (file)
    {
    new valtmp[MAX_PLAYER_NAME];
    while (fread(file, valtmp)) {
    StripNewLine(valtmp);
    if (!strcmp(valtmp, playername2, true, strlen(playername2))) {
    fclose(file);
    return 1;
    }
    }
    }
    fclose(file);
    return 0;
    }


    public OnPlayerConnect(playerid)
    {
    if (Whitelist(playerid)) {
    } else {
    SendClientMessage(playerid, RED, "Du stehst nicht auf der Whitelist, bitte unter www.world-of-paradise.com bewerben");
    }
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    new cmd[256];
    new idx;
    cmd = strtok(cmdtext, idx);


    if(strcmp(cmd, "/whitelist", true) == 0)
    {
    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))
    {
    return SendClientMessage(playerid, YELLOW, "Benutze:: /whitelist [spielername]");
    }
    if ((IsPlayerAdmin(playerid)))
    {
    new File:hFile,coordsstring[128];
    format(coordsstring,128, "%s\r\n",result);
    hFile = fopen("whitelist.cfg", io_append);
    fwrite(hFile, coordsstring);
    fclose(hFile);
    format(coordsstring,128, "%s wurde auf die Whitelist gesetzt", result);
    SendClientMessage(playerid, RED,coordsstring);
    }
    return 1;
    }
    return 1;
    }


    strtok(const string[], &index)
    {
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
    index++;
    }


    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
    result[index - offset] = string[index];
    index++;
    }
    result[index - offset] = EOS;
    return result;
    }


    stock StripNewLine(string[])
    {
    new len = strlen(string);
    if (string[0]==0) return ;
    if ((string[len - 1] == '\n') || (string[len - 1] == '\r')) {
    string[len - 1] = 0;
    if (string[0]==0) return ;
    if ((string[len - 2] == '\n') || (string[len - 2] == '\r')) string[len - 2] = 0;
    }
    }


    Was muss ich jetzt für ein Code reinsetzen



    /edit Code
    /edit Rechtschreibung

    2 Mal editiert, zuletzt von Flojoe7 ()

  • Ja ok geht aber kann keine Befehle ausführen xd


    /edit Rechtschreibung

    Einmal editiert, zuletzt von Flojoe7 ()

  • Ja ich bin Admin auf dem Server kann kein /enter oder /gotols machen


    nur wenn ich das Filterscript wieder raus nehme kann ich alles wieder machen

  • Habe ich gemacht kein Error aber kann trozdem keine befehle ausüben


    WAS NUN !!!!!!!!!1



    forward Whitelist(playerid);


    new gdebug = 0;


    public Whitelist(playerid)
    {
    if (gdebug >= 1){printf("DEBUG Whitelist Check(%d) (%s)", playerid);}
    new playername2[MAX_PLAYER_NAME];
    new storedcopname[500];
    GetPlayerName(playerid, playername2, sizeof(playername2));
    new File: file = fopen("whitelist.cfg", io_read);
    if (file)
    {
    new valtmp[MAX_PLAYER_NAME];
    while (fread(file, valtmp) > 0)
    {
    strmid(storedcopname, valtmp, 0, strlen(playername2), 255);
    if ((strcmp(storedcopname, playername2, true, strlen(playername2)) == 0) && (strlen(playername2) == strlen(storedcopname)))
    {
    fclose(file);
    return 1;
    }
    }
    }
    fclose(file);
    return 0;
    }


    public OnPlayerConnect(playerid)
    {
    if (Whitelist(playerid)) {


    } else {
    SendClientMessage(playerid, RED, "Du stehst nicht auf der Whitelist, bitte unter www.world-of-paradise.com bewerben");
    Kick(playerid);
    }
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    new cmd[256];
    new idx;
    cmd = strtok(cmdtext, idx);


    if(strcmp(cmd, "/whitelist", true) == 0)
    {
    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))
    {
    return SendClientMessage(playerid, YELLOW, "Benutze:: /whitelist [spielername]");
    }
    if ((IsPlayerAdmin(playerid)))
    {
    new File:hFile,coordsstring[128];
    format(coordsstring,128, "%s\r\n",result);
    hFile = fopen("whitelist.cfg", io_append);
    fwrite(hFile, coordsstring);
    fclose(hFile);
    format(coordsstring,128, "%s wurde auf die Whitelist gesetzt", result);
    SendClientMessage(playerid, RED,coordsstring);
    }
    return 1;
    }
    return 1;
    }


    strtok(const string[], &index)
    {
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
    index++;
    }


    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
    result[index - offset] = string[index];
    index++;
    }
    result[index - offset] = EOS;
    return result;
    }


    stock StripNewLine(string[])
    {
    new len = strlen(string);
    if (string[0]==0) return ;
    if ((string[len - 1] == '\n') || (string[len - 1] == '\r')) {
    string[len - 1] = 0;
    if (string[0]==0) return ;
    if ((string[len - 2] == '\n') || (string[len - 2] == '\r')) string[len - 2] = 0;
    }
    }


    /edit Text geändert
    /edit Rechtschreibung
    /edit Code Pwn eingefügt

    2 Mal editiert, zuletzt von Flojoe7 ()