ok i created succesful autotick messesges.

my problem is:
#0  update_handler () at update.c:1307
1307            if (IS_SET(ch->act2, PLR2_AUTOTICK))
(gdb)

backtrace:
#0  update_handler () at update.c:1307
#1  0x080779fd in game_loop_unix (control=4) at comm.c:867
#2  0x08077402 in main (argc=2, argv=0xbfffee94) at comm.c:449
#3  0x4003c647 in __libc_start_main (main=0x8077278 <main>, argc=2,
ubp_av=0xbfffee94, init=0x8048ef0 <_init>,
    fini=0x80d76f0 <_fini>, rtld_fini=0x4000dcd4 <_dl_fini>,
stack_end=0xbfffee8c) at ../sysdeps/generic/libc-start.c:129
(gdb)

update.c:
   for ( d = descriptor_list; d; d = d->next )
    {
        ch = d->character;

        if (IS_SET(ch->act2, PLR2_AUTOTICK))
        {
            char *  const   message        [] =
            {
               "TICK!\n\r",
               "TICK2!\n\r"
            };
            int number;

            number = number_range(0,1);
            send_to_char( message[number], ch);
        }

     }


my act2 code for char:

long act2;

   if (ch->act2 != 0)
        fprintf( fp, "Act2  %s\n",   print_flags(ch->act2));

KEY( "Act2",        ch->act2,               fread_flag( fp ) );

seems it crashes when a person with a act2 flag is already set.
also seems it gives a random act2 flag on people already created
after i put in act2.


Reply via email to