@@ Object: Building Commands @@ Version: 1.0 @@ Author: Jonathan A. Booth @@ E-mail: kamikaze@N0$PAMimsa.edu @@ Web: http://www.N0$PAMimsa.edu/~kamikaze/ @@ (remove N0$PAM from hostnames to use them) @@ Date: Oct 28, 1998 @@ Written for: PennMUSH 1.7.2 pl15 @@ Author is willing to support: Yes @@ @@ Creates an object of building commands. Has +compass to use with the @@ compass.tcl script I have on my web site, as well as the +optimize @@ command to help optimize objects in the master room by setting their @@ attributes which aren't CMD* COMMAND* LST* LISTEN* to be no_command @@ so that the server never has to parse or decompress them. Also good for @@ things like consoles, etc. @@ @@ Copyleft under the terms of the GPL, 1998, Jonathan A. Booth @@ (email: kamikaze@N0$PAMimsa.edu) @@ @pemit me=STARTING CREATION OF BUILDING COMMANDS @create Building Commands @link Building Commands = #2 @lock/Basic Building Commands==#0 @lock/Use Building Commands=is_locked/1 @set Building Commands = STICKY @set Building Commands = WIZARD @set Building Commands = SAFE &CMD_COMPASS Building Commands=$+compass:@select hastype(%l,room):[controls(%#,%l)]=1:1,{@pemit %#=Making your room's exits show up in compass format.;@exitformat %l=%[compass(num(me))%]},0:*,{@pemit %#=I don't see what good using a compass on a non room would do.},{@pemit %#=You must control the room you want to add a compass to.} @DESCRIBE Building Commands=[table(iter(lattr(me/*),after(##,_)),19,78)] @set Building Commands/DESCRIBE=no_command visual &CMD_OPTIMIZE Building Commands=$^\+(optimize|opt)( (.+))?$:@pemit %#=u(func_optimize,switch(strlen(secure(%3)),0,%l,locate(%#,secure(%3),*))) @set Building Commands/CMD_OPTIMIZE=regexp &FUNC_OPTIMIZE Building Commands=[setq(3,iter(lattr(%0/*),switch(##,CMD*,setq(1,%q1 ##),COMMAND*,setq(1,%q1 ##),LST*,setq(1,%q1 ##),LISTEN*,setq(1,%q1 ##),setq(2,%q2 ##)[set(%0/##,no_command)])))][name(%0)](%0) attributes left alone: %q1%r[name(%0)](%0) attributes changed: %q2 @set Building Commands/FUNC_OPTIMIZE=no_command &LOCK_+OPTIMIZE Building Commands=orflags(%#,Wr) @set Building Commands/LOCK_+OPTIMIZE=no_command &IS_LOCKED Building Commands=switch(hasattr(me,setr(0,LOCK_[ucstr(before(first(secure(%c)),/))])),1,switch(u(%q0),1,1,0[pemit(%#,Permission Denied. (The following "Huh?" is to be expected. Disreguard it.))]),0,1) @set Building Commands/IS_LOCKED=no_command &LOCK_+OPT Building Commands=orflags(%#,Wr) @set Building Commands/LOCK_+OPT=no_command @pemit me=CREATION DONE. @pemit me=To get the helpfiles for these commands, if you don't already have them, please see my website listed at the top of the file you quoted.