• Welcome to Freedom Reborn Archive.
 

FFX 3.2 Bug Reporting Thread, take II

Started by stumpy, January 31, 2007, 02:58:27 PM

Previous topic - Next topic
|

JKCarrier

After much trial and error, I think I've isolated the cause of my problem. Apparently, there's something in Renegade's pack of converted FF1 maps that FFX doesn't like. I can install & play them fine in regular FFVTTR, but if I merge the objects.dat into FFX, I get the crash-to-the-desktop (even if I'm not trying to play on one of the converted maps). And yes, I was using the method Epimethee describes above, where you merge "backwards" and then "forwards".

Has anyone else run into this problem?

BentonGrey

Yeah, I have JKC, but after doing the full conversion that his tutorial describes, I didn't have that problem.

BentonGrey

Okay, got another CTD playing 'On Patrol.'  I was playing with two built-ins against a number of built-in villains.  The first odd thing that happened was, after hitting the first enemy just once (with a stasis attack) he disappeared and the next encounter triggered.  Here is my script.log:

[spoiler]>>> system/init.py executed
>>> system/localinit.py executed
>>> system\tredir.py executed
Loading m25minimod.py v.3.2.0 build 6; branch = m25 branch 2
Starting ffx.py v. 3.2.0 build 10; branch = Public Beta 2
Loading m25ai.py v. 3.2.0 build 8; branch = m25 branch 1
Loading m25event.py v.3.2.0 build 6; branch = m25 branch 2
importing missionobjvar.py v1.18
loading datfiles version 0.251000
importing MLOG Reader 1.0 alpha 17
missionobjvar(FixLongs): Fixing overflow issue with <SCSTATE_BUOYANT>
missionobjvar defining functions for Campaign play.
Loading m25report.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25timestamp.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25getset.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25string.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25distance.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25template.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25missionover.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25energy.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25generateai.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25aigeneratedata.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25team.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25custompowers.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25cutscene.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25gametype.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25freeroamdata.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25customheads.py v.3.2.0 build 6; branch = m25 branch 2
CustomHeadCurrentTime 1141782544.656000
Starting Height Check module 1.4
Starting System Utilities 1.3
Starting General Utilities 1.0
OBJECTS_HEIGHT: 604 entries
NIF_OBJECTS: 482 entries
BUILDINGS_IN_OBJECTS_DAT: 30 entries
BUILDING_DIMENSIONS: 30 entries
Starting skXMapInfo.py  v 0.79 beta
skXMapInfo: m25ai available
Loading m25aiopt.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25aiconstants.py v.3.2.0 build 6; branch = m25 branch 2
FFX Mission Plugin 'firehydrant' imported
FFX Mission Plugin 'zombie' imported
Loading freeroam_keepbuildingdamage.py v.1.0.0 build 0; branch = main
FREEROAM_KBD: initialized
FFX Mission Plugin 'freeroam_keepbuildingdamage' imported
FFX Mission Plugin 'm25ai_lowjumper' imported
FFX Mission Plugin 'm25ai_realitymanipulation' imported
Loading     m25enc_simplechoice.py v.1.0.0 build 0; branch = main
Loading m25enc.py v.3.2.0 build 8; branch = m25 branch 1
Loading m25name.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25randomenc.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25objective.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25freeroamally.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25spawn.py v.3.2.0 build 6; branch = m25 branch 2
FFX Mission Plugin 'm25enc_simplechoice' imported
Starting Built-In Function Wrapper 1.5
('Object_CalcPrestige', 'js')
Loading m25story.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25pstory.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25skirmish.py v.3.2.0 build 6; branch = m25 branch 2
>>> C:\Documents and Settings\Owner\Local Settings\Application Data\Irrational Games\Freedom Force vs the 3rd Reich\temp\MiniMod On Patrol.py executed
>>> C:\Documents and Settings\Owner\Local Settings\Application Data\Irrational Games\Freedom Force vs the 3rd Reich\temp\danger.py executed
MISSION: EZScript MiniMod/Campaign Precache.
PSTORY: {'name': 'On Patrol', 'encounters': [{'marker': 'encounter', 'type': 'None', 'timeofday': 'none', 'required_map': [], 'trigger': [], 'next': ['Random Encounter', 'Random Encounter', 'Random Encounter'], 'objectives': [], 'parameters': [], 'name': 'Random Start', 'cutscenes': [], 'pre': []}, {'marker': 'encounter', 'type': 'None', 'timeofday': 'none', 'required_map': [], 'trigger': [], 'next': ["Story_RandomListElement(['Fight', 'Fight', 'Fight', 'Fight', 'Mugging', 'Hunt', 'Snatch and Grab'])"], 'objectives': [], 'parameters': [], 'name': 'Random Encounter', 'cutscenes': [], 'pre': []}, {'marker': 'encounter', 'type': 'Fight', 'timeofday': 'none', 'required_map': [], 'trigger': [], 'next': ['Random Encounter'], 'objectives': [], 'parameters': [], 'name': 'Fight', 'villains': ['Random'], 'cutscenes': [{'replace': [['villain', 'villain']], 'name': 'Alert', 'required': [], 'priority': 1, 'cutscene': ["CS_AddArrow('villainarrow', 'villain', arrow_type=js.ARROW_YELLOW)"]}, {'replace': [['villain', 'villain']], 'name': 'Start', 'required': [], 'priority': 1, 'cutscene': ['CS_Speak(\'villain\', "You\'ve interferred with me for the last time.", force=0)']}, {'replace': [['hero', 'hero']], 'name': 'Start', 'required': [], 'priority': 1, 'cutscene': ["CS_Speak('hero', 'And here I thought this would be a nice quiet night.', force=0)"]}, {'replace': [['hero', 'hero'], ['villain', 'villain']], 'name': 'Start', 'required': [], 'priority': 1, 'cutscene': ['CS_Speak(\'hero\', "I\'m afraid I\'m going to have to take you in.", force=0)', 'CS_Speak(\'villain\', "You\'re welcome to try.", force=0)']}, {'replace': [['villain', 'villain']], 'name': 'Start', 'required': [], 'priority': 1, 'cutscene': ['CS_Speak(\'villain\', "Can\'t a villain get a moment\'s peace?", force=0)']}, {'replace': [['hero', 'hero']], 'name': 'End', 'required': [], 'priority': 1, 'cutscene': ['CS_Speak(\'hero\', "And that\'s why evil never wins.", force=0)']}, {'replace': [['hero', 'hero']], 'name': 'End', 'required': [], 'priority': 1, 'cutscene': ["CS_Speak('hero', 'Thanks for the workout.', force=0)"]}, {'replace': [['hero', 'hero']], 'name': 'End', 'required': [], 'priority': 1, 'cutscene': ['CS_Speak(\'hero\', "I\'m taking you in.", force=0)']}, {'replace': [['hero', 'hero']], 'name': 'End', 'required': [], 'priority': 1, 'cutscene': ['CS_Speak(\'hero\', "I\'ll just leave you for the police.", force=0)']}], 'pre': []}, {'marker': 'encounter', 'type': 'Save Civilian', 'timeofday': 'none', 'required_map': [], 'trigger': [], 'next': ['Random Encounter'], 'objectives': [], 'parameters': [['allies', 'civilian_female']], 'name': 'Mugging', 'villains': ['Random'], 'cutscenes': [{'replace': [['villain', 'villain']], 'name': 'Alert', 'required': [], 'priority': 1, 'cutscene': ["CS_AddArrow('villainarrow', 'villain', arrow_type=js.ARROW_YELLOW)"]}, {'replace': [['villain', 'villain'], ['ally', 'ally'], ['hero', 'hero']], 'name': 'Start', 'required': [], 'priority': 1, 'cutscene': ["CS_Speak('villain', 'Why do you always have to interfere?', force=0)", "CS_TurnTo('ally', 'hero')", "CS_Speak('ally', 'Help!', force=0)", "CS_Speak('hero', 'Unhand her at once!', force=0)"]}, {'replace': [['ally', 'ally']], 'name': 'Start', 'required': [], 'priority': 1, 'cutscene': ['CS_Speak(\'ally\', "They\'re after me!  Do something!", force=0)']}, {'replace': [['villains', 'villain'], ['ally', 'ally']], 'name': 'Start', 'required': [], 'priority': 1, 'cutscene': ["CS_Speak('villains', 'Just hand it over and no one gets hurt.', force=0)", 'CS_Speak(\'ally\', "Won\'t someone save me?", force=0)']}, {'replace': [['ally', 'ally']], 'name': 'AllyThanksHero', 'required': [], 'priority': 1, 'cutscene': ["CS_Speak('ally', 'Thank you.', force=0)"]}], 'pre': []}, {'marker': 'encounter', 'type': 'Hunt', 'timeofday': 'none', 'required_map': [], 'trigger': [], 'next': ['Random Encounter'], 'objectives': [], 'parameters': [], 'name': 'Hunt', 'villains': ['Random'], 'cutscenes': [{'replace': [['villain', 'villain']], 'name': 'Alert', 'required': [], 'priority': 1, 'cutscene': ["CS_AddArrow('villainarrow', 'villain', arrow_type=js.ARROW_YELLOW)"]}, {'replace': [['villain', 'villain']], 'name': 'Start', 'required': [], 'priority': 1, 'cutscene': ['CS_Start()', "CS_Camera('villain', dist=-160, yaw=0)", "CS_Speak('villain', 'There you are.', force=0)", 'CS_End()']}, {'replace': [['villain', 'villain']], 'name': 'Start', 'required': [], 'priority': 1, 'cutscene': ["CS_Speak('villain', 'You will suffer my wrath.', force=0)"]}, {'replace': [['villain', 'villain']], 'name': 'Start', 'required': [], 'priority': 1, 'cutscene': ["CS_Speak('villain', 'Well hellllloooo.', force=0)"]}, {'replace': [['villain', 'villain']], 'name': 'Start', 'required': [], 'priority': 1, 'cutscene': ['CS_Speak(\'villain\', "I\'ve been looking for you, hero.", force=0)']}], 'pre': []}, {'marker': 'encounter', 'type': 'Snatch', 'timeofday': 'none', 'required_map': [], 'trigger': [], 'next': ['Random Encounter'], 'objectives': [], 'parameters': [['allies', 'civilian_female']], 'name': 'Snatch and Grab', 'villains': ['Random'], 'cutscenes': [{'replace': [['villain', 'villain']], 'name': 'Alert', 'required': [], 'priority': 1, 'cutscene': ["CS_AddArrow('villainarrow', 'villain', arrow_type=js.ARROW_YELLOW)"]}, {'replace': [['villain', 'villain']], 'name': 'Start', 'required': [], 'priority': 1, 'cutscene': ['CS_Speak(\'villain\', "I\'ve got the goods. Now to make my getaway.", force=0)']}, {'replace': [['hero', 'hero'], ['villain', 'villain']], 'name': 'Start', 'required': [], 'priority': 1, 'cutscene': ["CS_Speak('hero', 'Hold it right there.', force=0)", "CS_Speak('villain', 'You think you can catch me, hero?', force=0)"]}, {'replace': [['villain', 'villain']], 'name': 'Start', 'required': [], 'priority': 1, 'cutscene': ['CS_Speak(\'villain\', "What\'s a little petty larceny?", force=0)']}, {'replace': [['hero', 'hero'], ['villain', 'villain']], 'name': 'Start', 'required': [], 'priority': 1, 'cutscene': ['CS_Speak(\'hero\', "Crime doesn\'t pay.", force=0)', 'CS_Speak(\'villain\', "Not with you around it doesn\'t.", force=0)']}, {'replace': [['hero', 'hero']], 'name': 'HeroGetsItem', 'required': [], 'priority': 1, 'cutscene': ["CS_Speak('hero', 'I should return this to its rightful owner.', force=0)"]}, {'replace': [['ally', 'ally']], 'name': 'ItemReturned', 'required': [], 'priority': 1, 'cutscene': ["CS_Speak('ally', 'Thank you so much.', force=0)"]}], 'pre': []}], 'start': []}
PSTORY: {'On Patrol': {'encounters': {'Fight': {'next': ['Random Encounter'], 'required_map': [], 'timeofday': 'none', 'action': ['DoEncFight(villains = [\'Story_GetRandomUserEnemy()\'], cutscenes = [[\'alertcs\', [[\'priority\', 1], [\'replace\', [\'villain\', \'villain\']], [\'cutscene\', "CS_AddArrow(\'villainarrow\', \'villain\', arrow_type=js.ARROW_YELLOW)"]]], [\'startcs\', [\'cslist\', [[\'priority\', 1], [\'replace\', [\'villain\', \'villain\']], [\'cutscene\', \'CS_Speak(\\\'villain\\\', "You\\\'ve interferred with me for the last time.", force=0)\']], [[\'priority\', 1], [\'replace\', [\'hero\', \'hero\']], [\'cutscene\', "CS_Speak(\'hero\', \'And here I thought this would be a nice quiet night.\', force=0)"]], [[\'priority\', 1], [\'replace\', [\'hero\', \'hero\'], [\'villain\', \'villain\']], [\'cutscene\', \'CS_Speak(\\\'hero\\\', "I\\\'m afraid I\\\'m going to have to take you in.", force=0)\', \'CS_Speak(\\\'villain\\\', "You\\\'re welcome to try.", force=0)\']], [[\'priority\', 1], [\'replace\', [\'villain\', \'villain\']], [\'cutscene\', \'CS_Speak(\\\'villain\\\', "Can\\\'t a villain get a moment\\\'s peace?", force=0)\']]]], [\'endcs\', [\'cslist\', [[\'priority\', 1], [\'replace\', [\'hero\', \'hero\']], [\'cutscene\', \'CS_Speak(\\\'hero\\\', "And that\\\'s why evil never wins.", force=0)\']], [[\'priority\', 1], [\'replace\', [\'hero\', \'hero\']], [\'cutscene\', "CS_Speak(\'hero\', \'Thanks for the workout.\', force=0)"]], [[\'priority\', 1], [\'replace\', [\'hero\', \'hero\']], [\'cutscene\', \'CS_Speak(\\\'hero\\\', "I\\\'m taking you in.", force=0)\']], [[\'priority\', 1], [\'replace\', [\'hero\', \'hero\']], [\'cutscene\', \'CS_Speak(\\\'hero\\\', "I\\\'ll just leave you for the police.", force=0)\']]]]], marker = \'encounter\')']}, 'Random Encounter': {'timeofday': 'none', 'next': ["Story_RandomListElement(['Fight', 'Fight', 'Fight', 'Fight', 'Mugging', 'Hunt', 'Snatch and Grab'])"], 'required_map': []}, '__end__': {'action': ["ff.Story_SetStoryEnded('On Patrol')"]}, 'Hunt': {'next': ['Random Encounter'], 'required_map': [], 'timeofday': 'none', 'action': ['DoEncHunt(villains = [\'Story_GetRandomUserEnemy()\'], cutscenes = [[\'alertcs\', [[\'priority\', 1], [\'replace\', [\'villain\', \'villain\']], [\'cutscene\', "CS_AddArrow(\'villainarrow\', \'villain\', arrow_type=js.ARROW_YELLOW)"]]], [\'startcs\', [\'cslist\', [[\'priority\', 1], [\'replace\', [\'villain\', \'villain\']], [\'cutscene\', \'CS_Start()\', "CS_Camera(\'villain\', dist=-160, yaw=0)", "CS_Speak(\'villain\', \'There you are.\', force=0)", \'CS_End()\']], [[\'priority\', 1], [\'replace\', [\'villain\', \'villain\']], [\'cutscene\', "CS_Speak(\'villain\', \'You will suffer my wrath.\', force=0)"]], [[\'priority\', 1], [\'replace\', [\'villain\', \'villain\']], [\'cutscene\', "CS_Speak(\'villain\', \'Well hellllloooo.\', force=0)"]], [[\'priority\', 1], [\'replace\', [\'villain\', \'villain\']], [\'cutscene\', \'CS_Speak(\\\'villain\\\', "I\\\'ve been looking for you, hero.", force=0)\']]]]], marker = \'encounter\')']}, 'Mugging': {'next': ['Random Encounter'], 'required_map': [], 'timeofday': 'none', 'action': ['DoEncSavecivilian(villains = [\'Story_GetRandomUserEnemy()\'], cutscenes = [[\'alertcs\', [[\'priority\', 1], [\'replace\', [\'villain\', \'villain\']], [\'cutscene\', "CS_AddArrow(\'villainarrow\', \'villain\', arrow_type=js.ARROW_YELLOW)"]]], [\'startcs\', [\'cslist\', [[\'priority\', 1], [\'replace\', [\'villain\', \'villain\'], [\'ally\', \'ally\'], [\'hero\', \'hero\']], [\'cutscene\', "CS_Speak(\'villain\', \'Why do you always have to interfere?\', force=0)", "CS_TurnTo(\'ally\', \'hero\')", "CS_Speak(\'ally\', \'Help!\', force=0)", "CS_Speak(\'hero\', \'Unhand her at once!\', force=0)"]], [[\'priority\', 1], [\'replace\', [\'ally\', \'ally\']], [\'cutscene\', \'CS_Speak(\\\'ally\\\', "They\\\'re after me!  Do something!", force=0)\']], [[\'priority\', 1], [\'replace\', [\'villains\', \'villain\'], [\'ally\', \'ally\']], [\'cutscene\', "CS_Speak(\'villains\', \'Just hand it over and no one gets hurt.\', force=0)", \'CS_Speak(\\\'ally\\\', "Won\\\'t someone save me?", force=0)\']]]], [\'allythanksherocs\', [[\'priority\', 1], [\'replace\', [\'ally\', \'ally\']], [\'cutscene\', "CS_Speak(\'ally\', \'Thank you.\', force=0)"]]]], marker = \'encounter\', allies = [\'civilian_female\'])']}, 'Random Start': {'timeofday': 'none', 'next': ['Random Encounter', 'Random Encounter', 'Random Encounter'], 'trigger': ['start'], 'required_map': []}, '__lose__': {'action': ['ff.Story_LoseMission()']}, '__win__': {'action': ['ff.Story_WinMission()']}, 'Snatch and Grab': {'next': ['Random Encounter'], 'required_map': [], 'timeofday': 'none', 'action': ['DoEncSnatch(villains = [\'Story_GetRandomUserEnemy()\'], cutscenes = [[\'alertcs\', [[\'priority\', 1], [\'replace\', [\'villain\', \'villain\']], [\'cutscene\', "CS_AddArrow(\'villainarrow\', \'villain\', arrow_type=js.ARROW_YELLOW)"]]], [\'startcs\', [\'cslist\', [[\'priority\', 1], [\'replace\', [\'villain\', \'villain\']], [\'cutscene\', \'CS_Speak(\\\'villain\\\', "I\\\'ve got the goods. Now to make my getaway.", force=0)\']], [[\'priority\', 1], [\'replace\', [\'hero\', \'hero\'], [\'villain\', \'villain\']], [\'cutscene\', "CS_Speak(\'hero\', \'Hold it right there.\', force=0)", "CS_Speak(\'villain\', \'You think you can catch me, hero?\', force=0)"]], [[\'priority\', 1], [\'replace\', [\'villain\', \'villain\']], [\'cutscene\', \'CS_Speak(\\\'villain\\\', "What\\\'s a little petty larceny?", force=0)\']], [[\'priority\', 1], [\'replace\', [\'hero\', \'hero\'], [\'villain\', \'villain\']], [\'cutscene\', \'CS_Speak(\\\'hero\\\', "Crime doesn\\\'t pay.", force=0)\', \'CS_Speak(\\\'villain\\\', "Not with you around it doesn\\\'t.", force=0)\']]]], [\'herogetsitemcs\', [[\'priority\', 1], [\'replace\', [\'hero\', \'hero\']], [\'cutscene\', "CS_Speak(\'hero\', \'I should return this to its rightful owner.\', force=0)"]]], [\'itemreturnedcs\', [[\'priority\', 1], [\'replace\', [\'ally\', \'ally\']], [\'cutscene\', "CS_Speak(\'ally\', \'Thank you so much.\', force=0)"]]]], marker = \'encounter\', allies = [\'civilian_female\'])']}}}}
TIME: 0.007270 for GetMissionVar
PSTORY: precaching Story_GetRandomUserEnemy()
PSTORY: precaching civilian_female[/spoiler]

BentonGrey

and more:

[spoiler]! GetMapInfo
>>> C:\Documents and Settings\Owner\Local Settings\Application Data\Irrational Games\Freedom Force vs the 3rd Reich\temp\MiniMod On Patrol.py executed
>>> OnReceiveSelectedEnemies(('cluemaster', 'count_vertigo', 'doctor_light', 'heat_wave', 'mirror_master', 'psycho_pirate', ))
MISSION: On Post Init... start.
MLOG_Init(keepRunningModules=0): starting up
mlogreader.MLOG_Init: current mission = 'LIBERTY PARK'
initialising FFX: skirmish=0
mapinfocaliper0 is not a valid explosion object
mapinfocaliper1 is not a valid explosion object
mapinfocaliper2 is not a valid explosion object
mapinfocaliper3 is not a valid explosion object
numberStr=93
storing hero_0: id_1,-93
numberStr=94
storing hero_1: id_2,-94
MISSION: On Post Init... complete; starting story.
0 [] []
Random Encounter
Random Encounter
Random Encounter
AI: SetupAI() - setting ai for hero_0 ('atom')
AI: SetupAI() - setting ai for hero_1 ('elongated_man')
0 [] []
Story_RandomListElement(['Fight', 'Fight', 'Fight', 'Fight', 'Mugging', 'Hunt', 'Snatch and Grab'])
0 [] []
Story_RandomListElement(['Fight', 'Fight', 'Fight', 'Fight', 'Mugging', 'Hunt', 'Snatch and Grab'])
ENCOUNTER: Setting up encounter 1
ENCOUNTER: Start marker found for ['encounter'] 4
RANDOMENC:  Random user enemy selected doctor_light
AI: SetupAI() - setting ai for m25obj_2 ('doctor_light')
ENCOUNTER: Encounter spawn complete for 1
ENCOUNTER: Encounter cutscenes complete for 1
ENCOUNTER: Encounter goals complete for 1
ENCOUNTER: Encounter objectives complete for 1
ENCOUNTER: Encounter parameters complete for 1
ENCOUNTER: Encounter post function 'EncStartOnEnterMarker_Setup'
ENCOUNTER: Encounter post complete for 1
ENCOUNTER: Saving encounter data for 1
ENCOUNTER: PlayEncCutscene(): 'alertcs' : None
ENCOUNTER: PlayCutsceneFromList(): [['priority', 1], ['replace', ['villain', 'villain']], ['cutscene', "CS_AddArrow('villainarrow', 'villain', arrow_type=js.ARROW_YELLOW)"]] : None ... []
CUTSCENE: request to play cutscene.
CUTSCENE:  - CS_AddArrow('m25obj_2arrow', 'm25obj_2', arrow_type=js.ARROW_YELLOW)
CUTSCENE: calling PlayCurrentCutscene 1
CUTSCENE: playing ff.CS_AddArrow(1,'m25obj_2arrow', 'm25obj_2', arrow_type=js.ARROW_YELLOW)
addArrow m25obj_2arrow m25obj_2 1 1
---- TIME: 0.022174 for PlayEncCutscene
ENCOUNTER: Encounter setup complete for 1
####################### TIME: 0.270223 for Encounter Setup for 1
0 [] []
Story_RandomListElement(['Fight', 'Fight', 'Fight', 'Fight', 'Mugging', 'Hunt', 'Snatch and Grab'])
CUTSCENE: calling cutscene return function.
CUTSCENE: no return function to call.
ENCOUNTER: Setting up encounter 2
ENCOUNTER: Start marker found for ['encounter'] 8
RANDOMENC:  Random user enemy selected mirror_master
AI: SetupAI() - setting ai for m25obj_4 ('mirror_master')
ENCOUNTER: Encounter spawn complete for 2
ENCOUNTER: Encounter cutscenes complete for 2
ENCOUNTER: Encounter goals complete for 2
ENCOUNTER: Encounter objectives complete for 2
ENCOUNTER: Encounter parameters complete for 2
ENCOUNTER: Encounter post function 'EncStartOnEnterMarker_Setup'
ENCOUNTER: Encounter post complete for 2
ENCOUNTER: Saving encounter data for 2
ENCOUNTER: PlayEncCutscene(): 'alertcs' : None
ENCOUNTER: PlayCutsceneFromList(): [['priority', 1], ['replace', ['villain', 'villain']], ['cutscene', "CS_AddArrow('villainarrow', 'villain', arrow_type=js.ARROW_YELLOW)"]] : None ... []
CUTSCENE: request to play cutscene.
CUTSCENE:  - CS_AddArrow('m25obj_4arrow', 'm25obj_4', arrow_type=js.ARROW_YELLOW)
CUTSCENE: calling PlayCurrentCutscene 2
CUTSCENE: playing ff.CS_AddArrow(2,'m25obj_4arrow', 'm25obj_4', arrow_type=js.ARROW_YELLOW)
addArrow m25obj_4arrow m25obj_4 1 1
TIME: 0.002817 for PlayEncCutscene
ENCOUNTER: Encounter setup complete for 2
####################### TIME: 0.322622 for Encounter Setup for 2
ENCOUNTER: Setting up encounter 3
ENCOUNTER: Start marker found for ['encounter'] 11
ENCOUNTER: No markers for 3 [['allyleave', 'encounter11_allyleave', 'dist500'], ['end', 'encounter11_end', 'edge'], ['end', 'encounter11_end', 'edge']]
RANDOMENC:  Random user enemy selected psycho_pirate
AI: SetupAI() - setting ai for m25obj_6 ('psycho_pirate')
Campaign_MakeHeroIndex: Making index <c:\program files\irrational games\freedom force vs the 3rd reich\ffx3\HeroIndexData.txt>
Campaign_MakeHeroIndex warning: <time_master> likely missing entry in objects.dat; skipping.
Campaign_MakeHeroIndex warning: <time_mast_radn_hero> likely missing entry in objects.dat; skipping.
Campaign_MakeHeroIndex warning: <time_master_elec> likely missing entry in objects.dat; skipping.
Campaign_MakeHeroIndex warning: <time_mast_elec_extra> likely missing entry in objects.dat; skipping.
Campaign_MakeHeroIndex warning: <time_mast_enrg_hero> likely missing entry in objects.dat; skipping.
Campaign_MakeHeroIndex warning: <time_master_playable> likely missing entry in objects.dat; skipping.
Campaign_MakeHeroIndex warning: <time_mast_elec_hero> likely missing entry in objects.dat; skipping.
Campaign_MakeHeroIndex warning: <time_master_energy> likely missing entry in objects.dat; skipping.
Campaign_MakeHeroIndex warning: <riddle_puzzle_thug> likely missing entry in objects.dat; skipping.
Campaign_MakeHeroIndex warning: <time_mast_radn_extra> likely missing entry in objects.dat; skipping.
Campaign_MakeHeroIndex warning: <time_mast_enrg_extra> likely missing entry in objects.dat; skipping.
Campaign_MakeHeroIndex warning: <ironox_extra> likely missing entry in objects.dat; skipping.
Campaign_MakeHeroIndex warning: <time_master_extra> likely missing entry in objects.dat; skipping.
Campaign_MakeHeroIndex warning: <time_master_radiation> likely missing entry in objects.dat; skipping.
Campaign_MakeHeroIndex warning: <ironox> likely missing entry in objects.dat; skipping.
AI: SetupAI() - setting ai for m25obj_8 ('civilian_female')
ENCOUNTER: Encounter spawn complete for 3
ENCOUNTER: Encounter cutscenes complete for 3
ENCOUNTER: Encounter goals complete for 3
ENCOUNTER: Encounter objectives complete for 3
ENCOUNTER: Encounter parameters complete for 3
ENCOUNTER: Encounter post function 'EncStartOnEnterMarker_Setup'
ENCOUNTER: Encounter post function 'FleeToMarker_Setup'
Snatch_CheckEnd
ENCOUNTER: 3 - registering Snatch_CheckEnd on variable _fled
LeaderDropObject_Escaped
ENCOUNTER: 3 - registering LeaderDropObject_Escaped on variable _fled
ENCOUNTER: Encounter post function 'FleeToMarker_Setup'
Snatch_CheckEnd
ENCOUNTER: 3 - registering Snatch_CheckEnd on variable _fled
LeaderDropObject_Escaped
ENCOUNTER: 3 - registering LeaderDropObject_Escaped on variable _fled
ENCOUNTER: Encounter post function 'LeaderDropObject_Setup'
ENCOUNTER: 3 - registering Snatch_HeroPickup on variable on_hero_pickup
ENCOUNTER: Encounter post complete for 3
ENCOUNTER: Saving encounter data for 3
ENCOUNTER: PlayEncCutscene(): 'alertcs' : None
ENCOUNTER: PlayCutsceneFromList(): [['priority', 1], ['replace', ['villain', 'villain']], ['cutscene', "CS_AddArrow('villainarrow', 'villain', arrow_type=js.ARROW_YELLOW)"]] : None ... []
CUTSCENE: request to play cutscene.
CUTSCENE:  - CS_AddArrow('m25obj_6arrow', 'm25obj_6', arrow_type=js.ARROW_YELLOW)
CUTSCENE: calling PlayCurrentCutscene 3
CUTSCENE: playing ff.CS_AddArrow(3,'m25obj_6arrow', 'm25obj_6', arrow_type=js.ARROW_YELLOW)
addArrow m25obj_6arrow m25obj_6 1 1
TIME: 0.002676 for PlayEncCutscene
ENCOUNTER: Encounter setup complete for 3
####################### TIME: 1.558748 for Encounter Setup for 3
CUTSCENE: the current cutscene was interrupted... skipping it.
CUTSCENE: calling cutscene return function.
CUTSCENE: no return function to call.
initialising FFQ_initialiseExtras()
FFX_UpdateSun: getting default sun
FFX_UpdateSun: setting = (-100.0, 70.0, 0.5, 0.5, (0.699999988079, 0.600000023842, 0.600000023842))
---- TIME: 0.016782 for AI_UpdateMapInfoStatic
AI: AISetRunning hero_0 to 0
AI: AISetRunning hero_1 to 0
clearCarrierRegistration: clearing attribute 'hextoteleportm25obj_4' for destroyed object 'mapinfocaliper0'
clearCarrierRegistration: clearing attribute 'hextoteleportm25obj_4' for destroyed object 'mapinfocaliper1'
clearCarrierRegistration: clearing attribute 'hextoteleportm25obj_4' for destroyed object 'mapinfocaliper2'
clearCarrierRegistration: clearing attribute 'hextoteleportm25obj_4' for destroyed object 'mapinfocaliper3'
AI: AISetRunning m25obj_2 to 0
AI: AISetRunning m25obj_4 to 0
initAttribsForChar: working on hero_0 (atom)
initAttribsForChar (atom): looking at attribute nimble
initAttribsForChar (atom): looking at attribute jumper
initAttribsForChar (atom): looking at attribute masscontrol
execInitAttrib: init masscontrol attribute
    on hero_0 of template custom_template_93 (atom)
initAttribsForChar: working on hero_1 (elongated_man)
initAttribsForChar (elongated_man): looking at attribute nimble
initAttribsForChar (elongated_man): looking at attribute jumper
initAttribsForChar: working on m25obj_2 (doctor_light)
initAttribsForChar (doctor_light): looking at attribute light speed
initAttribsForChar (doctor_light): looking at attribute flier
initAttribsForChar (doctor_light): looking at attribute lightcontrol
execInitAttrib: init lightcontrol attribute
    on m25obj_2 of template doctor_light (doctor_light)
initAttribsForChar (doctor_light): looking at attribute solarpowered
execInitAttrib: init solarpowered attribute
    on m25obj_2 of template doctor_light (doctor_light)
solar powered characterm25obj_2 has base energy 5
initAttribsForChar: working on m25obj_4 (mirror_master)
initAttribsForChar (mirror_master): looking at attribute jumper
initAttribsForChar (mirror_master): looking at attribute nimble
initAttribsForChar (mirror_master): looking at attribute accidentclone
execInitAttrib: init accidentclone attribute
    on m25obj_4 of template mirror_master (mirror_master)
initAttribsForChar (mirror_master): looking at attribute livinglaser
execInitAttrib: init livinglaser attribute
    on m25obj_4 of template mirror_master (mirror_master)
initAttribsForChar (mirror_master): looking at attribute unheroic
initAttribsForChar: working on m25obj_6 (psycho_pirate)
initAttribsForChar (psycho_pirate): looking at attribute disciplined
initAttribsForChar (psycho_pirate): looking at attribute timid
initAttribsForChar (psycho_pirate): looking at attribute jumper
initAttribsForChar (psycho_pirate): looking at attribute unheroic
initAttribsForChar: working on m25obj_8 (civilian_female)
AI: AISetRunning m25obj_6 to 0
AI: AISetRunning m25obj_8 to 0
Plugin 'firehydrant' OnPostInit() called
Plugin 'zombie' has no OnPostInit()
Plugin 'freeroam_keepbuildingdamage' OnPostInit() called
Plugin 'm25ai_lowjumper' has no OnPostInit()
Plugin 'm25ai_realitymanipulation' has no OnPostInit()
Plugin 'm25enc_simplechoice' has no OnPostInit()[/spoiler]

BentonGrey

Darn character limit...here is the end of it.  I wouldn't have posted all of it like this, but I couldn't find any errors or tracebacks in it like your intro says to look for:

[spoiler]---- TIME: 0.017137 for AI_UpdateMapInfoStatic
---- TIME: 0.016745 for AI_UpdateMapInfoStatic
---- TIME: 0.016923 for AI_UpdateMapInfoStatic
---- TIME: 0.017626 for AI_UpdateMapInfoStatic
ENCOUNTER: PlayEncCutscene(): 'enroutebantercs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... []
---- TIME: 0.017488 for AI_UpdateMapInfoStatic
---- TIME: 0.016786 for AI_UpdateMapInfoStatic
ENCOUNTER: PlayEncCutscene(): 'enroutebantercs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... []
---- TIME: 0.018283 for AI_UpdateMapInfoStatic
ENCOUNTER: PlayEncCutscene(): 'enroutebantercs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... []
ENCOUNTER: Enc_CheckStart starting 3
AI: AIRun is restarting m25obj_6
AI: AISetRunning m25obj_6 to 1
AI: AIRun is restarting m25obj_8
AI: AISetRunning m25obj_8 to 1
ENCOUNTER: PlayEncCutscene(): 'startcs' : 'Enc_StandardStartEnable(3)'
ENCOUNTER: PlayCutsceneFromList(): ['cslist', [['priority', 1], ['replace', ['villain', 'villain']], ['cutscene', 'CS_Speak(\'villain\', "I\'ve got the goods. Now to make my getaway.", force=0)']], [['priority', 1], ['replace', ['hero', 'hero'], ['villain', 'villain']], ['cutscene', "CS_Speak('hero', 'Hold it right there.', force=0)", "CS_Speak('villain', 'You think you can catch me, hero?', force=0)"]], [['priority', 1], ['replace', ['villain', 'villain']], ['cutscene', 'CS_Speak(\'villain\', "What\'s a little petty larceny?", force=0)']], [['priority', 1], ['replace', ['hero', 'hero'], ['villain', 'villain']], ['cutscene', 'CS_Speak(\'hero\', "Crime doesn\'t pay.", force=0)', 'CS_Speak(\'villain\', "Not with you around it doesn\'t.", force=0)']]] : 'Enc_StandardStartEnable(3)' ... []
CUTSCENE: request to play cutscene.
CUTSCENE:  - CS_Speak('m25obj_6',"I've got the goods. Now to make my getaway.", force=0)
CUTSCENE: calling PlayCurrentCutscene 4
CUTSCENE: playing ff.CS_Speak(4,'m25obj_6',"I've got the goods. Now to make my getaway.", force=0)
####################### TIME: 0.284544 for PlayEncCutscene
TIME: 0.003492 for ai for psycho_pirate
TIME: 0.002683 for ai for civilian_female
CUTSCENE: calling cutscene return function.
---- TIME: 0.016709 for AI_UpdateMapInfoStatic
AI: m25obj_6:'psycho_pirate' goal move to marker 'encounter11_end1'
TIME: 0.005064 for ai for psycho_pirate
AI: m25obj_6:'psycho_pirate' goal move to marker 'encounter11_end1'
TIME: 0.004586 for ai for psycho_pirate
---- TIME: 0.017257 for AI_UpdateMapInfoStatic
TIME: 0.002510 for ai for psycho_pirate
ENCOUNTER: PlayEncCutscene(): 'villainescapescs' : "FleeToMarker_FleeMap2(3,'m25obj_6')"
ENCOUNTER: PlayCutsceneFromList(): None : "FleeToMarker_FleeMap2(3,'m25obj_6')" ... [['m25obj_6', 'villain']]
TIME: 0.003687 for ai for psycho_pirate
clearCarrierRegistration: clearing attribute 'hextoteleportm25obj_4' for destroyed object 'm25obj_6'
ENCOUNTER: 3 - event callback _fled has value ['Snatch_CheckEnd', 'LeaderDropObject_Escaped', 'Snatch_CheckEnd', 'LeaderDropObject_Escaped']
ENCOUNTER: 3 - event callback _fled calling Snatch_CheckEnd
ENCOUNTER: 3 - event callback _fled calling LeaderDropObject_Escaped
ENCOUNTER: 3 - event callback _fled calling Snatch_CheckEnd
ENCOUNTER: PlayEncCutscene(): 'itemlostcs' : "Enc_CleanUp(3,['item lost', 'end', 'allies saved'])"
ENCOUNTER: PlayCutsceneFromList(): None : "Enc_CleanUp(3,['item lost', 'end', 'allies saved'])" ... []
enc_cleanup called
enc end called 0
ENCOUNTER: Encounter ended 3 with ['item lost', 'end', 'allies saved']
3 ['item lost', 'end', 'allies saved'] []
Random Encounter
---- TIME: 0.060194 for PlayEncCutscene
ENCOUNTER: 3 - event callback _fled calling LeaderDropObject_Escaped
0 [] []
Story_RandomListElement(['Fight', 'Fight', 'Fight', 'Fight', 'Mugging', 'Hunt', 'Snatch and Grab'])
ENCOUNTER: Setting up encounter 4
ENCOUNTER: Start marker found for ['encounter'] 1
RANDOMENC:  Random user enemy selected heat_wave
AI: SetupAI() - setting ai for m25obj_10 ('heat_wave')
ENCOUNTER: Encounter spawn complete for 4
ENCOUNTER: Encounter cutscenes complete for 4
ENCOUNTER: Encounter goals complete for 4
ENCOUNTER: Encounter objectives complete for 4
ENCOUNTER: Encounter parameters complete for 4
ENCOUNTER: Encounter post function 'EncStartOnEnterMarker_Setup'
ENCOUNTER: Encounter post complete for 4
ENCOUNTER: Saving encounter data for 4
ENCOUNTER: PlayEncCutscene(): 'alertcs' : None
ENCOUNTER: PlayCutsceneFromList(): [['priority', 1], ['replace', ['villain', 'villain']], ['cutscene', "CS_AddArrow('villainarrow', 'villain', arrow_type=js.ARROW_YELLOW)"]] : None ... []
CUTSCENE: request to play cutscene.
CUTSCENE:  - CS_AddArrow('m25obj_10arrow', 'm25obj_10', arrow_type=js.ARROW_YELLOW)
CUTSCENE: calling PlayCurrentCutscene 5
CUTSCENE: playing ff.CS_AddArrow(5,'m25obj_10arrow', 'm25obj_10', arrow_type=js.ARROW_YELLOW)
addArrow m25obj_10arrow m25obj_10 1 1
---- TIME: 0.022785 for PlayEncCutscene
ENCOUNTER: Encounter setup complete for 4
####################### TIME: 0.356586 for Encounter Setup for 4
CUTSCENE: calling cutscene return function.
CUTSCENE: no return function to call.
AI: m25obj_8:'civilian_female' goal move to marker 'encounter11_allyleave1'
TIME: 0.003771 for ai for civilian_female
---- TIME: 0.016761 for AI_UpdateMapInfoStatic
initAttribsForChar: working on m25obj_10 (heat_wave)
initAttribsForChar (heat_wave): looking at attribute volcanic
initAttribsForChar (heat_wave): looking at attribute unheroic
initAttribsForChar (heat_wave): looking at attribute firecontrol
execInitAttrib: init firecontrol attribute
    on m25obj_10 of template heat_wave (heat_wave)
initAttribsForChar (heat_wave): looking at attribute temperature control
initAttribsForChar (heat_wave): looking at attribute jumper
AI: AISetRunning m25obj_10 to 0
AI: m25obj_8:'civilian_female' goal move to marker 'encounter11_allyleave1'
TIME: 0.003434 for ai for civilian_female
AI: m25obj_8:'civilian_female' goal move to marker 'encounter11_allyleave1'
TIME: 0.004007 for ai for civilian_female
---- TIME: 0.017809 for AI_UpdateMapInfoStatic
AI: m25obj_8:'civilian_female' goal move to marker 'encounter11_allyleave1'
TIME: 0.003538 for ai for civilian_female
AI: m25obj_8:'civilian_female' goal move to marker 'encounter11_allyleave1'
TIME: 0.003630 for ai for civilian_female
clearCarrierRegistration: clearing attribute 'hextoteleportm25obj_4' for destroyed object 'm25obj_8'
ENCOUNTER: PlayEncCutscene(): 'enroutebantercs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... []
---- TIME: 0.016378 for AI_UpdateMapInfoStatic
---- TIME: 0.016130 for AI_UpdateMapInfoStatic
ENCOUNTER: PlayEncCutscene(): 'enroutebantercs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... []
---- TIME: 0.017298 for AI_UpdateMapInfoStatic
ENCOUNTER: Enc_CheckStart starting 4
AI: AIRun is restarting m25obj_10
AI: AISetRunning m25obj_10 to 1
ENCOUNTER: PlayEncCutscene(): 'startcs' : 'Enc_StandardStartEnable(4)'
ENCOUNTER: PlayCutsceneFromList(): ['cslist', [['priority', 1], ['replace', ['villain', 'villain']], ['cutscene', 'CS_Speak(\'villain\', "You\'ve interferred with me for the last time.", force=0)']], [['priority', 1], ['replace', ['hero', 'hero']], ['cutscene', "CS_Speak('hero', 'And here I thought this would be a nice quiet night.', force=0)"]], [['priority', 1], ['replace', ['hero', 'hero'], ['villain', 'villain']], ['cutscene', 'CS_Speak(\'hero\', "I\'m afraid I\'m going to have to take you in.", force=0)', 'CS_Speak(\'villain\', "You\'re welcome to try.", force=0)']], [['priority', 1], ['replace', ['villain', 'villain']], ['cutscene', 'CS_Speak(\'villain\', "Can\'t a villain get a moment\'s peace?", force=0)']]] : 'Enc_StandardStartEnable(4)' ... []
CUTSCENE: request to play cutscene.
CUTSCENE:  - CS_Speak('m25obj_10',"You've interferred with me for the last time.", force=0)
CUTSCENE: calling PlayCurrentCutscene 6
CUTSCENE: playing ff.CS_Speak(6,'m25obj_10',"You've interferred with me for the last time.", force=0)
---- TIME: 0.039849 for PlayEncCutscene
CUTSCENE: calling cutscene return function.
TIME: 0.003562 for ai for heat_wave
TIME: 0.001148 for ai for heat_wave
---- TIME: 0.017104 for AI_UpdateMapInfoStatic
TIME: 0.001597 for ai for heat_wave
TIME: 0.001737 for ai for heat_wave
---- TIME: 0.017069 for AI_UpdateMapInfoStatic
TIME: 0.001977 for ai for heat_wave
TIME: 0.001443 for ai for heat_wave
TIME: 0.001451 for ai for heat_wave
---- TIME: 0.039008 for AI_UpdateMapInfoStatic
TIME: 0.001480 for ai for heat_wave
TIME: 0.001413 for ai for heat_wave
---- TIME: 0.060001 for AI_UpdateMapInfoStatic
ENCOUNTER: PlayEncCutscene(): 'enroutebantercs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... []
TIME: 0.001523 for ai for heat_wave
TIME: 0.001441 for ai for heat_wave
TIME: 0.001099 for ai for heat_wave
---- TIME: 0.016864 for AI_UpdateMapInfoStatic
TIME: 0.001134 for ai for heat_wave
TIME: 0.001487 for ai for heat_wave
ENCOUNTER: PlayEncCutscene(): 'bantercs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... []
---- TIME: 0.016966 for AI_UpdateMapInfoStatic
TIME: 0.001497 for ai for heat_wave
TIME: 0.001306 for ai for heat_wave
ENCOUNTER: PlayEncCutscene(): 'enroutebantercs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... []
TIME: 0.001574 for ai for heat_wave
---- TIME: 0.039962 for AI_UpdateMapInfoStatic
TIME: 0.001349 for ai for heat_wave
TIME: 0.001150 for ai for heat_wave
---- TIME: 0.017810 for AI_UpdateMapInfoStatic
TIME: 0.001642 for ai for heat_wave
TIME: 0.001309 for ai for heat_wave
TIME: 0.001104 for ai for heat_wave
---- TIME: 0.016604 for AI_UpdateMapInfoStatic
TIME: 0.001675 for ai for heat_wave
TIME: 0.001272 for ai for heat_wave
---- TIME: 0.017571 for AI_UpdateMapInfoStatic
TIME: 0.001697 for ai for heat_wave
ENCOUNTER: PlayEncCutscene(): 'enroutebantercs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... []
---- TIME: 0.041417 for AI_UpdateMapInfoStatic
TIME: 0.001413 for ai for heat_wave
ENCOUNTER: PlayEncCutscene(): 'bantercs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... []
ENCOUNTER: PlayEncCutscene(): 'enroutebantercs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... []
TIME: 0.001841 for ai for heat_wave
---- TIME: 0.017657 for AI_UpdateMapInfoStatic
TIME: 0.001396 for ai for heat_wave
TIME: 0.001557 for ai for heat_wave
ENCOUNTER: PlayEncCutscene(): 'm25obj_10kocs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... [['m25obj_10', 'fallen']]
ENCOUNTER: PlayEncCutscene(): 'heat_wavekocs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... [['m25obj_10', 'fallen']]
ENCOUNTER: PlayCutsceneFromList(): None : None ... [['m25obj_10', 'fallen']]
ENCOUNTER: PlayEncCutscene(): 'alliessavedcs' : "Fight_Over(4,'allies saved')"
ENCOUNTER: PlayCutsceneFromList(): None : "Fight_Over(4,'allies saved')" ... []
ENCOUNTER: PlayCutsceneFromList(): ['cslist', [['priority', 1], ['replace', ['hero', 'hero']], ['cutscene', 'CS_Speak(\'hero\', "And that\'s why evil never wins.", force=0)']], [['priority', 1], ['replace', ['hero', 'hero']], ['cutscene', "CS_Speak('hero', 'Thanks for the workout.', force=0)"]], [['priority', 1], ['replace', ['hero', 'hero']], ['cutscene', 'CS_Speak(\'hero\', "I\'m taking you in.", force=0)']], [['priority', 1], ['replace', ['hero', 'hero']], ['cutscene', 'CS_Speak(\'hero\', "I\'ll just leave you for the police.", force=0)']]] : "Enc_CleanUp(4,['allies saved', 'end'])" ... []
CUTSCENE: request to play cutscene.
CUTSCENE:  - CS_Speak('hero_0',"And that's why evil never wins.", force=0)
CUTSCENE: calling PlayCurrentCutscene 7
CUTSCENE: playing ff.CS_Speak(7,'hero_0',"And that's why evil never wins.", force=0)[/spoiler]

JKCarrier

Quote from: BentonGrey on March 07, 2007, 03:51:32 PM
Yeah, I have JKC, but after doing the full conversion that his tutorial describes, I didn't have that problem.

I'm not sure what you mean. I followed the instructions that came with the pack. Is there something else I need to do?

M25

You're getting messages about items missing from objects.dat.   There may be a mismatch between the characters and templates in FFEdit, or worse, you may have a bad objects.dat file.

Perhaps the others have more insight.


stumpy

Quote from: BentonGrey on March 07, 2007, 05:57:43 PM
AI: SetupAI() - setting ai for m25obj_6 ('psycho_pirate')
Campaign_MakeHeroIndex: Making index <c:\program files\irrational games\freedom force vs the 3rd reich\ffx3\HeroIndexData.txt>
Campaign_MakeHeroIndex warning: <time_master> likely missing entry in objects.dat; skipping.
Campaign_MakeHeroIndex warning: <time_mast_radn_hero> likely missing entry in objects.dat; skipping.
Campaign_MakeHeroIndex warning: <time_master_elec> likely missing entry in objects.dat; skipping.
Campaign_MakeHeroIndex warning: <time_mast_elec_extra> likely missing entry in objects.dat; skipping.
Campaign_MakeHeroIndex warning: <time_mast_enrg_hero> likely missing entry in objects.dat; skipping.
Campaign_MakeHeroIndex warning: <time_master_playable> likely missing entry in objects.dat; skipping.
Campaign_MakeHeroIndex warning: <time_mast_elec_hero> likely missing entry in objects.dat; skipping.
Campaign_MakeHeroIndex warning: <time_master_energy> likely missing entry in objects.dat; skipping.
Campaign_MakeHeroIndex warning: <riddle_puzzle_thug> likely missing entry in objects.dat; skipping.
Campaign_MakeHeroIndex warning: <time_mast_radn_extra> likely missing entry in objects.dat; skipping.
Campaign_MakeHeroIndex warning: <time_mast_enrg_extra> likely missing entry in objects.dat; skipping.
Campaign_MakeHeroIndex warning: <ironox_extra> likely missing entry in objects.dat; skipping.
Campaign_MakeHeroIndex warning: <time_master_extra> likely missing entry in objects.dat; skipping.
Campaign_MakeHeroIndex warning: <time_master_radiation> likely missing entry in objects.dat; skipping.
Campaign_MakeHeroIndex warning: <ironox> likely missing entry in objects.dat; skipping.
AI: SetupAI() - setting ai for m25obj_8 ('civilian_female')

Yes. What those warnings mean is that the character mentioned has an entry in the Characters tab in FFEdit but no entry in the Templates tab. Oftentimes, this won't stop game play, which is why it's just a warning, but it can be indicative of a bad or incomplete DAT merge.

Given the seriousness of the crash, I am concerned that some bad DAT entries are in the mix again. Does the same crash happen when you play On Patrol with other characters or when you play with the DATs as they come in the 3.2 release (before any merging)?

BentonGrey

Well, I had the crash before with Batman and his villains, but I assumed it was because of Crock.  I will do some testing tomorrow, see if I can get any more data for you.

However....looking over those missing objects, I've deleted several of those myself.  The only one who SHOULD be there is the Riddle Thug.  I asked in my mod thread if it was safe to delete the built in characters, could it be that there is more danger in it than I realized?

Blitzgott

I think this thing that happened to me just now is more like me having done something stupid rather than a real bug.

I made a combo for my Superman character called "last son of krypton". It consisted of enhanced senses, physical resistance, acrobatic (amateur) and flier.

I started a rumble room session to test it and most of the ffx attributes I put on it were working, except enhanced senses. Then I quit the game and erased the "telepathy" in the ffxmulti.py file from my combo and, instead, gave enhanced senses to my Supes separately.

When I started another rumble room session to test it, not only enhanced senses didn't work, but all the other attributes weren't working either. My Supes couldn't even fly. Also, the screen was very bright for some reason. And it is not only the ffx attributes from Superman that aren't working anymore; the ffx attributes I gave to other characters aren't working either.

Here's the log:

[spoiler]>>> system/init.py executed
>>> system/localinit.py executed
>>> system\tredir.py executed
loading datfiles version 0.251000
loading cshelper ...
Starting ffx.py v. 3.2.0 build 10; branch = Public Beta 2
Loading m25ai.py v. 3.2.0 build 8; branch = m25 branch 1
Loading m25event.py v.3.2.0 build 6; branch = m25 branch 2
importing missionobjvar.py v1.18
importing MLOG Reader 1.0 alpha 17
missionobjvar(FixLongs): Fixing overflow issue with <SCSTATE_BUOYANT>
missionobjvar defining functions for Campaign play.
Loading m25report.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25timestamp.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25getset.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25string.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25distance.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25template.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25missionover.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25energy.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25generateai.py v.3.2.0 build 6; branch = m25 branch 2
Loading m25aigeneratedata.py v.3.2.0 build 6; branch = m25 branch 2
Traceback (innermost last):
  File "C:\Documents and Settings\Felipe\Configurações locais\Dados de aplicativos\Irrational Games\Freedom Force vs the 3rd Reich\temp\battle.py", line 6, in ?
    from ffx import *
  File "E:\Irrational Games\Freedom Force vs The 3rd Reich\.\ffx3\missions\scripts\ffx.py", line 29, in ?
    import m25ai
  File "E:\Irrational Games\Freedom Force vs The 3rd Reich\.\ffx3\missions\scripts\m25ai.py", line 60, in ?
    import m25generateai
  File "E:\Irrational Games\Freedom Force vs The 3rd Reich\.\ffx3\missions\scripts\m25generateai.py", line 35, in ?
    import ffxmulti
  File "E:\Irrational Games\Freedom Force vs The 3rd Reich\.\ffx3\missions\scripts\ffxmulti.py", line 58
    ['superman', 'acrobaticamateur', 'flier', 'toughguy2', vulnerability'],
                                                                          ^
SyntaxError: invalid token
sk: missionobjvar already loaded; resetting mission type to skirmish for mission and object vars
missionobjvar defining functions for Rumble Room play.
ffx3\sk.py importing FFX
ffx3\missions\scripts\sk.py loaded
>>> C:\Documents and Settings\Felipe\Configurações locais\Dados de aplicativos\Irrational Games\Freedom Force vs the 3rd Reich\temp\battle.py executed
>>> OnReceiveSelectedEnemies(('darkman_blue', ))
try to spawn darkman_blue
sk.SpawnEnemy: energy for _skdarkman_blue01 (darkman_blue) changed from 3 to 3
Traceback (innermost last):
  File "C:\Documents and Settings\Felipe\Configurações locais\Dados de aplicativos\Irrational Games\Freedom Force vs the 3rd Reich\temp\battle.py", line 15, in OnPostInit
    FFX_InitSkirmish()
NameError: FFX_InitSkirmish[/spoiler]

Edit: By the way, when I removed enhanced senses from the combo, I forgot to merge the language files. Could it have been what caused the problem?

TaskMasterX

It looks like something happened to your ffxmulti.py. Make sure you typed everything correctly and have the correct names for each attribute. As for the Enhanced Senses not working, it was one of the attributes that had it's FFXCC entries combined to make room for more customizations, so make sure you run Stumpy's ffxcustom conversion as mentioned previously in this thread.

Blitzgott

You're right. I typed something wrong there.

I hadn't considered this possibility because, when I removed enhanced senses from the combo, all I did was remove "telepathy", so it couldn't (I thought) have been a syntax problem. However, I acidentally ended up removing a comma and hadn't noticed it. I fixed it now and it's working perfectly.

Thanks for you help!

On a side note, Taskmaster, did my flying melee method work for you?

detourne_me

has anybody else been having a screen freeze when the rumble room loads up?    FFVTTr just freezes on the loading screen when its a full bar.

i have no clue whats causing it...  :blink:

BentonGrey

I thought I had that, but it was just taking an inordinate amount of time to load up.

Hey guys, I'm still curious if I need to go back and re-merge some .dats to get back the buit-ins that I deleted.  Any ideas about that?

stumpy

If you are really getting a freeze, post your script.log.

stumpy

BG, you can either add the characters back manually or re-merge. The merge process carries with it the risk if merging in the corrupt DATs that some people have. I would create abridged DATs with just the powers, characters, and objects entries for those heroes and then use the double merge process Épiméthée described.

BentonGrey

Okay, so it IS necessary to keep the built-in characters?  I'll remerge with my backup copy of FFX.

stumpy

Maybe I am not understanding the question. If you have added your own built-ins to the DATs, then then only way to get them back after upgrading to the latest beta is via a merge process or manually adding them back using FFEdit.

BentonGrey

Hmm, I see that I am not being clear enough, sorry Stumpy!  I had those errors during 'On Patrol.'  You pointed out that the game was finding missing objects and suggested it might be the result of a bad .dat.  However, I said that I had removed those myself.  They consisted of several built in characters.  I have removed all of the FF built-in heroes and villains myself.  I was asking if that causes trouble.  If so, I'll merely re-merge with a back-up I made.  I removed the Irrational heroes and villains to save space and cut down on confusion, but I can deal with it if it's going to cause problems.  Is that more clear?

stumpy

I didn't read back far enough in the thread. :oops: I thought you were referring to the same thing detourne_me was.

You should not have to add back in any built-ins you have added and then deleted. If you want to get rid of those messages, you can finish removing those heroes from the Characters tab that you removed from the Templates tab. The messages are just there because they appear in characters.dat but not objects.dat.

I am still not sure what is behind the CTD you are seeing. I didn't see anything really suspicious in your script.log, but I don't know too much about the EZScript missions either.

BentonGrey

Well, that's good to know at least.  Like Holmes said, knowning what the answer isn't is nearly as important as knowning what it is!

BentonGrey

Well, I just had another CTD, but this one was bizarre.  I was playing 'Spygames,' and it crashed on me because I didn't have a head.nif in the right folder, my mistake, I fixed it.  Now, I go back to play it again, and THIS happens:

[spoiler]TIME: 0.007833 for GetMissionVar
PSTORY: precaching nazi_gunner
PSTORY: precaching nazi_rifleman
PSTORY: precaching berlin_male
PSTORY: precaching nazi_grenadier
PSTORY: precaching nazihq_lab_machine_4
PSTORY: precaching nazi_general
! GetMapInfo
>>> C:\Documents and Settings\Owner\Local Settings\Application Data\Irrational Games\Freedom Force vs the 3rd Reich\temp\MiniMod Spy Games.py executed
MISSION: On Post Init... start.
MLOG_Init(keepRunningModules=0): starting up
mlogreader.MLOG_Init: current mission = 'CITY LANDMARKS'
initialising FFX: skirmish=0
mapinfocaliper0 is not a valid explosion object
mapinfocaliper1 is not a valid explosion object
mapinfocaliper2 is not a valid explosion object
mapinfocaliper3 is not a valid explosion object
numberStr=93
storing hero_0: id_1,-93
numberStr=94
storing hero_1: id_2,-94
MISSION: On Post Init... complete; starting story.
ENCOUNTER: Setting up encounter 1
ENCOUNTER: Start marker found for ['encounter'] 7
ENCOUNTER: Encounter spawn complete for 1
ENCOUNTER: Encounter cutscenes complete for 1
ENCOUNTER: Encounter goals complete for 1
ENCOUNTER: Encounter objectives complete for 1
ENCOUNTER: Encounter parameters complete for 1
ENCOUNTER: Encounter post function 'SingleCutscene_Setup'
ENCOUNTER: PlayEncCutscene(): 'startcs' : 'SingleCutscene_End(1,"end")'
ENCOUNTER: PlayCutsceneFromList(): [['priority', 1], ['replace', ['hero1', 'hero']], ['cutscene', 'CS_Start()', "CS_Lighting('night')", "CS_CinematicCamera('hero1')", "CS_Speak('hero1', 'My contact said to meet him near here.', force=0)", 'CS_End()']] : 'SingleCutscene_End(1,"end")' ... []
CUTSCENE: request to play cutscene.
CUTSCENE:  - CS_Start()
CUTSCENE:  - CS_Lighting('night')
CUTSCENE:  - CS_CinematicCamera('hero_1')
CUTSCENE:  - CS_Speak('hero_1','My contact said to meet him near here.', force=0)
CUTSCENE:  - CS_End()
CUTSCENE: calling PlayCurrentCutscene 1
CUTSCENE: playing ff.CS_Start(1)
---- TIME: 0.025713 for PlayEncCutscene
ENCOUNTER: Encounter post complete for 1
ENCOUNTER: Saving encounter data for 1
ENCOUNTER: PlayEncCutscene(): 'alertcs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... []
ENCOUNTER: Encounter setup complete for 1
---- TIME: 0.050399 for Encounter Setup for 1
RANDOMENC: selected nazi_gunner : total prestige 1
RANDOMENC: selected nazi_gunner : total prestige 2
RANDOMENC: selected nazi_gunner : total prestige 3
RANDOMENC: selected nazi_gunner : total prestige 4
RANDOMENC: selected nazi_rifleman : total prestige 5
RANDOMENC: selected nazi_gunner : total prestige 6
ENCOUNTER: Setting up encounter 2
ENCOUNTER: Start marker found for ['encounter'] 1
AI: SetupAI() - setting ai for m25obj_2 ('nazi_gunner')
AI: SetupAI() - setting ai for m25obj_4 ('nazi_gunner')
AI: SetupAI() - setting ai for m25obj_6 ('nazi_gunner')
AI: SetupAI() - setting ai for m25obj_8 ('nazi_gunner')
AI: SetupAI() - setting ai for m25obj_10 ('nazi_rifleman')
AI: SetupAI() - setting ai for m25obj_12 ('nazi_gunner')
ENCOUNTER: Encounter spawn complete for 2
ENCOUNTER: Encounter cutscenes complete for 2
ENCOUNTER: Encounter goals complete for 2
ENCOUNTER: Encounter objectives complete for 2
ENCOUNTER: Encounter parameters complete for 2
ENCOUNTER: Encounter post function 'Hunt_Setup'
ENCOUNTER: Encounter post function 'EncStartOnEnterMarker_Setup'
ENCOUNTER: Encounter post complete for 2
ENCOUNTER: Saving encounter data for 2
ENCOUNTER: PlayEncCutscene(): 'alertcs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... []
ENCOUNTER: Encounter setup complete for 2
####################### TIME: 0.206583 for Encounter Setup for 2
AI: SetupAI() - setting ai for hero_1 ('doctor_midnight')
AI: SetupAI() - setting ai for hero_0 ('atom_I')
CUTSCENE: playing ff.CS_Lighting(1,'night')
CS_SetLights cannot set orientation of o_impobj_37
CS_SetLights cannot set orientation of o_impobj_38
CS_SetLights cannot set orientation of o_impobj_39
CS_SetLights cannot set orientation of o_impobj_40
CS_SetLights cannot set orientation of o_impobj_90
CS_SetLights cannot set orientation of o_impobj_91
CS_SetLights cannot set orientation of o_impobj_95
CS_SetLights cannot set orientation of o_impobj_96
CS_SetLights cannot set orientation of o_impobj_97
CS_SetLights cannot set orientation of o_impobj_98
CS_SetLights cannot set orientation of o_impobj_99
CUTSCENE: playing ff.CS_CinematicCamera(1,'hero_1')
Template_GetMesh() fatal error: template 'custom_template_94' not found
Template_GetHeight() non-fatal error:
    template 'custom_template_94' not found in list of template heights.
    To detect approximate height, use
    checkHeight(templateList, precise = 'no', repeat = 0, replace = 0, giants = 1, campaign = 0)
initialising FFQ_initialiseExtras()
TIME: 0.009366 for AI_UpdateMapInfoStatic
Template_GetMesh() fatal error: template 'custom_template_94' not found
CUTSCENE: playing ff.CS_Speak(1,'hero_1','My contact said to meet him near here.', force=0)[/spoiler]

That's the second half of the script.log, after the huge chunk of stuff about the mission.  FR doesn't like that, as it's too long.  I'll post it if needed.  This section includes the error there at the bottom, but I'm afraid I don't know what it means.

On an unreleated note, are FFX customizations not available for area attacks? 

stumpy

Looks like some of the code in heightcheck.py couldn't find the template for one of your characters. That's not really my area of expertise, but it sounds like the kind of thing that would happen if a character isn't branded. Are you sure you have run the FFX Control Centre to brand the characters?

If that's not the issue, post what happens when you enter the following at the console (this is all one line):
for o in Mission_GetDynamicObjects(): print '%s: %s %s %d %s' % (o,Object_GetTemplate(o),GetCharacterData(o).get('charName'),Object_GetAttr(o,'complex'),GetCharacterData(o).get('NIF'))

M25

BentonGrey,

Er, what happened?  The log doesn't really show anything too unusual.  I believe when that part of the script can't find the height of a character, it uses a default value (I don't know why it is labeled as a fatal error though). 
About the dat files.   In theory it shouldn't be a problem if you remove things, but I think in practice it is better to leave the built-ins from the game alone.  It doesn't add a significant amount of space to your mod.  There seems to be a fair amount of trouble with bad dat files in this version of the game.


BentonGrey

Hmm, yep, I've run FFX, even done the power ID thing (which is part of my other question about customizing area attacks).  I don't know what that could have been about.

stumpy

And you are still getting a crash? I would still like to see the output from the console that I suggested...

This may all be in the FFX manual (in your FFvT3R folder as ..\ffx3\manual\index.html), so I would check there, but, as far as I know, power swaps don't work with area attacks because of the way the game engine handles event 21 sinks. To my recollection, you have to stick to melees, beams, and (non-explosive) projectiles. And I don't know about cones or area melee (arc) attacks.

catwhowalksbyhimself

Cones work fine.  Doc uses a cone swap for Blackbird in the FFX campaign.

You can also simulate area attacks by swapping a self ability for the effect you want.

BentonGrey

Thanks Cat, if I understand you correctly, you mean something like 'clone' or 'displace image'? 

Stumpy, I haven't had a crash since then (including running the same scenario again), but I will do that console thing later on to check on it.

Epimethee

As Stumpy and Cat said, melee, non-explosive projectiles, beams, cones and some specials (empathy, invisibility, displace image) are fine. hHowever, the special don't map to every type of swap.

Epimethee

Quote from: M25 on March 12, 2007, 01:17:21 PMEr, what happened?  The log doesn't really show anything too unusual.  I believe when that part of the script can't find the height of a character, it uses a default value (I don't know why it is labeled as a fatal error though).
I suppose I should be able to give you the answer, but as I wrote that code two years ago...  :huh: (Hmmm... somewhere on my to do list, I'm supposed to replace the code in heightcheck with a completely different method. Life is too short.)

|