Kirjoittaja Aihe: TCL:n kanssa probleemaa...  (Luettu 1407 kertaa)

eGetin

  • Käyttäjä
  • Viestejä: 1093
  • Milloin mitäkin
    • Profiili
TCL:n kanssa probleemaa...
« : 28.02.09 - klo:00.47 »
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:
Koodia: [Valitse]
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:
Koodia: [Valitse]
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:
Koodia: [Valitse]
## 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.
Pöytäkone: Intel i7 920 | Asus P6X58D Premium | 12Gb DDR3 1600MHz | Asus Radeon HD 6950 1Gb | 60GB OCZ Vertex 2 SSD + 2TB WD Caviar Green + Samsung 830 120GB
HTPC: Intel C2D E4400 | Asus P5B | 4Gb DDR2 800MHz | Asus Geforce GT210 | 500GB WD Caviar GP
Kannettava: Asus Eee PC 1225B