aka autotalker ;)
Basicly its a autotalker for loot and onzichtbaar. Got to love abuse :)
I can write you a script that works the same but is safe?
If you didnt want it here it is anyways:
on $*:TEXT:/^[!.]report/Si:#:{
;;antiflood1 (Spam)
if (%flood [ $+ [ $nick ] ]) { halt }
set -u3 %flood [ $+ [ $nick ] ] $true
;;antiflood2 (Overusage)
if (%flood1 [ $+ [ $nick ] ]) { notice $nick Please wait: $duration($var($+(%,flood1,$nick),1).secs) before using this command again! | halt }
;;Checks, to keep your ini files clean.
if (!$2-) { notice $nick Please use the correct syntax: !report <reportmsg> | halt }
if (!$7) { notice $nick Please use atleast 6 words for your report! | halt }
if ($51 != $null) { notice $nick You cant use more then 50 words for your report! | halt }
else { /report $nick $2- | notice $nick Your report: $2- has been saved! A moderator will check it as soon as possible! | set -u900 %flood1 [ $+ [ $nick ] ] $true | halt }
}
;;To check your last report!
on $*:TEXT:/^[!.](myreport$)/Si:#:{
;;antiflood1 (Spam)
if (%flood [ $+ [ $nick ] ]) { halt }
set -u3 %flood [ $+ [ $nick ] ] $true
if (!$readini(report.ini,n,Reports,$+($nick,%rnick))) { notice $nick You havent report anything! | halt }
else { notice $nick Your last report was: $readini(report.ini,n,Reports,$+($nick,%rnick)) $+ . Saved on: $readini(report.ini,n,Dates,$+($nick,%rnick)) | halt }
}
;;alias that creates the reports! It has a lot of vars but they get unset every few minutes!
alias report {
if (!$1) || (!$2-) { halt }
inc %rnick [ $+ [ $1 ] ] 1
set %report [ $+ [ $+($1,%rnick) ] ]
/echo Reporting $1 with reportmessage: $2-
.timer 1 2 writeini -n report.ini Reports $+($1,%rnick) $2-
.timer 1 2 writeini -n report.ini Dates $+($1,%rnick) $fulldate
.timer 1 1 /echo Report of $1 has been saved!
}
This script has multiple things that wont work. You have to remove
You couldv used something much simpler with the same effect:
on $*TEXT:/^[!.]countdown$/Si:#:{
if (%flood [ $+ [ $nick ] ]) { halt }
set -u2 %flood [ $+ [ $nick ] ] $true
if (%flood2 [ $+ [ $chan ] ]) { notice $nick Please wait 10seconds before counting down again! | halt }
set -u10 %flood2 [ $+ [ $chan ] ] $true
msg $chan Countdown Started!
timer 1 1 msg $chan 5
timer 1 2 msg $chan 4
timer 1 3 msg $chan 3
timer 1 4 msg $chan 2
timer 1 5 msg $chan 1
timer 1 6 msg $chan Go! | halt }
}
This is simple msl code but it will work better and safer then urs. I recommend using $chan for scripts that use multiple timers. Timers will cause spam and no one likes that. Unless its for fun ;D
Next time post your code in the Code section of your post.
The if ($2 > 5) { is unecesary since the script doesnt care what you type in the $2 section. It will just always count down from 5 to 0.
What you are trying to do looks like this:
on $*TEXT:/^[!.]countdown/Si:#:{
if (!$2) { notice $nick Please provide the time in seconds you want to count down from! | halt }
elseif (%countdown [ $+ [ $nick ] ]) { notice $nick You still have a timer running! | halt }
elseif ($2 > 5 || $2 < 1) { notice $nick I cant countdown from lower then 1 or higher then 5! You entered $2 wich isnt correct! | halt }
else { notice $nick Started counting down from $2. | set $+(-u,$2) %countdown [ $+ [ $nick ] ] $true | .timer $+(countdown,$nick) $2 notice $nick The timer stopped after counting down from $2 $+ . | halt }
halt
}
I think you should try to solve the !istok part with something else. Because if someone wants to block more then 3 websited they get way too long lines. Maby an alias that checks a file with the websites in it?
Plus maby add a line that messages the channel that someone has sent a link that isnt allowed. This should be simple to add!
:) For the rest good job!