This is a little script I made so I could easily glance at the screen and see who's using the 0 of 0 hack. At first I wasn't going to release this, because I figured many people would actually use this method to ban users that use the hack...which I didn't want since I use it and many others do as well. I also added the client because some clients don't report back a transfer status, so I figured that'd make it easy to tell if the transfer status was real or not.
This script is made for
WCS 1.8rc3 and was created with
Metis 2.8b1m4 but should work just fine on previous versions. All this script does is do stats on the user as they enter and extract the transfer status and client type and then just relay it back to everyone with a /notice. It'll color the transfer status red if they're using the 0 of 0 hack, and leave it yellow if it's a regular status.
I've added a sleep to the OnEnter because WCS does take a while to get the transfer status and client name. You may want to make it wait a little longer, but it's made to display "Unknown" if it doesn't report back anything. You may also want to change it from a notice to something else to make it a bit more private or something. Other then that, this script requires no modifications and should work just fine as long as you have the correct server. If you experience any problems, or have any questions. You know who to ask, here's the script. Have fun.
<OnEnter type="script">
<out type="sleep" extdata="1500"/>
<out type="push" extdata="STATSALLOW">1</out>
<out>/hidecmd /stats %RAWNAME%</out>
</OnEnter>
<command mode="thread" type="script" condition="==" lvalue="%USERVAR[STATSALLOW]%" rvalue="1">
<in>Transfer Status: %PARAM%</in>
<out type="push" extdata="USERTRANSFERSTATUS">%PARAM%</out>
</command>
<command mode="thread" type="script" condition="==" lvalue="%USERVAR[STATSALLOW]%" rvalue="1">
<in>Client: %PARAM%</in>
<out type="push" extdata="USERCLIENT">%PARAM%</out>
<out type="push" extdata="USERTRANSFERSTATUS" condition="==" lvalue="%USERVAR[USERTRANSFERSTATUS]%" rvalue="">#c58#Unknown#c0#</out>
<out condition="?" lvalue="%USERVAR[USERTRANSFERSTATUS]%" rvalue="0 of 0 available">/hidecmd /notice #c62#Transfer Status: #c58#%USERVAR[USERTRANSFERSTATUS]%#c0# Client: #c66#%USERVAR[USERCLIENT]%</out>
<out condition="?" lvalue="%USERVAR[USERTRANSFERSTATUS]%" rvalue="-">/hidecmd /notice #c62#Transfer Status: #c58#%USERVAR[USERTRANSFERSTATUS]%#c0# Client: #c66#%USERVAR[USERCLIENT]%</out>
<out type="goto" extdata="2" condition="?" lvalue="%USERVAR[USERTRANSFERSTATUS]%" rvalue="-"/>
<out condition="!?" lvalue="%USERVAR[USERTRANSFERSTATUS]%" rvalue="0 of 0 available">/hidecmd /notice #c62#Transfer Status: #c56#%USERVAR[USERTRANSFERSTATUS]%#c0# Client: #c66#%USERVAR[USERCLIENT]%</out>
<out type="pop" extdata="USERTRANSFERSTATUS"/>
<out type="pop" extdata="USERCLIENT"/>
<out type="pop" extdata="STATSALLOW"/>
</command>