This little code trick is useful if you have a command or something on your character that needs to store stuff in attributes, but you don't want to @set yourself QUIET, but you also don't want to see the SET messsages.
Well... You can either set your client to ignore the set messages, OR you just @set a function on a TRUST object to do it for you, I myself use my armor to do it, I have it @set the variables on itself because I don't want to further clutter up my character, but you could just as easily code it to store variables on yourself, or a third data object @set HALT.
(Note: Please don't put this function on a puppet unless that puppet is @set QUIET because it would defeat the purpose, the puppet would just end up seeing the SET message.)
OK, Here's an example that sets the variables on the object with the function:
&FUN.QUIETSET Object=set(me,V.%0:%1)
For the above function %0 is the variable, and %1 is the value. I had it store the attributes with a V. prefix so you don't accidentally change the @DESC for example, but you can remove it if you want.
I myself use Luigi's brilliant @functions system, so I don't have to remember the dbref.
@FUNCTIONFORMAT Object=FUN.^
Then add the dbref of the object to your @FUNCTIONS.
Here's another version that sets the attribute on the object that calls the function.
&FUN.QUIETSET Object=set(%@,V.%0:%1)
And another more complicated version that lets you set on any object.
&FUN.QUIETSET Object=set([switch(%0,,%@,%0)],V.%1:%2)
This'll allow you to set a variable on any object by specifying %0 as DBref, if you leave it empty it defaults to the calling object(If you want it to default to something else change the %@ to what you want.), and %1 is the variables, and %2 is the value.
Example:
think quietset(,IDLE,1)
think quietset(#123,IDLE,1)
Anyway, there it is, hardly worth the effort of making this webpage huh?, but I had nothing else to do while stuck in the dungeon cell. As with everything I code, I hope somebody finds it useful, even if it's just a cute toy.
Back