egghelp.org community Forum Index
[ egghelp.org home | forum home ]
egghelp.org community
Discussion of eggdrop bots, shell accounts and tcl scripts.
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

LoReZ ShoutCast Script v2.1 announce in 2 channels, how?

 
Post new topic   Reply to topic    egghelp.org community Forum Index -> Script Support & Releases
View previous topic :: View next topic  
Author Message
starpossen
Op


Joined: 10 Jan 2006
Posts: 139

PostPosted: Fri Jun 09, 2006 4:11 pm    Post subject: LoReZ ShoutCast Script v2.1 announce in 2 channels, how? Reply with quote

My bot sits on two channels, #radio and #starpossen, and As the topic says, I want this script to announce in #starpossen aswell, everuthing works nicely in #radio channel where it changes the topic when the stream goes off and online etc. wich is good, but the in #starpossen, I only want the bot to announce current song and Advertise for the stream, I dont know if this is possible, and I tried connecting to quakenet to get a hold of LoReZ but he seems to be offline.

the .cfg and the .tcl are below and unedited:

sc.cfg
Code:

###############################################################################################################################
#                                                                                                                             #
# LoReZ ShoutCast Script v2.1 (sc.tcl)                                                                                        #
# Email: lorez@bigvibez.com                                                                                                   #
# IRC: #bigvibez @ Quakenet                                                                                                   #
#                                                                                                                             #
# Please contact me if you notice any bugs                                                                                    #
#                                                                                                                             #
# Installation: Put the script and the config file into your scripts directory, add "source scripts/sc.tcl" to your eggdrop   #
#               config and rehash the bot. (http package is REQUIRED for this script to work)                                 #                                                                                              #
#                                                                                                                             #
###############################################################################################################################

###############################################################################################################################
#                                                START OF CONFIGURATION FOR SC.TCL                                            #
###############################################################################################################################

### Stream Settings ###

# A Description for your Stream
set sc::vars(desc) "My Radio"

# The IP Adress of your Stream
set sc::vars(ip) "192.168.1.1"

# The Port on which ShoutCast runs
set sc::vars(port) "8000"

# The Password of your Stream
set sc::vars(pass) "leet1337"

# The MIME encrypted Admin Password of your Stream (you can get it with mIRC by typing //echo -a $encode(admin:adminpassword,m)
set sc::vars(adpass) "YWRftaW46ddhm9yc3RhZ57HQ="

# The Channels on which the Bot shall react on Commands
set sc::vars(chans) "#myradio"

# The Intern Channel to which the Bot sends Wishes and Greets (if send Wishes and Greets to Intern Channel is activated)
set sc::vars(intern) "#myradio.intern"

# The File where the Data shall be stored
set sc::vars(file) "/home/user/eggdrop/scripts/sc.db"

# The Flag required for kicking the Source and un/setting the DJ
set sc::vars(flag) "D"

# The Trigger used for Commands
set sc::vars(trigger) "!sc:"


### General Settings ###

# Enable Public Commands (0 = No | 1 = Yes)
set sc::sets(pub) 1

# Enable Message Commands (0 = No | 1 = Yes)
set sc::sets(msg) 1

# Reply In Channel (0 = No | 1 = Yes)
set sc::sets(reply) 1

# Where to send Wishes and Greets (0 = DJ | 1 = Intern Channel)
set sc::sets(wishgreet) 1

# Announce Track Changes (0 = No | 1 = Yes)
set sc::sets(anntrack) 1

# Announce Bitrate Changes (0 = No | 1 = Yes)
set sc::sets(annbitrate) 1

# Announce Listener Count Changes (0 = No | 1 = Yes)
set sc::sets(annlist) 1

# Announce Peak Changes (0 = No | 1 = Yes)
set sc::sets(annpeak) 1

# Announce DJ Changes (0 = No | 1 = Yes)
set sc::sets(anndj) 1

# Announce when Stream goes on/offline (0 = No | 1 = Yes)
set sc::sets(ann) 1

# Advertise Stream (0 = No | 1 = Yes)
set sc::sets(adv) 1

# Advertise every X Minutes
set sc::sets(advtime) 15

# Change Topic when Stream goes on/offline
set sc::sets(topchg) 1

