Zmiana fragmentu kodu

0

Witam
Problem polega na tym, że chciałbym wprowadzić cenzurę, gdy gracz powie "jesteś ch**" (ofc bez gwiazdek), to ten tekst w ogóle nie przejdzie.

W sumie trochę i tak jestem cienki w c++ ale szkolę się jak mogę i rzadko wchodzę na forum, by pytać o pomoc, bo zwykle kombinuję, ale niestety, już sił brak.

Skrypt nie działa zapewne dlatego, że ta funkcja działa na pojedynczy znak:

    StringVec przeklenstwo = explodeString(text, "chuj"); //4programmers zacenzurowało słowo :P
	if(przeklenstwo.size() > 0)
	{
		player->sendTextMessage(MSG_EVENT_ADVANCE, text);
		return true;
	}

Zatem moje pytanie brzmi: Czy mógłby ktoś mi pomóc napisać poprawny kodzik, by zadziałało cenzurowanie danych słów (na razie dla testów wpisałem tylko jedno) w ciągu znaków, lub ewentualnie podać odpowiedni przykład do tego?

Pozdrawiam.

0
if(text.find("chuj") != std::string::npos)
{
  KrzyknijUserowi("A ić se przeklinać pod monopolowy!");
}
else
{
  WyslijWiadomosc(text);
}

Jeśli text to std::string. Jak dodasz więcej słów to możesz się wspomóc tablicą szeroko rozumianych słów i przebiec przez nią w pętli.

0

Dzięki wielkie za pomoc x]
Mam jeszcze jedno pytanko, mogę jakoś zmienić łańcuch string tak, by wszystkie znaki w nim były z małej litery?

0
transform(str.begin(), str.end(), str.begin(), tolower);

1 użytkowników online, w tym zalogowanych: 0, gości: 1