I have a save file that consistantly makes ToEE go into an infinite loop. If you attempt to rescue the weaver in the para-elemental plane of earth, when you deliver him to Nulb on foot, ToEE appears to freeze. Task manager says it's using 100% of the CPU. Others on Atari's board have said the same thing happens taking him to Hommlet, or using teleport. Any of our intrepid modders have any idea why this happens? Or where I can park him after I've added him to my party so that I can come back for him after the official patch is released? Unfortunately, I don't have a save without him in the party, and I don't like unfinished quests. I do have a save game, but will only post it if someone wants to research the issue and needs it. (Not even sure if you'd need all the files or just one.)
Well, I haven't met the guy, so I can't say I know how this problem happens. I will, however, look into it. I doubt it's something I'd know how to fix, though Chris Wood might know
I haven't met him either, on level three of toee. What is his name? the dlg and py scripts go mostly by name, ie what shows up AFTER the first time talking to him. Is he the weaver from town or another weaver? can't rember the weavers name in town either.... I could take a look in his .py file and see if he has an on hearbeat that check to see if he entered hommlet. if he doesn't then... Actually the town weaver is one of the few that dlg goes by weaver(and his children) so if it is him the I see no on hearbeat but if it is someone else please tell me his name.
When I talk to him, he is named Jaer. Sorry if I'm spoiling anyone, and thank you very much for spending so much time trying to fix the game that you haven't been able to play it much!
I went and got Jade and found the .py of the npc in question (py00158jaer.py) I don't speak python, but this particular code isn't too obfuscated: Code: from toee import * def san_dialog( attachee, triggerer ): if (attachee.leader_get() != OBJ_HANDLE_NULL): triggerer.begin_dialog( attachee, 100 ) elif (not attachee.has_met(triggerer)): triggerer.begin_dialog( attachee, 1 ) else: triggerer.begin_dialog( attachee, 90 ) return SKIP_DEFAULT def san_heartbeat( attachee, triggerer ): if (not game.combat_is_active()): for obj in game.obj_list_vicinity(attachee.location,OLC_PC): if (is_safe_to_talk(attachee,obj)): game.new_sid = 0 obj.begin_dialog(attachee,1) return RUN_DEFAULT return RUN_DEFAULT def san_new_map( attachee, triggerer ): if ((attachee.area == 1) or (attachee.area == 3)): obj = attachee.leader_get() if (obj != OBJ_HANDLE_NULL): obj.begin_dialog(attachee, 140) return RUN_DEFAULT def transfer_fire_balls( attachee, triggerer ): while (attachee.item_find(2207) != OBJ_HANDLE_NULL): attachee.item_transfer_to(triggerer,2207) return RUN_DEFAULT def run_off( attachee, triggerer ): attachee.runoff(attachee.location-3) return RUN_DEFAULT The dialogs in question exist, although I'm not sure if some of the responses are valid (A: and E:, which look like drives to me.) Heartbeat is doing a check on every object in the area and trying to start a conversation with it? The san_new_map checks for (I assume) Nulb or Hommlet, and then triggers the dialog that says thanks for rescueing me blah, blah your reward is my remaining fireballs. Which I guess (jade isn't including all the other stuff) invokes transfer_fire_balls. Not sure how the runoff is invoked. But nothing is jumping out at me as being wrong. And please, if you could tell me where my interprtation of the code is wrong, I'd appreciate it, as I might want to fix other bugs or mod when I have more free time! Have Fun! Q edit: The whitespace seems to be gone when I view it, but you get the idea... edit: added code tags - Vaevictis