ID:263032
 
Code:
mob/Player/verb
Say(T as text)
if (length(T) > 350)
usr<<"<b>{Server}:[usr] you have went over the text limit, you have been warned"
warns++
return
world<<"\yellow <b>[usr]:<font color=blue>[html_encode(T)]"
AutoMute(usr)

mob/proc/AutoMute(var/mob/M)
if(src.warns==3)
world<<"<b>{Server}:[M] has been Auto-Muted for Spam, and will be un-muted in 1 min."
M.verbs -= /mob/Player/verb/Say
M.mutes++
sleep(600)
M.verbs += /mob/Player/verb/Say
world<<"<b>{Server}:[M] has been unmuted"
if(src.mutes==3)
world<<"<b>{Server}:[M] has been Auto-Booted for attempting to spam to many times"
del src


Problem description:Its not calling the Auto-Mute proc when i get 3 warns what can i do to fix this?

Are you sure taking a verb is safe? They can always relog on this. You should keep a list and an associative time for how long everyone should be warned though. Anyway, your problem is that you only called AutoMute when the text is less than 350 characters. Take it from the end because it's useless there and place it before the return statment.
mob/Player/verb
Say(T as text)
if (length(T) > 350)
usr<<"<b>{Server}:[usr] you have went over the text limit, you have been warned"
warns++
AutoMute(usr)
else world<<"\yellow <b>[usr]:<font color=blue>[html_encode(T)]"