GTA Közösség - A magyar GTA fórum
San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: staubka - 2011. november 23. - 19:48:41
-
Hi.
OnPlayerText alá raktam õt:
[pawn]if(strfind(text,\"geci\",true) != 0 || strfind(text,\"kurva\",true) != 0 || strfind(text,\"anyád\",true) != 0 ||
strfind(text,\"csicska\",true) != 0 || strfind(text,\"fasz\",true) != 0 || strfind(text,\"ribanc\",true) != 0 ||
strcmp(text,\"buzi\",true) != 0 || strfind(text,\"baszdmeg\",true) != 0 || strfind(text,\"bazdmeg\",true) != 0)
{
warns[playerid]++;
if(warns[playerid] < 3)
{
MSG(COLOR_YELLOW,\"|- Adminisztrátor Anonym figyelmeztette a(z) %s nevû játékost. || Indok: Moderáld magad! | Figyelmeztetések: %d/3 -|\",PlayerName(playerid),warns[playerid]);
}
else if(warns[playerid] >= 3)
{
MSG(COLOR_RED,\"|- Adminisztrátor Anonym figyelmeztette a(z) %s nevû játékost. || Indok: Moderáld magad! | Figyelmeztetések: 3/3 -|\",PlayerName(playerid),warns[playerid]);
Kick(playerid);
}
}[/pawn]
És az a problem vele, hogy akkor is végrehajtja a figyelmeztetést, ha nem szerepel az üzenetemben akármelyik szó is. Mi lehet a gond?:S
-
Szerintem:
[pawn]strfind(text,\"szöveg\",true) != 0[/pawn]
helyett
[pawn]strfind(text, \"szöveg\") != -1[/pawn]
-
[pawn]new BadWords[][]
{
\"buzi\",
\"fasz\",
\"köcsög\",
\"barom\"
};
public OnPlayerText(playerid, text[])
{
if(!strfind(text, BadWords[text][1], true))
{
// figyelmeztetés, stb.
}
return 1;
}[/pawn]
! jelet tegyél inkább a strfind elé, és a végén hagyd a true értéket, aztán ne használj semmi többet, az érték után egyböl zárd le ))
-
Egyiksem. Viszont rájöttem... Helyes megfejtés:
[pawn]static const BadWords[][] = {
\"geci\",
\"kurva\",
\"anyád\",
\"csicska\",
\"fasz\",
\"ribanc\",
\"buzi\",
\"bazdmeg\",
\"baszdmeg\"
};[/pawn]
onplayertext alatt:
[pawn]if(IsBadWord(text))
{
warns[playerid]++;
if(warns[playerid] < 3)
{
MSG(COLOR_YELLOW,\"|- Adminisztrátor Anonym figyelmeztette a(z) %s nevû játékost. || Indok: Moderáld magad! | Figyelmeztetések: %d/3 -|\",PlayerName(playerid),warns[playerid]);
}
else if(warns[playerid] >= 3)
{
MSG(COLOR_RED,\"|- Adminisztrátor Anonym figyelmeztette a(z) %s nevû játékost. || Indok: Moderáld magad! | Figyelmeztetések: 3/3 -|\",PlayerName(playerid),warns[playerid]);
Kick(playerid);
}
}[/pawn]
[pawn]stock IsBadWord(string[])
{
for (new i = 0; i < sizeof (BadWords); ++i)
if (strfind (string, BadWords , true) != -1)
return true;
return false;
}[/pawn]
Azé kösz mindenkinek, adok egy-egy lájkot :D
-
Ha a téma megoldódott máskor zárj!
[mod]Zárok[/mod]