Downloads: change list changes relative to Powwow 1.2.5 Date....: 11 JUL 2001 Author..: Axel Trocha (axel@trocha.com) Aim.....: Database and advanced Scripting support in Powwow Tools...: Powwow 1.2.5 and FreeM 0.6.3 --- INTRO ------------------------------------------------------------------- I just hacked in this readme, just to offer a quick overview and make the project avail as soon as possible to those who want to test it. Everyone who reads this text most likely heard of Powwow or even uses it, but never head of FreeM. Powwow is one of the best unix-based MUD clients, while FreeM is a programming language with an integrated database. I am using Powwow since I mud, which is not all the long. Using Powwow I did uncountable nice scripts, but still I was not too happy with its scripting abilities. Everything seems to be squeezed into one line and I was missing database support. Since 1991 I am coding in Mumps. Mumps is BASIC-like, string-oriented programming language with an integrated database. It is mostly used in medical environments, where huge amounts of data have to be stored and worked with. There were several Mumps vendors, but they all were bought by one company. So we started the Free-Mumps project (later renamed to Free-M) in 1998, which aimed to supply a free Mumps environment. For several reasons the project broke apart in mid 1999. I am still enhancing and using it. --- POWWOW ------------------------------------------------------------------- I used Powwow 1.2.5 as base, applied some patches so it compiles with 2.4.x kernel and added some misc stuff: - time wariables: year, month, day, hour, min, sec, time e.g. #print (year+month+day) - changed the #edit command, so you can set the local-editing-editor at runtime. e.g. #ed /usr/bin/vi or #ed vi etc --- The Merge ---------------------------------------------------------------- I threw the source of Powwow and FreeM into one directory and started working on it, till it compiled without errors. Then I added a new powwow command #mumps, so you can switch to the FreeM environment from within Powwow. So there are basically two possible modes/environments/prompts: Powwow and FreeM. It is possible to switch between those modes and exchange data. After starting the program it starts in Powwow mode and if you used Powwow before you will think nothing has changed. You can use Powwow like before, except another Powwow command was added: #mumps Typing #mumps will switch completely to the FreeM environment. The prompt will change to "freem>". You can get back to powwow by typing h[alt]. (h[alt] means you can either type: h or ha or hal or halt) But we will stay in the FreeM mode for a while. After switching to FreeM from Powwow, all current Powwow variables are imported. Since variables in FreeM cannot consist of dollars ($) and underscores (_), it will cut those away. For instance the powwow last_line variable will be lastline in FreeM. If you want to check what variables are set at that moment you can type w[rite] * W C>#mumps #invoking mumps interpreter... #type h[alt] to exit freem>w lastline=You will climb if necessary. prompt=* W C> freem>h #exiting mumps interpreter... * W C> While you are in FreeM mode you can also issue powwow commands, like you would be in Powwow mode. For instance you can just type #emu test, #var or #connect or whatever. That way you could export variables back to powwow, do #emulates so that powwow #actions trigger, or do #mark's ... * W C>#mumps #invoking mumps interpreter... #type h[alt] to exit freem>#var #the following variables are defined: #($last_line = "9 players on.") #($prompt = "* W C>") freem>#zap main #connection on `main' closed. #no connections left. Type #quit to quit. freem>h #exiting mumps interpreter... #no open connections. Use '#connect main... Ok, that still isn't really interesting. Let do something cooler. Hm, before we do some set of actions to handle a secret door database, we start of with a narrate-saver: *) "THE NARRATE SAVER" How do we start? First we need a powwow action which triggers on the keyword "narrates". To make it fool-proof, we could also trigger on the narrate-color- codes. In MUME, if you use "cha col all def", it will be yellow. So our powwow- script could look something like this: #ac >+getnarr ^\033[33m$1 narrates &2\033[0m=#mumps save^narrate #al nl=#mumps show^narrate Typing "#mumps |
|