|
Addme
Please readThis will save me about 70% of queries I get about this script : Thanks. :)
Pickup ?A pickup game is : Live examples : if you are new to this concept, launch your favorite IRC client, which means mIRC for most of people, and see how things go in severeal channels of Quakenet (irc.quakenet.org). You can try "/list *pickup*", or check this url, join #ctfpickup.euro (english spoken), or join #ctfpickup.fr (mainly french, english understood :), the biggest channel as I speak (300+ people everynight, about 50 games a day)
Pickup detailed, and script featuresA pickup game is : X players join a server, 2 of them are captains, and pick one player in their team after each other. Once the two teams are formed, they play :) This TCL script is used to manage a channel topic where you want to organise pickup games. For example, you need a given number of players to play [insert any game name here] and wish to allow anyone on the channel to register on a list (I've been contacted by people using this script with Quake - of course - but also CS, UT, Battlefield, DayOfDefeat, even Worms :) You can have the bot to sit in Players who want to fill in an available slot (a dot
in topic) use public message commands : As soon as the players list gets full, the bot warns
every registered player with a When a game starts, and if you set it to do so, the bot
can When the topic gets full, and if you set it to do it, the
bot can If some of them are late, and topic isnt automatically
cleared, you can recall everyone in the list : If you wish, when topic gets cleared (either automatically
by the bot, or manually by you with !removeall) the server
mentionned in topic can automatically Map list and server list mentionned above are managed
directly These infos are persistant and written to disk : if the bot dies or quits, map and server lists will be read from disk so you dont need to redo list from scratch, nor 'hardwrite' them directly into script. When a player joins the IRC channel, the bot Every command (except !addme and !removeme) can be assigned to ops only, or be public commands. You can keep track of how many games have been played using
DownloadDownload the script from egghelp.org : look for Ozh (my nickname) in the TCL script archive.
Installation & tipsPlease note : the script is heavily commented. This makes it easier to understand how things work if you're a bit into TCL, and easier to customize messages, for example to suit your language needs. I strongly advise you to read the whole script and the comments. Configure the script : at the very beginning of the script, you have to modify several lines. "Modify the script" means "edit it with a raw text editor", such as Notepad or Ultraedit in Windows, NOT Write or Word or anything like this ! Each variable you need to modify is commented inline, and a suggested value is mentionned. Again : Edit the script with a raw text editor, on Windows your Notepad will do fine. DONT USE WORDPAD OR WORD Upload the script : put it in your eggdrop's script directory, something like /home/you/eggdrop/scripts/ At the end of your bot's configuration file (eggdrop.conf), add this line : source scripts/addme.tcl In the middle of your eggdrop.conf, dont forget to add pickup channels if not already done : mentionning channels in the script wont make the bot join them. The bot must already sit in theses channels before the script is even downloaded, ok ? :) To have the bot load the script, .rehash or .restart
the bot. Once it has joined your pickup channel(s),
ERASE TOPIC AND TYPE !REMOVEALL. Make sure your bot is and will always be opped in
channels, otherwise it wont be able to change topic,
and some admin commands reserved to ops may not work. Another good idea is enforcing +t mode in pickup
channels, to prevent players from modifying topic
by accident, and thus breaking it :) (botwise, I
mean :) Once your bot sits in your pickup channel, type !help and play around with admin commands to populate map and/or server lists (if you wish to use this feature) This scripts works nice with QStats for Eggdrop, which will allow players to retrieve stats from game servers directly from within IRC. To get this script, head to www.egghelp.org and look for 'qstat' in the search form.
Troubleshooting, FAQThis script and its previous versions have been around for a few months, here are the questions I've been queried about Q : How do I load the script ? Q : egdropt.conf file ??? How do I laod the script in mIRC ?? Q : I've edited the script but the bot crashes
when I try to load it !!!1 Q : I've edited the script and loaded it, but I
have an error when I try to [add or change ip or
anything] which says : "Tcl error [addme_something]:
can't read "tmp": no such variable" Q : I've edited the script and loaded it, but I
have an error when the bot starts : "Tcl error (..blah blah..) illegal channel : #yourchan (blah blah) Q : But how do I add a channel in my eggdrop.conf ?? Q : There's a bug, it's not working.
A propos and LicenseThis script is made from scratch, although the idea was stolen from Echinus and his Echbot on Quakenet. But his bot is written in Java, and I wanted to discover and improve my TCL skillz, so I did this one :) It was designed with Quake pickup games in mind, but could actually be used for really any online multiplayer game. I've been contacted by players from various games : HL / CS, UT, even Worms :) I didnt make this script to compete with Echbot nor try to take its place on Quakenet :) Echbot is a very good and fast bot. But you cant tweak things on it nor modify the script. My script requires an eggdrop, which may be difficult to get for free, but you manage everything in it, it's your bot & your script. I did this script because it was a little
challenge for me, and it was my TCL learning
experiment :) This script is distributed without any warranty.
It's fully open source, you can modify to suit your
needs. After all, the bits of TCL I've learned
come from others' script, so I'll be glad if
you learn things from mine :) If you modify this script and / or add something valuable to it, I'll be glad to hear from you. Please do not mirror this script, as it will
not be kept up to date when I write a new version.
History2.00 - February-April 2003 . !promote . !stats . !motd . optionnal autoremoveall . optionnal autoswitch game server . map & server list, managed from irc . better help functions and messages . lots of options, on a channel basis . looots of code cleanup . lessss regular expression, for better compatibility with TCL versions I believe . from 400 to 1600 lines of code :> 1.01 - March 2002 . very minor (but highly requested) new feature : !server to change server's IP & pass . a few useless cleanings in code 1.00 - July 2001 or somewhen :P first release (and, as far as I know, first TCL script of its kind)
Future todosI have very few spare time and then spend very few time programming TCL (which, I repeat, is a ubersucky language), so don't expect new version each month :P The improvement I can think about at the moment is the ability of managing every setting from IRC, i.e. not editing the beginning of the script but setting everything from IRC once the bot is running. Maybe I'll do it one day. I'll probably also add some stat system to keep track of who's playing, top ten players, most played server, stuff like this I didnt want to, and won't, add every feature I could
think about or people suggested me, like managing
temporary bans for people who wont join servers,
automatically scanning a game server when
its ip is used in topic, etc... I've been requested to add timers into this
script, that would for example autoclear players list
when it's not been updated for a while, to ensure
all players listed are still here and not gone sleeping :)
CreditsThanks to Slennox from egghelp.org for his excellent website and for hosting the file. Thanks to Echinus who have inspired me this script, with his very efficient (perl, then java) bot Echbot. Thanks to players in #ctfpickup.fr who have sent me ideas and feature requests :)
© Ozh, Ozh on #sarl (irc.quakenet.org)
|