# Change Topic when the DJ Changes
set sc::sets(djtopchg) 1

# Change Topic with Q Bot (QuakeNet)
set sc::sets(qtopic) 0

   
### Command and Text Settings ###

# In the texts you can use these variables:
# %listeners %peak %max %unique %avgtime %genre %url %title %song %songurl %irc %icq %aim %webhits %streamhits %bitrate %content %version %ip %port %desc %lastsongs %djnick %dj %showname %status

# Stream Trigger
set sc::triggers(stream) "stream"
# Text when someone uses the Stream Trigger
set sc::texts(stream) "http://%ip:%port/listen.pls"

# Info Trigger
set sc::triggers(info) "info"
# Text when someone uses the Info Trigger
set sc::texts(info) "Stream %ip:%port running ShoutCast v.%version streaming %content. The Listener Peak is %peak (Average Time %avgtime). Stream had %webhits Webhits and %streamhits Streamhits."

# DJ Trigger
set sc::triggers(dj) "dj"
# Text when someone uses the DJ Trigger
set sc::texts(dj) "%dj is on the set"

# Song Trigger
set sc::triggers(song) "song"
# Text when someone uses the Song Trigger
set sc::texts(song) "Now playing: %song"

# Listener Trigger
set sc::triggers(list) "listener"
# Text when someone uses the Listener Trigger
set sc::texts(list) "Stream %ip:%port : %listeners (%unique) of %max listeners"

# Peak Trigger
set sc::triggers(peak) "peak"
# Text when someone uses the Peak Trigger
set sc::texts(peak) "Peak: %peak"

# Bitrate Trigger
set sc::triggers(bitrate) "bitrate"
# Text when someone uses the Bitrate Trigger
set sc::texts(bitrate) "Bitrate: %bitrate"

# Stream Title Trigger
set sc::triggers(title) "title"
# Text when someone uses the Stream Title Trigger
set sc::texts(title) "Title: %title"

# Stream Genre Trigger
set sc::triggers(genre) "genre"
# Text when someone uses the Stream Genre Trigger
set sc::texts(genre) "Genre: %genre"

# Stream URL Trigger
set sc::triggers(url) "url"
# Text when someone uses the Stream URL Trigger
set sc::texts(url) "URL: %url"

# Stream IRC Trigger
set sc::triggers(irc) "irc"
# Text when someone uses the Stream IRC Trigger
set sc::texts(irc) "IRC: %irc"

# Stream ICQ Trigger
set sc::triggers(icq) "icq"
# Text when someone uses the Stream ICQ Trigger
set sc::texts(icq) "ICQ: %icq"

# Stream AIM Trigger
set sc::triggers(aim) "aim"
# Text when someone uses the Stream AIM Trigger
set sc::texts(aim) "AIM: %aim"

# Last Songs Trigger
set sc::triggers(lsongs) "lastsongs"
# Text when someone uses the Last Songs Trigger
set sc::texts(lsongs) "Last Songs: %lastsongs"

### You can remove Commands by deleting or commenting a Trigger and a Text for the Command ###
### You can also add Commands by setting up a Trigger and a Text for the Command. E.g.: ###
# Homepage Trigger
# set sc::triggers(hp) "hp"
# Text when someone uses the Homepage Trigger
# set sc::texts(hp) "Homepage: www.myradio.com"

   
# Help Trigger
set sc::triggers(help) "help"

# Wish Trigger
set sc::triggers(wish) "wish"

# Greet Trigger
set sc::triggers(greet) "greet"

# Kick Trigger
set sc::triggers(kick) "kick"

# Set DJ Trigger
set sc::triggers(setdj) "setdj"

# Unset DJ Trigger
set sc::triggers(unsetdj) "unsetdj"


# Text that is advertised (if advertise Stream is activated)
set sc::texts(adv) "tune in @ http://%ip:%port/listen.pls"

# Text when Stream goes online (if announce when Stream goes on/offline is activated)
set sc::texts(on) "%desc now %status @ http://%ip:%port/listen.pls with %dj at %bitratekbps"

# Text when Stream goes offline (if announce when Stream goes on/offline is activated)
set sc::texts(off) "%title now offline"

