Well you can interpret this as you want: Gdb: 3:45am : @dkmud ~/mud>gdb bin/circle lib/core Core was generated by `circle -C3 4600'. Program terminated with signal 11, Segmentation fault. find_solib: Can't read pathname for load map: Input/output error #0 0x80781fd in special (ch=Cannot access memory at address 0xdea88.) at interpreter.c:1218 1218 } (gdb) bt #0 0x80781fd in special (ch=Cannot access memory at address 0xdea88.) at interpreter.c:1218 Cannot access memory at address 0xdea80. (gdb) list 1213 if (GET_OBJ_SPEC(i) != NULL) 1214 if (GET_OBJ_SPEC(i) (ch, i, cmd, arg)) 1215 return 1; 1216 1217 return 0; 1218 } 1219 1220 1221 (gdb) Interpreter.c(1218): This is part of int special()... /* special in object present? */ for (i = world[ch->in_room].contents; i; i = i->next_content) if (GET_OBJ_SPEC(i) != NULL) if (GET_OBJ_SPEC(i) (ch, i, cmd, arg)) return 1; return 0; } <----- 1218 Logging: Wed May 27 03:37:41 :: 2 Wed May 27 03:37:41 :: 2.1 Wed May 27 03:37:41 :: 2.2 Wed May 27 03:37:41 :: 2.3 Wed May 27 03:37:41 :: 2.5 Wed May 27 03:37:41 :: 2.6 Wed May 27 03:37:41 :: 2.9 log("2.6"); if (GET_LEVEL(ch) < 71) { log("2.7"); sprintf(buf, "The cost for you to train one statistic is %d coins.", co$ log("2.8"); send_to_char(buf, ch); } log("2.9"); return 1; log("2.91"); //Should never get here. } log("3"); It feels like it is crashing on the returns. When i have the return at the end of a if statement, i get a crash, if i put it at the begining of the spec it works just fine. This is a spec i have been using for quite some time. Only thing i changed was making exp_cost into an array of 10 numbers so different stats cost different amounts of exp. +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST