Dual Wield Help...

From: Mielikki (mielikki@exilemud.com)
Date: 10/05/01


Well after finally getting the dgolc version of circle up I decided to
add in all the things I added to the old mud. I ran into a problem with
Duel Wield (with the mechanical animal fix) The following is my dual
wield code:

ACMD(do_wield)
{
  struct obj_data *obj;

  one_argument(argument, arg);

  if (!*arg)
    send_to_char("Wield what?\r\n", ch);
  else if (GET_EQ(ch, WEAR_DWIELD))
     send_to_char("Remove your secondary weapon first.\n\r", ch);
***  else if (!(obj = get_obj_in_list_vis(ch, arg, ch->carrying)))
{****line1471
    sprintf(buf, "You don't seem to have %s %s.\r\n", AN(arg), arg);
    send_to_char(buf, ch);
  } else {
    if (!CAN_WEAR(obj, ITEM_WEAR_WIELD))
      send_to_char("You can't wield that.\r\n", ch);
    else if (GET_OBJ_WEIGHT(obj) >
str_app[STRENGTH_APPLY_INDEX(ch)].wield_w)
      send_to_char("It's too heavy for you to use.\r\n", ch);
    else if (GET_EQ(ch, WEAR_WIELD) && !GET_SKILL(ch, SKILL_DUAL))
      send_to_char("You have no idea how to dual wield.\r\n", ch);
    else if (GET_EQ(ch, WEAR_WIELD) && GET_EQ(ch, WEAR_SHIELD))
      send_to_char("You cannot dual wield while using a shield.\r\n",
ch);
    else if (GET_EQ(ch, WEAR_WIELD) && !GET_EQ(ch, WEAR_SHIELD))
      perform_wear(ch, obj, WEAR_DWIELD);
    else
      perform_wear(ch, obj, WEAR_WIELD);
  }
}


This code sends me this error on compile:
act.item.c: In function `do_wield':
act.item.c:1471: warning: passing arg 3 of `get_obj_in_list_vis' from
incompati
ble pointer type
act.item.c:1471: too few arguments to function `get_obj_in_list_vis'


Now, in looking at other instances in act.item.c where
get_obj_in_list_vis existed I noticed that there was an argument just
before ch->carrying that was 'NULL', so I put that in (more from
desperation than anything) and it compiled fine but I got a system error
which gdb told me was a seg fault:
Program received signal SIGSEGV, Segmentation fault.
0x0044ffc7 in assign_triggers (i=0x485c160, type=0) at
dg_db_scripts.c:323

Ok so I took that back off. The problem I have is I cannot see which it
is referring to that wasnt there before in my other mud. (Old mud was
version 15, this one is version 19) Anyone out there versed enough to
point me to the right place to look for the fix? Please?

Aj

--
   +---------------------------------------------------------------+
   | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
   | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
   +---------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/06/01 PST