# Text for the Topic when Stream goes online (if change Topic when Stream goes on/offline is activated)
set sc::texts(ontopic) "%title now online @ http://%ip:%port/listen.pls with %dj at %bitratekbps :: !sc:help for Bot help"

# Text for the Topic when Stream goes offline (if change Topic when Stream goes on/offline is activated)
set sc::texts(offtopic) "%title now offline :: !sc:help for Bot help"

# Text for the Topic when the DJ changes (if change Topic when DJ changes is activated)
set sc::texts(djtopic) "%title now online @ http://%ip:%port/listen.pls with %dj (%djnick) and his Show %showname at %bitratekbps :: !sc:help for Bot help"

# Text when a new Song is playing (if announce when Track changes is activated)
set sc::texts(songchg) "New Track playing: %song"

# Text when the Listener Count changes (if announce when Listener Count changes is activated)
set sc::texts(listchg) "There are now %listeners (%unique) of %max people listening"

# Text when the Bitrate Changes (if announce when Bitrate changes is activated)
set sc::texts(bitratechg) "Bitrate changed to %bitrate"

# Text when the Peak changes (if announce when Peak changes is activated)
set sc::texts(peakchg) "New Peak: %peak"

# Text when the DJ changes (if announce when DJ changes is activated)
set sc::texts(djchg) "%dj is now on the set"

# Text when Stream is offline and someone uses a Command
set sc::texts(offcmd) "Stream currently offline"
   
###############################################################################################################################
#                                                 END OF CONFIGURATION FOR SC.TCL                                             #
###############################################################################################################################

sc.tcl
Code:

###############################################################################################################################
#                                                                                                                             #
# LoReZ ShoutCast Script v2.1 (sc.tcl)                                                                                        #
# Email: lorez@bigvibez.com                                                                                                   #
# IRC: #bigvibez @ Quakenet                                                                                                   #
#                                                                                                                             #
# Please contact me if you notice any bugs                                                                                    #
#                                                                                                                             #
# Installation: Put the script and the config file into your scripts directory, add "source scripts/sc.tcl" to your eggdrop   #
#               config and rehash the bot. (http package is REQUIRED for this script to work)                                 #                                                                                              #
#                                                                                                                             #
###############################################################################################################################

###############################################################################################################################
#                                                          START OF TCL CODE                                                  #
###############################################################################################################################

