How To Add Wear Bits [by WhiteDemon]
Snippet Posted Wednesday, August 12th @ 11:28:42 PM, by George Greer in the Utils dept.
Added Jul 6, 1998. Click the link below to read it or download it.

/***********************************************************************
 *  new_wear_bit.txt - olc.h - structs.h -act.item.c

       *
 *






               *
 *  Original Author:  WhiteDemon



       *
 **********************************************************************/

Intended audience: Newbie coders
What this does: Adds new wearable places on mud

Disclaimer and junk: I hearby state i am not reasonsable to what this may
      to your mud, if this doesnt work after following this instructions.

*********************W  A  R  N  I  N  G***************************************
            This only works if you have Oasisolc
*******************************************************************************
Step One:
~~~~~~~~~
First you need to open the structs.h file in your src directory.
look for this:
#define WEAR_HOLD   17 /* XXXXXXXXXXXX
*/ (or what ever number the next






number may be)
ADD :
~~~~~~~~~~
#define WEAR_XXXXX XX
(X = whatever place you may want them to be able



to wear an item and the number after whatever the



last one was)

* Make sure at the end of these defines you go one number higher of your

last define


Look for this:
~~~~~~~~~~~~~~~
#define ITEM_WEAR_HOLD ( and do the same from above)

*****************Now you can close and save this file********************

Step Two:
~~~~~~~~~
open your olc.h file located in the src directory also
and look for this line:
#define NUM_ITEM_WEARS
XX (put in the number of the last entry of your




structs.h file where we defined ITEM_WEAR)

**********************Now You Can Close and save this file*****************

Step Three:
~~~~~~~~~~~
open your act.item.c file and look for:
void wear_message(struct char_data * ch, struct obj_data * obj, int where)

goto the last message which might be:


{"$n grabs $p.",

"You grab $p."} <-----*notice the no comma, Add one along with




the rest of your messages. Besure the last




 entry doesnt have a comma after the





bracket.

Step Four:
~~~~~~~~~~
Look for perform_wear in your act.item.c file
look for this:


int wear_bitvectors[] = {

  ITEM_WEAR_TAKE, ITEM_WEAR_FINGER, etc...

***Make sure after ITEM_WEAR_HOLD you make the line almost exact


to what it looked like before you edited*********
example:
~~~~~~~~


ITEM_WEAR_XXX, ITEM_WEAR_XXXX, ITEM_WEAR_XXXX,

      ITEM_WEAR_XXXX, ITEM_WEAR_HOLD};

Step Five:
~~~~~~~~~~
 go down to char *already_wearing[] = {
at the end of this add in your already wearing messages

(note: if you want to make it so you wear earing right and left

Besure you add in a YOU SHOULDNT SEE THIS MESSAGE)

Step Six:
~~~~~~~~~
if you have items that are wearable to right and lefts
look for this:

/* for neck, finger, and wrist, try pos 2 if pos 1 is already full */

below that line add in your where =

Step Seven:
~~~~~~~~~~
Look for: int find_eq_pos(struct char_data * ch,
 below: static char *keyboards[] = {

Add: add in your wear bits at the last line before:


"\n",
Note: Besure to add in your !RESERVES! for right and left wearables


Step Eight:
~~~~~~~~~~~
find: if (CAN_WEAR(obj, ITEM_WEAR_WRIST))
where = WEAR_WRIST;

add: Add in your new wearables

*********************CLOSE this file and save******************************

Now all you need to do is compile your mud and cross your fingers for no
errors :P


<< How To Add Spells [by goamkows] | Reply | View as text | Flattened | IC Global Channel [by Quinn] >>

 


Related Links
  download
Related Articles
More by greerga
 
 

CircleMUD Snippets
 
Note: Not all of these snippets will work perfectly with your version of code, so be prepared to fix one or two bugs that may arise, and please let me know what you needed to do to fix it. Sending a corrected version is always welcome.
Finally, if you wish to use any of the snippets from this page, you are more than welcome, just mention the authors in your credits. If you wish to release any of these snippets to the public on another site, contact me FIRST.