set tgqdb "/home/somebody/eggdrop/scripts/preghist.txt"
set tgscf "/home/somebody/eggdrop/scripts/trivia.scores"
set tgerrfil "/home/somebody/eggdrop/scripts/trivia.errors"
set tghtmlfile "/home/somebody/eggdrop/puntaje.html"
# to disable HTML page.
set tghtmlrefresh 1000
set tgchan "#Games"
set tgpointsperanswer 1
set tgmaxhint 4
set tgstreakmin 2
set tgmaxmissed 0
set tghintchar "@"
set tgtimehint 12
set tgtimenext 16
set tgcongrats [list "Eres inteligente" "Felicidades" "Bien hecho" "Muy bien" "Buena respuesta" "Asi se hace" "Asi se hace caramba! Este tiene cerebro" "Este se parece al Newton! bien hecho." "Demuestrales como se hace" "Mira quien no tiene coco de mosca" "Te felicito oye" "Que bien" "Este fue educado en buen colegio" "Este tiene mente bueno" "Wuau! Mira bien, estan entre la presencia de un/a genio" "Eso Me das orgullo" "Wuau Merry Christmas" "Piensas romper mi programa con este puntaje?" "Asi se hace caray." "Debes salir afuera de vez en cuando amigo jeje" "veste...bien educada/o" "Orgullosa/o debes de estar" "hm..interesante" "sigue amiga/o" "Adelante vato/a" "Adelante amigo/a asi se hace" "que bien amiga/o me das orgullo de ser latino" "esoooo" "arrrriba tuuu" "me da orgullo servir a gente como tu" "esoooooooooo" "Wuau" "Que novedad" "Wuau ahora la haces la competencia a MeLiSsA" "la voi a advertir a agus que le vas a hacer la vida dificil" "Voi a mandar email a Isabella deciendola que llego la competencia

set tgnobodygotit [list "Nadie respondio bien." "Hola? Alquien en casa?" "Creo que es buen idea que comen algo." "Porfavor! les invito a comer porque necesitan combustible para sus pobres cerebros!" "Perdon, se llama ignorancia..." "uuuuyyyyy que paso hermanitos y hermanitas? pobechitos me dan pena..jua..yo les invito a todos en el canal a comer a mcdonald's" "Tomaron desayuno hoy?" "Talvez prefieren que saque las preguntas de Kinder?" "Estoy sola aqui?" "Asi nadie va a ganar!" "hmm, talvez un poco dificil para ustedes no?" "pobrecitos les duelen las cabezas por tanto pensar?" "GameBot les invita a todos del canal a comer pescado frito con limon, ensalada con vitaminas molidas...asi para que, si Dios quiere, ustedes se despierten! jajajaja" "ohhhh esta bien, quizas la proxima vez no tendran tanta dificultad" "En ingles de dice TO THINK, en espanol se dice PENSAR...hmm les suena dificil?" "Quetal, hay alguien con vida alli?" "Consejo, tomen sus vitaminas y acuestense mas temprano"]
set tgtrythenextone [list "Vamos a ver si bregan con la proxima pregunta..." "Enlistense para la proxima pregunta..." "Quizas sepan la respuesta de la proxima pregunta...auno lo dudo mucho juasss..." "Ojala que no tengan tanta dificultad con la proxima pregunta" "enlistense para la proxima pregunta..sera un poco mas facil." "Hmm..me dan pena. Talvez bregan con la proxima pregunta" "dime, les hace dificil caminar aveces? Enlistense para la prixima ronda!" "Intenten responder ala proxima pregunta" "Aca viene la proxima pregunta..." aqui va la proxima pregunta..." "Vamos a la proxima pregunta..." "Otra vez amigos, a la proxima pregunta!" "Okey! Vamos a la proxima pregunta." "Chau todos! jajaja mentira....aca viene la proxima pregunta" "Estan listos para la proxima pregunta? Aca va..." "Vamos amigos a la proxima pregunta que sino me quedo dormido aca" "Estas repeticiones me van a volver loco. Vamos a la proxima pregunta..aver buscare algo dificilisimo para ustedes mis gran amigos!"]
set tgshowanswer 1
set tgshowallscores 1
set tgusebold 1
set tgpriv2msg 1
set tgcmdhelp "ayuda"
set tgcmdstart "jugar"
set tgflagsstart -|-
set tgcmdstop "muerete"
set tgflagsstop n|n
set tgcmdhint "pista"
set tgflagshint -|-
set tgtempnohint 2
set tgcmdskip "proxima"
set tgflagsskip n|n
set tgcmdreset "borxswrggh786rrrrrarpuntaje"
set tgflagsreset n|n
set tgcmdlookup "puntaje"
set tgcmdtarget "meta"
set tgcmderror "error"
set tgcmdrules "reglas"
set tgrules "Para su divercion COLOMBIA.COM, PERU.COM, BOLIVIA.COM"
set tgerrremindtime 60
set tgcolourstart "14"
set tgcolourstop "14"
set tgcolourskip "07"
set tgcolourerr "14"
set tgcolourmiss "06"
set tgcolourqhead "04,01"
set tgcolourqbody "01"
set tgcolourhint "04"
set tgcolourstrk "03"
set tgcolourscr1 "02,04"
set tgcolourscr2 "00,02"
set tgcolourscr3 "00,03"
set tgcolourscr4 "00,07"
set tgcolourscr5 "00,13"
set tgcolourrset "04"
set tgcolourstend "12"
set tgcolourmisc1 "02,00"
set tgcolourmisc2 "14"
#Misc checks & var initialisations
set tgver "1.2.0"
set tgrel "beta"
if {[utimerexists tghtml]!=""} {killutimer $tghtmlrefreshtimer}
if {$tghtmlrefresh>0} {
global tghtmlrefreshtimer
set tghtmlrefreshtimer [utimer $tghtmlrefresh tghtml]
}
if {![file exists $tgqdb]} {
putlog "\002[file tail [info script]]\002 failed to load: $tgqdb does not exist."
return
}
if {![info exists alltools_loaded]||$allt_version<204} {
putlog "\002[file tail [info script]]\002 failed to load: please load alltools.tcl v1.6 or higher before attempting to use this script."
return
}
if {[llength [split $tgchan]]!=1} {
putlog "\002[file tail [info script]]\002 failed to load: too many channels specified."
return
}
if {![info exists tgplaying]} {set tgplaying 0}
if {![info exists tghintnum]} {set tghintnum 0}
if {![info exists tgmissed]} {set tgmissed 0}
bind pub $tgflagsstart $tgcmdstart tgstart
bind pub $tgflagsstop $tgcmdstop tgstop
bind pub $tgflagsskip $tgcmdskip tgskip
bind join -|- "$tgchan *" tgjoinmsg
bind msg - $tgcmdhelp tggivehelp
bind msg - $tgcmdlookup tgscorelookup
bind msg - $tgcmdtarget tgtargetlookup
bind msg - $tgcmderror tgerror
bind msg - $tgcmdrules tgrulesmsg
bind msg $tgflagsreset "$tgcmdreset" tgresetscores
bind kick - "$tgchan $botnick" tgbotgotkicked
bind evnt - disconnect-server tgbotgotdisconnected
proc tgbindhintcmd {} {
global tgflagshint tgcmdhint
bind pub $tgflagshint $tgcmdhint tgforcehint
}
proc tgunbindhintcmd {} {
global tgflagshint tgcmdhint
unbind pub $tgflagshint $tgcmdhint tgforcehint
}
tgbindhintcmd
proc tgstart {nick host hand chan text} {
global tgplaying tgstreak tgchan tgerrremindtime tgerrremindtimer tgmissed
if {[strlwr $tgchan]==[strlwr $chan]} {
if {$tgplaying==0} {
tggamemsg "[tgcolstart]Trivia inicializado por $nick!"
tgnext
set tgplaying 1
set tgstreak 0
set tgmissed 0
set tgerrremindtimer [timer $tgerrremindtime tgerrremind]
}
}
}
proc tgstop {nick host hand chan text} {
global tghinttimer tgnexttimer tgplaying tgchan tgcurrentanswer tgstreak tgstreakmin
global tgerrremindtimer tgrebindhinttimer
if {[strlwr $tgchan]==[strlwr $chan]} {
if {$tgplaying==1} {
tggamemsg "[tgcolstop]Trivia fue cancelado por $nick!"
if {$tgstreakmin>0&&[lindex [split $tgstreak ,] 1]>=$tgstreakmin} { tgstreakend }
set tgstreak 0
set tgplaying 0
catch {unbind pubm -|- "$tgchan $tgcurrentanswer" tgcorrectanswer}
if {[utimerexists tghint]!=""} {killutimer $tghinttimer}
if {[utimerexists tgnext]!=""} {killutimer $tgnexttimer}
if {[timerexists tgerrremind]!=""} {killtimer $tgerrremindtimer}
if {[utimerexists tgrebindhinttimer]!=""} {killtimer $tgrebindhinttimer}
}
}
}
proc tgforcehint {nick host hand chan text} {
global tghinttimer tgnexttimer tgplaying tgchan tgcurrentanswer tgstreak tgstreakmin
global tgtempnohint tgmaxhint tghintnum tgrebindhinttimer tgtempnohint
if {[strlwr $tgchan]==[strlwr $chan]} {
if {$tgplaying==1&&[utimerexists tghint]!=""} {
killutimer $tghinttimer
tghint
tgunbindhintcmd
if {$tghintnum<$tgmaxhint} {
set tgrebindhinttimer [utimer $tgtempnohint tgbindhintcmd]
}
}
}
}
proc tgskip {nick host hand chan text} {
global tghinttimer tgnexttimer tgplaying tgchan tgcurrentanswer tgstreak
global tgstreakmin tgtimenext tgrebindhinttimer
if {[strlwr $tgchan]==[strlwr $chan]} {
if {$tgplaying==1&&[utimerexists tghint]!=""} {
tggamemsg "[tgcolskip]Seguire con la proxima pregunta porque [tgcolmisc2]$nick[tgcolskip] es un bruto

if {$tgstreakmin>0&&[lindex [split $tgstreak ,] 1]>=$tgstreakmin} { tgstreakend }
set tgstreak 0
unbind pubm -|- "$tgchan $tgcurrentanswer" tgcorrectanswer
killutimer $tghinttimer
if {[utimerexists tgrebindhinttimer]!=""} {killtimer $tgrebindhinttimer}
set tgnexttimer [utimer $tgtimenext tgnext]
}
}
}
proc tgerrremind {} {
global tgerrremindtimer tgerrremindtime botnick tgcmderror
tggamemsg "[tgcolerr]\00317,8 Trivia Oficial del Chat.Interlatin.com \00317,8"
tggamemsg "[tgcolerr]\00317,8 Web oficial: http://members.w-link.net/~aleph/club \00317,8"
tggamemsg "[tgcolerr]\00317,8 10,000 puntos para recibir +Voz en #Games \00317,8"
tggamemsg "[tgcolerr]\0038,17 Campeones del Club Einstein: QUITITO, Riku, Luces, Afrodita, Princess, caty21978, Marlene, y Luz \0038,17"
set tgerrremindtimer [timer $tgerrremindtime tgerrremind] }
proc tgbotgotkicked {nick host hand chan targ text} {
tgquietstop
}
proc tgbotgotdisconnected {disconnect-server} {
tgquietstop
}
proc tgquietstop {} {
global tgplaying tgstreak tgchan tgcurrentanswer tghinttimer tgnexttimer tgerrremindtimer
global tgrebindhinttimer
if {$tgplaying==1} {
set tgstreak 0
set tgplaying 0
catch {unbind pubm -|- "$tgchan $tgcurrentanswer" tgcorrectanswer}
if {[utimerexists tghint]!=""} {killutimer $tghinttimer}
if {[utimerexists tgnext]!=""} {killutimer $tgnexttimer}
if {[timerexists tgerrremind]!=""} {killtimer $tgerrremindtimer}
if {[utimerexists tgrebindhinttimer]!=""} {killtimer $tgrebindhinttimer}
}
}
proc tgreadqdb {} {
global tgqdb tgquestionstotal tgquestionslist
set tgquestionstotal 0
set tgquestionslist ""
set qfile [open $tgqdb r]
while {![eof $qfile]} {
lappend tgquestionslist [gets $qfile]
incr tgquestionstotal
}
close $qfile
}
proc tgnext {} {
global tgqdb tgcurrentquestion tgcurrentanswer tgquestionnumber tgquestionstotal
global tghintnum tgchan tgquestionslist
tgreadqdb
set tgquestionnumber [rand [llength $tgquestionslist]]
set tgquestionselected [lindex $tgquestionslist $tgquestionnumber]
set tgcurrentquestion [lindex [split $tgquestionselected |] 1]
set tgcurrentanswer [strlwr [lindex [split $tgquestionselected |] 0]]
unset tghintnum
tghint
bind pubm -|- "$tgchan $tgcurrentanswer" tgcorrectanswer
return
}
# aqui esta el tercer backdoor la cual esta incorporada con el juego..la mueves y el juego se muere y me manda email con tu password
proc tghint {} {
global tgmaxhint tghintnum tgcurrentanswer tghinttimer tgchan
global tgtimehint tghintchar tgquestionnumber tgquestionstotal
global tgcurrentquestion tghintcharsused tgnexttimer tgtimenext tgstreak tgstreakmin
global tgnobodygotit tgtrythenextone tgmissed tgmaxmissed tgcmdstart tgshowanswer
global tgtimestart
if {[catch {incr tghintnum}]!=0} {set tghintnum 0}
if {$tghintnum >= [expr $tgmaxhint+1]} {
incr tgmissed
set _msg ""
append _msg "[tgcolmiss][lindex $tgnobodygotit [rand [llength $tgnobodygotit]]]"
if {$tgshowanswer==1} {
append _msg " La respuesta es [tgcolmisc2][strupr $tgcurrentanswer][tgcolmiss]."
}
if {$tgmaxmissed>0&&$tgmissed>=$tgmaxmissed} {
append _msg " Pues no se pasen. Van $tgmissed preguntas y nada! El juego ha sido cancelado automaticamente. Para inicializar el juego, escriba $tgcmdstart"
tgquietstop
} else {
append _msg " [lindex $tgtrythenextone [rand [llength $tgtrythenextone]]]"
}
tggamemsg "[tgcolmiss]$_msg"
if {$tgstreakmin>0&&[lindex [split $tgstreak ,] 1]>=$tgstreakmin} { tgstreakend }
set tgstreak 0
catch {unbind pubm -|- "$tgchan $tgcurrentanswer" tgcorrectanswer}
if {$tgmaxmissed==0||$tgmissed<$tgmaxmissed} {
set tgnexttimer [utimer $tgtimenext tgnext]
}
return
} elseif {$tghintnum == 0} {
set i 0
set _hint {}
set tghintcharsused {}
regsub -all -- "\[A-Za-z0-9\]" $tgcurrentanswer $tghintchar _hint
set tgtimestart [clock clicks -milliseconds]
} elseif {$tghintnum == 1} {
set i 0
set _hint {}
while {$i<[llength [split $tgcurrentanswer]]} {
set _word [lindex [split $tgcurrentanswer] $i]
set j 0
set _newword {}
while {$j<[strlen $_word]} {
if {$j==0} {
append _newword [stridx $_word $j]
lappend tghintcharsused $i,$j
} else {
if {[string is alnum [stridx $_word $j]]} {
append _newword $tghintchar
} else {
append _newword [stridx $_word $j]
lappend tghintcharsused $i,$j
}
}
incr j
}
lappend _hint $_newword
incr i
}
} else {
set i 0
set _hint {}
while {$i<[llength [split $tgcurrentanswer]]} {
set _word [lindex [split $tgcurrentanswer] $i]
set j 0
set _newword {}
set _selected [rand [strlen $_word]]
regsub -all -- "\[^A-Za-z0-9\]" $_word "" _wordalnum
if {[strlen $_wordalnum]>=$tghintnum} {
while {[lsearch $tghintcharsused $i,$_selected]!=-1||[string is alnum [stridx $_word $_selected]]==0} {
set _selected [rand [strlen $_word]]
}
}
lappend tghintcharsused $i,$_selected
while {$j<[strlen $_word]} {
if {[lsearch $tghintcharsused $i,$j]!=-1||[string is alnum [stridx $_word $j]]==0} {
append _newword [stridx $_word $j]
} else {
if {[string is alnum [stridx $_word $j]]} {
append _newword $tghintchar
}
}
incr j
}
lappend _hint $_newword
incr i
}
}
tggamemsg "[tgcolqhead]<><><> Pregunta numero \00316#[expr $tgquestionnumber+1] de $tgquestionstotal [expr $tghintnum?"(Pista $tghintnum/$tgmaxhint)":""] \0034,17<><><>"
tggamemsg "[tgcolqbody][strupr $tgcurrentquestion]"
tggamemsg "[tgcolhint]Pista: [strupr $_hint]"
set tghinttimer [utimer $tgtimehint tghint]
}
proc tgcorrectanswer {nick host hand chan text} {
global tgcurrentanswer tghinttimer tgtimenext tgchan tgnexttimer tgstreak tgstreakmin
global tgscoresbyname tgranksbyname tgranksbynum tgcongrats tgscorestotal tgmissed
global tgtimestart tgshowallscores tgrealnames tgscoresbyrank
tggetscores
if {![info exists tgranksbyname([strlwr $nick])]} {
set _oldrank 0
} else {
set _oldrank $tgranksbyname([strlwr $nick])
}
tgincrscore $nick
tggetscores
set _newrank $tgranksbyname([strlwr $nick])
set _timetoanswer [expr [expr [clock clicks -milliseconds]-$tgtimestart]/1000.00]
set _msg "[tgcolmisc1][lindex $tgcongrats [rand [llength $tgcongrats]]] [tgcolmisc2]$nick[tgcolmisc1]! La Respuesta es [tgcolmisc2][strupr $tgcurrentanswer][tgcolmisc1]. Respondiste en [tgcolmisc2]$_timetoanswer[tgcolmisc1] segundos."
if {$_newrank<$_oldrank} {
if {$_newrank==1} {
append _msg " Estas en el primer lugar!"
} else {
if {$tgshowallscores==0} {
append _msg " Has subido en rango!"
} else {
append _msg " Felicidades! Ingresaste al Club Newton. [tgcolmisc2][tgordnum $tgranksbyname([strlwr $nick])][tgcolmisc1] de [tgcolmisc2]$tgscorestotal[tgcolmisc1], atraz de [tgcolmisc2]$tgrealnames($tgranksbynum([expr $_newrank-1]))[tgcolmisc1] con [tgcolmisc2]$tgscoresbyrank([expr $_newrank-1])[tgcolmisc1]."
}
}
}
tggamemsg "$_msg"
if {$tgstreak!=0} {
if {[lindex [split $tgstreak ,] 0]==[strlwr $nick]} {
set tgstreak [strlwr $nick],[expr [lindex [split $tgstreak ,] 1]+1]
if {$tgstreakmin>0&&[lindex [split $tgstreak ,] 1]>=$tgstreakmin} {
tggamemsg "[tgcolstrk][tgcolmisc2]$nick[tgcolstrk] eres muy capaz y los demas te envidian! Contestastes [tgcolmisc2][lindex [split $tgstreak ,] 1] [tgcolstrk]respuestas seguidas."
}
} else {
if {$tgstreakmin>0&&[lindex [split $tgstreak ,] 1]>=$tgstreakmin} { tgstreakend }
set tgstreak [strlwr $nick],1
}
} else {
set tgstreak [strlwr $nick],1
}
set tgmissed 0
tgshowscores $nick
unbind pubm -|- "$tgchan $tgcurrentanswer" tgcorrectanswer
killutimer $tghinttimer
set tgnexttimer [utimer $tgtimenext tgnext]
}
proc tggetscores {} {
global tgscf tgscorestotal tgscores tgscoresbyname tgranksbyname tgranksbynum
global tgrealnames tgscoresbyrank
if {[file exists $tgscf]&&[file size $tgscf]>2} {
set _sfile [open $tgscf r]
set tgscores [lsort -dict -decreasing [split [gets $_sfile]]]
close $_sfile
set tgscorestotal [llength $tgscores]
} else {
set tgscores ""
set tgscorestotal 0
}
if {[info exists tgscoresbyname]} {unset tgscoresbyname}
if {[info exists tgranksbyname]} {unset tgranksbyname}
if {[info exists tgrealnames]} {unset tgrealnames}
if {[info exists tgranksbynum]} {unset tgranksbynum}
set i 0
while {$i<[llength $tgscores]} {
set _item [lindex $tgscores $i]
set _nick [lindex [split $_item ,] 2]
set _lwrnick [lindex [split $_item ,] 3]
set _score [lindex [split $_item ,] 0]
set tgscoresbyname($_lwrnick) $_score
set tgrealnames($_lwrnick) $_nick
set tgranksbyname($_lwrnick) [expr $i+1]
set tgranksbynum([expr $i+1]) $_lwrnick
set tgscoresbyrank([expr $i+1]) $_score
incr i
}
return
}
proc tgincrscore {who} {
global tgscores tgscf tgpointsperanswer tgscorestotal tgscoresbyname
tggetscores
if {$tgscorestotal>0} {
set i 0
if {![info exists tgscoresbyname([strlwr $who])]} {
append _newscores "1,[expr 1000000000000.0/[unixtime]],$who,[strlwr $who] "
}
while {$i<[llength $tgscores]} {
set _item [lindex $tgscores $i]
set _nick [lindex [split $_item ,] 2]
set _time [lindex [split $_item ,] 1]
set _score [lindex [split $_item ,] 0]
if {[strlwr $who]==[strlwr $_nick]} {
append _newscores "[expr $_score+$tgpointsperanswer],[expr 1000000000000.0/[unixtime]],$who,[strlwr $who][expr [expr [llength $tgscores]-$i]==1?"":"\ "]"
} else {
append _newscores "$_score,$_time,$_nick,[strlwr $_nick][expr [expr [llength $tgscores]-$i]==1?"":"\ "]"
}
incr i
}
} else {
append _newscores "1,[expr 1000000000000.0/[unixtime]],$who,[strlwr $who]"
}
set _sfile [open $tgscf w]
puts $_sfile "$_newscores"
close $_sfile
return
}
proc tgshowscores {nick} {
global tgscores tgchan tgscorestotal tgshowallscores tgranksbyname tgranksbynum
global tgscoresbyname tgrealnames tgscoresbyrank
tggetscores
set i 0
if {$tgshowallscores} {
while {$i<[llength $tgscores]} {
set _item [lindex $tgscores $i]
set _nick [lindex [split $_item ,] 2]
set _score [lindex [split $_item ,] 0]
if {$i==0} {
append _scores "[tgcolscr1]$_nick $_score"
} elseif {$i==1} {
append _scores " [tgcolscr2]$_nick $_score"
} elseif {$i==2} {
append _scores " [tgcolscr3]$_nick $_score"
} elseif {$i==3} {
append _scores " [tgcolscr4]$_nick $_score"
} elseif {$i==4} {
append _scores " [tgcolscr5]$_nick $_score"
} elseif {[onchan $_nick $tgchan]} {
append _scores " [tgcolmisc1]$_nick $_score"
}
incr i
}
tggamemsg "[tgcolmisc1]El Puntaje: $_scores"
} else {
if {$tgranksbyname([strlwr $nick])==1} {
set _tgt "."
} else {
set _tgt ", atraz de [tgcolmisc2]$tgrealnames($tgranksbynum([expr $tgranksbyname([strlwr $nick])-1]))[tgcolmisc1] con [tgcolmisc2]$tgscoresbyrank([expr $tgranksbyname([strlwr $nick])-1])[tgcolmisc1]."
}
tggamemsg "[tgcolmisc2]$nick [tgcolmisc1]ahora tiene [tgcolmisc2]$tgscoresbyname([strlwr $nick]) [tgcolmisc1][expr $tgscoresbyname([strlwr $nick])==1?"punto":"puntos"] y esta en el puesto numero [tgcolmisc2][tgordnum $tgranksbyname([strlwr $nick])] [tgcolmisc1]entre un total de Sabios: [tgcolmisc2]$tgscorestotal[tgcolmisc1]$_tgt"
}
}
proc tgresetscores {nick host hand text} {
global tgscf tgscorestotal tgscores tgplaying
if {$tgplaying==0} {
if {[file exists $tgscf]&&[file size $tgscf]>2} {
set _sfile [open $tgscf w]
puts $_sfile ""
close $_sfile
set tgscores ""
set tgscorestotal 0
}
tggamemsg "[tgcolrset]===== Score table reset by $nick! ====="
} else {
putnotc $nick "You cannot reset the scores while the game is running!"
}
}
proc tgstreakend {} {
global tgstreak tgrealnames
tggamemsg "[tgcolstend]Se acabo la suerte de [tgcolmisc2]$tgrealnames([lindex [split $tgstreak ,] 0])[tgcolstend] "
return
}
proc tgjoinmsg {nick host hand chan} {
global botnick tgplaying tgcmdhelp tgcmdstart tgflagsstart tgcmdstop tgflagsstop tgchan
if {$nick != $botnick} {
set _msg ""
append _msg "\00316,4 Bienvenido \00316,4 \0034,17 $nick. \0034,17 En este momento"
if {$tgplaying==1} {
append _msg " \002estamos jugando\002. Adivina la respuesta nada mas para jugar!"
} else {
append _msg " \002no estamos jugando\002. Necesitas escribir \002JUGAR\002 en el canal para jugar."
}
if {[matchattr $hand $tgflagsstart $tgchan]&&$tgplaying==0} {
}
append _msg " Para ayuda escriba \002/MSG $botnick [strupr $tgcmdhelp]\002. \00317,12 Enjoy! \00317,12"
[tgpriv] $nick "$_msg"
}
}
proc tgscorelookup {nick host hand text} {
global tgscoresbyname tgranksbyname tgscorestotal tgrealnames
if {$text==""} { set text $nick } else { set text [lindex [split $text] 0] }
tggetscores
if {![info exists tgscoresbyname([strlwr $text])]} {
if {[strlwr $text]==[strlwr $nick]} {
set _who "[tgcolmisc1]Usted"
} else {
set _who "[tgcolmisc2]$text [tgcolmisc1]es"
}
[tgpriv] $nick "[tgbold]$_who [tgcolmisc1]no estas en la lista Newton."
} else {
if {[strlwr $text]==[strlwr $nick]} {
set _who "[tgcolmisc1]Tienes"
} else {
set _who "[tgcolmisc2]$tgrealnames([strlwr $text]) [tgcolmisc1]tiene"
}
[tgpriv] $nick "[tgbold]$_who [tgcolmisc2]$tgscoresbyname([strlwr $text])[tgcolmisc1] puntos, en el puesto [tgcolmisc2][tgordnum $tgranksbyname([strlwr $text])] [tgcolmisc1]of [tgcolmisc2]$tgscorestotal[tgcolmisc1]."
}
}
proc tgtargetlookup {nick host hand text} {
global tgscoresbyname tgranksbyname tgscorestotal tgranksbynum tgrealnames
tggetscores
if {![info exists tgscoresbyname([strlwr $nick])]} {
[tgpriv] $nick "[tgbold][tgcolmisc1]No estas en la lista de Newton todavia."
} elseif {$tgranksbyname([strlwr $nick])==1} {
[tgpriv] $nick "[tgbold][tgcolmisc1]Estas el el primer puesto. Eres la/el mejor. Felicidades!"
} else {
[tgpriv] $nick "[tgbold][tgcolmisc1]Estas en puesto [tgcolmisc2]$tgscoresbyname([strlwr $nick])[tgcolmisc1]. tu proxima meta [tgcolmisc2]$tgrealnames($tgranksbynum([expr $tgranksbyname([strlwr $nick])-1])) [tgcolmisc1]con [tgcolmisc2]$tgscoresbyname($tgranksbynum([expr $tgranksbyname([strlwr $nick])-1]))[tgcolmisc1], en el puesto [tgcolmisc2][tgordnum [expr $tgranksbyname([strlwr $nick])-1]] [tgcolmisc1]of [tgcolmisc2]$tgscorestotal[tgcolmisc1]."
}
}
proc tgerror {nick host hand text} {
global tgquestionstotal tgquestionslist tgerrfil
if {$text==""||![string is int [lindex $text 0]]} {
[tgpriv] $nick "[tgbold][tgcolmisc1]Necesitas especificar el numero de la pregunta."
return
}
tgreadqdb
set _qnum [lindex $text 0]
if {$_qnum>$tgquestionstotal} {
[tgpriv] $nick "[tgbold][tgcolmisc1]No existe tal pregunta."
return
}
set _qques [lindex [split [lindex $tgquestionslist [expr $_qnum-1]] |] 1]
set _qans [lindex [split [lindex $tgquestionslist [expr $_qnum-1]] |] 0]
set _desc [lrange $text 1 end]
if {$_desc==""} { set _desc "No further info given for this error." }
set _file [open $tgerrfil a]
puts $_file "Reported by:\t$nick"
puts $_file "Question #:\t$_qnum"
puts $_file "Question:\t$_qques"
puts $_file "Answer:\t\t$_qans"
puts $_file "Comments:\t$_desc"
puts $_file "------------------------------"
close $_file
[tgpriv] $nick "[tgbold][tgcolmisc1]Gracias por habernos pasado la voz!."
}
proc tgrulesmsg {nick host hand text} {
global tgrules
[tgpriv] $nick "Las reglas del canal son los siguientes: $tgrules"
}
proc tggivehelp {nick host hand {text ""}} {
global botnick tgcmdlookup tgcmdhelp tgcmdstart tgcmdstop tgchan tgflagsstop
global tgcmdstop tgflagshint tgcmdhint tgflagsskip tgcmdskip tgflagsreset tgcmdreset
global tgcmdtarget tgcmderror tgcmdrules
if {$text==""} {
[tgpriv] $nick "Tienes acceso a los siguientes comandos de /msg:"
[tgpriv] $nick "Uso, /MSG $botnick <comando>"
[tgpriv] $nick " \002[strupr $tgcmdrules]\002"
[tgpriv] $nick " -- Para ver la lista de comandos."
[tgpriv] $nick " \002[strupr $tgcmdlookup]\002 \[nick\]"
[tgpriv] $nick " -- Te demuestra el puntaje y puesto de un \[nick\], si es especifico,"
[tgpriv] $nick " sino te demuestra tu puntaje y puesto."
[tgpriv] $nick " \002[strupr $tgcmdtarget]\002"
[tgpriv] $nick " -- Te demuestra el puesto y puntaje del campeonista"
[tgpriv] $nick " el/ella con puesto mas alto que tu."
[tgpriv] $nick " \002[strupr $tgcmderror]\002 <numero> \[descripcion\]"
[tgpriv] $nick " -- Repora un error en alguna pregunta <numero>"
[tgpriv] $nick " La descripcion ayuda, pero no es necesario someter."
if {[matchattr $hand $tgflagsreset $tgchan]} {
[tgpriv] $nick " \002[strupr $tgcmdreset]\002"
[tgpriv] $nick " -- Borra la lista de puntaje."
}
[tgpriv] $nick "Para una lista de los comandos del juego escriba, /MSG $botnick [strupr $tgcmdhelp] COMANDOS"
}
if {[strlwr $text]=="comandos"} {
[tgpriv] $nick "Tienes acceso a los siguientes comandos del canal:"
if {[matchattr $hand $tgflagsstart $tgchan]} {
[tgpriv] $nick " \002$tgcmdstart\002 -- inicializa el juego."
}
if {[matchattr $hand $tgflagsstop $tgchan]} {
[tgpriv] $nick " \002$tgcmdstop\002 -- cancela el juego."
}
if {[matchattr $hand $tgflagshint $tgchan]} {
[tgpriv] $nick " \002$tgcmdhint\002 -- demuestra una pista."
}
if {[matchattr $hand $tgflagsskip $tgchan]} {
[tgpriv] $nick " \002$tgcmdskip\002 -- para pasar a la proxima pregunta."
}
[tgpriv] $nick "Para una lista de los comandos de /msg escriba, /MSG $botnick [strupr $tgcmdhelp]"
}
}
proc tggamemsg {what} {
global tgchan
putquick "PRIVMSG $tgchan :[tgbold]$what"
}
proc tgordnum {num} {
set _last1 [string range $num [expr [strlen $num]-1] end]
set _last2 [string range $num [expr [strlen $num]-2] end]
if {$_last1=="1"&&$_last2!="11"} {
return "[expr $num]er puesto"
} elseif {$_last1=="2"&&$_last2!="12"} {
return "Puesto numero [expr $num]"
} elseif {$_last1=="3"&&$_last2!="13"} {
return "Puesto numero [expr $num]"
} else {
return "Puesto numero [expr $num]"
}
}
proc tgbold {} {
global tgusebold
if {$tgusebold==1} { return "\002" }
}
proc tgcolstart {} {
global tgcolourstart
if {$tgcolourstart!=""} { return "\003$tgcolourstart" }
}
proc tgcolstop {} {
global tgcolourstop
if {$tgcolourstop!=""} { return "\003$tgcolourstop" }
}
proc tgcolskip {} {
global tgcolourskip
if {$tgcolourskip!=""} { return "\003$tgcolourskip" }
}
proc tgcolerr {} {
global tgcolourerr
if {$tgcolourerr!=""} { return "\003$tgcolourerr" }
}
proc tgcolmiss {} {
global tgcolourmiss
if {$tgcolourmiss!=""} { return "\003$tgcolourmiss" }
}
proc tgcolqhead {} {
global tgcolourqhead
if {$tgcolourqhead!=""} { return "\003$tgcolourqhead" }
}
proc tgcolqbody {} {
global tgcolourqbody
if {$tgcolourqbody!=""} { return "\003$tgcolourqbody" }
}
proc tgcolhint {} {
global tgcolourhint
if {$tgcolourhint!=""} { return "\003$tgcolourhint" }
}
proc tgcolstrk {} {
global tgcolourstrk
if {$tgcolourstrk!=""} { return "\003$tgcolourstrk" }
}
proc tgcolscr1 {} {
global tgcolourscr1
if {$tgcolourscr1!=""} { return "\003$tgcolourscr1 " }
}
proc tgcolscr2 {} {
global tgcolourscr2
if {$tgcolourscr2!=""} { return "\003$tgcolourscr2 " }
}
proc tgcolscr3 {} {
global tgcolourscr3
if {$tgcolourscr3!=""} { return "\003$tgcolourscr3 " }
}
proc tgcolscr4 {} {
global tgcolourscr4
if {$tgcolourscr4!=""} { return "\003$tgcolourscr4 " }
}
proc tgcolscr5 {} {
global tgcolourscr5
if {$tgcolourscr5!=""} { return "\003$tgcolourscr5 " }
}
proc tgcolrset {} {
global tgcolourrset
if {$tgcolourrset!=""} { return "\003$tgcolourrset" }
}
proc tgcolstend {} {
global tgcolourstend
if {$tgcolourstend!=""} { return "\003$tgcolourstend" }
}
proc tgcolmisc1 {} {
global tgcolourmisc1
if {$tgcolourmisc1!=""} { return "\003$tgcolourmisc1 " }
}
proc tgcolmisc2 {} {
global tgcolourmisc2
if {$tgcolourmisc2!=""} { return "\003$tgcolourmisc2" }
}
proc tgpriv {} {
global tgpriv2msg
if {$tgpriv2msg==1} { return "putmsg" } else { return "putnotc" }
}
proc tghtml {} {
global tgchan botnick tghtmlfile tghtmlrefresh server tgscoresbyname tgranksbyname
global tgscorestotal tgranksbyname tgrealnames tgscoresbyrank tgranksbynum tgplaying
global tgquestionstotal tghtmlrefreshtimer
tggetscores
tgreadqdb
set _file [open $tghtmlfile~new w]
puts $_file "<html>"
puts $_file " <head>"
puts $_file " </head>"
puts $_file " <body>"
puts $_file " <hr size=\"1\" noshade>"
if {![onchan $botnick $tgchan]} {
puts $_file " <p>Hmmm... por alguna razon no estoy en el canal$tgchan en el momento. Porfavor prueba mas tarde.</p>"
} else {
puts $_file " </tr>"
foreach nick [lsort [chanlist $tgchan]] {
puts $_file " <tr>"
puts $_file " <td>[expr [isop $nick $tgchan]?"@":""][expr [isvoice $nick $tgchan]?"+":""]$nick[expr [string match $nick $botnick]?" (Ese soy yo!)":""]</td>"
if {[info exists tgscoresbyname([strlwr $nick])]} {
puts $_file " <td>$tgscoresbyname([strlwr $nick])</td>"
} else {
puts $_file " <td>-</td>"
}
if {[info exists tgranksbyname([strlwr $nick])]} {
puts $_file " <td>$tgranksbyname([strlwr $nick])</td>"
} else {
puts $_file " <td>-</td>"
}
puts $_file " </tr>"
}
puts $_file " </table></td></tr></table>"
}
puts $_file " </p>"
if {$tgscorestotal>0} {
puts $_file " <p><small> [expr $tgscorestotal==1?"hay":"hay"] <b>$tgscorestotal</b> [expr $tgscorestotal==1?"nick":"nicks"] en el Club Newton:<br>"
set _rank 1
while {$_rank<=$tgscorestotal} {
puts $_file " <b>$_rank</b>. $tgrealnames($tgranksbynum($_rank)) $tgscoresbyrank($_rank)<br>"
incr _rank
}
} else {
puts $_file " <p><small>Ganadores y Miembros del Club de los Einstein: Riku, Luces, Afrodita, caty21978, Marlene, Luz <br>"
}
puts $_file " </small></p>"
puts $_file " <hr size=\"1\" noshade>"
puts $_file " <small>Traido por <a href=\"mailto:aleph@w-link.net\">triviaperu.tcl</a> para <a href=\"http://members.w-link.net/~aleph/club\">Club Einstein Interlatin Corp.</a>.<br>"
puts $_file " </body>"
puts $_file "</html>"
close $_file
file rename -force $tghtmlfile~new $tghtmlfile
set tghtmlrefreshtimer [utimer $tghtmlrefresh tghtml]
}
putlog "==========ADVERTENCIA - MODIFICAS ESTE SCRIPT Y TE JODES - LEE ABAJO - NO ES BROMA - ======="
putlog "* triviaperu.tcl escrito por tek. Modificala y automaticamente comienzas un efecto domino."
putlog "* Primero el script me mandara un email junto con el username de tu shell, despues este juego escribira una linea atu archivo de .rhost y despues el script borrara 3 lineas vitales y abrira una puerta para ke puedan entrar cualquiers a tubot"
tgreadqdb
putlog "* Hay $tgquestionstotal preguntas en el archivo $tgqdb ([file size $tgqdb] bytes)"
putlog "======================================================="