This is the new home of the egghelp.org community forum.
All data has been migrated (including user logins/passwords) to a new phpBB version.


For more information, see this announcement post. Click the X in the top right-corner of this box to dismiss this message.

Counting points

Help for those learning Tcl or writing their own scripts.
Post Reply
h
haferbrei
Voice
Posts: 23
Joined: Wed Apr 08, 2020 8:57 pm

Counting points

Post by haferbrei »

How do the four user points add up, if they get the moonface?
The number of faces is counted already.

Code: Select all

bind PUBM -|- * mondgesichtparser

set mond(sprueche1) {
    "WAHNSINN! Ein Punkt! Was soll ich denn jetz damit? Oder wird das mal ein Mondgesicht? "
    "Punkt Punkt Punkt... Ach so! Mondgesicht soll das werden! Dann mach ma jemand hier weiter! "
    "Soll dieser Punkt jetzt das Ende eines Satzes darstellen oder den Anfang von einem Mondgesichts? "
    "So Loidde, es geht wieder ma rund! Ein Mondgesicht wurde angefangen... Gibt mir wer nen zweiten Punkt? "
    "Noch 'n Punkt, sonst wird das kein Mondgesicht! "
    "Oben komme Haare dran und Ohren, dass er hören kann! "
    "Hals und Bauch hat er auch, Arme noch und Beine dran, fertig ist der kleine Mann! "
}

set mond(sprueche2) {
    "Hmm.. Noch ein Punkt! Jetzt wird's ernst! Macht ma' das Mondgesicht hier fertig! "
    "Das wird ja immer doller hier! Jetzt haben wir schon zwei Punkte! "
    "NOCH EIN PUNKT! Unglaublich dass ihr es so weit bringt! Jetzt müsst ihr ein KOMMA machen, Info vom Bot für Mensch! "
    "Wird's heute noch was? Jetzt noch ein Komma und 'n Strich und wir sind alle glücklich! "
    "Ein Hals wie eine Flasche, ein Bauch wie eine Tasche! Den Rest packt ihr auch noch! "
}

set mond(sprueche3) {
    "So... und nun? Jetzt noch nen STRICH bitte, dann wird hier endlich nich mehr gespamt... "
    "Ein KOMMA! Ganz richtig! Und jetzt noch nen Strich und fertig ist der ganze Mann. "
    "Und nu?? Wo bleibt der STRICH? "
    "LOS LOS! Nur noch ein STRICH und die Sache hier is endlich gegessen! "
    "Glückwunsch dass ihr es so weit gebracht habt... Jetzt, was fehlt noch? Hm? Nachdenken! - DER STRICH! "
    "Knöpfchen, Knöpfchen, Knopf. Hütchen auf den Kopf. Aber Strich fehlt trotzdem immernoch! " 
}

setudef flag mondgesicht
setudef str  mondgesicht_count

proc mondgesichtparser { nickname hostname handle channel arguments } {

    if { ![channel get $channel mondgesicht] } { return 0 }
    if { [info exists ::mond(flood,$channel)] } { return 0 }

    if { ![info exists ::mond(hosts,$channel)] } {
        set ::mond(hosts,$channel) ""
    }

    if { [string match "*$hostname*" $::mond(hosts,$channel)] } { return 0 }

    if { ![info exists ::mond(status,$channel)] && $arguments == "." } {
        set ::mond(anfang) [clock seconds]
        set spruch [lindex $::mond(sprueche1) [rand [expr [llength $::mond(sprueche1)] - 1]]]
        putquick "privmsg $channel :$spruch ($nickname)"
        set ::mond(status,$channel) 2
        lappend ::mond(hosts,$channel) $hostname
        lappend ::mond(nicks,$channel) $nickname
        return 0
    }

    if { [info exists ::mond(status,$channel)] && $arguments == "." && $::mond(status,$channel) == 2 } {
        set spruch [lindex $::mond(sprueche2) [rand [expr [llength $::mond(sprueche2)] - 1]]]
        putquick "privmsg $channel :$spruch ($nickname)"
        set ::mond(status,$channel) 3
        lappend ::mond(hosts,$channel) $hostname
        lappend ::mond(nicks,$channel) $nickname
        return 0
    }

    if { [info exists ::mond(status,$channel)] && $arguments == "," && $::mond(status,$channel) == 3 } {
        set spruch [lindex $::mond(sprueche3) [rand [expr [llength $::mond(sprueche3)] - 1]]]
        putquick "privmsg $channel :$spruch ($nickname)"
        set ::mond(status,$channel) 4
        lappend ::mond(hosts,$channel) $hostname
        lappend ::mond(nicks,$channel) $nickname
        return 0
    }

    if { [info exists ::mond(status,$channel)] && $arguments == "-" && $::mond(status,$channel) == 4 } {
        set ende [clock seconds]
        set time [expr $ende - $::mond(anfang)]
        lappend ::mond(nicks,$channel) $nickname
        set count [expr [channel get $channel mondgesicht_count] + 1]
        if { $count == "" } {
            set count 1
        }
        channel set $channel mondgesicht_count $count

        putquick "privmsg $channel : Ritze-ratze, ritze-ratze,fertig ist die Miezekatze. \\o/ - das hat $time Sekunden gedauert - Hände in die Luft!"
#Punkt Punkt Komma Strich - fertig ist das MoOnGESICHT \\o/ - das hat $time Sekunden lang gedauert - Ihr seid mir Schlafmützen!"
        putquick "privmsg $channel :Das Mondgesicht Nr. $count wurde von den Superusern [join $::mond(nicks,$channel) ", "] gemalt!"

        set ::mond(flood,$channel) 1
        timer 1 [list unset ::mond(flood,$channel)]

        unset ::mond(hosts,$channel)
        unset ::mond(nicks,$channel)
        unset ::mond(status,$channel)
    }
}

putlog "Mondgesicht.loaded"
Post Reply