Top Mud Sites Forum

Top Mud Sites Forum (http://www.topmudsites.com/forums/index.php)
-   MUD Coding (http://www.topmudsites.com/forums/forumdisplay.php?f=9)
-   -   Smaug Code Help Please (http://www.topmudsites.com/forums/showthread.php?t=485)

Klered 07-11-2002 09:49 PM

Greetings,

I have attempted to add some code to get the speech trigger to work on an item in inventory(SMAUG 1.4a).

I think I need some help with oprog_wordlist_check and was wondering if there was anyone deeply familiar with this part of the code. If you are, and would like to assist me on this, please contact me off list at and I will give you the specifics of what I have done.

TIA,

KL

erdos 07-11-2002 10:38 PM

In order to make speech triggers trigger items in a char's inventory, you need to adjust the "oprog_speech_trigger" function in mud_prog.c.  You'll notice that this small function loops through the items on the floor.  So just add 1 or 2 loops to loop through the items in the person's inventory (and, optionally, to loop through the inventories of other people in the room).  So if you want it to loop through everyone's inventories, the new oprog_speech_trigger will look like this:

void oprog_speech_trigger( char *txt, CHAR_DATA *ch )
{
   OBJ_DATA *vobj;
   CHAR_DATA *vchar;

   /* supermob is set and released in oprog_wordlist_check */
   for ( vobj=ch->in_room->first_content; vobj; vobj = vobj->next_content )
if ( HAS_PROG(vobj->pIndexData, SPEECH_PROG) )
   oprog_wordlist_check(txt, supermob, ch, vobj, NULL, SPEECH_PROG, vobj);

   for ( vchar = ch->in_room->first_person; vchar; vchar = vchar->next_in_room )
   for ( vobj = vchar->first_carrying; vobj; vobj = vobj->next_content )
   if ( HAS_PROG( vobj->pIndexData, SPEECH_PROG ) )
   oprog_wordlist_check( txt, supermob, ch, vobj, NULL, SPEECH_PROG, vobj );

return;
}

Klered 07-12-2002 09:42 PM

Wow.

Im speechless!

I have been trying to figure this out for a week, and thought that the problem was in the set_supermob code. I even went to ROD and spoke with 2 immortals there to see if they had implemented it.

Thankyou so much. *bow*

Klered


All times are GMT -4. The time now is 04:10 AM.

Powered by vBulletin® Version 3.6.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright Top Mud Sites.com 2022