News:

Rings of Reznor!

Main Menu

Mod Deals

Started by BentonGrey, September 12, 2010, 03:40:07 AM

Previous topic - Next topic

BentonGrey

Howdy guys, I've been working on a mod for one of the skinners who accepted Tomato's trade off, and I've run into something truly bizarre.  I've got a character that I've built in from this skinner's herofile using M25's RR tool.  I've got him set up properly (Hero template, no Zero Cost or Generic Hero AI, and complex branded), although at first he had the duplicate cop AI selected.  However, every time I load the mission with this guy in it, he attacks the rest of the team.  What the heck is going on?!

I'm getting the following traceback, but it may as well be in Greek as far as I'm concerned:

Spoiler
Traceback (innermost last):
  File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\TMNT\missions\scripts\m25enc.py", line 3115, in Enc_CheckStart
    exec 'ff.'+fn + '(event)'
  File "<string>", line 1, in ?
  File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\TMNT\missions\scripts\m25enc.py", line 3241, in Enc_StandardStart
    EncEnableAllChars(enc_id, c)
  File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\TMNT\missions\scripts\m25enc.py", line 1064, in EncEnableAllChars
    m25ai.AIEnable(c)
  File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\TMNT\missions\scripts\m25ai.py", line 1150, in AIEnable
    js.Object_SetAttr(char, 'ai_disabled', 0)
SystemError: NULL result without error in call_object
Traceback (innermost last):
  File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\TMNT\missions\scripts\skXMapInfo.py", line 685, in MapInfo_CheckObjects2
    Object_UpdateGridPos (ms)
  File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\TMNT\missions\scripts\skXMapInfo.py", line 565, in Object_UpdateGridPos
    if ts not in ff.MapInfo [maGrid
  • ] [maGrid [1]]:
    KeyError: -5
God Bless
"If God came down upon me and gave me a wish again, I'd wish to be like Aquaman, 'cause Aquaman can take the pain..." -Ballad of Aquaman
Check out mymods and blog!
https://bentongrey.wordpress.com/

Epimethee

The second error is probably not the cause of your problem (might be a secondary consequence of it, though). For the first one, the AI cannot find the character to which it should apply AI behaviors. I suggest you enable M25's AI debug messages to get more precise info.
FFX add-on for FFvsTTR at ffx.freedomforceforever.com

BentonGrey

Thanks for the advice Epi, how does one go about enabling that?
God Bless
"If God came down upon me and gave me a wish again, I'd wish to be like Aquaman, 'cause Aquaman can take the pain..." -Ballad of Aquaman
Check out mymods and blog!
https://bentongrey.wordpress.com/

yell0w_lantern

Check your M25aidata.py file and see if this guy is already using a M25ai setup as a villain.
Yellow Lantern smash!

BentonGrey

Alright, I've solved the traitor problem, but I've got several more now.  Also, this is probably about to take a detour into scripting territory, so if someone decides that it belongs in that forum, feel free to move it.

I've got a pretty simple setup, but something is going wrong with it.  I have a feeling that whatever is happening is due to my copying the scripts folder from another mod (PCTales) into this one, but I can't be sure.  That has never caused me problems before.  Basically, there are two encounters starting the mission, a fight and an interrogation.  The fight encounter's alert CS plays just fine, but then its start CS won't play.  Also, three of the spawned villains, Storm, Wolverine, and Nightcrawler (always the same three), don't seem to have their AI enabled.  They just sit there.  Also, the simple choice encounter at the end isn't working, but I imagine that's because I've got it set up wrong.  Other CSes seem to be playing, but this opening bit is really driving me nuts.  I need some help, guys:

Here is the pertinent part of the script itself:
Spoiler
Story: 02heralds

Starting Encounters: X1, X2

#-------------------------------------------------------------------------------

Encounter: X1
Type: Fight
Villains: banshee, colossus, cyclops, iceman, nightcrawler, storm, wolverine
Next: None
Marker: post2

Alert Cutscene:
Set Lighting to night
Camera on cyclops
Unfade for 3 seconds
Hero4 says, "I know that symbol from somewhere..."
Hero1 says, "They are Xavier's men."
Hero3 says, "The X-Men?! They look vastly different from the X-Men of my world."
Hero2 says, "One of them must be the rogue mutant Destiny told us about."

Start Cutscene:
Cinematic camera on storm
storm says, "By Goddess! We're under attack!"
Camera on cyclops
cyclops says, "X-Men pull together and remember your Danger room training."
Hero1 says, "Let's end this now."
wolverine says, "Aw, Hell! I knew one way or another I'd was gonna have to sober up."
wolverine plays animation power

#-------------------------------------------------------------------------------

Encounter: X2
Type: Interrogation
Villains: phoenix named jill
Primary Objective: "Defeat the X-Men and discover the rogue mutant" for 200 prestige
Marker: post3
Next: X3

