SphereCommunity
ANTI SWEARING? - Printable Version

+- SphereCommunity (https://forum.spherecommunity.net)
+-- Forum: Sphere 0.56d (/Forum-Sphere-0-56d)
+--- Forum: Script Help (/Forum-Script-Help)
+--- Thread: ANTI SWEARING? (/Thread-ANTI-SWEARING)



ANTI SWEARING? - kn4tseb - 09-30-2014 01:28 PM

Guys, some tips to start a anti swearing system?
is it possible?

maybe replacing set words by ASCII characters?

GO %&~#@ Your self ?


RE: ANTI SWEARING? - Extreme - 09-30-2014 03:15 PM

http://forum.spherecommunity.net/Thread-STRREPLACE--3734?highlight=strreplace


RE: ANTI SWEARING? - kn4tseb - 10-01-2014 03:02 AM

Thanks extreme but i could not tell how to start... in game if i say an unwanted word is it possible to change it???? or that is only clientside?


RE: ANTI SWEARING? - Extreme - 10-01-2014 03:35 AM

PHP Code:
[SPEECH SPK_PLAYER]
ON=*
serv.<args
start here


RE: ANTI SWEARING? - darksun84 - 10-01-2014 03:47 AM

By the way the client have a built-in obscenity filter !(but just english words)


RE: ANTI SWEARING? - kn4tseb - 10-01-2014 04:51 AM

Thanks!


RE: ANTI SWEARING? - kn4tseb - 10-01-2014 12:32 PM

Okey, once again i need some help, wasnt hard to replace a single forbidden word from a string, but the thing is how could i replace multiple words in a single function that returns the complete text but the matched badwords replaced by a newword?

Code:
[SPEECH spk_player]
ON=*
FORBIDDENWORDS <ARGS>

[FUNCTION FORBIDDENWORDS]
LOCAL.ARGS = <ARGS>
ARGS=BW1,BW2,BW3,BW4,BW5,BW6,BW7,BW8,BW9,BW10
FOR 0 <EVAL <ARGV>-1>
IF STRMATCH("*<ARGV[<LOCAL._FOR>]>*","*<LOCAL.ARGS>*")
LOCAL.BWORDS ++
LOCAL.BADWORDS .= <STRREPLACE <ARGV[<LOCAL._FOR>]>,%&@#&$,<LOCAL.ARGS>>
ENDIF
ENDFOR

This way will return N ARGS, depending on how many bad words were said and each <LOCAL.BADWORDS> will have one of the word replaced but the other ones wont be, as logic...

i havent been able to figure a way to replace every bad word in a single text.

thanks in advance


RE: ANTI SWEARING? - Extreme - 10-01-2014 01:08 PM

Code:
[SPEECH spk_player]
ON=*
LOCAL.COLOR <dARGN2>
LOCAL.ARGS <ARGS>
ARGS BW1,BW2,BW3,BW4,BW5,BW6,BW7,BW8,BW9,BW10
FOR 0 <EVAL <ARGV>-1>
IF STRMATCH("<ARGV[<LOCAL._FOR>]>","<LOCAL.ARGS>")
  LOCAL.ARGS <STRREPLACE <ARGV[<LOCAL._FOR>]>,%&@#&$,<LOCAL.ARGS>>
ENDIF
ENDFOR
ARGS <LOCAL.ARGS>
SAY @<dLOCAL.COLOR>,,1 <ARGS>
RETURN 1

Try this...


RE: ANTI SWEARING? - kn4tseb - 10-01-2014 02:13 PM

Worked great, only the color wasnt stored inside the function so i set it manually