Hi guys,
I've been searching around for scramble tcl, but can't find one! any idea where I can get it? or anybody willing to help me in converting an mirc scramble script to tcl? but I'm not the one who wrote the script.
Here is the script:
on 1:start: { /unset %guest.* }
on 1:connect: {
if ( %owner == $null ) || ( %channel == $null ) { echo -s 12please setting OWNER / CHANNEL | halt }
/join %channel
/away SCRAMBLE ver 0.6a ( %owner at %channel )
/unset %guest.sw
/unset %guest.answ
/unset %guest.repeat
/timerGuest10 0 30 /notice %prince Anti Idle Scramble Game
/set %guest.num $readini datascramble.ini Numb guest
if ( %guest.num == $null ) { /set %guest.num 1 | /writeini datascramble.ini Numb guest 1 }
}
on 1:join:%channel: {
if ( $nick == $me ) { /unset %guest.sw | /timerguest3 1 10 /guest.soal }
}
on 1:part:%channel {
/unset %guest.nick [ $+ [ $nick ] ] $nick
if ( $nick == $me ) { /timerguest1 off | /timerguest2 off }
}
on 1:text:!ping*:%channel: {
if ( $nick != %guest.nick ) {
/set -u30 %guest.nick $nick | /ctcp $nick ping }
}
on 1:ctcpreply:ping*:{
set %guest.pt 0 | %guest.pt = $ctime - $parm2
if ( $nick == $me ) { halt }
if ( $nick ison %channel ) { /msg %channel 0,1 $nick $+ , your ping reply in %guest.pt secs }
halt
}
on 1:TEXT:!score*:?: {
if ( $nick == %owner ) && ( $3 != $null ) {
/set %guest.score $readini datascramble.ini Player $2
if ( $3 == del ) { /dec %guest.score $4 | /msg %owner Score $2 del $4 | /msg %owner New Score $2 is %guest.score }
if ( $3 == add ) { /inc %guest.score $4 | /msg %owner Score $2 add $4 | /msg %owner New Score $2 is %guest.score }
/writeini datascramble.ini Player $2 %guest.score | halt }
}
on 1:TEXT:!score*:%channel: {
if ( $nick != %guest.nick ) {
/set -u15 %guest.nick $nick
if ( $2 == $null ) { /set %guest.score $readini datascramble.ini Player %guest.nick
if ( %guest.score == $null ) {
/msg %channel 13** %guest.nick $+ , your score is 0 ** }
else {
/msg %channel 13** %guest.nick $+ , your score is %guest.score ** } }
else {
/set %guest.score $readini datascramble.ini Player $2
if ( %guest.score == $null ) {
/msg %channel 13**7 %guest.nick $+ 13, $2 score is 0 ** }
else {
/msg %channel 13**7 %guest.nick $+ 13, $2 score is %guest.score ** } }
}
}
on 1:TEXT:!skip*:%channel: {
if ( %guest.repeat != $null ) { /unset %guest.repeat }
if ( %guest.skip == 1 ) { /msg %channel 8,12 $nick $+ ,0 You can skip after8 30 sec | /set -u20 %guest.skip 2 }
if ( %guest.skip == $null ) { /msg %channel 0,12 SKIP8 $nick $+ ,0 OK, I do that | /set %guest.skip 2 | /unset %guest.sw | /guest.soal }
/halt
}
on 1:TEXT:%guest.answ:%channel: {
/set %guest.sw 2
/set %guest.skip 2
/set %guest.extra $rand(1,20)
/set %guest.score $readini datascramble.ini Player $nick
/echo -s 12 $nick score %guest.score
if ( %guest.score == $null ) {
/set %guest.repeat $nick | /set %guest.score 1
/set %guest.extra1 0 | /set %guest.extra2 0 }
else {
/inc %guest.score
if ( $nick == %guest.repeat ) { /inc %guest.extra1 | /inc %guest.score %guest.extra1 }
else {
/set %guest.repeat $nick | /set %guest.extra1 0 }
if ( %guest.extra == 9 ) || ( %guest.extra == 15 ) {
%guest.extra = %guest.extra / 3 | /inc %guest.score %guest.extra | /set %guest.extra2 %guest.extra }
else {
/set %guest.extra2 0 }
}
/echo -s 12 $nick repeat %guest.extra1 bonus %guest.extra2 score %guest.score
/writeini datascramble.ini Player $nick %guest.score
/writeini datascramble.ini Numb guest %guest.num
if ( %guest.extra1 == 0 ) && ( %guest.extra2 == 0 ) { /msg %channel 7Correct Answer %guest.answ by $nick }
if ( %guest.extra1 != 0 ) && ( %guest.extra2 == 0 ) { /msg %channel 7Correct Answer %guest.answ by $nick (repeat+ $+ %guest.extra1 $+ ) }
if ( %guest.extra1 == 0 ) && ( %guest.extra2 != 0 ) { /msg %channel 7Correct Answer %guest.answ by $nick (bonus+ $+ %guest.extra2 $+ ) }
if ( %guest.extra1 != 0 ) && ( %guest.extra2 != 0 ) { /msg %channel 7Correct Answer %guest.answ by $nick (repeat+ $+ %guest.extra1 bonus+ $+ %guest.extra2 $+ ) }
/unset %guest.answ
/unset %guest.sw
/unset %guest.nick
if ( %guest.extra1 > 4 ) { /set %guest,extra1 4 }
/guest.soal
/inc %guest.nick [ $+ [ $nick ] ] $nick
if ( %guest.nick [ $+ [ $nick ] ] == 10 ) { /mode %channel +v $nick | ; /msg %channel 4,15 $nick $+ , You are 10 times give a correct answer and I give You a Bonus VOICE }
}
}
alias guest.soal {
if ( %guest.sw == $null ) {
/set %guest.sw 2
:loop
%guest.M2 = 0000 $+ $ABS(%guest.num)
%guest.M1 = $left($right(%guest.M2, 5),2)
/set %guest.file datascram- $+ %guest.M1 $+ .ini
/set %guest.hint $readini %guest.file Hint %guest.num
/set %guest.answ $readini %guest.file Answ %guest.num
if ( $len(%guest.answ) > 10 ) || ( %guest.answ == $null ) {
/inc %guest.num $rand(1,10) | /set %guest.max $readini datascramble.ini Numb Max
if ( %guest.num > %guest.max ) { /set %guest.num 1 }
goto loop }
/set %guest.answ $lower(%guest.answ)
/set %guest.word $guest.scram( %guest.answ )
/msg %channel 12Scramble Game ver 0.6a
/msg %channel 12Hint : %guest.hint
/msg %channel 12Word : %guest.word
/msg %channel 4Help : !score !skip !ping
/msg %owner 5Scramble --> %guest.answ
/msg #n21 4Scramble1 %guest.num 12 $+ %guest.hint 13 $+ %guest.answ
/writeini datascramble.ini Numb guest %guest.num
/inc %guest.num $rand(1,10)
/set %guest.max $readini datascramble.ini Numb Max
if ( %guest.num > %guest.max ) { /set %guest.num 1 }
/set -u30 %guest.skip 1
/set -u180 %guest.sw 1
/unset %guest.nick
/timerguest1 0 10 /guest.soal
/timerguest2 1 150 /msg %channel 15 $+ %guest.answ
}
}
alias guest.scram {
if ( $rand(1,5) == 3 ) { /ctcp $me ping }
unset %guest.scram.*
%guest.scram.w = 1
:1
inc %guest.scram.i
if (%guest.scram.i > $len($gettok($1-,%guest.scram.w,32))) goto 2
%guest.scram.ls = %guest.scram.ls $mid($gettok($1-,%guest.scram.w,32),%guest.scram.i,1)
goto 1
:2
%guest.scram.l = $r(1,$gettok(%guest.scram.ls,0,32))
if (%guest.scram.i) {
%guest.scram.wrd = %guest.scram.wrd $gettok(%guest.scram.ls,%guest.scram.l,32)
unset %guest.scram.i }
else %guest.scram.wrd = %guest.scram.wrd $+ $gettok(%guest.scram.ls,%guest.scram.l,32)
if ($len($gettok(%guest.scram.wrd,%guest.scram.w,32)) == $len($gettok($1-,%guest.scram.w,32))) {
if ($len(%guest.scram.wrd) == $len($1-)) return %guest.scram.wrd
inc %guest.scram.w | %guest.scram.ls = ""
goto 1
}
%guest.scram.ls = $deltok(%guest.scram.ls,%guest.scram.l,32)
goto 2
}
I've removed some comments & features to make it shorter.