At 05:43 AM 12/7/97 -0500, you wrote:
> Greetings.
> I am interested in adding in spec_procs, that when an item is
>worn, it sets an affection on the player. I was looking back at the Ring
>of Invis item that was posted a while back for some ideas, but that uses
>the command 'appear' and 'disappear'.
> With the ring, if you disappeared, and removed the ring, you were
>still invis, unless 'magical' was the only alias for the ring, then typing
>remove magical would remove the invis affection, and the ring.
> Would I have to make an alias for the item that is not used
>anywhere else, that way it doesn't get confused? Or could I use a vnum to
>make sure it is the correct item?
> If anyone knows how to do this using the items vnum and not the
>alias, please let me know. Appreciated.
Well, you could verify the correct object (once you've located it from the
alias used in the command) by vnum I suppose, but that makes for extra work
if you wish to assign the proc to a second object.
Instead, try something like this:
SPECIAL(procname)
{
struct obj_data *obj;
/* use your code to locate the obj */
/* make sure the object located uses THIS function as its specproc */
if (obj_index[obj->item_number].func != procname) {
/* this object does not use this function as a specproc */
} else {
/* found the object and it's ours! */
}
I've used this for a "handgrenade" and it works.
Sammy -- equoria.com:4000
+------------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/08/00 PST