0 LIKES
Snippet
Lottery for IRC by newklear
In Category General IRC Posted by Snippets On 12/06/23
Usage:
!tatamachance|!lotto|!powerball|!lottery to start the Lottery
Examples: !lotto - Will start a 10 minute long Lottery
!lotto 3600 - Will start a 1 hour or 3600 second lottery
!lotto cancel - Will cancel the Lottery draw
!toplotto - Will display the Top 10 Lottery winners
!toplotto 20 - Will display the Top 20 Lottery winners, etc.
The winner will receive Ops in channel and previous winner will be de-Opped in channel
Feel free to edit accordingly :-)
!tatamachance|!lotto|!powerball|!lottery to start the Lottery
Examples: !lotto - Will start a 10 minute long Lottery
!lotto 3600 - Will start a 1 hour or 3600 second lottery
!lotto cancel - Will cancel the Lottery draw
!toplotto - Will display the Top 10 Lottery winners
!toplotto 20 - Will display the Top 20 Lottery winners, etc.
The winner will receive Ops in channel and previous winner will be de-Opped in channel
Feel free to edit accordingly :-)
on *:LOAD: {
$iif($exists($mircdir/Lotto),,mkdir $mircdir/Lotto)
}
on $*:TEXT:/!tatamachance|!lotto|!powerball|!lottery/:#: {
if (%lottolen) && ($2 == cancel) {
timerlotto? off
unset %lotto*
msg $chan The Lottery has been cancelled $nick $+ .
return
}
if (%lotto.fl [ $+ [ $address($nick,2) ] ] >= 2) { return }
if (!%lottolen) {
if ($2 > 86400) || ($2 < 60) { msg $chan Choose a number in range of: 60 - 86400 | return }
$iif(!$2,set %lottolen 600,set %lottolen $2)
}
inc -u $+ [ %lottolen ] %lotto.fl [ $+ [ $address($nick,2) ] ] 1
if (!%lottodraw) {
set %lottochan $chan
set %lottodraw $ctime
.timerlottodraw 1 %lottolen lotto
.timerlottodraw1 1 $calc(%lottolen + 5) unset %lotto*
}
if ($istok(%lotto,$nick,32)) {
msg $chan You are already entered into the lottery $nick $+ .
.timer2 1 1 msg $chan the Lotto Draw will take place in: $duration($timer(lottodraw).secs)
return
}
msg $chan You are entered into the Lottery $nick $+ .
.timer1 1 1 msg $chan the Lotto Draw will take place in: $duration($timer(lottodraw).secs)
%lotto = $addtok(%lotto,$nick,32)
}
alias -l lotto {
var %rand $r(1,$numtok(%lotto,32))
set %prevnick %winnick
set %winnick $gettok(%lotto,%rand,32)
msg %lottochan The Lottery Winner is: %winnick out of $iif($numtok(%lotto,32) == 1,1 entrant.,$numtok(%lotto,32) entrants.) Congratulations!
.timerlottodraw2 1 1 msg %lottochan You have won OP'S !!!
var %file $mircdir\Lotto\Lotto.txt
;by newklear - 2018
if ($read(%file,s,%winnick)) { var %line $readn | var %lwins $gettok($read(%file,%line),2,32) | write -ds $+ %winnick %file | inc %lwins | write %file %winnick %lwins | msg %winnick You have won the Lotto %lwins times. }
else { write %file %winnick 1 }
.timerlottodraw3 1 2 mode %lottochan -o %prevnick
.timerlottodraw4 1 3 mode %lottochan +o %winnick
}
on *:TEXT:!toplotto*:#:{
if (%toplotto. [ $+ [ $address($nick,2) ] ] == 6) { halt }
inc -u3600 %toplotto. [ $+ [ $address($nick,2) ] ] 1
if ($2 > 30) { msg $chan Keep it 30 and below @ $nick | return }
$iif($2,set -u30 %topwhat $2,set -u30 %topwhat 10)
toplotto #
}
alias -l toplotto {
var %file = $mircdir\Lotto\Lotto.txt, %l = %topwhat $+ , %d = $lines(%file), %w = @top10
window -hn %w
clear %w
while %d {
tokenize 32 $read(%file,nt,%d)
aline %w 4 $+ $1 $+ :3 $2 $+ 10
dec %d
}
filter -cuteww 2 32 %w %w
var %k = 1, %k1
while %k <= %l {
%k1 = $addtok(%k1,$+($chr(32),12,$chr(35),%k,) $iif($line(%w,%k),$v1,),44)
inc %k
}
msg $chan 12Top4 %toplotto 12Lotto Winner High Score's:
msg $chan %k1 $+ .
}
Comments 0
You must be logged in to comment.





