//edit:
ich habe nu ein großes problem, egal ob ich ein normales wort schreibe oder eine beleidigung, ich werde immer gekickt.
const maxbadwords = 28;
new BadWords[maxbadwords][0] =
{
{"Hurensohn"},
{"Hure"},
{"Wichser"},
{"Wixer"},
{"Wixxer"},
{"Schwanzlutscher"},
{"Muschilecker"},
{"Peniskopf"},
{"fotzenkopf"},
{"Penner"},
{"Wixxer"},
{"Huso"},
{"fick dich"},
{"missgeburt"},
{"fick_dich"},
{"fickdich"},
{"Huren Sohn"},
{"spaken"},
{"asshole"},
{"Spast"},
{"spasti"},
{"Fotze"},
{"Penislutscher"},
{"Arschficker"},
{"Idiot"},
{"Motherfucker"},
{"Bitch"},
{"Hurentochter"}
};
und bei OnPlayerText habe ich das:
public OnPlayerText(playerid, text[])
{
new Name[MAX_PLAYER_NAME],str[256],hour,minute,second,year,month,day;
gettime(hour,minute,second);
getdate(year,month,day);
GetPlayerName(playerid,Name,sizeof(Name));
format(str,sizeof(str),"[%d.%d.%d][%s%d:%s%d:%s%d]%s: %s\r\n" ,day,month,year, (hour < 10) ? ("0") : (""), hour+0, (minute < 10) ? ("0") : (""), minute, (second < 10) ? ("0") : (""), second, Name, text);
AddLog("Chat.log", str);
SetPlayerChatBubble(playerid, text, 0xFF0000FF, 100.0, 10000);
if(SpielerInfo[playerid][alvl] == 0)
{
Spam[playerid]+=1;
SetTimerEx("Spamtimer", 6000, 1, "i", playerid);
}
if(Spam[playerid] > 3)
{
SendClientMessage(playerid, COLOR_RED, " Hör auf zu spammen, sonst wirst du automatisch gekickt!");
return 0;
}
if(Spam[playerid] > 5)
{
SendClientMessage(playerid, COLOR_RED, " Das war zu viel Spam, du wurdest gekickt!");
Kick(playerid);
return 0;
}
if(chatlock == 1)
{
SendClientMessage(playerid, COLOR_RED, " Der Chat ist momentan gesperrt versuche es später nochmal!!");
return 0;
}
else
{
if(Mute[playerid] == 1)
{
SendClientMessage(playerid, COLOR_RED, " Du bist gemutet, warte bis ein Admin dich unmutet!");
return 0;
}
}
for(new i = 0;i<maxbadwords;i++)
{
if(strfind(text,BadWords[i][0],true))
{
new kname[MAX_PLAYER_NAME], string[256];
GetPlayerName(playerid, kname, sizeof(kname));
SendClientMessage(playerid,0xFF0000FF,"Beleidigungen sind verboten, du wurdest gekickt!");
format(string, sizeof(string), "%s wurde vom System gekickt. Grund: Beleidigung ",kname);
SendClientMessageToAll(0xFF0000FF,string);
Kick(playerid);
}
}
return 1;
}
ich habe auch ein /o chat, da habe ich das so:
dcmd_o(playerid,params[])
{
for(new i = 0;i<maxbadwords;i++)
{
new omsg[256];
if(sscanf(params, "s", omsg))
{
return SendClientMessage(playerid,COLOR_RED,"Benutzung: /o(oc) [Text]");
}
else if(Mute[playerid] == 1)
{
SendClientMessage(playerid, COLOR_RED, " Du bist gemutet, warte bis ein Admin dich unmutet!");
}
else if(olock == 1)
{
return SendClientMessage(playerid,0xFFFFFFFF,"Der OOC wurde von einem Admin abgeschaltet!");
}
else if(strfind(omsg,BadWords[i][0],true))
{
new kname[MAX_PLAYER_NAME], string[256];
GetPlayerName(playerid, kname, sizeof(kname));
SendClientMessage(playerid,0xFF0000FF,"Beleidigungen sind verboten, du wurdest gekickt!");
format(string, sizeof(string), "%s(%d) wurde vom System gekickt. Grund: Beleidigung ",kname,playerid);
SendClientMessageToAll(0xFF0000FF,string);
Kick(playerid);
}
else
{
new ostr[256];
new aname[MAX_PLAYER_NAME];
GetPlayerName(playerid, aname, sizeof(aname));
format(ostr, sizeof(ostr), "(( %s: %s ))", aname, omsg);
SendClientMessageToAll(COLOR_WHITE,ostr);
new str[256],hour,minute,second,year,month,day;
gettime(hour,minute,second);
getdate(year,month,day);
format(str,sizeof(str),"[%d.%d.%d][%s%d:%s%d:%s%d]%s:/o(oc %s\r\n" ,day,month,year, (hour < 10) ? ("0") : (""), hour+0, (minute < 10) ? ("0") : (""), minute, (second < 10) ? ("0") : (""), second, aname, omsg);
AddLog("Chat.log", str);
}
}
return 1;
}
ich werde immer gekickt, egal was ich schreibe und die kick nachricht kommt auch 1000ende mal