white list

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
  • new whitelist[500][MAX_PLAYER_NAME];
    new list_count = -1;



    // Unter OnPlayerConnect


    if(listcount > -1)
    {
    new bool:fnd,plname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,plname,sizeof plname);
    for(new i = 0;i<listcount;i++)
    {
    if(!strcmp(whitelist[i],plname))
    {
    fnd = true;
    break;
    }
    }
    if(!fnd)Kick(playerid);
    }



    // Unter OnGameModeInit



    new File:fl = fopen("whitelist.txt",io_read);
    new rdr;
    do
    {
    listcount++;
    rdr = fread(fl,whilelist[listcount],MAX_PLAYER_NAME);
    }
    while(rdr);



    // Kommandos


    if(!strcmp(cmdtext,"/wadd",true,5))
    {
    new msg[64];
    if(!cmdtext[7])return SendClientMessage(playerid,0xFF0000FF,"Nutze /wadd [Nutzername]");
    format(msg,sizeof msg,"Der Name %s wurde zu Whitelist hinzugefügt.",cmdtext[7]);
    listcount++;
    strmid(whitelist[i],cmdtext[7],0,strlen(cmdtext[7]),MAX_PLAYER_NAME);
    return 1;
    }



    Sollte so gehen, habs eben ausm Kopf geschrieben...

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


    Einmal editiert, zuletzt von BlackFoX ()

  • D:\samp server\eigener server neue version R4\samp03asvr_R7_win32\gamemodes\vl.pwn(227) : error 017: undefined symbol "listcount"
    D:\samp server\eigener server neue version R4\samp03asvr_R7_win32\gamemodes\vl.pwn(227) : warning 215: expression has no effect
    D:\samp server\eigener server neue version R4\samp03asvr_R7_win32\gamemodes\vl.pwn(228) : error 017: undefined symbol "whilelist"
    D:\samp server\eigener server neue version R4\samp03asvr_R7_win32\gamemodes\vl.pwn(228) : error 017: undefined symbol "listcount"
    D:\samp server\eigener server neue version R4\samp03asvr_R7_win32\gamemodes\vl.pwn(228) : error 029: invalid expression, assumed zero
    D:\samp server\eigener server neue version R4\samp03asvr_R7_win32\gamemodes\vl.pwn(228) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    5 Errors.


    line 226 und 227


    listcount++;
    new rdr = fread(fl,whilelist[listcount],MAX_PLAYER_NAME);

  • so nur noch des :D
    D:\samp server\eigener server neue version R4\samp03asvr_R7_win32\gamemodes\vl.pwn(229) : warning 204: symbol is assigned a value that is never used: "rdr"
    D:\samp server\eigener server neue version R4\samp03asvr_R7_win32\gamemodes\vl.pwn(229 -- 231) : error 017: undefined symbol "rdr"
    D:\samp server\eigener server neue version R4\samp03asvr_R7_win32\gamemodes\vl.pwn(809) : error 017: undefined symbol "i"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.


    line 229
    new rdr = fread(fl,whitelist[listcount],MAX_PLAYER_NAME);


    line 809
    strmid(whitelist[i],cmdtext[7],0,strlen(cmdtext[7]),MAX_PLAYER_NAME);


    why sagt er mir das rdr nie benutz wird und das es undefinert ist oO

  • Ganz oben:
    forward Whitelist(playerid);
    new bool:AufDerWhitelist[MAX_PLAYERS];


    Ganz unten:
    public Whitelist(playerid)
    {
    if (gdebug >= 1){printf("DEBUG Whitelist Check(%d) (%s)", playerid);}
    new playername2[MAX_PLAYER_NAME];
    new storedcopname[64];
    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;
    }


    OnPlayerConnect

    if (Whitelist(playerid)) {
    AufDerWhitelist[playerid]=true;
    } else {
    SendClientMessage(playerid, RED, "Du stehst nicht auf der Whitelist");
    Kick(playerid);
    AufDerWhitelist[playerid]=false;
    }


    bei OnPlayerCommand:
    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,COLOR_YELLOW, "[BENUTZUNG]: /whitelist [Spielername]");
    }
    new File:hFile,coordsstring[128];
    format(coordsstring,128, "%s\r\n",result);
    hFile = fopen("Whitelist.cfg", io_append);
    fwrite(hFile, coordsstring);
    fclose(hFile);
    SendClientMessage(playerid,COLOR_ORANGE,"Der Spieler wurde zur Whitelist geaddet!");
    return 1;
    }


    Mfg. BlattPapier

  • so... nochmal ohne Denkfehler...


    new whitelist[500][MAX_PLAYER_NAME];
    new listcount = -1;



    // Unter OnPlayerConnect


    if(listcount > -1)
    {
    new bool:fnd,plname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,plname,sizeof plname);
    for(new i = 0;i<listcount;i++)
    {
    if(!strcmp(whitelist[i],plname))
    {
    fnd = true;
    break;
    }
    }
    if(!fnd)Kick(playerid);
    }



    // Unter OnGameModeInit



    new File:fl = fopen("whitelist.txt",io_read);
    new rdr;
    do
    {
    listcount++;
    rdr = fread(fl,whitelist[listcount],MAX_PLAYER_NAME);
    }
    while(rdr);



    // Kommandos


    if(!strcmp(cmdtext,"/wadd",true,5))
    {
    new msg[64];
    if(!cmdtext[7])return SendClientMessage(playerid,0xFF0000FF,"Nutze /wadd [Nutzername]");
    format(msg,sizeof msg,"Der Name %s wurde zu Whitelist hinzugefügt.",cmdtext[7]);
    listcount++;
    strmid(whitelist[listcount],cmdtext[7],0,strlen(cmdtext[7]),MAX_PLAYER_NAME);
    return 1;
    }

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • Ja. Alles was mit .ini ist etc wird scriptfiles gespeichert. Zb Staatskasse,userdatein und ander zeug.

  • du musst die selber erstellen einfach:
    whitelist.txt erstellen und in scriptfiles einfügen

  • //Kommandos


    if(!strcmp(cmdtext,"/wadd",true,5))
    {
    new msg[64];
    if(!cmdtext[7])return SendClientMessage(playerid,0xFF0000FF,"Nutze /wadd [Nutzername]");
    format(msg,sizeof msg,"Der Name %s wurde zu Whitelist hinzugefügt.",cmdtext[7]);
    listcount++;
    strmid(whitelist[listcount],cmdtext[7],0,strlen(cmdtext[7]),MAX_PLAYER_NAME);
    new File:svs = fopen("whitelist.txt",io_write);
    for(new i = 0;i<listcount;i++)fwrite(svs,whitelist[i]);
    fclose(svs);
    return 1;
    }


    // Unter OnGameModeInit



    new File:fl = fopen("whitelist.txt",io_read);
    new rdr;
    do
    {
    listcount++;
    rdr = fread(fl,whitelist[listcount],MAX_PLAYER_NAME);
    }
    while(rdr);
    fclose(fl);


    Bitte die entsprechenden Teile noch einmal ersetzen, das mit dem Speichern hab ich total vercheckt... :|
    Ich steh heute mal wieder aufm Schlauch



    wird in "whitelist.txt" unter "Scriptfiles" gespeichert

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • hmh werd jetzt gekickt wen ich joinen will hab mich aber eingetragen ..



    /e bei dem von brot sagt er


    D:\samp server\eigener server neue version R4\samp03asvr_R7_win32\gamemodes\vl.pwn(1457) : error 017: undefined symbol "gdebug"
    D:\samp server\eigener server neue version R4\samp03asvr_R7_win32\gamemodes\vl.pwn(2386) : warning 203: symbol is never used: "AufDerWhitelist"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    line 1457


    if (gdebug >= 1){printf("DEBUG Whitelist Check(%d) (%s)", playerid);}

    3 Mal editiert, zuletzt von DopeFire ()