-
Hello.Ismét akadt egy kis gondom.
az strcmp nél akadtam le.
Akarok egy olyan cuccot csinálni hogy tiltott nevek.
A tiltott neveket meg csináltam így:
new TiltottNevek[][]={
\"név1\",
\"név2\",
\"név3\"
};
A kérdés egyszerû, viszont a választ még nem tudom rá.
Hogyan tudom azt meg csinálni hogy ha a játékos neve egyenlõ ezekkel a nevekkel.
Próbáltam több féle képpen, de sehogy sem mûködik.
new PlayerName[MAX_PLAYER_NAME];
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
if(!strcmp(TiltottNevek<valami>,PlayerName,true)) {
}
Ezt kéne kiegészíteni.
-
LuxAdminban így van, talán ez segít.
new BlockedNames[100][100],
BlockedNamesCount = 0;
if(ServerInfo[NameKick] == 1)
{
for(new s = 0; s < BlockedNamesCount; s++)
{
if(!strcmp(BlockedNames,PlayerName,true))
{
SendClientMessage(playerid,red, \"ATTENTION: Your name is on our Black List, you have been Kicked.\");
format(string,sizeof(string),\"|- Player %s (Id:%d) has been Automatically Kicked. | Reason: Forbidden Name -|\",PlayerName,playerid);
SendClientMessageToAll(red, string);
print(string);
SaveIn(\"KickLog\",string);
Kick(playerid);
return 1;
}
}
}
-
Nekem is LuxAdmin van, viszont ezt akarom tudni.Utána néztem itt is.De ezt nem értem.
BlockedNames[100][100]
a blockednames ot nem tudom hol veszi át a tiltott neveket.
De ha elmagyaráznád, akk lehet megérteném
-
Tehát nézzük.. adott egy tömb teli nevekkel.
Azokon végig kell lépegetnünk, pl. a for ciklussal. A te esetedben így néz ki:
new PlayerName[MAX_PLAYER_NAME];
GetPlayerName(playerid, PlayerName, sizeof(PlayerName));
for(new i;i<sizeof(TiltottNevek);i++)
{
if(!strcmp(TiltottNevek,PlayerName,true)) return Kick(playerid);
}
-
Áh értem.Kössz.Megy a +.