@prog mpiverbs.muf 1 99999 d 1 i ( $mpiverbs -- Speech verbs with MPI. Integration into say pending. One of two special MPI filters. This one does $verbs, the other filters. ` This should be sayset def $mpiverbs MPI should be sayset +def {mpi returning osay::say or osay} ` Requested by Lincro on FT ` parseprop { #object www.geocities.com www.geopages.com "property" "&how" 1={delay to player}/0={delay to others} -- s } ) : start ( message ch db "_say/ch" -- message' ch "barks," "bark," ) "/say" strcat over over getpropstr not if pop pop "says," "say," "$mpiverbs: {&how}==ch::message Return says,[::[say,][::message]]" .tell " Use: sayset +" 4 pick strcat " {mpistring}" strcat .tell " Or: sayset clear " 4 pick strcat .tell exit then 3 pick "::" 6 pick strcat strcat 1 parseprop ( &how==ch::message ) dup "::" instr dup not if pop dup ( "says," -> says, says, ) else 1 - strcut 2 strcut swap pop dup "::" instr dup if 1 - strcut 2 strcut swap pop 4 put else pop then then ; 36 lines displayed. . c q @register #me mpiverbs.muf=tmp/prog1 @set $tmp/prog1=L @set $tmp/prog1=3 @propset $tmp/prog1=int:/.debug/errcount:2 @propset $tmp/prog1=int:/.debug/lastcrash:898459267 @propset $tmp/prog1=str:/.debug/lasterr:mpiverbs.muf(#142470), line 16; GETPROPSTR: Non-object argument (1) @propset $tmp/prog1=str:/_/de:A scroll containing a spell called mpiverbs.muf @propset $tmp/prog1=str:/_help/1#:23 @propset $tmp/prog1=str:/_help/1#/1: sayset def $mpiverb sayset +def {mpi-program} @propset $tmp/prog1=str:/_help/1#/10: modified-spoken-text is what is spoken, replacing what was typed @propset $tmp/prog1=str:/_help/1#/11: into say. The main present use is in suppressing speech entirely, @propset $tmp/prog1=str:/_help/1#/12: by making it empty (eg 'says,::say,::'). If you want to process @propset $tmp/prog1=str:/_help/1#/13: speech, it's in the {&how} variable, but you're better using MPIFilter @propset $tmp/prog1=str:/_help/1#/14: for anything fancy. @propset $tmp/prog1=str:/_help/1#/15:` @propset $tmp/prog1=str:/_help/1#/16: {&how} == macro :: spoken-text @propset $tmp/prog1=str:/_help/1#/17:` @propset $tmp/prog1=str:/_help/1#/18: For instance, this will permit you to speak (write), only if you're @propset $tmp/prog1=str:/_help/1#/19: carrying something called chalkboard: @propset $tmp/prog1=str:/_help/1#/2:` @propset $tmp/prog1=str:/_help/1#/20:` @propset $tmp/prog1=str:/_help/1#/21: sayset def $mpiverb @propset $tmp/prog1=str:/_help/1#/22: sayset +def writes,::write,{if:{contains:chalkboard,this},,::} @propset $tmp/prog1=str:/_help/1#/23:` @propset $tmp/prog1=str:/_help/1#/3: {mpi-program} should return something like this ([] show optional parts): @propset $tmp/prog1=str:/_help/1#/4:` @propset $tmp/prog1=str:/_help/1#/5: squeaks,[::[squeak,][::modified-spoken-text]] @propset $tmp/prog1=str:/_help/1#/6:` @propset $tmp/prog1=str:/_help/1#/7: squeaks, is the verb everyone sees: Warwick squeaks, "Eep?" @propset $tmp/prog1=str:/_help/1#/8: squeak, is the verb you see, if set: You squeak, "Eep?" @propset $tmp/prog1=str:/_help/1#/9:`