Another research topic.

Discussion in 'General Modification' started by quarthinos, Oct 6, 2003.

Remove all ads!
  1. quarthinos

    quarthinos Member

    Joined:
    Oct 1, 2003
    Messages:
    8
    Likes Received:
    0
    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.)
     
  2. Sol Invictus

    Sol Invictus Beholder Watcher Veteran

    Joined:
    Aug 25, 2003
    Messages:
    325
    Likes Received:
    0
    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 :)
     
  3. Phalzyr

    Phalzyr Established Member Veteran

    Joined:
    Sep 25, 2003
    Messages:
    193
    Likes Received:
    1
    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.
     
    Last edited: Oct 6, 2003
  4. quarthinos

    quarthinos Member

    Joined:
    Oct 1, 2003
    Messages:
    8
    Likes Received:
    0
    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!
     
  5. quarthinos

    quarthinos Member

    Joined:
    Oct 1, 2003
    Messages:
    8
    Likes Received:
    0
    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
     
    Last edited by a moderator: Oct 7, 2003
Our Host!