[Start Dump] @prog Holodeck.muf 1 99999 d 1 i ( header, 8 lines -- Holodeck.muf, programmed by Jordan Greywolf Created 19 Apr 1997; Last Modified 20 Apr 1997 - This program is meant for a roleplaying-oriented MUCK which has "holodeck" rooms set aside for roleplay. Make a global action linked to this program. Type 'holodeck #help' for further help. Compatible with 'cambots' by BoingDragon. ) lvar outputline () : tell me @ swap notify ; () : command-name trigger @ name dup ";" instr dup if 1 - strcut pop else pop then 1 strcut swap toupper swap strcat ; () : holodeck-help "--- " command-name " Help Screen ---" strcat strcat tell "Commands" tell command-name " -- listing of rooms and status." strcat tell command-name " #Help -- show this screen." strcat tell command-name " {n} -- teleport to indicated number." strcat tell me @ "w" flag? if command-name " #Commands -- list wizard-only commands." strcat tell then "-----------------------------------" tell ; () : holodeck-commands "--- Wizard-Only Maintenance Commands ---" tell command-name " #Add #{n} -- add a room as a new 'holodeck'." strcat tell command-name " #Add here -- add current room." strcat tell command-name " #Del #{n} -- remove room from 'holodeck' list." strcat tell command-name " #Del {n} -- remove room by holodeck number." strcat tell command-name " #Del here -- remove current room." strcat tell "-----------------------------------" tell ; () : show-contents ( d -- : ) "" swap contents begin dup ok? not if pop break then dup player? if dup awake? if dup name rot ", " strcat swap strcat swap then else dup thing? over name "cambot" instr and if dup "recording" getpropstr "no" stringcmp not if dup name ": not logging" strcat "/ " swap strcat outputline @ swap strcat outputline ! else dup "lognum" getpropstr ": " swap strcat over name swap strcat "/ " swap strcat outputline @ swap strcat outputline ! then then then next repeat dup not if pop outputline @ "/ (no one is present.)" strcat tell else 2 strcut swap pop "." strcat "/ Players: " swap strcat outputline @ swap strcat tell then ; () : holodeck-status "-----------------------------------------" tell command-name " Status Report" strcat tell 1 begin trigger @ "_holodeck/#" getpropstr atoi over < if pop break then trigger @ "_holodeck/#/" 3 pick intostr strcat getpropstr dup if over intostr " - " strcat "* " swap strcat over atoi dbref dup room? not if pop pop "< error: invalid room>" tell break else name then strcat outputline ! atoi dbref show-contents then 1 + repeat "{done.}" tell ; () : error-msg "Invalid command. Type '" command-name " #Help' for help." strcat strcat tell ; () : find-room ( d -- i ) 1 begin trigger @ "_holodeck/#" getpropstr atoi over < if pop 0 break then trigger @ "_holodeck/#/" 3 pick intostr strcat getpropstr atoi dbref 3 pick dbcmp if break then 1 + repeat swap pop ; () : add-room ( d -- ) dup "@/holodeck/ok?" "y" 1 addprop trigger @ "_holodeck/#" getpropstr atoi 1 + trigger @ "_holodeck/#" 3 pick intostr 1 addprop trigger @ "_holodeck/#/" rot intostr strcat rot intostr 1 addprop ; () : holodeck-add dup " " instr dup not if pop pop error-msg exit then strcut swap pop dup 1 strcut pop "#" strcmp not if 1 strcut swap pop atoi dbref dup room? not if pop "That is not a room." tell exit then else dup "here" stringcmp not if pop loc @ then then dup find-room not if add-room "Room added." tell else pop "That room is already registered." tell then ; () : range-error-msg "Please use a number from 1 to " trigger @ "_holodeck/#" getpropstr strcat "." strcat tell ; () : calc-max 1 begin trigger @ "_holodeck/#/" 3 pick intostr strcat getpropstr not if break then 1 + repeat 1 - trigger @ "_holodeck/#" rot intostr 1 addprop ; () : shift-down ( i -- i ) dup 1 + begin trigger @ "_holodeck/#" getpropstr over < if pop break then trigger @ "_holodeck/#/" 3 pick intostr strcat getpropstr dup not if pop else trigger @ "_holodeck/#/" 5 pick intostr strcat rot 1 addprop trigger @ "_holodeck/#/" rot intostr strcat remove_prop break then 1 + repeat ; () : clean-list 1 begin trigger @ "_holodeck/#" getpropstr over < if pop break then trigger @ "_holodeck/#/" 3 pick intostr strcat getpropstr dup not if pop shift-down else atoi dbref room? not if shift-down then then 1 + repeat calc-max ; () : holodeck-del dup " " instr dup not if pop pop error-msg exit then strcut swap pop dup 1 strcut pop "#" strcmp not if 1 strcut swap pop atoi dbref find-room dup not if pop "That room is not registered." tell exit then else dup "here" stringcmp not if loc @ find-room dup not if pop "That room is not registered." tell exit then else atoi then then dup 1 < if range-error-msg pop exit then dup trigger @ "_holodeck/#" getpropstr atoi > if range-error-msg pop exit then trigger @ "_holodeck/#/" 3 pick intostr strcat getpropstr atoi dbref dup room? if "@/holodeck/ok?" remove_prop else pop then trigger @ "_holodeck/#/" rot intostr strcat remove_prop "Room entry removed." tell clean-list ; () : holodeck-jump dup 1 < over trigger @ "_holodeck/#" getpropstr atoi > or if range-error-msg pop exit then trigger @ "_holodeck/#/" rot intostr strcat getpropstr atoi dbref dup room? not if "Error: That does not point to a valid room." tell pop exit then dup "@/holodeck/ok?" getpropstr 1 strcut pop "y" stringcmp if "Error: That room is not set '@/holodeck/ok?:yes'." tell pop exit then me @ swap moveto ; () : holodeck-menu 1 strcut swap pop dup 1 strcut pop "h" stringcmp not if holodeck-help pop exit then me @ "w" flag? not if pop "You are not able to use that function." tell exit then dup 1 strcut pop "a" stringcmp not if holodeck-add exit then dup 1 strcut pop "d" stringcmp not if holodeck-del exit then dup 1 strcut pop "c" stringcmp not if pop holodeck-commands exit then pop "That is an unrecognized command." tell exit ; () : main dup not if pop holodeck-status exit then dup 1 strcut pop "#" strcmp not if holodeck-menu exit then atoi dup not if pop "That is not an established destination." tell "Type '" command-name "' for a listing." strcat strcat tell "Or, type '" command-name " #Help' for help." strcat strcat tell exit then holodeck-jump ; 279 lines displayed. . c q @register #me Holodeck.muf=tmp/prog1 @set $tmp/prog1=W @set $tmp/prog1=J @set $tmp/prog1=3 @set $tmp/prog1=^/.debug/errcount:12 @set $tmp/prog1=^/.debug/lastcrash:861850124 @set $tmp/prog1=/.debug/lasterr:Holodeck.muf(#285), line 236; GETPROPSTR: Non-object argument (1) @set $tmp/prog1=/_/de:A scroll containing a spell called Holodeck.muf @set $tmp/prog1=/_docs:@list #285=1-8 [End Dump] [Start Dump] @action Cell;holodeck;holodecks;cells;holo;holos;h=#0=tmp/exit1 @link $tmp/exit1= @set $tmp/exit1=/_/de:Type 'holodeck #help' for help. @set $tmp/exit1=/_holodeck/#:6 @set $tmp/exit1=/_holodeck/#/1:72 @set $tmp/exit1=/_holodeck/#/2:73 @set $tmp/exit1=/_holodeck/#/3:260 @set $tmp/exit1=/_holodeck/#/4:223 @set $tmp/exit1=/_holodeck/#/5:439 @set $tmp/exit1=/_holodeck/#/6:453 [End Dump]