bind pub - !egjagd pub:jagd bind pub - !egj pub:jagd proc pub:jagd {n u h c t} { set 12 [clock scan "11:55:00"] set now [clock seconds] #set now [clock scan "21:55:00"] set tom [expr {$now>$12}] if {$tom} {set dur [expr {$now-$12}]} {set dur [expr {$12-$now}]} set durt [duration $dur]; if {[llength $durt]>4} {set durt [lrange $durt 0 3]} set durt [string map [list hours Stunden hour Stunde minutes Minuten minute Minute seconds Sekunden second Sekunde] $durt] switch "$tom:$::egjagdcount" { "0:0" {putmsg $c "Nächste Jagd ist Morgen, in 1 Tag $durt könnts losgehen.. ;-)"} "0:1" {putmsg $c "Nächste Jagd ist Heute um 11:55, in $durt könnts losgehen.. ;-)"} "1:1" { set dur [expr {86400-($now-$12)}] set durt [duration $dur]; if {[llength $durt]>4} {set durt [lrange $durt 0 3]} set durt [string map [list hours Stunden hour Stunde minutes Minuten minute Minute seconds Sekunden second Sekunde] $durt] putmsg $c "Nächste Jagd ist Morgen, in $durt könnts losgehen.. ;-)" } "1:0" { set 12 [clock scan "21:00:00"] if {$now>$12} { putmsg $c "Nächste Jagd erst wieder in 2 Tage.." } { putmsg $c "Nächste Jagd erst wieder in 2 Tage, aber vielleicht ist eine Gruppe vor der Stadt oder bei 115:115.." } } default {putmsg $c "nächste jagd $dur:$durt:$tom:$::egjagdcount;"} } } bind pub - !egswap pub:swap bind pub - !egs pub:swap proc pub:swap {n u h c t} { set ::egjagdcount [expr {$::egjagdcount ^ 1}] pub:jagd $n $u $h $c $t } bind pub - warten pub:warten proc pub:warten {n u h c t} { if {[string match "(*)" [string trim $t]] && $::egjagdcount} { putmsg $c "Setze jagen auf Heute und die nächste Jagd wieder in 2 Tage.." set ::egjagdcount 0 } } bind pub - !eglevel pub:level bind pub - !egl pub:level proc pub:level {n u h c t} { if {[string is digit -strict $t] && ([isop $n $c] || [matchattr $h o|o $c])} { if {$t>100} { set l 0; set new 0; set i 0; for {set i 0} {$i<100} {incr i} { set new [expr {($i-1)*$i*500}] if {$new>$t} { break } } putmsg $c "Du benötigst noch [expr {$new-$t}] EXP für Level $i. ($new)" #putcmdlog "i:$i; new:$new; t:$t;" } { putmsg $c "Für Level $t werden [expr {($t-1)*$t*500}] Punkte benötigt." } } } bind pub - !egverkauf pub:verkauf bind pub - !egv pub:verkauf proc pub:verkauf {n u h c t} { if {[string is digit -strict $t] && ([isop $n $c] || [matchattr $h o|o $c])} { set l [list]; set l2 [list] for {set i 1} {$i<=25} {incr i} {set x [expr round((500*$i/$t.))]; if {($x*$t) % 500>250} {incr x}; if {($x*$t) % 500>250} {incr x; incr i}; lappend l [list $x [expr {$x*$t}]] lappend l2 $x } #set i 25; lappend l [list $i [expr round((500*$i/$t.)+0.0)]]; lappend l2 [expr round((500*$i/$t.)+0.0)] #set i 50; lappend l [list $i [expr round((500*$i/$t.)+0.0)]]; lappend l2 [expr round((500*$i/$t.)+0.0)] putmsg $c "Optimale (ver)kaufsanzahlen sind bei [string map {";" "; "} [join [join $l ");"] "("]]) Stück." #putmsg $c "Optimale (ver)kaufsanzahlen sind bei [join $l2 ", "] Stück." } } #bind time - "55 11 *" egtime #catch {unbind time - "55 11 *" egtime} if {![info exi ::egjagdcount]} {set ::egjagdcount 0} proc egtime {min hour day mon year} { if {$::egjagdcount} { putmsg #risiko "Jungs, Mädels.. Es is gleich Zeit für Mittag.. Vielleicht noch ein bisschen jagen?" #putmsg #cybex.test "Jungs, Mädels (und CyBex).. Es is gleich Zeit für Mittag.. Vielleicht noch ein bisschen jagen?" set ::egjagdcount 0 } { putmsg #risiko "Jungs, Mädels.. Es is gleich Zeit für Mittag.." #putmsg #cybex.test "Jungs, Mädels (und CyBex).. Es is gleich Zeit für Mittag.." set ::egjagdcount 1 } }