package require http
namespace eval sc {
    variable vars
    variable sets
    variable triggers
    variable texts
    variable offadv 0
    source scripts/sc.cfg
    proc init {} {
   set start [clock clicks]
   set sc::offadv 0
   bind time - "* * * * *" sc::check
   bind nick - * sc::nick
   foreach x [array names sc::triggers] {
       if {$sc::sets(pub) == 1} {
      bind pub [expr {($x == "kick") || ($x == "setdj") || ($x == "unsetdj") ? "$sc::vars(flag)" : "-"}] $sc::vars(trigger)$sc::triggers($x) "sc::pub $x"
       }
       if {$sc::sets(msg) == 1} {
      bind msg [expr {($x == "kick") || ($x == "setdj") || ($x == "unsetdj") ? "$sc::vars(flag)" : "-"}] $sc::vars(trigger)$sc::triggers($x) "sc::msg $x"
       }
   }
   if {$sc::sets(adv) == 1} {
       timer $sc::sets(advtime) "sc::post privmsg none all {$sc::texts(adv)}"
   }
   putlog "sc.tcl v2.1 by LoReZ successfully initialized in [expr {([clock clicks]-$start)/1000.0}]ms"   
    }
    proc pub {text nick uhost hand chan args} {
   if {([lsearch -exact [string tolower $sc::vars(chans)] [string tolower $chan]] != -1) || ($sc::vars(chans) == "")} {
       sc::cmd $text $nick $chan $args
   }
    }
    proc msg {text nick uhost hand args} {
   sc::cmd $text $nick none $args
    }
    proc nick {nick uhost hand chan newnick} {
   set tmp [open $sc::vars(file) r]
   gets $tmp streamdata
   gets $tmp songdata
   gets $tmp djdata
   close $tmp
   if {$nick == [lindex $djdata 0]} {
       set tmp [open $sc::vars(file) w+]
       puts $tmp $streamdata
       puts $tmp $songdata
       puts $tmp "$newnick [expr {([lindex $djdata 1] == $nick) ? $newnick : [lindex $djdata 1]}] [lrange $djdata 2 end]"
       close $tmp
       if {([lindex $djdata 1] == $nick) && ($sc::sets(djtopchg) == 1)} {
      sc::post topic none all "$sc::texts(djtopic)"
       }
   }      
    }
    proc cmd {text nick chan args} {
   if {[file exists $sc::vars(file)] != 1} {
       sc::check * * * * *
   }
   set tmp [open $sc::vars(file) r]
   gets $tmp streamdata
   gets $tmp songdata
   gets $tmp djdata
   close $tmp
   switch -exact $text {
       help {
      set sc::offadv 1
      putquick "privmsg $nick :Available Commands:"
      foreach x [array names sc::triggers] {
          if {$x != "help"} {
         if {(([matchattr [nick2hand $nick $chan] +$sc::vars(flag) $chan] != 1) && ($x != "kick") && ($x != "setdj") && ($x != "unsetdj")) || ([matchattr [nick2hand $nick $chan] +$sc::vars(flag) $chan] == 1)} {
             set sc::offadv 1
             putquick "privmsg $nick :$sc::vars(trigger)[expr {($x == "setdj") ? "$sc::triggers($x) <djname> <showname>" : [expr {(($x == "wish") || ($x == "greet")) ? "$sc::triggers($x) <$x>" : "$sc::triggers($x)"}]}]" 
         }
          }
      }
      set sc::offadv 1
      putquick "privmsg $nick :End of Commands"
       }
       kick {
      putquick "privmsg $nick :Source successfully kicked"
      if {[lindex $streamdata 15] == 1} {
          set sock [socket $sc::vars(ip) $sc::vars(port)]
          puts $sock "GET /admin.cgi?mode=kicksrc HTTP/1.1"
          puts $sock "User-Agent:Mozilla"
          puts $sock "Host: $sc::vars(ip)"
          puts $sock "Authorization: Basic $sc::vars(adpass)"
          puts $sock ""
          flush $sock
      }
       }
       setdj {
      putquick "privmsg $nick :New DJ set"
      if {[lindex $streamdata 15] == 1} {
          set tmp [open $sc::vars(file) w+]
          puts $tmp $streamdata
          puts $tmp $songdata
          puts $tmp "$nick [expr {([lindex $args 0] == "{}") ? $nick : [lindex [lindex $args 0] 0]}] [lrange [lindex $args 0] 1 end]"
          close $tmp
          if {$sc::sets(anndj) == 1} {
         sc::post privmsg none all "$sc::texts(djchg)"
          }
          if {$sc::sets(djtopchg) == 1} {
         sc::post topic none all "$sc::texts(djtopic)"
          }
      }
       }
       unsetdj {
      putquick "privmsg $nick :DJ unset"
      if {[lindex $streamdata 15] == 1} {
          set tmp [open $sc::vars(file) w+]
          puts $tmp $streamdata
          puts $tmp $songdata
          puts $tmp "none none none"
          close $tmp
          if {$sc::sets(anndj) == 1} {
         sc::post privmsg none all "$sc::texts(djchg)"
          }
          if {$sc::sets(djtopchg) == 1} {
         sc::post topic none all "$sc::texts(ontopic)"
          }
      }
       }
       default {
      if {($text != "wish") && ($text != "greet")} {
          sc::post privmsg $nick $chan "$sc::texts($text)"
      } else {
          if {[lindex $streamdata 15] == 1} {
         if {([lindex $args 0] == "{}")} {
         putquick "privmsg $nick :Nothing specified"
         } else {
             if {[lindex $djdata 1] == "none"} {
            putquick "privmsg $sc::vars(intern) :[string totitle $text] by $nick: $args"
             } else {
            putquick "privmsg [expr {($sc::sets(wishgreet) == 1) ? $sc::vars(intern) : [lindex $djdata 0]}] :[string totitle $text] by $nick: $args"
            putquick "privmsg $nick :[string totitle $text] sent to [expr {($sc::sets(wishgreet) == 1) ? $sc::vars(intern) : [lindex $djdata 0]}]"               
             }
         }
          } else {
         sc::post privmsg $nick none "$sc::texts(offcmd)"
          }
      }
       }
   }
   putlog "sc.tcl v2.1 $nick used $sc::vars(trigger)$sc::triggers($text)"
    }           
    proc check {min hour day month year} {
   set start [clock clicks]
   if {[file exists $sc::vars(file)] == 1} {
       set tmp [open $sc::vars(file) r]
       gets $tmp olddata
       gets $tmp songdata
       gets $tmp djdata
       close $tmp
   } else {
       set olddata "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0"
       set djdata "none none none"
   }
   http::config -useragent "Mozilla 5.0"
   set con [http::geturl http://$sc::vars(ip):$sc::vars(port)/admin.cgi?pass=$sc::vars(pass)&mode=viewxml&page=0 -timeout 10000]
   set urldata [http::data $con]
   http::cleanup $con
   foreach {y z} {21 ! 22 \" 23 # 24 \$ 25 % 26 + 27 ' 28 \( 29 \) 2A * 2B + 2C , 2E . 2F / 3A : 3B \; 3C < 3D = 3E > 3F ? 40 @ 5B \[ 5C \\ 5D \] 5F _ 60 ` C0 À C1 Á C2 Â C3 Ã C4 Ä C5 Å C6 Æ C7 Ç C8 È C9 É CA Ê CB Ë CC Ì CD Í CE Î CF Ï D1 Ñ D2 Ò D3 Ó D4 Ô D5 Õ D6 Ö D9 Ù DA Ú DB Û DC Ü DD Ý DF ß E0 à E1 á E2 â E3 ã E4 ä E5 å E6 æ E7 ç E8 è E9 é EA ê EB ë EC ì ED í EE î EF ï F0 ð F1 ñ F2 ò F3 ó F4 ô F5 õ F6 ö F9 ù FA ú FB û FC ü FD ý FE þ FF ÿ} {
       regsub -all "&#x$y;" $urldata "$z" urldata
   }
   regsub -all ".*<SHOUTCASTSERVER>" $urldata "" data1
   regsub -all "<WEBDATA>.*" $data1 "" data1
   regsub -all ".*<SONGHISTORY>" $urldata "\{" data2
   regsub -all "</SONGHISTORY>.*" $data2 " \}" data2
   set x 0
   foreach y {CURRENTLISTENERS PEAKLISTENERS MAXLISTENERS REPORTEDLISTENERS AVERAGETIME SERVERGENRE SERVERURL SERVERTITLE SONGTITLE SONGURL IRC ICQ AIM WEBHITS STREAMHITS STREAMSTATUS BITRATE CONTENT VERSION SONG PLAYEDAT TITLE} {
       if {$x < 19} {
      regsub -all ".*<$y>" $data1 "" data10
      regsub -all "</$y>.*" $data10 "" data10
      lappend streamdata [expr {(($data10 == "0") || ($data10 == "")) && ([string match -nocase *listeners "$y"] != 1) && ([string match -nocase *hits "$y"] != 1) && ([string match -nocase *time "$y"] != 1) ? "N/A" : $data10}]
       }
       if {$x > 18} {
      regsub -all "<$y>" $data2 "\{" data2
      regsub -all "</$y>" $data2 "\} " data2
       }
       incr x
   }
   set tmp [open $sc::vars(file) w+]
   puts $tmp $streamdata
   puts $tmp $data2
   puts $tmp $djdata
   close $tmp
   if {[lindex $olddata 15] != [lindex $streamdata 15]} {
       if { ($sc::sets(ann) == 1)} {
      set sc::offadv [expr {([lindex $streamdata 15] == 1) ? 0 : 1}]
      sc::post privmsg none all "[expr {([lindex $streamdata 15] == 1) ? $sc::texts(on) : $sc::texts(off)}]"
       }
       if {$sc::sets(topchg) == 1} {
      set sc::offadv [expr {([lindex $streamdata 15] == 1) ? 0 : 1}]
      sc::post topic none all "[expr {([lindex $streamdata 15] == 1) ? $sc::texts(ontopic) : $sc::texts(offtopic)}]"
       }
   }
   foreach {x y z} {8 anntrack songchg 0 annlist listchg 1 annpeak peakchg 16 annbitrate bitratechg} {
       if {([lindex $olddata $x] != [lindex $streamdata $x]) && ($sc::sets($y) == 1)} {
      sc::post privmsg all all "$sc::texts($z)"
       }
   }
   putlog "sc.tcl v2.1 received information from $sc::vars(ip):$sc::vars(port) in [expr {([clock clicks]-$start)/1000.0}]ms"
    }             
    proc post {mode nick chan text} {
   set tmp [open $sc::vars(file) r]
   gets $tmp streamdata
   gets $tmp songdata
   gets $tmp djdata
   close $tmp
   if {([lindex $streamdata 15] == 1) || ($sc::offadv == 1)} {
       foreach x [lindex $songdata 0] {
      append lastsongs "[lindex $x 1] :: "
       }
       lappend streamdata $sc::vars(ip) $sc::vars(port) $sc::vars(desc) ":: $lastsongs" [expr {(([lindex $djdata 0] == "none") || ([lindex $djdata 0] == "{}") || ([lindex $djdata 0] == "")) ? "No DJ" : [lindex $djdata 0]}] [expr {(([lindex $djdata 1] == "none") || ([lindex $djdata 1] == "{}") || ([lindex $djdata 1] == "")) ? "No DJ" : [lindex $djdata 1]}] [expr {(([lindex $djdata 2] == "none") || ([lindex $djdata 2] == "{}") || ([lindex $djdata 2] == "")) ? "No Show" : [lrange $djdata 2 end]}] [expr {([lindex $streamdata 15] == 1) ? "online" : "offline"}]
       set x 0
       foreach y {listeners peak max unique avgtime genre url title song songurl irc icq aim webhits streamhits streamstatus bitrate content version ip port desc lastsongs djnick dj showname status} {
      regsub -all "%$y" $text "[lindex $streamdata $x]" text
      incr x
       }
       if {$mode == "topic"} {
      foreach chans [channels] {
          if {$sc::vars(chans) == ""} {
         if {$sc::sets(qtopic) == 1} {
             putquick "privmsg TheQBot@CServe.quakenet.org :SETTOPIC $chans $text"
         } else {
             putquick "$mode $chans :$text"
         }
          } else {
         if {([lsearch -exact [string tolower $sc::vars(chans)] [string tolower $chans]] != -1)} {
             if {$sc::sets(qtopic) == 1} {
            putquick "privmsg TheQBot@CServe.quakenet.org :SETTOPIC $chans $text"
             } else {
            putquick "$mode $chans :$text"
             }
         }      
          }
      }
       } else {
      if {($sc::sets(reply) != 1) || ($chan == "none")} {
          putquick "$mode $nick :$text"
      }
      if {(($sc::sets(reply) == 1) && ($chan != "none")) || ($chan == "all")} {
          foreach chans [channels] {
         if {$sc::vars(chans) == ""} {
             putquick "$mode $chans :$text"
         } else {
             if {([lsearch -exact [string tolower $sc::vars(chans)] [string tolower $chans]] != -1)} {
            putquick "$mode $chans :$text"
             }
         }
          }
      }
       }
   } else {
       putquick "$mode [expr {((($sc::sets(reply) != 1) || ($chan == "none")) && ($chan != "all")) ? $nick : $chan}] :$sc::texts(offcmd)"
   }
   set sc::offadv 0
    }
    sc::init
}

###############################################################################################################################
#                                                           END OF TCL CODE                                                   #
###############################################################################################################################
Back to top
View user's profile Send private message
ZzozZ
Voice


Joined: 13 Nov 2010
Posts: 10

PostPosted: Fri Sep 28, 2012 6:58 am    Post subject: Reply with quote

How can i set dj ?? PLS HELP
I'm trying to write !sc:djset nick but no result :/
Back to top
View user's profile Send private message
Felix2003
Voice


Joined: 06 Feb 2009
Posts: 24

PostPosted: Sun Sep 30, 2012 1:17 pm    Post subject: Reply with quote

did you set your flag in the bot to allow yourself to set dj?

set sc::vars(flag) "D"

so in the bot type .chattr yournick +D

then try setting DJ
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    egghelp.org community Forum Index -> Script Support & Releases All times are GMT - 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Forum hosting provided by Reverse.net

Powered by phpBB © 2001, 2005 phpBB Group
subGreen style by ktauber