rusty@garnet.berkeley.edu (rusty wright) (10/09/90)
Archive-name: tclbot/06-Oct-90 Original-posting-by: rusty@garnet.berkeley.edu (rusty wright) Original-subject: 2nd beta release of tclbot Archive-site: belch.berkeley.edu [128.32.152.202] Archive-directory: /pub/mud_robots Reposted-by: emv@math.lsa.umich.edu (Edward Vielmetti) This is an announcement of the second release of tclbot. This should be considered a beta release because there is still a bug in the "explore" code (I'm sick of looking at the code and haven't even worked on it since the last time). Everything else seems to work fine. You can get tclbot via anonymous ftp to belch.berkeley.edu (128.32.152.202) in the pub/mud_robots directory. tclbot is a robot designed for people who don't want to learn how to program in C but would like to experiment with a robot. The bad side is that you'll still have to learn how to program, but in the language tcl. The good side is that tcl is an interpreter so you can make quick changes, modifications, etc. and experiment easily. tclbot is sort of like some of the 'cutting edge' muds in that by itself it is a void; it's your tcl code that makes it into something. tclbot has no built-in actions, personality, or behaviour; you will have to provide that. Note: like the Maas-Neotek robot, tclbot uses the OUTPUTPREFIX and OUTPUTSUFFIX commands (of which the existence isn't widely advertised). Some muds require your robot character to have its bot bit set by a wizard in order for it to be able to use these commands. (This is true of Islandia.) Some mucks and muds allow all characters to use these commands. The mud BotHaven on belch.berkeley.edu (128.32.152.202), port 2323 has been set up as a test mud for robots and allows all characters to use these commands. Documentation for tclbot is provided. The top-level README file gives a general overview of tclbot and some instructions and examples for using tcl and tclbot. The README file in the tclbot/src directory lists the tcl commands that I added that you can use to control the robot (in addition to the regular tcl commands). The file tcl-3.3/doc/Tcl.man documents tcl and the tcl commands. From a programmer's viewpoint, one of the nice things about tcl is that it's easy to add tcl commands to your C program. I've tried to add as many of the most likely to be used tcl commands that I could think of. If there are any that you'd like added send me email. Send comments, complaints, suggestions, etc. to rusty@garnet.berkeley.edu. Changes from the last release: I'm not sure if I can remember them all. The biggest one is that I've changed the way the gdbm file restrictions work so that they are the same as the restrictions that gdbm applies. Previously I had some hack that made it look like you could have a gdbm file open for both reading and writing. Now you can have a file open for reading many times but if you have it open for writing you can't have it open more than once. The modes to gdbm_open now match the underlying modes supported by gdbm; read, write, write create, and create new db; "r", "w", "wc", "n". Added the tcl command tolower which returns its args converted to lower-case. Added tcl commands file_open, file_close, file_read, file_readl, and file_write; routines for reading and writing text files. They do what their names imply. file_open has the same restrictions as gdbm_open; a file can apparently be opened many times for reading (you just get the same file descriptor), but if it's opened for writing it can only be opened once. For text files files the restrictions aren't as bad since they can be opened for reading and writing simultaneously. file_read reads the entire file and returns it as a list with each line as a list element. file_readl reads and returns one line at a time. Both file_read and file_readl strip the newline at the end of the lines and skip over (ignore) empty lines. A call to file_read can follow calls to file_readl. Plus some bug fixes and the usual raft of new bugs. Improved the documentation (aka README files) somewhat. -- rusty c. wright rusty@garnet.berkeley.edu ucbvax!rusty