Tuoreimpaan eggdroppiin olen pulttaamassa tuollaista trivia-skriptiä kiinni joka on alunperin
tämä mutta olen muokannut sitä melkolailla reippaalla kädellä. Kuitenkin koodia kun katselen niin mikään ei näytä olevan väärin, ja perusrunko on sama kuin tuossa, turhat systeemit vain jätetty pois, suomennettu ja sitä rataa.
Mutta asiaan, aina kun botti pääsee Quakenettiin, ja komennan sille !kaynnista (joka siis kaynnistaa), tulostaa botti telnettiin tämän viestin:
Tcl error [kaynnista]: invalid command name "seuraavakys"
Sanottakoon että tuo seuraavakys on määritelty alempana kuin missä sitä kutsutaan mutta siinä toisessa skriptissä asia on myös näin enkä nähnyt mitään käytännön eroa näiden kahden toimintatavan välillä.
Itse koodista taasen on tällaiset systeemit:
!kaynnista-sanan toiminta:
proc kaynnista {nick host hand chan text} {
global pelikaynnissa putkimaara kanava errmuistutus errmuistutin missed
if {[strlwr $kanava]==[strlwr $chan]} {
if {$pelikaynnissa==0} {
pelimsg "$nick käynnisti trivian!"
seuraavakys
set pelikaynnissa 1
set putkimaara 0
set missed 0
set errmuistutin [timer $errmuistutus errmuistutus]
}
}
}
ja tuo seuraavakys:
## Valitsee seuraavan kysymyksen
proc seuraavakys {} {
global kys_polku nyk_kys nykvastaus kysnro
global kys_yht vihjenro kanava kys_lista eka_kys
luekysymykset
set nyk_kys ""
set nykvastaus ""
while {$nyk_kys == ""} {
set kysnro [rand [llength kys_lista]]
set kys_val [lindex $kys_lista $kysnro]
set nyk_kys [lindex [split $kys_val "|"] [expr $eka_kys]]
}
unset vihjenro
vihje
bind pubm -|- "$kanava *" tarkista_vastaus
return
}
Osaatteko auttaaa? TCL on uusin mitä saa, käänsin eggdroppia varten ja eggdrop on uusin versio myöskin.