------------------------------------------------------------------------------ Title......: Mumps Scripting Author.....: Axel (the Implementor 'of Code') Started....: 2001-Jul-13 Last Change: 2003-Dec-16 ------------------------------------------------------------------------------ conditions: =========== You are one of the few to be above or equal level 108 (Coder), or ... your character is above or equal level 104 (builder) and in addition is marked as a scripter. You are marked as a scripter, if '/access list' shows a '[mumps]' besides your name. mumps quick: ============ Mumps :) It is evil... and ugly :) But once you got to know it, you love it. Once you love it, you do not want to miss it. It is virtually the worst, which could happen to you, but now that you are here - sorry .) you want it? ============ It is easy really. Build a zone in our MUD, so we get to know you. Yes we all agree that is a waste for a coder. But then again, how else should we be able to decide to trust someone? At least he/she should show some basic interest in our game. And basic interest is best reflected in building .) Also you learn features of our MUD - good and bad. You learn what is annoying and what to watch out for. You see what is important when building rooms, mobiles and objects. A scripter is only half as good, if he did not get that experiences. In addition - go download mumps from http://www.freem.net and compile it. If you are not able to do so. Well sorry, but you are not the one we are looking for! Seriously I (Axel) would love to build some zones, but I am mostly stuck with stupid C coding. (and of course I dislike writing descs as most of you :) We try to promise you one thing - if you are done building your zone and are accepted as scripter, you can do the scripts for your own zone first. Of course scripts should fit into our scheme and they shall not be totally insane :) your responsibilities: ====================== So you are a scripter! You can rule the mud! If you are good, you can do virtually everything! Close to noone will be able to track down what you did. Well, that is the trust we put into _you_. Please do not disappoint it. Then again - you will be the one to code superb quests or situations. You will deliver a huge contribution to bring our MUD to life. If you are missing function-calls or anything else, contact Axel and we will try to find a solution as soon as possible. mumps (long): ============= Mumps is the short for 'Massachusetts General Hospital Utility Multi- Programming System.' It is old and dates back to the 70ies, when PDP-11 and IBM ruled. Mumps is a procedural, interpreted general-purpose programming language oriented towards database applications. Its characteristic features are: - untyped variables, converted automatically between numeric and string; - multi-dimensional associative arrays; - persistent variables ("globals") - good string handling capabilities: better than BASIC, not as good as SNOBOL4 (e.g. no full regular expressions;) - "indirection:" can use strings computed at runtime as part of M program text; - built-in multiuser/multitasking support. Even if MUMPS is technically structured, it goes against the spirit of structured programming with commands reduced to a single letter whenever possible, short variable names encouraged, and no white space. Syntactically MUMPS has only one data-type: strings. Semantically, the language has many data-types: Text strings, binary strings, floating point values, integer values, Boolean values. Interpretation of strings is done inside functions, or implicitly while applying mathematical operators. The conversion is done on-the-fly. introduction: ============= Now that you are a scripter you got access to the '/mumps' command. Among several subcommands, the '/mumps'-command will take you into the mumps environment mode. Here, for instance, you can check the global variables by typing 'w', which is the abbreviation for 'write'. Per standard definition, write without arguments shows you the current set of variables, while write with an argument, shows you the value of the specified variable. Above was only for a start - at the beginning you will be mostly searching for available interface functions. You are able to do this by using the '/mumps grep ' command. Lets say, we want a character to do something. So after a lot of searching we try the keyword 'force': * 120> /mum gre force force^%char(ch,text) force player/mobile to execute command movedly^%char(ch,dir,script) delayed-move character into the direction . (just as if the character would have been forced) Delayed in this context means, that it will be sent ASAP, but after the script has ended. That has the nice advantage, that an enter event is sent to the room. If given the mumps-