Code:
500H 100M 82V > tstat 400
Name: 'new trigger', VNum: [ 400], RNum: [ 266]
Trigger Intended Assignment: Mobiles
Trigger Type: Random , Numeric Arg: 100, Arg list: None
Commands:
%echo% %self.name% transforms into a new mob!
%transform% -1
500H 100M 82V > vstat mob 499
neutral MOB 'the unfinished mob' IDNum: [57176], In room [ 0], Loadroom : [65535]
Keyword: mob unfinished, VNum: [ 499], RNum: [ 189]
L-Des: An unfinished mob stands here.
D-Des: It looks unfinished.
Mobile, Lev: [ 0], XP: [ 0], Align: [ 0]
Str: [11/0] Int: [11] Wis: [11] Dex: [11] Con: [11] Cha: [11]
Hit p.:[1/1+0] Mana p.:[10/10+0] Move p.:[50/50+0]
Gold: [ 0], Bank: [ 0] (Total: 0), AC: [100+0/10], Hitroll: [ 0], Damroll: [ 0], Saving throws: [0/0/0/0/0]
Pos: Standing, Fighting: Nobody, Attack type: hit, Default position: Standing
NPC flags: ISNPC
Mob Spec-Proc: None, NPC Bare Hand Dam: 1d1
Carried: weight: 0, items: 0; Items in: inventory: 0, eq: 0
Master is: <none>, Followers are: <none>
AFF: NOBITS
Triggers:
Global Variables: None
Global context: 0
Trigger: new trigger, VNum: [ 400], RNum: [ 266]
Trigger Intended Assignment: Mobiles
Trigger Type: Random , Numeric Arg: 100, Arg list: None
500H 100M 82V > load mob 499
You create the unfinished mob.
500H 100M 82V >
The unfinished mob leaves north.
500H 100M 82V > n
[ 404] The Jade Forest [ NOBITS ] [ Forest ]
Weeds cover the ground in a thick entwined tangle, their vine-like stems
weaving around each other as if laying a netted trap. It would be very easy to
become ensnared here, and lingering is probably not the wisest of ideas.
[ Exits: n s w ]
[499] [T400] Puff the Fractal Dragon is here, contemplating a higher reality.
500H 100M 82V > s
[ 401] The Jade Forest [ NOBITS ] [ Forest ]
The shadows of the trees seem to engulf their surroundings. The light in
here is extremely scarce, allowing very little to be visible. Tall blades of
grass wave drearily back and forth, lushly coating the ground as if this were
swampland.
[ Exits: n e w ]
[401] A giant mosquito is here.
500H 100M 82V > load mob 499
You create the unfinished mob.
500H 100M 82V >
500H 100M 82V >
The unfinished mob transforms into a new mob!
500H 100M 82V > purge
The world seems a little cleaner.
500H 100M 82V >
500H 100M 82V > load mob 499
You create the unfinished mob.
500H 100M 82V >
500H 100M 82V > purge
The world seems a little cleaner.
500H 100M 82V >
500H 100M 82V >
Code:
Jan 31 07:28:34 :: Entering game loop.
Jan 31 07:28:34 :: No connections. Going to sleep.
Jan 31 07:28:36 :: New connection. Waking up.
SYSERR: gethostbyaddr: Success
Jan 31 07:28:40 :: Zusuk has connected.
Jan 31 07:28:42 :: Zusuk had no variable file
Jan 31 07:28:42 :: Zusuk retrieving crash-saved items and entering game.
Jan 31 07:28:42 :: Zusuk (level 34) has 0 object (max 30).
Jan 31 07:29:43 :: WARNING: Attempting to remove contents that don't exist in list.
Program received signal SIGSEGV, Segmentation fault.
0x0076bf8e in malloc_consolidate () from /lib/libc.so.6
(gdb) list
194 #endif
195
196 t->tv_sec = (int) (millisec / 1000);
197 t->tv_usec = (millisec % 1000) * 1000;
198 }
199
200 #endif /* CIRCLE_WINDOWS || CIRCLE_MACINTOSH */
201
202 int main(int argc, char **argv)
203 {
(gdb) up
#1 0x0076e217 in _int_malloc () from /lib/libc.so.6
(gdb) list
204 int pos = 1;
205 const char *dir;
206
207 #ifdef MEMORY_DEBUG
208 zmalloc_init();
209 #endif
210
211 #if CIRCLE_GNU_LIBC_MEMORY_TRACK
212 mtrace(); /* This must come before any use of malloc(). */
213 #endif
(gdb) up
#2 0x00770447 in malloc () from /lib/libc.so.6
(gdb) list
214
215 #ifdef CIRCLE_MACINTOSH
216 /* ccommand() calls the command line/io redirection dialog box from
217 * Codewarriors's SIOUX library. */
218 argc = ccommand(&argv);
219 /* Initialize the GUSI library calls. */
220 GUSIDefaultSetup();
221 #endif
222
223 /* Load the game configuration. We must load BEFORE we use any of the
(gdb) up
#3 0x080b5670 in find_case (go_adress=0xbffeab80, trig=0x8ec65d8, type=0, mode=0) at dg_scripts.c:2760
2760 buf = (char*)malloc(MAX_STRING_LENGTH);
(gdb) list
2755 for (p = c->cmd; *p && isspace(*p); p++);
2756
2757 if (!strn_cmp("while ", p, 6) || !strn_cmp("switch", p, 6))
2758 c = find_done(c);
2759 else if (!strn_cmp("case ", p, 5)) {
2760 buf = (char*)malloc(MAX_STRING_LENGTH);
2761 eval_op("==", result, p + 5, buf, go, sc, trig);
2762 if (*buf && *buf!='0') {
2763 free(buf);
2764 return c;
(gdb) info local
No locals.
(gdb) print buf
$1 = <value optimized out>
(gdb) print *buf
Cannot access memory at address 0x0
(gdb) up
#4 script_driver (go_adress=0xbffeab80, trig=0x8ec65d8, type=0, mode=0) at dg_scripts.c:2561
2561 cl = find_case(trig, cl, go, sc, type, p + 7);
(gdb) list
2556 } else {
2557 cl = temp;
2558 loops = 0;
2559 }
2560 } else if (!strn_cmp("switch ", p, 7)) {
2561 cl = find_case(trig, cl, go, sc, type, p + 7);
2562 } else if (!strn_cmp("end", p, 3)) {
2563 /* If not in an if-block, ignore the extra 'end' and warn about it. */
2564 if (GET_TRIG_DEPTH(trig) == 1) {
2565 script_log("Trigger VNum %d has 'end' without 'if'.",
(gdb) info local
ret_val = 1
cl = 0x8437528
cmd = "eval inroom }1073654\000s into a new mob!", '\000' <repeats 30 times>, "8\251\376\277\375-\024\b", '\000' <repeats 28 times>, "\b&\314\b\320\275\313\b\000\000\000\000\230\253\376\277\377\351\016\b\320\275\313\b\022\000\000\000\001\000\000\000\214\251\376\277\000\000\000\000\001\000\000\000s world.\000?\000r at \000\000\000\000 moment.\n\000\000\000\250\251\376\277\375-\024\b\001\000\000\000ed a\360\365\354\267", '\000' <repeats 20 times>, "\001\000\000\000\000\000\000\000\310\251\376\277S.\024\b\001\000\000\000\002\000\000\000\000\000\000\000]\000\000\000\030\337\306\bx\274\344\b\370\251\376\277\352?\f\bx\340\306\b\000\000\000\000x\274\344\b\000\000\000\000x\274\344\b\003\000\000\000\000\000\000\000\000"...
p = <value optimized out>
sc = 0x8ec65b8
temp = <value optimized out>
loops = 0
go = 0x8ec6408
depth = 1
(gdb) up
#5 0x080b9841 in random_mtrigger (ch=0x8ec6408) at dg_triggers.c:121
121 script_driver(&ch, t, MOB_TRIGGER, TRIG_NEW);
(gdb) list
116 return;
117
118 for (t = TRIGGERS(SCRIPT(ch)); t; t = t->next) {
119 if (TRIGGER_CHECK(t, MTRIG_RANDOM) &&
120 (rand_number(1, 100) <= GET_TRIG_NARG(t))) {
121 script_driver(&ch, t, MOB_TRIGGER, TRIG_NEW);
122 break;
123 }
124 }
125 }
(gdb) info local
t = 0x8ec65d8
(gdb) print *t
$2 = {nr = 1212, attach_type = 0 '\000', data_type = 0 '\000', name = 0x8ec6618 "Foreman Walkabout - 23628",
trigger_type = 3, cmdlist = 0x84365d0, curr_state = 0x84375e8, narg = 40, arglist = 0x0, depth = 2, loops = 0,
wait_event = 0x0, purged = 0 '\000', var_list = 0x9138608, next = 0x0, next_in_world = 0x8ec54e8}
(gdb) up
#6 0x080b3e69 in script_trigger_check () at dg_scripts.c:639
639 random_mtrigger(ch);
(gdb) list
634 sc = SCRIPT(ch);
635
636 if (IS_SET(SCRIPT_TYPES(sc), WTRIG_RANDOM) &&
637 (!is_empty(world[IN_ROOM(ch)].zone) ||
638 IS_SET(SCRIPT_TYPES(sc), WTRIG_GLOBAL)))
639 random_mtrigger(ch);
640 }
641 }
642
643 for (obj = object_list; obj; obj = obj->next) {
(gdb) info local
ch = 0x8ec6408
obj = <value optimized out>
nr = -1073828968
(gdb) up
#7 0x080993a7 in heartbeat (heart_pulse=780) at comm.c:974
974 script_trigger_check();
(gdb) list
969 static int mins_since_crashsave = 0;
970
971 event_process();
972
973 if (!(heart_pulse % PULSE_DG_SCRIPT))
974 script_trigger_check();
975
976 if (!(heart_pulse % PASSES_PER_SEC)) { /* EVERY second */
977 msdp_update();
978 next_tick--;
(gdb) up
#8 0x0809a498 in game_loop (local_mother_desc=7) at comm.c:938
938 heartbeat(++pulse);
(gdb) list
933 missed_pulses = 30 RL_SEC;
934 }
935
936 /* Now execute the heartbeat functions */
937 while (missed_pulses--)
938 heartbeat(++pulse);
939
940 /* Check for any signals we may have received. */
941 if (reread_wizlist) {
942 reread_wizlist = FALSE;
(gdb) up
#9 0x0809c057 in init_game (argc=Cannot access memory at address 0x1
) at comm.c:533
533 game_loop(mother_desc);
(gdb) up
#10 main (argc=Cannot access memory at address 0x1
) at comm.c:353
353 init_game(port);
(gdb) up
Initial frame selected; you cannot go up.
(gdb)