[code] a ladder

From: pjh (hartman@trilidun.kuntrynet.com)
Date: 01/16/97

ok here it is:: i have been trying to get this darn thing to work for the
longest time.  Basically it is a warpic item, like a portal.  When it is
created by a god they define where it goes to (GET_OBJ_VAL(obj, 0) is
destination.  I also had a bit GET_OBJ_VAL(obj, 1) is the duration but
removed that out of frustration.  Any help would be greatly appreciated as
to why it is crashing.  It works handy dandy when i am in same room as the
obj and i just type climb.  But if i do a climb obj it crashes with this
in gdb:
#0  list_obj_to_char (list=0x4, ch=0x8377638, mode=0, show=0 '\000')
    at act.informative.c:131
131             if (j->item_number==NOTHING) {

here is the do_climb in act.movement.c::

  struct obj_data *cont = NULL;
  struct char_data *tmp_ch;

  one_argument(argument, buf);

  generic_find(buf, (FIND_OBJ_ROOM | FIND_OBJ_INV | FIND_OBJ_EQUIP), ch,
               &tmp_ch, &cont);
     if(GET_OBJ_TYPE(cont) == ITEM_WARPIC)
        act("$n enters $a $o and is gone.", FALSE, ch, cont, 0, TO_ROOM);
        /* Check to see if portal points to any room yet
           if not determine the room from value 1 */
        if(!GET_OBJ_VAL(cont, 0)) 
          GET_OBJ_VAL(cont, 0) = real_room(GET_OBJ_VAL(cont, 1));
        if(GET_OBJ_VAL(cont, 1))
           if(GET_OBJ_VAL(cont, 1) == 1)
              GET_OBJ_VAL(cont, 1) = 0;
              act("$a $o starts to ripple.", FALSE, ch, cont, 0, TO_ROOM);
           else GET_OBJ_VAL(cont, 1)--;
        char_to_room(ch, GET_OBJ_VAL(cont, 0));
        act("$n jumps out $a $o.", FALSE, ch, cont, 0, TO_ROOM);
        look_at_room(ch, 0);
  sprintf(buf2, "There is no %s here.\r\n", buf);
  send_to_char(buf2, ch);

*-=-=-=-=-=-=-=* w0nderful *-=-* w0rld *-=-* 0f *-=-* wart *-=-=-=-=-*
Eudaemonia Mud: mud.kuntrynet.com Port 4000

| Ensure that you have read the CircleMUD Mailing List FAQ: |
|   http://cspo.queensu.ca/~fletcher/Circle/list_faq.html   |

This archive was generated by hypermail 2b30 : 12/18/00 PST