heyho leute wollte euch ma fragen wie ich eine white lsit erstellen kann sprich ich muss eintragen wer alles drauf kan und wer nich
white list
- DopeFire
- Geschlossen
- Erledigt
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
-
-
-
man kan des nicht mehr downloaden ..
-
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...
-
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 lineCompilation 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); -
mach aus list_count mal listcount und bei whitelist hab ich mich verschrieben ich denke das kannst auch selber ausbessern.
-
mach list_count draus, is nurn schreibfehler
EDIT: BFX war schneller
-
so nur noch des
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 CompuPhase2 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;
} -
ty bfx und wo speichert er die whitelist ?? unter scriptfiles ?
-
Ja. Alles was mit .ini ist etc wird scriptfiles gespeichert. Zb Staatskasse,userdatein und ander zeug.
-
ty weil hab gesucht ob es i wo drinne steht
-
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 Schlauchwird in "whitelist.txt" unter "Scriptfiles" gespeichert
-
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 CompuPhase1 Error.
line 1457
if (gdebug >= 1){printf("DEBUG Whitelist Check(%d) (%s)", playerid);}
-
new gdebug = 1; -
ich stehte auf der whitelist kan aber nicht joinen ..
-
breadfish.de
Hat das Thema geschlossen.