Kirjoittaja Aihe: "played" Tcl scripti eggdrop botille.  (Luettu 1345 kertaa)

samsunix

  • Käyttäjä
  • Viestejä: 198
    • Profiili
    • samuliweb
"played" Tcl scripti eggdrop botille.
« : 10.11.12 - klo:05.10 »
Hostailen omaa minecraft palvelinta ja samalla palvelimella pyörii eggdrop ircnet botti.
Löyty plugari minecraftiin jolla saan yhdistettyä minecraftin chatin ja irc-kanavan aka pystyn käyttämään bottia suoraan pelistä. Minecraft palvelimella on lisäksi toinen plugari joka kirjoittaa pelaajan nimen ja ajan minuutteina jonka hän on käyttänyt palvelimella as so:
Lainaus
samsunix: 9870
veeti321: 775
levelteacher52: 30
songmiina: 95
jamppara: 5585
findexi: 7210
Tästä juolahti idea tcl scripriin "played" (ominaisuutta jota ei pelissä ole, eikä sitä ole saatavilla plugininakaan) joka kertoo pelaajalle hänen viettämänsä ajan palvelimella. Tyyliin:
Koodia: [Valitse]
!played pelaajan-nimi
<Botti>  PelaajaX - Total time played: xx days, xx hours, xx minutes.

Ohjelmoinista on kokemusta pyöreä nolla joten tarvitsisin tässä nyt viisaampien apua. Tässä vaikka vähän pohjaa millä olen yrittänyt aloittaa:

joo kiitos vaan kaikille avusta.... -_- noh tässä se nyt kuitenkin lopulta on:

Koodia: [Valitse]
##########
# Played 0.1#
 ##########



bind pub - played pub:played

proc pub:played {nick host handle chan args} {

        set argument [lindex $args 0]
        set hakunimi [string tolower $argument]
        set pituus [llength $hakunimi]

        if {[llength $hakunimi] < 1 } {
                putserv "PRIVMSG $chan :Argument error! Write: played player_name"
                return
        }



        if {[catch {set fp [open "played.txt" "r"]} error]} {
                putserv "PRIVMSG $chan :file played.txt not found"
                return
       }

       set data [read -nonewline  $fp]
       close $fp
       set lines [split $data "\n"]

       foreach line $lines {
               set names [split $line ":"]
               foreach {name value} $names {
                       if {$name == $hakunimi} {
                                putserv "PRIVMSG $chan :$name played time is$value min"
                                return
                       }
               }
       }
        putserv "PRIVMSG $chan :Player $hakunimi not found"
}


« Viimeksi muokattu: 19.11.12 - klo:00.40 kirjoittanut samsunix »