Interrogation Cutscene:
Camera on jill
Hero3 moves to jill
Hero1 moves to jill
Hero2 moves to jill
Hero4 moves to jill
Hero3 says, "So it's her, huh?"
Hero1 says, "Yes, I believe she is the one we are meant to nullify from existence."
Hero2 says, "Let's get this over with."
Play effect effect_portal_core at jill
Fade for 2 seconds
Hero1 says, "What!"


#-------------------------------------------------------------------------------

And here is the script.log.  I'm seeing a similar error to the one that showed up in my previous post.  So, how can I fix this?
Spoiler
Traceback (innermost last):
  File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\PCTales\missions\scripts\skXMapInfo.py", line 685, in MapInfo_CheckObjects2
    Object_UpdateGridPos (ms)
  File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\PCTales\missions\scripts\skXMapInfo.py", line 565, in Object_UpdateGridPos
    if ts not in ff.MapInfo [maGrid
  • ] [maGrid [1]]:
    KeyError: -5
    Traceback (innermost last):
      File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\PCTales\missions\scripts\m25enc.py", line 3115, in Enc_CheckStart
        exec 'ff.'+fn + '(event)'
      File "<string>", line 1, in ?
      File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\PCTales\missions\scripts\m25enc.py", line 3241, in Enc_StandardStart
        EncEnableAllChars(enc_id, c)
      File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\PCTales\missions\scripts\m25enc.py", line 1064, in EncEnableAllChars
        m25ai.AIEnable(c)
      File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\PCTales\missions\scripts\m25ai.py", line 1150, in AIEnable
        js.Object_SetAttr(char, 'ai_disabled', 0)
    SystemError: NULL result without error in call_object
    speak('jill','SPEECH_JY_INTEROGATEME_01')
    cshelper: Cutscene [cutscene] submitted for playing
    cshelper: Now playing cutscene [cutscene]
    Step 1 of 2
    0
    speakInternal
    0
    Step 2 of 2
    cshelper: Cutscene [cutscene] has ended
    Traceback (innermost last):
      File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\PCTales\missions\scripts\ffx.py", line 17050, in updateFFQLoner
        RegTimer('updateFFQLoner',3,newStatus,char,str(attrib))
    NameError: newStatus
    restoring flight state
    3
    2
    restoring flight state
    4
    3
    Looking for hero3 from 3
    Looking for hero1 from 1
    Looking for hero2 from 2
    Looking for hero4 from 4
    restoring flight state
    5
    4
    restoring flight state
    6
    5
    restoring flight state
    7
    6
    clearCarrierRegistration: clearing attribute 'OnKBhero_1' for destroyed object 'civilian_female_005'
    clearCarrierRegistration: clearing attribute 'OnKBhero_3' for destroyed object 'civilian_female_005'
    restoring flight state
    8
    7
    sue dark_phoenix post4_villain1
    restoring flight state
    Looking for hero4 from 4
    9
    8
    initAttribsForChar: working on sue (dark_phoenix)
    initAttribsForChar (dark_phoenix): looking at attribute flier
    initAttribsForChar (dark_phoenix): looking at attribute supertk
    execInitAttrib: init supertk attribute
        on sue of template dark_phoenix (dark_phoenix)
    initAttribsForChar (dark_phoenix): looking at attribute superhealer
    execInitAttrib: init superhealer attribute
        on sue of template dark_phoenix (dark_phoenix)
    initAttribsForChar (dark_phoenix): looking at attribute metabolic
    execInitAttrib: init metabolic attribute
        on sue of template dark_phoenix (dark_phoenix)
    initAttribsForChar (dark_phoenix): looking at attribute battery
    execInitAttrib: init battery attribute
        on sue of template dark_phoenix (dark_phoenix)
    restoring flight state
    2
    1
    10
    9
    Template_GetHeight() non-fatal error:
        template 'dark_phoenix' not found in list of template heights.
        To detect approximate height, use
        checkHeight(templateList, precise = 'no', repeat = 0, replace = 0, giants = 1, campaign = 0)
    Building_GetDimensions() non-fatal error:
        template 'building_underground' not found in list of building dimensions.
        To detect approximate dimensions, use
        getBuildingDimensions ()
    Building_GetDimensions() non-fatal error:
        template 'building_underground' not found in list of building dimensions.
        To detect approximate dimensions, use
        getBuildingDimensions ()
    restoring flight state
    11
    10
    Looking for hero4 from 4
    Looking for hero2 from 2
    restoring flight state
    ann amalgam post5_villain1
    ff.DoEncCutscene(5,cutscenes = [['startcs', [['priority', 1], ['replace', ['hero1', 'hero'], ['hero2', 'hero']], ['required', 'jane', 'ann'], ['cutscene', 'CS_Start()', 'CS_Fade(2)', "CS_TeleportTo('jane', 'ann')", "CS_CinematicCamera('jane','ann')", 'CS_Wait(2)', 'CS_UnFade(3)', "CS_Animate('ann','stunned')", "CS_Speak('ann', 'We have come for you, Jean Grey of Earth 734.', force=0)", "CS_Speak('jane', 'Who are you?', force=0)", "CS_Speak('ann', 'Some call us Amalgam. Others call us the Angel of Death, for, indeed, you are dying.', force=0)", "CS_Speak('ann', 'We come to offer you a choice: die the final death or give yourself to us, that your powers and memories may live on to fight for mutant-kind.', force=0)", "CS_Speak('jane', 'Vulture! How dare you? I am power incarnate!', force=0)", "CS_Speak('ann', 'Your time has come. We have already had to offer the choice to your beloved friends this day. Accept our offer and be reunited with them and Scott forever.', force=0)", "CS_Speak('hero1', 'It was never Phoenix we were after. It is her!', force=0)", "CS_Speak('jane', 'Scott...', force=0)", "CS_Speak('jane', 'I accept your offer...', force=0)", "CS_Speak('hero2', 'No!', force=0)", "CS_Kill('jane')", "CS_Lighting('red alert')", 'CS_End()']]]], marker = 'encounter', allies = [['jane', 'dark_phoenix']], annsays,"wecometoofferyouachoice = 'die the final death or give yourself to us, that your powers and memories may live on to fight for mutant-kind."',return_function="StorylineEncounterReturn")
    Traceback (innermost last):
      File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\PCTales\missions\scripts\m25story.py", line 252, in DoStorylineStateEvent
        DoStorylineState(story, state, event.user)
      File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\PCTales\missions\scripts\m25story.py", line 295, in DoStorylineState
        if not StorySetupEncounter(enc_id,story,state,a):
      File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\PCTales\missions\scripts\m25story.py", line 385, in StorySetupEncounter
        val = eval('ff.%s(%i,%s,return_function="StorylineEncounterReturn")'%(encname,enc_id,encparams))
      File "<string>", line 1
        ff.DoEncCutscene(5,cutscenes = [['startcs', [['priority', 1], ['replace', ['hero1', 'hero'], ['hero2', 'hero']], ['required', 'jane', 'ann'], ['cutscene', 'CS_Start()', 'CS_Fade(2)', "CS_TeleportTo('jane', 'ann')", "CS_CinematicCamera('jane','ann')", 'CS_Wait(2)', 'CS_UnFade(3)', "CS_Animate('ann','stunned')", "CS_Speak('ann', 'We have come for you, Jean Grey of Earth 734.', force=0)", "CS_Speak('jane', 'Who are you?', force=0)", "CS_Speak('ann', 'Some call us Amalgam. Others call us the Angel of Death, for, indeed, you are dying.', force=0)", "CS_Speak('ann', 'We come to offer you a choice: die the final death or give yourself to us, that your powers and memories may live on to fight for mutant-kind.', force=0)", "CS_Speak('jane', 'Vulture! How dare you? I am power incarnate!', force=0)", "CS_Speak('ann', 'Your time has come. We have already had to offer the choice to your beloved friends this day. Accept our offer and be reunited with them and Scott forever.', force=0)", "CS_Speak('hero1', 'It was never Phoenix we were after. It is her!', force=0)", "CS_Speak('jane', 'Scott...', force=0)", "CS_Speak('jane', 'I accept your offer...', force=0)", "CS_Speak('hero2', 'No!', force=0)", "CS_Kill('jane')", "CS_Lighting('red alert')", 'CS_End()']]]], marker = 'encounter', allies = [['jane', 'dark_phoenix']], annsays,"wecometoofferyouachoice = 'die the final death or give yourself to us, that your powers and memories may live on to fight for mutant-kind."',return_function="StorylineEncounterReturn")
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ^
    SyntaxError: invalid token
    12
    11
    initAttribsForChar: working on ann (amalgam)
    initAttribsForChar (amalgam): looking at attribute teleporter
    execInitAttrib: init teleporter attribute
        on ann of template amalgam (amalgam)
    initAttribsForChar (amalgam): looking at attribute shapeshifter
    execInitAttrib: init shapeshifter attribute
        on ann of template amalgam (amalgam)
    initAttribsForChar (amalgam): looking at attribute ffqimmortal
    execInitAttrib: init ffqimmortal attribute
        on ann of template amalgam (amalgam)
God Bless
"If God came down upon me and gave me a wish again, I'd wish to be like Aquaman, 'cause Aquaman can take the pain..." -Ballad of Aquaman
Check out mymods and blog!
https://bentongrey.wordpress.com/