• Welcome to Freedom Reborn Archive.
 

EZScript Comics

Started by BentonGrey, May 06, 2007, 06:28:24 PM

Previous topic - Next topic
|

M25

Sorry I wasn't able to respond earlier.

If I'm reading this right, Blaze1 and Blaze2 are supposed to run at the same time?  At any rate, it looks like a flow problem.  By default, EZ script will try to run the next encounter in the text file once an encounter finishes if you don't tell it otherwise, even when you have 'Starts when' clauses.  So you need to add

Next: None

to Blaze2  and probably Blaze1 as well.



BentonGrey

Thanks for taking a look M!  I'm afraid I figured out the same thing last night, and after feeling quite dumb, I edited the story to make it just linear.  I'm still getting the same thing though, some of the Rescue Fire encounters refuse to end.  I'm going to do some more testing tonight, and post my findings and any pertinent script.log entries.

BentonGrey

Okay, I've made some adjustments and things SEEM to be working at the moment.  Ha, so, I've just got to give the whole shebang a run through, and the JLA campaign will be done!

:EDIT: Well, surprise, surprise, I spoke too soon.  So....everything is hunkiedorie, but I made the last encounter a Custom one because the ally in the encounter kept getting killed.  So, I've altered it as follows:

[spoiler]#---------------------------------------

Encounter: Final1
Type: Custom
Actions: Allies Do Not Fight, Allies Can Be Freed, Allies Cower, Villains Fight Heroes, Allies Thank Heroes, Rivals Fight Villains
Villains: warlord
Rivals: civilian_martian, civilian_martian
Minions: thug_with_gun, thug_with_grenade, thug_with_grenade, thug_with_gun
Allies: doctor
Marker: escape1
Next: __win__

Alert Cutscene:
Camera on flash
flash says, "Now that I've got all of this under control, its time to catch up with Jonas' kidnappers. I should just be able to catch them before they leave town, but I'll need to search the city at super speed..."

Start Cutscene:
Camera on Villain1
Villain1 says, "Jeez you're tenacious ain'cha'? Well, you'd better stay awful still, or the good Professor is liable to have an 'accident?'"
Cinematic camera on Rival1 to Villain1
Rival1 turns to Villain1
Rival1 plays animation melee
Rival1 says, "Fool! You were supposed to keep this one occupied!"
Villain1 turns to Rival1
Villain1 says, "Hey, we ain't pinched yet, just let me handle this!"
Rival1 says, "We did not pay for such incompetence. Do you not realize that he is more than fast enough to take that primitive firearm away from you before you even BEGIN to pull the trigger?"
Rival2 says, "<Enough of this, these morsels have all outlived their usefulness. Let's just kill them all and be done with it!>"
Rival1 turns to Rival2
Rival1 says, "<You're right, our presence has been exposed anyway, we may as well feast!>"
Camera on flash
flash says, "What in the world? This just keeps getting stranger and stranger!"
Camera on Villain1
Villain1 says, "Hey, what are you two yammerin' on about?"
Rival1 says, "Your death, human!"

Ally thanks hero Cutscene:
Camera on flash
Ally1 moves to flash
flash says, "Professor, are you alright?"
Ally1 says, "Yes...yes, I believe I'm uninjured. Thank you Flash, I don't know what they had planned for me, but these...creatures that had hired those thugs seemed positively inhuman!"
flash says, "I believe you may be exactly right Professor. Did they say anything to you that might give us a clue as to what was going on?"
Ally1 says, "No...but they did say that there was a truck waiting for me on the outskirts of town, perhaps you might find something useful inside?"
flash says, "Even better, I think I'll trail it to their destination and see if I can't unravel this mystery."

[/spoiler]

It actually works great, and everything plays the way it should....it just doesn't end!  The Ally thanks cutscene plays, and then nothing.  Here is the pertinent area of the script.log.  Any thoughts guys?

[spoiler]
GROUP: '1_minion' member koed
ENCOUNTER: PlayEncCutscene(): 'm25obj_8kocs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... [['m25obj_8', 'fallen']]
ENCOUNTER: PlayEncCutscene(): 'warlordkocs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... [['m25obj_8', 'fallen']]
ENCOUNTER: PlayEncCutscene(): 'villainkocs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... [['m25obj_8', 'fallen']]
alliescanbefreed 1 0 0
ENCOUNTER: -- custom check end EncCustom_AlliesCanBeFreed_CheckEnd(1) - None
ENCOUNTER: -- custom check end EncCustom_VillainsFight_CheckEnd(1) - None
ENCOUNTER: -- custom check end EncCustom_AlliesThankHeroes_CheckEnd(1) - None
ENCOUNTER: -- custom check end EncCustom_RivalsFight_CheckEnd(1) - None
GROUP: '1_minion' member koed
ENCOUNTER: PlayEncCutscene(): 'm25obj_6kocs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... [['m25obj_6', 'fallen']]
ENCOUNTER: PlayEncCutscene(): 'thug_with_grenadekocs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... [['m25obj_6', 'fallen']]
ENCOUNTER: PlayEncCutscene(): 'minionkocs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... [['m25obj_6', 'fallen']]
alliescanbefreed 1 0 0
ENCOUNTER: -- custom check end EncCustom_AlliesCanBeFreed_CheckEnd(1) - None
ENCOUNTER: -- custom check end EncCustom_VillainsFight_CheckEnd(1) - ['villains gone']
addArrow m25obj_10arrow m25obj_10 1 0
GOAL: Adding goal Goal_MoveToTarget(1007,'hero_0',50,49,100,None) to character m25obj_10
ENCOUNTER: PlayEncCutscene(): 'allywantstothankheroescs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... []
ENCOUNTER: PlayEncCutscene(): 'enemiesdowncs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... []
ENCOUNTER: -- custom check end EncCustom_AlliesThankHeroes_CheckEnd(1) - None
ENCOUNTER: -- custom check end EncCustom_RivalsFight_CheckEnd(1) - None
GROUP: '1_minion' leader koed
ENCOUNTER: PlayEncCutscene(): 'bantercs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... []
GROUP: 'm25obj_6' removed from group '1_minion'
GROUP: '1_minion' set to ['m25obj_8']
ENCOUNTER: PlayEncCutscene(): 'bantercs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... []
GROUP: '1_cohort' member koed
ENCOUNTER: PlayEncCutscene(): 'm25obj_14kocs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... [['m25obj_14', 'fallen']]
ENCOUNTER: PlayEncCutscene(): 'civilian_martiankocs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... [['m25obj_14', 'fallen']]
ENCOUNTER: PlayEncCutscene(): 'rivalkocs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... [['m25obj_14', 'fallen']]
alliescanbefreed 1 0 0
ENCOUNTER: -- custom check end EncCustom_AlliesCanBeFreed_CheckEnd(1) - None
ENCOUNTER: -- custom check end EncCustom_VillainsFight_CheckEnd(1) - ['villains gone']
ENCOUNTER: -- custom check end EncCustom_AlliesThankHeroes_CheckEnd(1) - None
ENCOUNTER: -- custom check end EncCustom_RivalsFight_CheckEnd(1) - None
ENCOUNTER: PlayEncCutscene(): 'bantercs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... []
GROUP: 'm25obj_14' removed from group '1_cohort'
GROUP: '1_cohort' set to ['m25obj_12']
GROUP: 'm25obj_12' automatically promoted to leader of group '1_cohort'
GROUP: 'm25obj_12' made leader of group '1_cohort'
GROUP: '1_cohort' set to guard 'm25obj_12'
GOAL: Adding goal Goal_StayWithTeam(1008,20) to character m25obj_12
ENCOUNTER: PlayEncCutscene(): 'bantercs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... []
ENCOUNTER: PlayEncCutscene(): 'bantercs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... []
GROUP: '1_cohort' member koed
ENCOUNTER: PlayEncCutscene(): 'm25obj_12kocs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... [['m25obj_12', 'fallen']]
ENCOUNTER: PlayEncCutscene(): 'civilian_martiankocs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... [['m25obj_12', 'fallen']]
ENCOUNTER: PlayEncCutscene(): 'rivalkocs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... [['m25obj_12', 'fallen']]
alliescanbefreed 1 0 0
ENCOUNTER: -- custom check end EncCustom_AlliesCanBeFreed_CheckEnd(1) - None
ENCOUNTER: -- custom check end EncCustom_VillainsFight_CheckEnd(1) - ['villains gone']
ENCOUNTER: -- custom check end EncCustom_AlliesThankHeroes_CheckEnd(1) - None
ENCOUNTER: -- custom check end EncCustom_RivalsFight_CheckEnd(1) - ['rivals gone']
GROUP: '1_cohort' leader koed
ENCOUNTER: PlayEncCutscene(): 'allythanksherocs' : 'EncCheckEnd(1)'
ENCOUNTER: PlayCutsceneFromList(): [['priority', 1], ['replace', ['ally1', 'ally']], ['required', 'flash'], ['cutscene', 'CS_Start()', "CS_Camera('flash', dist=-160, yaw=0)", "CS_MoveTo('ally1', 'flash')", "CS_Speak('flash', 'Professor, are you alright?', force=0)", 'CS_Speak(\'ally1\', "Yes...yes, I believe I\'m uninjured. Thank you Flash, I don\'t know what they had planned for me, but these...creatures that had hired those thugs seemed positively inhuman!", force=0)', "CS_Speak('flash', 'I believe you may be exactly right Professor. Did they say anything to you that might give us a clue as to what was going on?', force=0)", "CS_Speak('ally1', 'No...but they did say that there was a truck waiting for me on the outskirts of town, perhaps you might find something useful inside?', force=0)", 'CS_Speak(\'flash\', "Even better, I think I\'ll trail it to their destination and see if I can\'t unravel this mystery.", force=0)', 'CS_End()']] : 'EncCheckEnd(1)' ... [['m25obj_10', 'ally'], ['hero_0', 'hero']]
CUTSCENE: request to play cutscene.
CUTSCENE:  - CS_Start()
CUTSCENE:  - CS_Camera('flash', dist=-160, yaw=0)
CUTSCENE:  - CS_MoveTo('m25obj_10', 'flash')
CUTSCENE:  - CS_Speak('flash','Professor, are you alright?', force=0)
CUTSCENE:  - CS_Speak('m25obj_10',"Yes...yes, I believe I'm uninjured. Thank you Flash, I don't know what they had planned for me, but these...creatures that had hired those thugs seemed positively inhuman!", force=0)
CUTSCENE:  - CS_Speak('flash','I believe you may be exactly right Professor. Did they say anything to you that might give us a clue as to what was going on?', force=0)
CUTSCENE:  - CS_Speak('m25obj_10','No...but they did say that there was a truck waiting for me on the outskirts of town, perhaps you might find something useful inside?', force=0)
CUTSCENE:  - CS_Speak('flash',"Even better, I think I'll trail it to their destination and see if I can't unravel this mystery.", force=0)
CUTSCENE:  - CS_End()
CUTSCENE: calling PlayCurrentCutscene 3
CUTSCENE: playing ff.CS_Start(3)
CUTSCENE: playing ff.CS_Camera(3,'flash', dist=-160, yaw=0)
CUTSCENE: playing ff.CS_MoveTo(3,'m25obj_10', 'flash')
AI: AISetRunning m25obj_8 to 0
AI: AISetRunning m25obj_10 to 0
AI: AISetRunning m25obj_12 to 0
CUTSCENE: playing ff.CS_Speak(3,'flash','Professor, are you alright?', force=0)
CUTSCENE: playing ff.CS_Speak(3,'m25obj_10',"Yes...yes, I believe I'm uninjured. Thank you Flash, I don't know what they had planned for me, but these...creatures that had hired those thugs seemed positively inhuman!", force=0)
GROUP: 'm25obj_12' removed from group '1_cohort'
GROUP: '1_cohort' set to []
GROUP: empty '1_cohort' cannot have a leader promoted
CUTSCENE: playing ff.CS_Speak(3,'flash','I believe you may be exactly right Professor. Did they say anything to you that might give us a clue as to what was going on?', force=0)
CUTSCENE: playing ff.CS_Speak(3,'m25obj_10','No...but they did say that there was a truck waiting for me on the outskirts of town, perhaps you might find something useful inside?', force=0)
CUTSCENE: playing ff.CS_Speak(3,'flash',"Even better, I think I'll trail it to their destination and see if I can't unravel this mystery.", force=0)
CUTSCENE: playing ff.CS_End(3)
AI: AIRun is restarting m25obj_8
AI: AISetRunning m25obj_8 to 1
AI: AIRun is restarting m25obj_10
AI: AISetRunning m25obj_10 to 1
CUTSCENE: calling cutscene return function.
alliescanbefreed 1 0 0
ENCOUNTER: -- custom check end EncCustom_AlliesCanBeFreed_CheckEnd(1) - None
ENCOUNTER: -- custom check end EncCustom_VillainsFight_CheckEnd(1) - ['villains gone']
ENCOUNTER: -- custom check end EncCustom_AlliesThankHeroes_CheckEnd(1) - ['ally thanked hero', 'ally survives']
ENCOUNTER: -- custom check end EncCustom_RivalsFight_CheckEnd(1) - ['rivals gone']
ENCOUNTER: PlayEncCutscene(): 'bantercs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... []
ENCOUNTER: PlayEncCutscene(): 'bantercs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... []
[/spoiler]

M25

The relevant portion of the script.log is here:


ENCOUNTER: -- custom check end EncCustom_AlliesCanBeFreed_CheckEnd(1) - None
ENCOUNTER: -- custom check end EncCustom_VillainsFight_CheckEnd(1) - ['villains gone']
ENCOUNTER: -- custom check end EncCustom_AlliesThankHeroes_CheckEnd(1) - ['ally thanked hero', 'ally survives']
ENCOUNTER: -- custom check end EncCustom_RivalsFight_CheckEnd(1) - ['rivals gone']


Basically, the Allies Can Be Freed part of the encounter is not hitting an end condition, so the encounter is not ending.

You need to add 'Heroes Rescue Allies' to the actions, or you could probably just get rid of 'Allies Can Be Freed' and get the effect you want.


BentonGrey

Of course!  I forgot the Heroes Rescue Allies part, that makes sense.  Thanks M!

BentonGrey

Well, it has begun!  Ha, I've done a bunch of base scenes this weekend, trying to finish up the DCUG, and I started testing them out today.  Wouldn't you know it, the very first one doesn't even work.  The base encounter runs just fine, but then when I click on the "Mission Briefing" button nothing happens.  Here is my script:

[spoiler]Story: My Story

#
# The base encounter will set up the camera
# and take care of any campaign housekeeping
# e.g. right after the base loads.

Encounter: Start
Type: Base

Start Cutscene:
Camera on screen1
Unfade for 3 seconds
thanagarian_male2 plays animation fall


#
# The briefing cutscene will play when the player
# selects the briefing button on the base screen.
#
# Notice the 'Starts when: Briefing' line.
# That must be there or it won't play as a briefing.
#


Encounter: Briefing
Type: Cutscene
Starts When: Briefing

Start Cutscene:
Camera on med1
hawkgirl_gun says, "It's a Thanagarian!"
hawkgirl_gun plays animation ranged
andar_pul says, "Hmm...we're getting bizarre readings...this man's body chemistry has been altered in some incredibly strange ways."
hawkman_gun says, "Where could they have gotten this kind of technology?"
andar_pul says, "Well...we've detected traces of the genetic signature of Talon Labs."
hawkman_gun says, "We'd better get over there and ask some questions. They haven't reported any break-ins in the last few days, have they?"
andar_pul says, "Not a thing, and their security rating is pretty high, but something is going on."
hawkgirl_gun says, "This fool and his friends proves that much. Come on Katar, let's pay Talon Labs a visit."
[/spoiler]

:EDIT: Okay, after some more testing, it seems that the briefing won't play no matter what I do.  I've removed everything except: Narrator says, "TEST" and it still won't play.  Also, while trying to test another base screen instead of this one, I got a more catastrophic failure.  The screen showed up black and I received several error messages.  The crux of these messages was that the 'base' encounter wasn't found.  Here is my script log and the encounter in question:

Script:
[spoiler]ERROR: The encounter DoEncBase does not exist or is broken.  You may need to download the appropriate plug-in, or check script.log for errors.
ff.DoEncBase(1,cutscenes = [['startcs', [['priority', 1], ['replace', ['mainroom1_ally1', 'ally']], ['required', 'mainroom1', 'jewler', 'customer', 'mainroom2'], ['cutscene', 'CS_Start()', "CS_Camera('mainroom1', dist=-160, yaw=0)", 'CS_UnFade(3)', "CS_Speak('narrator', 'In quiet, peaceful Ivy Town, all is not as it appears. A local jewelrey store holds the beginning of a strange story...', force=0)", "CS_Camera('jewler', dist=-160, yaw=0)", "CS_TurnTo('jewler', 'customer')", "CS_TurnTo('customer', 'jewler')", 'CS_Speak(\'jewler\', "Well sir, it is a beautiful stone, I\'m sure that she would love it.", force=0)', 'CS_Speak(\'customer\', "hmm...I\'m sure she would...but it is very pricey...could I see something a little less expensive?", force=0)', 'CS_Speak(\'jewler\', "Of course sir, I\'ll just be a moment.", force=0)', "CS_MoveTo('jewler', 'mainroom2')", "CS_Camera('jewler', dist=-160, yaw=0)", 'CS_Wait(2)', "CS_MoveTo('jewler', 'mainroom1_ally1')", "CS_Camera('customer', dist=-160, yaw=0)", "CS_Animate('jewler','melee')", "CS_Speak('jewler', 'What did you do with the diamond?! Return it immediately!', force=0)", 'CS_Speak(\'customer\', "Wh-what are you talking about? It was right there, I didn\'t do anything with it!", force=0)', "CS_Animate('jewler','ranged')", 'CS_Speak(\'jewler\', "Well, don\'t try and run off, the police are going to want to have a word with you, mister!", force=0)', 'CS_End()']]]], marker = 'encounter',return_function="StorylineEncounterReturn")
Traceback (innermost last):
  File "C:\Documents and Settings\Owner\Local Settings\Application Data\Irrational Games\Freedom Force vs the 3rd Reich\temp\base.py", line 26, in OnPostInit
    m25minimod.OnPostInit(campaign=1, base=1)
  File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\DCUG\missions\scripts\m25minimod.py", line 137, in OnPostInit
    m25story.DoStoryline()
  File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\DCUG\missions\scripts\m25story.py", line 246, in DoStoryline
    DoStorylineState(story,enc)
  File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\DCUG\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\.\DCUG\missions\scripts\m25story.py", line 385, in StorySetupEncounter
    val = eval('ff.%s(%i,%s,return_function="StorylineEncounterReturn")'%(encname,enc_id,encparams))
  File "<string>", line 0, in ?
  File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\DCUG\missions\scripts\m25enc.py", line 2558, in DoEncBase
    PlayEncCutscene(enc_id, 'startcs', return_function='BaseDone(%i)'%enc_id)
  File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\DCUG\missions\scripts\m25enc.py", line 699, in PlayEncCutscene
    value = PlayCutsceneFromList(GetEncCutscene(enc_id, csname),enc_id, charlist, return_function, live, in_order)
  File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\DCUG\missions\scripts\m25enc.py", line 752, in PlayCutsceneFromList
    if not EncPlayCutscene(newcslist,enc_id,charlist, return_function, live):
  File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\DCUG\missions\scripts\m25enc.py", line 763, in EncPlayCutscene
    replace = CSGetReplacements(cstoplay, charlist, enc_id, live, exclude=exclude_list)
  File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\DCUG\missions\scripts\m25enc.py", line 823, in CSGetReplacements
    char = findCharFromList(charlist,n[1],enc_id,excludelist=exclude,live=live,subtype=subtype)
  File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\DCUG\missions\scripts\m25enc.py", line 500, in findCharFromList
    for c in charlist:
TypeError: loop over non-sequence
initialising FFQ_initialiseExtras()
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 'cutscene_power' has no OnPostInit()
Plugin 'm25encexit' has no OnPostInit()
Plugin 'm25enc_opendoor' has no OnPostInit()
Plugin 'm25enc_reqchar' has no OnPostInit()
Plugin 'm25enc_simplechoice' has no OnPostInit()
Plugin 'm25encstory' has no OnPostInit()
[/spoiler]

Base:
[spoiler]tory: My Story

#
# The base encounter will set up the camera
# and take care of any campaign housekeeping
# e.g. right after the base loads.
# sc_pat_sign_diamond_small17 teleports to closet1

Encounter: Start
Type: Base

Start Cutscene:
Camera on mainroom1
Unfade for 3 seconds
Narrator says, "In quiet, peaceful Ivy Town, all is not as it appears. A local jewelrey store holds the beginning of a strange story..."
Camera on jewler
jewler turns to customer
customer turns to jewler
jewler says, "Well sir, it is a beautiful stone, I'm sure that she would love it."
customer says, "hmm...I'm sure she would...but it is very pricey...could I see something a little less expensive?"
jewler says, "Of course sir, I'll just be a moment."
jewler moves to mainroom2
Camera on jewler
Wait for 2 seconds
jewler moves to mainroom1_ally1
Camera on customer
jewler plays animation melee
jewler says, "What did you do with the diamond?! Return it immediately!"
customer plays animaiton stunned
customer says, "Wh-what are you talking about? It was right there, I didn't do anything with it!"
jewler plays animation ranged
jewler says, "Well, don't try and run off, the police are going to want to have a word with you, mister!"


#
# The briefing cutscene will play when the player
# selects the briefing button on the base screen.
#
# Notice the 'Starts when: Briefing' line.
# That must be there or it won't play as a briefing.
#


Encounter: Briefing
Type: Cutscene
Starts When: Briefing

Start Cutscene:
Camera on ray_palmer
ray_palmer says, "Hmm..if the dwarf star matter has the abilities to warp mass..."
ray_palmer plays animation ranged
jean_loring moves to boss1
jean_loring says, "Ray? Do you have a minute?"
ray_palmer turns to jean_loring
ray_palmer says, "Hi honey, of course, I've always got time for you."
jean_loring says, "The strangest thing happened today, and I wanted to tell you about it."
ray_palmer says, "Well, I'm not making any progress here. Let's hear your story. What happened?"
jean_loring says, "A man named Greg Adams came into my office a few hours ago, and asked me to defend him in court. Apparently, he is accused of stealing a valuable diamond."
ray_palmer says, "Well, that doesn't sound particularly strange, what's his alibi?"
jean_loring says, "That's where it gets weird, he claims that the gem just 'disappeared.' He says the clerk walked away, looking for another stone, and Mr. Adams himself was looking at something else in the display case."
jean_loring says, "The next thing he knew, the clerk had returned and was calling him a theif."
ray_palmer says, "And neither of them saw anyone take the stone?"
jean_loring says, "No, and neither did anyone else in the store, isn't that bizarre? Whoever the theif was, he was very clever."
ray_palmer says, "I suppose so, that's pretty strange alright. so, how does the case look?"
jean_loring says, "Ohh, it should be simple enough, the evidence against Mr. Adams is all circumstantial, but if he's not the thief, who is?"
ray_palmer says, "Yes, that is the question, isn't it?"
jean_loring says, "Well, thanks for listening darling, but I suppose I had better let you get back to work. I'll see you for dinner tonight?"
ray_palmer says, "I wouldn't miss it for the world dear..."
jean_loring moves to firstdoor1[/spoiler]

M25

Looks like a bug in EZ script.  It's confused over the line:

jewler moves to mainroom1_ally1

If you change the name of the marker to not include the word 'ally', it should work.

EZ script is trying to replace the word ally with someone from the Allies list.  Since there isn't any allies, it's crashing (which is also preventing the briefing from working).





BentonGrey

Thanks M!  I'll fix that, but you say this is also why the briefing won't play...I don't understand.  Is that related to the first Base encounter?

M25

Yes.  EZ script crashed during the base encounter, so the briefing won't play either.




BentonGrey

I think I see our miscommunication, the second half of my post details the base.txt that crashes, while the first is a separate base.txt, wherein the base part plays, but after it finishes, the briefing button does nothing.

M25

Make sure you have a couple of encounter markers (encounter1 and encounter2) on the base map.

BentonGrey

Hmm.......that might be it.....if it is, I'm going to bash my head against a wall. :P

:EDIT: Oookay!  We're making progress here!  The second Base scene is playing like a charm...but it crashes right as the last animation plays in the briefing screen.  I have  suspicion that this might have something to do with the next mission, so I'm not going to stress over it too much at the moment.  I'll try and do some testing tonight, and then I'll post my further conundrums.

BentonGrey

Alright, I've done a bit more testing, and I've got some fairly profound troubles here.  Both these Base scenes are playing perfectly, but just as they end and the mission should be starting, I get a crash to desktop with no error message.  That's two different missions, both of which I've tested extensively through RR, so they work.  I've got no error reports on the script.txt, but I'll provide it anyway.  This one has got me baffled. 

[spoiler]>>> system/init.py executed
>>> system/localinit.py executed
>>> system\tredir.py executed
Starting ffx.py v. 3.2.0 build 11; branch = Gold / Release
Loading m25ai.py v. 3.2.0 build 10; branch = beta 2: m25 branch 2
importing missionobjvar.py v1.18
loading datfiles version 0.251000
importing MLOG Reader 1.0.18 release
Starting General Utilities 1.0
missionobjvar(FixLongs): Fixing overflow issue with <SCSTATE_BUOYANT>
missionobjvar defining functions for Campaign play.
CustomHeadCurrentTime 1226607101.046000
Starting Height Check module 1.4
Starting System Utilities 1.4
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
Campaign_ReadObjects() warning: object template <water> has more than one entry for attribute <mass>, values 650.000000 and 650.000000
Campaign_ReadObjects() warning: object template <jm_pad_white> has more than one entry for attribute <canPickUp>, values 0.000000 and 0.000000
Campaign_ReadObjects() warning: object template <jm_pad_green> has more than one entry for attribute <canPickUp>, values 0.000000 and 0.000000
Campaign_ReadObjects() warning: object template <jm_pad_brown> has more than one entry for attribute <canPickUp>, values 0.000000 and 0.000000
Campaign_ReadObjects() warning: object template <jm_pad> has more than one entry for attribute <canPickUp>, values 0.000000 and 0.000000
Campaign_ReadObjects() warning: object template <bigwater> has more than one entry for attribute <mass>, values 650.000000 and 650.000000
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
FFX Mission Plugin 'cutscene_power' imported
Loading m25enc.py v.3.2.0 July 27, 2008
Loading m25freeroam.py v. 3.2.0 build 7; branch = m25 branch 1
FFX Mission Plugin 'm25encexit' imported
Loading     m25enc_OPENDOOR.py v.1.0.0 build 0; branch = main
FFX Mission Plugin 'm25enc_opendoor' imported
FFX Mission Plugin 'm25enc_reqchar' imported
Loading     m25enc_simplechoice.py v.1.0.0 build 0; branch = main
FFX Mission Plugin 'm25enc_simplechoice' imported
FFX Mission Plugin 'm25encstory' imported
Starting Built-In Function Wrapper 1.5
('Object_CalcPrestige', 'js')
>>> C:\Documents and Settings\Owner\Local Settings\Application Data\Irrational Games\Freedom Force vs the 3rd Reich\temp\base.py executed
MISSION: EZScript MiniMod/Campaign Precache.
PSTORY: {'name': 'My Story', 'encounters': [{'marker': 'encounter', 'type': 'Base', 'timeofday': 'none', 'required_map': [], 'trigger': [], 'next': [], 'objectives': [], 'parameters': [], 'name': 'Start', 'cutscenes': [{'replace': [], 'name': 'Start', 'required': ['screen1', 'thanagarian_male2'], 'priority': 1, 'cutscene': ['CS_Start()', "CS_Camera('screen1', dist=-160, yaw=0)", 'CS_UnFade(3)', "CS_Animate('thanagarian_male2','fall')", 'CS_End()']}], 'pre': []}, {'marker': 'encounter', 'type': 'Cutscene', 'timeofday': 'none', 'required_map': [], 'trigger': ['Briefing'], 'next': [], 'objectives': [], 'parameters': [], 'name': 'Briefing', 'cutscenes': [{'replace': [], 'name': 'Start', 'required': ['thanagarian_male2', 'bed1', 'hawkgirl_gun', 'andar_pul', 'hawkman_gun'], 'priority': 1, 'cutscene': ['CS_Start()', "CS_Animate('thanagarian_male2','fall')", "CS_Camera('bed1', dist=-160, yaw=0)", 'CS_Speak(\'hawkgirl_gun\', "It\'s a Thanagarian!", force=0)', "CS_Animate('hawkgirl_gun','ranged')", 'CS_Speak(\'andar_pul\', "Hmm...we\'re getting bizarre readings...this man\'s body chemistry has been altered in some incredibly strange ways.", force=0)', "CS_Speak('hawkman_gun', 'Where could they have gotten this kind of technology?', force=0)", 'CS_Speak(\'andar_pul\', "Well...we\'ve detected traces of the genetic signature of Talon Labs.", force=0)', 'CS_Speak(\'hawkman_gun\', "We\'d better get over there and ask some questions. They haven\'t reported any break-ins in the last few days, have they?", force=0)', "CS_Speak('andar_pul', 'Not a thing, and their security rating is pretty high, but something is going on.', force=0)", 'CS_Speak(\'hawkgirl_gun\', "This fool and his friends proves that much. Come on Katar, let\'s pay Talon Labs a visit.", force=0)', 'CS_End()']}], 'pre': []}], 'start': []}
PSTORY: {'My Story': {'encounters': {'__lose__': {'action': ['ff.Story_LoseMission()']}, '__win__': {'action': ['ff.Story_WinMission()']}, '__end__': {'action': ["ff.Story_SetStoryEnded('My Story')"]}, 'Start': {'timeofday': 'none', 'next': ['Briefing'], 'trigger': ['start'], 'action': ['DoEncBase(cutscenes = [[\'startcs\', [[\'priority\', 1], [\'required\', \'screen1\', \'thanagarian_male2\'], [\'cutscene\', \'CS_Start()\', "CS_Camera(\'screen1\', dist=-160, yaw=0)", \'CS_UnFade(3)\', "CS_Animate(\'thanagarian_male2\',\'fall\')", \'CS_End()\']]]], marker = \'encounter\')'], 'required_map': []}, 'Briefing': {'timeofday': 'none', 'next': ['__end__'], 'trigger': ['Briefing'], 'action': ['DoEncCutscene(cutscenes = [[\'startcs\', [[\'priority\', 1], [\'required\', \'thanagarian_male2\', \'bed1\', \'hawkgirl_gun\', \'andar_pul\', \'hawkman_gun\'], [\'cutscene\', \'CS_Start()\', "CS_Animate(\'thanagarian_male2\',\'fall\')", "CS_Camera(\'bed1\', dist=-160, yaw=0)", \'CS_Speak(\\\'hawkgirl_gun\\\', "It\\\'s a Thanagarian!", force=0)\', "CS_Animate(\'hawkgirl_gun\',\'ranged\')", \'CS_Speak(\\\'andar_pul\\\', "Hmm...we\\\'re getting bizarre readings...this man\\\'s body chemistry has been altered in some incredibly strange ways.", force=0)\', "CS_Speak(\'hawkman_gun\', \'Where could they have gotten this kind of technology?\', force=0)", \'CS_Speak(\\\'andar_pul\\\', "Well...we\\\'ve detected traces of the genetic signature of Talon Labs.", force=0)\', \'CS_Speak(\\\'hawkman_gun\\\', "We\\\'d better get over there and ask some questions. They haven\\\'t reported any break-ins in the last few days, have they?", force=0)\', "CS_Speak(\'andar_pul\', \'Not a thing, and their security rating is pretty high, but something is going on.\', force=0)", \'CS_Speak(\\\'hawkgirl_gun\\\', "This fool and his friends proves that much. Come on Katar, let\\\'s pay Talon Labs a visit.", force=0)\', \'CS_End()\']]]], marker = \'encounter\')'], 'required_map': []}}}}
! GetMapInfo
MISSION: On Post Init... complete; starting story.
ENCOUNTER: PlayEncCutscene(): 'startcs' : 'BaseDone(1)'
ENCOUNTER: PlayCutsceneFromList(): [['priority', 1], ['required', 'screen1', 'thanagarian_male2'], ['cutscene', 'CS_Start()', "CS_Camera('screen1', dist=-160, yaw=0)", 'CS_UnFade(3)', "CS_Animate('thanagarian_male2','fall')", 'CS_End()']] : 'BaseDone(1)' ... []
CUTSCENE: request to play cutscene.
CUTSCENE:  - CS_Start()
CUTSCENE:  - CS_Camera('screen1', dist=-160, yaw=0)
CUTSCENE:  - CS_UnFade(3)
CUTSCENE:  - CS_Animate('thanagarian_male2','fall')
CUTSCENE:  - CS_End()
CUTSCENE: calling PlayCurrentCutscene 1
CUTSCENE: playing ff.CS_Start(1)
CUTSCENE: playing ff.CS_Camera(1,'screen1', dist=-160, yaw=0)
initialising FFQ_initialiseExtras()
CUTSCENE: playing ff.CS_UnFade(1,3)
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 'cutscene_power' has no OnPostInit()
Plugin 'm25encexit' has no OnPostInit()
Plugin 'm25enc_opendoor' has no OnPostInit()
Plugin 'm25enc_reqchar' has no OnPostInit()
Plugin 'm25enc_simplechoice' has no OnPostInit()
Plugin 'm25encstory' has no OnPostInit()
CUTSCENE: playing ff.CS_Animate(1,'thanagarian_male2','fall')
CUTSCENE: playing ff.CS_End(1)
CUTSCENE: calling cutscene return function.
ENCOUNTER: Setting up encounter 2
ENCOUNTER: Start marker found for ['encounter'] 'encounter10'
GROUP: '2_minion' set to []
GROUP: '2_minion' set to []
GROUP: '2_minion' set to []
GROUP: '2_ally' set to []
GROUP: '2_ally' set to []
GROUP: '2_object' set to []
GROUP: '2_object' set to []
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 'SingleCutscene_Setup'
ENCOUNTER: PlayEncCutscene(): 'startcs' : 'SingleCutscene_End(2,"end")'
ENCOUNTER: PlayCutsceneFromList(): [['priority', 1], ['required', 'thanagarian_male2', 'bed1', 'hawkgirl_gun', 'andar_pul', 'hawkman_gun'], ['cutscene', 'CS_Start()', "CS_Animate('thanagarian_male2','fall')", "CS_Camera('bed1', dist=-160, yaw=0)", 'CS_Speak(\'hawkgirl_gun\', "It\'s a Thanagarian!", force=0)', "CS_Animate('hawkgirl_gun','ranged')", 'CS_Speak(\'andar_pul\', "Hmm...we\'re getting bizarre readings...this man\'s body chemistry has been altered in some incredibly strange ways.", force=0)', "CS_Speak('hawkman_gun', 'Where could they have gotten this kind of technology?', force=0)", 'CS_Speak(\'andar_pul\', "Well...we\'ve detected traces of the genetic signature of Talon Labs.", force=0)', 'CS_Speak(\'hawkman_gun\', "We\'d better get over there and ask some questions. They haven\'t reported any break-ins in the last few days, have they?", force=0)', "CS_Speak('andar_pul', 'Not a thing, and their security rating is pretty high, but something is going on.', force=0)", 'CS_Speak(\'hawkgirl_gun\', "This fool and his friends proves that much. Come on Katar, let\'s pay Talon Labs a visit.", force=0)', 'CS_End()']] : 'SingleCutscene_End(2,"end")' ... []
CUTSCENE: request to play cutscene.
CUTSCENE:  - CS_Start()
CUTSCENE:  - CS_Animate('thanagarian_male2','fall')
CUTSCENE:  - CS_Camera('bed1', dist=-160, yaw=0)
CUTSCENE:  - CS_Speak('hawkgirl_gun',"It's a Thanagarian!", force=0)
CUTSCENE:  - CS_Animate('hawkgirl_gun','ranged')
CUTSCENE:  - CS_Speak('andar_pul',"Hmm...we're getting bizarre readings...this man's body chemistry has been altered in some incredibly strange ways.", force=0)
CUTSCENE:  - CS_Speak('hawkman_gun','Where could they have gotten this kind of technology?', force=0)
CUTSCENE:  - CS_Speak('andar_pul',"Well...we've detected traces of the genetic signature of Talon Labs.", force=0)
CUTSCENE:  - CS_Speak('hawkman_gun',"We'd better get over there and ask some questions. They haven't reported any break-ins in the last few days, have they?", force=0)
CUTSCENE:  - CS_Speak('andar_pul','Not a thing, and their security rating is pretty high, but something is going on.', force=0)
CUTSCENE:  - CS_Speak('hawkgirl_gun',"This fool and his friends proves that much. Come on Katar, let's pay Talon Labs a visit.", force=0)
CUTSCENE:  - CS_End()
CUTSCENE: calling PlayCurrentCutscene 2
CUTSCENE: playing ff.CS_Start(2)
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
CUTSCENE: playing ff.CS_Animate(2,'thanagarian_male2','fall')
CUTSCENE: playing ff.CS_Camera(2,'bed1', dist=-160, yaw=0)
CUTSCENE: playing ff.CS_Speak(2,'hawkgirl_gun',"It's a Thanagarian!", force=0)
CUTSCENE: playing ff.CS_Animate(2,'hawkgirl_gun','ranged')
CUTSCENE: playing ff.CS_Speak(2,'andar_pul',"Hmm...we're getting bizarre readings...this man's body chemistry has been altered in some incredibly strange ways.", force=0)
CUTSCENE: playing ff.CS_Speak(2,'hawkman_gun','Where could they have gotten this kind of technology?', force=0)
CUTSCENE: playing ff.CS_Speak(2,'andar_pul',"Well...we've detected traces of the genetic signature of Talon Labs.", force=0)
CUTSCENE: playing ff.CS_Speak(2,'hawkman_gun',"We'd better get over there and ask some questions. They haven't reported any break-ins in the last few days, have they?", force=0)
CUTSCENE: playing ff.CS_Speak(2,'andar_pul','Not a thing, and their security rating is pretty high, but something is going on.', force=0)
CUTSCENE: playing ff.CS_Speak(2,'hawkgirl_gun',"This fool and his friends proves that much. Come on Katar, let's pay Talon Labs a visit.", force=0)
CUTSCENE: playing ff.CS_End(2)
[/spoiler]

M25

I'm sure you've done this, but I have to eliminate the obvious...

Make sure your map for the mission is in the mission directory, along with the mission.py and mission.txt files.



BentonGrey

No worries, I'm so absent minded that you're taking a very sensible precaution.  :P  Unfortunately (fortunately?) that is not the problem.  Both the mission file and the text itself are both in the folders.  I just realized that they didn't have an extra line at the bottom of the page, but after I fixed that I am still getting crashes. 

M25

Are they crashing before or after you select you heroes for the mission?

Some causes of crashing that I know of...

1. You cannot recruit characters from .hero files via EZ script.  The game doesn't like it and will crash when trying to start a mission.  The player can recruit them via the base screen, but mod developers can't.

2.  You need to have the hero_1, hero_2, hero_3, hero_4 markers on the mission map so that the game can place the heroes that you select.





BentonGrey

Hmm.....interesting.  So, it isn't the recruiting thing, as I haven't tried to recruit any characters.  Both maps WERE missing their hero_1-4 markers, but I added them, and I am still getting the same crash.  It happens JUST as the briefing cutscene finishes playing, before anything else starts to load.  The last line of dialog is spoken, and then a CTD. 

M25

Maybe not having anyone recruited is causing the problem.  Try adding a Campaign Recruit encounter to the end of the previous mission.


Has the board software changed?  I'm having a tough time posting these days.

BentonGrey

Hmm....I've tested the JLA campaign with no recruiting and I haven't encountered this problem.  I'll modify that and check it though.

I haven't noticed any changes in the board's software.  I wonder what is giving you problems?

Epimethee

Quote from: M25 on November 17, 2008, 08:49:04 AM
Has the board software changed?  I'm having a tough time posting these days.
At least for me, it has been fine. A network problem, maybe?

GogglesPizanno

Quote from: Epimethee on November 17, 2008, 06:38:10 PM
Quote from: M25 on November 17, 2008, 08:49:04 AM
Has the board software changed?  I'm having a tough time posting these days.
At least for me, it has been fine. A network problem, maybe?

I have noticed on my desktop machine that with the latest update to my firewall software it stopped letting me actually post.

I think I just added an exception rule and now it lets me, or maybe I disabled it and just am using my routers firewall... I actually don't remember anymore (givin the laptop way more love these days). In any case for me the problems were firewall related.

M25

Re: difficulties posting - It looks like the culprit is the engine behind the Safari and Chrome browsers not playing nice with the board.

BentonGrey,
Does it crash when you have a simple briefing (point the camera at someone and end)?
Is there anything in the ff.log or ff.err files?

If you haven't already, make sure you are using the ezscriptcampaignv1.1 from the ezscript.wikispaces.com

BentonGrey

Okay, sorry for the delay but a rather severe sickness combined with leaving town for Thanksgiving have prevented me from getting back to this.  I have pulled everything out of the briefing except the camera direction and still received the exact same crash after the camera focuses, thus after the briefing has played.  I didn't notice anything unusual in either of those files, and the campaign files are up to date.  Here are the FF and Log files just in case:

[spoiler]00:00:00.60: FF: --------------------------------------------------------------------------------
00:00:00.60: FF: Starting FFVTTR
00:00:00.60: FF: Build: SHIP, Version: 1.73396
00:00:00.60: FF: --------------------------------------------------------------------------------
00:00:00.63: FF: CInterpreter::init() completed
00:00:00.63: FF: Py_GetPath(.\System;.\System\PythonLib;.\Data\Missions\Scripts;)
00:00:00.63: FF: Py_GetProgramFullPath(C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\ffvt3r.exe)
writing to file gamesessions.log
Startup Plugin 'a_recordsession' imported
Startup Plugin 'pypathpriority' imported
00:00:00.75: FF: CRender: creating DX9 renderer
00:00:00.75: FF: CRender: trying to render in 32 bits
00:00:00.81: FF: DepthStencil is D3DFMT_D24X8 (24 bit z buffer, no depth stencil
00:00:00.89: FF: CResourceTrackerTree: Generating index file Custom_Art_library_characters.dat
00:00:00.95: FF: CResourceTrackerTree: Generating index file Custom_Missions.dat
00:00:01.07: FF: CResourceTrackerTree: Generating index file Custom_Art_library_area_specific.dat
00:00:01.11: FF: Character: mm_neutral, power minute Patriot Counter does not exist
00:00:01.12: FF: Character: soldier, power Burst does not exist
00:00:01.12: FF: Character: alchemiss_neutral, power Arcane Bolt does not exist
00:00:01.13: FF: Character: man_bot_neutral, power manbot Jet Charge does not exist
00:00:01.13: FF: Character: man_bot_neutral, power manbot Remote Energy Field does not exist
00:00:02.12: FF: CInterpreter::init() completed
00:00:02.12: FF: Py_GetPath(.\System;.\System\PythonLib;.\Data\Missions\Scripts;C:\Documents and Settings\Owner\Local Settings\Application Data\Irrational Games\Freedom Force vs the 3rd Reich\temp;C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\DCUG\missions\scripts;)
00:00:02.12: FF: Py_GetProgramFullPath(C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\ffvt3r.exe)
Startup Plugin 'a_recordsession' imported
Startup Plugin 'pypathpriority' imported
00:00:15.53: FF: CSaveGameMgr::readGameType - no gametype found in save, using campaign
00:00:16.15: FF: CInterpreter::init() completed
00:00:16.15: FF: Py_GetPath(.\System;.\System\PythonLib;.\Data\Missions\Scripts;C:\Documents and Settings\Owner\Local Settings\Application Data\Irrational Games\Freedom Force vs the 3rd Reich\temp;C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\DCUG\missions\scripts;)
00:00:16.15: FF: Py_GetProgramFullPath(C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\ffvt3r.exe)
00:00:16.16: FF: CMission::init(02_hawkman_gg_b_factory, Missions\02_hawkman_gg_b_factory\base.dat)
00:00:16.25: FF: CMission::loadScript(Missions\02_hawkman_gg_b_factory\base.py)
00:00:17.62: FF: CRender: creating DX9 renderer
00:00:17.62: FF: CRender: trying to render in 32 bits
00:00:17.62: FF: destroying font resources
00:00:17.73: FF: Recreating font resources
00:00:17.73: FF: DepthStencil is D3DFMT_D24X8 (24 bit z buffer, no depth stencil
00:00:17.77: FF: initializing physics
00:00:18.07: FF: Terrain contains geometry under the root node.  It will not be chunked correctly for lighting.
00:00:18.43: FF: ERROR: CRpgSystem::patchRPGABitSet, thanagarian_soldier has unknown attribute thanagarian
00:00:18.94: FF: ERROR: CRpgSystem::patchRPGABitSet, thanagarian_soldier has unknown attribute thanagarian
00:00:18.95: FF: ERROR: CRpgSystem::patchRPGABitSet, thanagarian_soldier has unknown attribute thanagarian
00:00:18.95: FF: ERROR: CRpgSystem::patchRPGABitSet, thanagarian_soldier has unknown attribute thanagarian
00:00:19.14: FF: ERROR: CRpgSystem::patchRPGABitSet, andar_pul has unknown attribute thanagarian
00:00:19.70: FF: ERROR: CRpgSystem::patchRPGABitSet, thanagarian_soldier has unknown attribute thanagarian
00:00:19.71: FF: ERROR: CRpgSystem::patchRPGABitSet, thanagarian_soldier has unknown attribute thanagarian
00:00:19.71: FF: ERROR: CRpgSystem::patchRPGABitSet, thanagarian_soldier has unknown attribute thanagarian
00:00:19.72: FF: ERROR: CRpgSystem::patchRPGABitSet, hawkgirl_gun has unknown attribute thanagarian
00:00:20.07: FF: ERROR: CRpgSystem::patchRPGABitSet, hawkman_gun has unknown attribute thanagarian
00:00:20.49: FF: ERROR: CRpgSystem::patchRPGABitSet, thanagarian_soldier has unknown attribute thanagarian
00:00:20.49: FF: Warning:  Throwable object screens_base has negative mass
00:00:20.69: FF: Warning:  Throwable object screens_base has negative mass
00:00:22.54: FF: CPathNodeList::preprocess: 0 nodes
00:00:22.54: FF: CPathNodeList::preprocess: 0 nodes
00:00:22.67: FF: GEOMETRY COUNTER AT 7970
[/spoiler]

:EDITED to remove the errors relating to FFX attributes not being mapped or something.  Since it listed just about every attribute, I assume it wasn't pertinent. 

The campaignlog:

[spoiler]'prestigeTotal=299'
'added -1000:total=-701'
'prestigeTotal=108'
'added 200:total=308'
'added 240:total=548'
'added 240:total=788'
'added 180:total=968'
'added 120:total=1088'
'added 160:total=1248'
'added 240:total=1488'
'added 180:total=1668'
'added 180:total=1848'
'added 280:total=2128'
'added 280:total=2408'
'added -1000:total=1408'
'added 200:total=1608'
'added 180:total=1788'
'added 160:total=1948'
'added 180:total=2128'
'added 200:total=2328'
'added 180:total=2508'
'added 160:total=2668'
'added 120:total=2788'
'added 180:total=2968'
'added 241:total=3209'
'added 240:total=3449'
'added 180:total=3629'
'added 220:total=3849'
'added 180:total=4029'
'added 240:total=4269'
'added 180:total=4449'
'added 160:total=4609'
'added 120:total=4729'
'added 120:total=4849'
'added 180:total=5029'
'added 140:total=5169'
'added 140:total=5309'
'added 260:total=5569'
'added 280:total=5849'
'added 280:total=6129'
'added 350:total=6479'
'added -2000:total=4479'
'added 2000:total=6479'
'added 180:total=6659'
'added 280:total=6939'
'added 300:total=7239'
'added 200:total=7439'
'added 181:total=7620'
'added 362:total=7982'
'added 181:total=8163'
'added 200:total=8363'
'ffx_grenade_char:payback=2026'
'new recruit(ffx_grenade_char): cost=2026 total=-2026'
'new recruit(ffx_fawkes_char): cost=985 total=-3011'
'added 240:total=5592'
'added 160:total=5752'
'added 120:total=5872'
'added 160:total=6032'
'added 120:total=6152'
'added 240:total=6392'
'added 302:total=6694'
'added -1000:total=5694'
'added 1000:total=6694'
'added 300:total=6994'
'added 200:total=7194'
'added 300:total=7494'
'added 240:total=7734'
'added 300:total=8034'
'added 120:total=8154'
'added 250:total=8404'
'added 200:total=8604'
'added -1000:total=7604'
'added 120:total=7724'
'added 160:total=7884'
'added 120:total=8004'
'added 200:total=8204'
'added 240:total=8444'
'added 360:total=8804'
'added 180:total=8984'
'added 240:total=9224'
'added 200:total=9424'
'added 200:total=9624'
'added 240:total=9864'
'added 120:total=9984'
'added -2000:total=7984'
'added 300:total=8284'
'added 300:total=8584'
'added 240:total=8824'
'added 240:total=9064'
'added 240:total=9304'
'added 181:total=9485'
'added 302:total=9787'
'prestigeTotal=59'
'added 160:total=219'
'added 240:total=459'
'added 180:total=639'
'added 180:total=819'
'added 180:total=999'
'added 180:total=1179'
'added 280:total=1459'
'added 210:total=1669'
'added 140:total=1809'
'added 210:total=2019'
'added 210:total=2229'
'added 2000:total=4229'
'added 280:total=4509'
'added 160:total=4669'
'added 180:total=4849'
'added 240:total=5089'
'added 160:total=5249'
'added 240:total=5489'
'added -1000:total=4489'
'added -1000:total=3489'
'added 200:total=3689'
'added 280:total=3969'
'added 180:total=4149'
'added 180:total=4329'
'added 280:total=4609'
'added 240:total=4849'
'added 120:total=4969'
'added 180:total=5149'
'added 200:total=5349'
'added 180:total=5529'
'added 180:total=5709'
'added 240:total=5949'
'added 300:total=6249'
'added 300:total=6549'
'added 180:total=6729'
'added 200:total=6929'
'added 240:total=7169'
'added 180:total=7349'
'added 240:total=7589'
'added 240:total=7829'
'added 180:total=8009'
'added 160:total=8169'
'added 240:total=8409'
'added 120:total=8529'
'added 120:total=8649'
'added 302:total=8951'
'added 240:total=9191'
'added 302:total=9493'
'new recruit(ffx_grenade_char): cost=2026 total=-942'
'new recruit(ffx_zapgun_char): cost=3665 total=-4607'
'added 200:total=4002'
'added 200:total=4202'
'ffx_grenade_char:payback=2026'
'ffx_zapgun_char:payback=3665'
'added 300:total=4502'
'added 1000:total=5502'
'added 360:total=5862'
'added 200:total=6062'
'added 250:total=6312'
'added 120:total=6432'
'added 120:total=6552'
'added 180:total=6732'
'added 300:total=7032'
'added 180:total=7212'
'added 300:total=7512'
'added 160:total=7672'
'added -1000:total=6672'
'added -1000:total=5672'
'added 240:total=5912'
'added 160:total=6072'
'added 240:total=6312'
'added 120:total=6432'
'added 240:total=6672'
'added 160:total=6832'
'added 240:total=7072'
'added 160:total=7232'
'added 240:total=7472'
'added 200:total=7672'
'added 120:total=7792'
'added 120:total=7912'
'added 180:total=8092'
'added 120:total=8212'
'added 240:total=8452'
'added 200:total=8652'
'added 360:total=9012'
'added -2000:total=7012'
'added 320:total=7332'
'added 362:total=7694'
'added 200:total=7894'
'added 180:total=8074'
'added 70:total=8144'
'added 260:total=8404'
'added 260:total=8664'
'added 200:total=8864'
'added 210:total=9074'
'added 240:total=9314'
'added 360:total=9674'
'added 210:total=9884'
'added 160:total=10044'
'added 286:total=10330'
'added -2000:total=8330'
'added 214:total=8544'
'added 360:total=8904'
'added 300:total=9204'
'added 240:total=9444'
'added 260:total=9704'
'added 300:total=10004'
'added -2000:total=8004'
'added 402:total=8406'
'added 210:total=8616'
'added 180:total=8796'
'added 260:total=9056'
'added 120:total=9176'
'added 160:total=9336'
'added 181:total=9517'
'added 200:total=9717'
'added 160:total=9877'
'added 160:total=10037'
'added 362:total=10399'
'added 160:total=10559'
'added 200:total=10759'
'added 260:total=11019'
'added 210:total=11229'
'added 120:total=11349'
'added 181:total=11530'
'added 200:total=11730'
'added -2000:total=9730'
'added 302:total=10032'
'added 120:total=10152'
'added 240:total=10392'
'added 461:total=10853'
'ffx_zapgun_char:payback=3665'[/spoiler]

M25

It might be the campaign.dat file.  You can try overwriting the campain.dat file with a 'clean' version from the game's data directory or from ffx3 and then re-add your missions.   I find that leaving the existing campaign mission entries alone and simply adding new missions to the top of the list can fix strange crashes.

BentonGrey

Its working, its working!  Hurrah!  Ha, thanks M, you'll never guess what the problem was.  You know how, in the campaign tab you have to select a team max for the different missions?  So...that defaults to zero....which apparently causes a crash to desktop when the mission tries to load....yep, another shinning moment for Grey.  Ha, anyway, it seems to be working fine now!

M25

I'm just glad you figured it out!  Crashes to desktop with no error messages are truly frustrating.

At any rate, I didn't know about that one.  I'll have to make a note for future reference.

BentonGrey

Ha, yeah, stuff like that must be a bear to diagnose.  Those simple things that you just don't really think about...well, they're my forte. ;)

BentonGrey

Howdy guys, everything is still working well (which is awesome), but I was hoping that y'all could offer me some advice.  I'm working on the final mission of MiS, and I'm trying to make it interesting.  What I have in mind is that the villains spaceship is going to escape, and you have to reach it and prevent their escape.  The villains have place several turrets, having roving patrols, and tons of guards.  There is a time limit (at the moment I'm using a Disarm Bomb encounter), and what I'd LIKE to happen, is for the turrets+guards be too much for the heroes to handle, so you need to go find the power source for the guns.  Once you do, you blow it up.  You should ALSO have the option of finding the portable generator that is powering the ship up, and smashing it to give you extra time.  I'd like for one of these things to also be able to draw off some of the guards from the ship (maybe smashing the generator), but I'm not entirely sure how to do all of this.  Now, the turrets are done easily enough with a switchable power trap, but I'd LIKE to have them all work on the same switch, which I don't believe is possible.  It's minor enough that I'm not terribly worried about it.  I have NO idea how to make a timer reset, or gain more time though, nor how to trigger enemies moving from one location to another.

:EDIT: Okay, I think I've figured my way through it, but I will have to test to be sure.

:EDIT2: I still can't figure out how to modify the timer....soooo....yeah.

BentonGrey

Well, I think I'm going to give up on the idea of trying to reset the timer.  It just seems too complex, and I don't want to mess with it anymore.  Anyway, on an unrelated note, I am getting strange CTDs with missions involving talking heads.  The first Hawkman mission is doing this after I set it up to work with talking heads, but so is the On Patrol example mission when I use my DC built-ins.  All character involved have the default head.nif, but for some reason, some of them are crashing the game, while others are not.  I was trying to let off some steam by taking the Aqua-family into the RR, and several enemy encounters played fine (Black Manta, The Shark, The Scavenger, and Jaffar), but one of the other members of the Deep Six (I believe it is Gole, from the script.log) crashed the game when he got into cutscene range.  The Hawkman mission behaved similarly, crashing as soon as a CS was to play.  Here is the script.log from the RR session.  I can't find any error notices, but something is obviously going wrong:

[spoiler]>>> system/init.py executed
>>> system/localinit.py executed
>>> system\tredir.py executed
Starting ffx.py v. 3.2.0 build 11; branch = Gold / Release
Loading m25ai.py v. 3.2.0 build 10; branch = beta 2: m25 branch 2
importing missionobjvar.py v1.18
loading datfiles version 0.251000
importing MLOG Reader 1.0.18 release
Starting General Utilities 1.0
missionobjvar(FixLongs): Fixing overflow issue with <SCSTATE_BUOYANT>
missionobjvar defining functions for Campaign play.
CustomHeadCurrentTime 1228972121.812000
Starting Height Check module 1.4
Starting System Utilities 1.4
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
*SNIP*
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=67
storing hero_0: id_1,-67
numberStr=68
storing hero_1: id_2,-68
numberStr=69
storing hero_2: id_3,-69
numberStr=70
storing hero_3: id_4,-70
MISSION: On Post Init... complete; starting story.
AI: SetupAI() - setting ai for hero_0 ('aquaman_classic')
GROUP: 'team1' set to []
GROUP: 'hero_0' added to group 'team1'
GROUP: 'team1' set to ['hero_0']
*SNIP*
AI: AISetRunning hero_0 to 0
AI: AISetRunning hero_1 to 0
AI: AISetRunning hero_3 to 0
AI: AISetRunning hero_2 to 0
clearCarrierRegistration: clearing attribute 'hextomentaldamagem25obj_8' for destroyed object 'mapinfocaliper0'
clearCarrierRegistration: clearing attribute 'hextomentaldamagem25obj_8' for destroyed object 'mapinfocaliper1'
clearCarrierRegistration: clearing attribute 'hextomentaldamagem25obj_8' for destroyed object 'mapinfocaliper2'
clearCarrierRegistration: clearing attribute 'hextomentaldamagem25obj_8' for destroyed object 'mapinfocaliper3'
AI: AISetRunning m25obj_2 to 0
AI: AISetRunning m25obj_4 to 0
initAttribsForChar: working on civilian_male_1 (civilian_male)
initAttribsForChar: working on hero_0 (aquaman_classic)
initAttribsForChar (aquaman_classic): looking at attribute atlantian
execInitAttrib: init disciplined attribute inside ['atlantian', 'disciplined', 'heavylifter', 'superleaper', 'fasthealing', 'grimresolve', 'levelheaded'] combo
   on hero_0 of template custom_template_67 (aquaman_classic)
execInitAttrib: init heavylifter attribute inside ['atlantian', 'disciplined', 'heavylifter', 'superleaper', 'fasthealing', 'grimresolve', 'levelheaded'] combo
   on hero_0 of template custom_template_67 (aquaman_classic)
execInitAttrib: init superleaper attribute inside ['atlantian', 'disciplined', 'heavylifter', 'superleaper', 'fasthealing', 'grimresolve', 'levelheaded'] combo
   on hero_0 of template custom_template_67 (aquaman_classic)
execInitAttrib: init fasthealing attribute inside ['atlantian', 'disciplined', 'heavylifter', 'superleaper', 'fasthealing', 'grimresolve', 'levelheaded'] combo
   on hero_0 of template custom_template_67 (aquaman_classic)
execInitAttrib: init grimresolve attribute inside ['atlantian', 'disciplined', 'heavylifter', 'superleaper', 'fasthealing', 'grimresolve', 'levelheaded'] combo
   on hero_0 of template custom_template_67 (aquaman_classic)
execInitAttrib: init levelheaded attribute inside ['atlantian', 'disciplined', 'heavylifter', 'superleaper', 'fasthealing', 'grimresolve', 'levelheaded'] combo
   on hero_0 of template custom_template_67 (aquaman_classic)
initAttribsForChar (aquaman_classic): looking at attribute jumper
initAttribsForChar (aquaman_classic): looking at attribute hirsute
initAttribsForChar (aquaman_classic): looking at attribute danger sense
initAttribsForChar (aquaman_classic): looking at attribute solid skeleton
initAttribsForChar: working on hero_1 (aqualad)
initAttribsForChar (aqualad): looking at attribute jumper
initAttribsForChar (aqualad): looking at attribute atlantian
execInitAttrib: init disciplined attribute inside ['atlantian', 'disciplined', 'heavylifter', 'superleaper', 'fasthealing', 'grimresolve', 'levelheaded'] combo
   on hero_1 of template custom_template_68 (aqualad)
execInitAttrib: init heavylifter attribute inside ['atlantian', 'disciplined', 'heavylifter', 'superleaper', 'fasthealing', 'grimresolve', 'levelheaded'] combo
   on hero_1 of template custom_template_68 (aqualad)
execInitAttrib: init superleaper attribute inside ['atlantian', 'disciplined', 'heavylifter', 'superleaper', 'fasthealing', 'grimresolve', 'levelheaded'] combo
   on hero_1 of template custom_template_68 (aqualad)
execInitAttrib: init fasthealing attribute inside ['atlantian', 'disciplined', 'heavylifter', 'superleaper', 'fasthealing', 'grimresolve', 'levelheaded'] combo
   on hero_1 of template custom_template_68 (aqualad)
execInitAttrib: init grimresolve attribute inside ['atlantian', 'disciplined', 'heavylifter', 'superleaper', 'fasthealing', 'grimresolve', 'levelheaded'] combo
   on hero_1 of template custom_template_68 (aqualad)
execInitAttrib: init levelheaded attribute inside ['atlantian', 'disciplined', 'heavylifter', 'superleaper', 'fasthealing', 'grimresolve', 'levelheaded'] combo
   on hero_1 of template custom_template_68 (aqualad)
initAttribsForChar (aqualad): looking at attribute hirsute
initAttribsForChar (aqualad): looking at attribute danger sense
initAttribsForChar (aqualad): looking at attribute solid skeleton
initAttribsForChar: working on civilian_female_2 (civilian_female)
initAttribsForChar: working on civilian_female_4 (civilian_female)
initAttribsForChar: working on civilian_male_2 (civilian_male)
initAttribsForChar: working on civilian_female_1 (civilian_female)
initAttribsForChar: working on civilian_female_3 (civilian_female)
initAttribsForChar: working on civilian_male_3 (civilian_male)
initAttribsForChar: working on civilian_male_4 (civilian_male)
initAttribsForChar: working on hero_3 (mera)
initAttribsForChar (mera): looking at attribute hirsute
initAttribsForChar (mera): looking at attribute solid skeleton
initAttribsForChar (mera): looking at attribute atlantian
execInitAttrib: init disciplined attribute inside ['atlantian', 'disciplined', 'heavylifter', 'superleaper', 'fasthealing', 'grimresolve', 'levelheaded'] combo
   on hero_3 of template custom_template_70 (mera)
execInitAttrib: init heavylifter attribute inside ['atlantian', 'disciplined', 'heavylifter', 'superleaper', 'fasthealing', 'grimresolve', 'levelheaded'] combo
   on hero_3 of template custom_template_70 (mera)
execInitAttrib: init superleaper attribute inside ['atlantian', 'disciplined', 'heavylifter', 'superleaper', 'fasthealing', 'grimresolve', 'levelheaded'] combo
   on hero_3 of template custom_template_70 (mera)
execInitAttrib: init fasthealing attribute inside ['atlantian', 'disciplined', 'heavylifter', 'superleaper', 'fasthealing', 'grimresolve', 'levelheaded'] combo
   on hero_3 of template custom_template_70 (mera)
execInitAttrib: init grimresolve attribute inside ['atlantian', 'disciplined', 'heavylifter', 'superleaper', 'fasthealing', 'grimresolve', 'levelheaded'] combo
   on hero_3 of template custom_template_70 (mera)
execInitAttrib: init levelheaded attribute inside ['atlantian', 'disciplined', 'heavylifter', 'superleaper', 'fasthealing', 'grimresolve', 'levelheaded'] combo
   on hero_3 of template custom_template_70 (mera)
initAttribsForChar (mera): looking at attribute guardianp
execInitAttrib: init guardianp attribute
   on hero_3 of template custom_template_70 (mera)
initAttribsForChar (mera): looking at attribute summoner4
execInitAttrib: init summoner4 attribute
   on hero_3 of template custom_template_70 (mera)
initAttribsForChar: working on hero_2 (aquagirl)
initAttribsForChar (aquagirl): looking at attribute hirsute
initAttribsForChar (aquagirl): looking at attribute danger sense
initAttribsForChar (aquagirl): looking at attribute solid skeleton
initAttribsForChar (aquagirl): looking at attribute jumper
initAttribsForChar (aquagirl): looking at attribute atlantian
execInitAttrib: init disciplined attribute inside ['atlantian', 'disciplined', 'heavylifter', 'superleaper', 'fasthealing', 'grimresolve', 'levelheaded'] combo
   on hero_2 of template custom_template_69 (aquagirl)
execInitAttrib: init heavylifter attribute inside ['atlantian', 'disciplined', 'heavylifter', 'superleaper', 'fasthealing', 'grimresolve', 'levelheaded'] combo
   on hero_2 of template custom_template_69 (aquagirl)
execInitAttrib: init superleaper attribute inside ['atlantian', 'disciplined', 'heavylifter', 'superleaper', 'fasthealing', 'grimresolve', 'levelheaded'] combo
   on hero_2 of template custom_template_69 (aquagirl)
execInitAttrib: init fasthealing attribute inside ['atlantian', 'disciplined', 'heavylifter', 'superleaper', 'fasthealing', 'grimresolve', 'levelheaded'] combo
   on hero_2 of template custom_template_69 (aquagirl)
execInitAttrib: init grimresolve attribute inside ['atlantian', 'disciplined', 'heavylifter', 'superleaper', 'fasthealing', 'grimresolve', 'levelheaded'] combo
   on hero_2 of template custom_template_69 (aquagirl)
execInitAttrib: init levelheaded attribute inside ['atlantian', 'disciplined', 'heavylifter', 'superleaper', 'fasthealing', 'grimresolve', 'levelheaded'] combo
   on hero_2 of template custom_template_69 (aquagirl)
*SNIP*
---combos found
[]
-----------------
mobjdummy_2
['flier', 'ephemeral']
-----------------
mobjdummy_2
[]
AI: SetupAI() - setting ai for mobjdummy_2 ('water_minion')
GOAL: Adding goal Goal_HuntEnemy(1009,20) to character mobjdummy_2
plasmatic: obj=mobjdummy_2 char=hero_3 cost=9
initAttribsForChar: working on mobjdummy_2 (water_minion)
initAttribsForChar (water_minion): looking at attribute flier
initAttribsForChar (water_minion): looking at attribute ephemeral
execInitAttrib: init ephemeral attribute
   on mobjdummy_2 of template water_minion (water_minion)
ENCOUNTER: PlayEncCutscene(): 'enroutebantercs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... []
AI: m25obj_6:'jaffar' power effect_m25ai_powerup using remedy
AI: Had to recover AI for m25obj_8
AI: m25obj_8 overpowers his/her/its attack!
AI: m25obj_8:'the_shark' shark attack attack on 'hero_2'
AI: m25obj_8:'the_shark' shark feeding frenzy attack on 'hero_0'
AI: m25obj_6:'jaffar' jaffar combo attack on 'hero_1'
ENCOUNTER: PlayEncCutscene(): 'bantercs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... []
AI: m25obj_6:'jaffar' jaffar punch attack on 'hero_1'
AI: m25obj_8 overpowers his/her/its attack!
AI: m25obj_8:'the_shark' shark feeding frenzy attack on 'hero_2'
hero_2 resisted the primary state attack!
ENCOUNTER: PlayEncCutscene(): 'bantercs' : None
ENCOUNTER: PlayCutsceneFromList(): None : None ... []
AI: m25obj_8:'the_shark' shark attack attack on 'hero_2'
AI: m25obj_6 overpowers his/her/its attack!
AI: m25obj_6:'jaffar' jaffar combo attack on 'hero_1'
AI: m25obj_8:'the_shark' shark feeding frenzy attack on 'mobjdummy_2'
AI: m25obj_8: ('the_shark') random move on inability to act.
AI: m25obj_8:'the_shark' shark feeding frenzy attack on 'hero_2'
Traceback (innermost last):
 File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\DCUG\missions\scripts\skXMapInfo.py", line 685, in MapInfo_CheckObjects2
   Object_UpdateGridPos (ms)
 File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\DCUG\missions\scripts\skXMapInfo.py", line 565, in Object_UpdateGridPos
   if ts not in ff.MapInfo [maGrid
  • ] [maGrid [1]]:
    KeyError: -5
    AI: mobjdummy_2:'water_minion' hunting 'm25obj_8'
    AI: m25obj_6:'jaffar' jaffar punch attack on 'hero_1'
    AI: mobjdummy_2:'water_minion' hunting 'm25obj_8'
    creationDestroy
    hero_3
    3.0
    *SNIP*
    ENCOUNTER: Setting up encounter 5
    ENCOUNTER: Start marker found for ['encounter'] 'encounter8'
    GROUP: '5_minion' set to []
    GROUP: '5_minion' set to []
    RANDOMENC:  Random user enemy selected custom_vil_2
    m25obj_12 custom_vil_2 encounter8_villain1
    AI: SetupAI() - setting ai for m25obj_12 ('gole')
    GROUP: 'm25obj_12' added to group '5_minion'
    GROUP: '5_minion' set to ['m25obj_12']
    GROUP: '5_ally' set to []
    GROUP: '5_ally' set to []
    GROUP: '5_object' set to []
    GROUP: '5_object' set to []
    GROUP: '5_cohort' set to []
    GROUP: '5_cohort' set to []
    GROUP: '5_cohort' set to []
    ENCOUNTER: Encounter spawn complete for 5
    ENCOUNTER: Encounter cutscenes complete for 5
    ENCOUNTER: Encounter goals complete for 5
    ENCOUNTER: Encounter objectives complete for 5
    ENCOUNTER: Encounter parameters complete for 5
    ENCOUNTER: Encounter post function 'EncCustom_VillainsStartImmediately_Setup'
    GROUP: 'm25obj_12' automatically promoted to leader of group '5_minion'
    GROUP: 'm25obj_12' made leader of group '5_minion'
    GROUP: '5_minion' set to guard 'm25obj_12'
    GOAL: Adding goal Goal_StayWithTeam(1010,20) to character m25obj_12
    GOAL: Adding goal Goal_MoveToHero(1011,20,200) to character m25obj_12
    GROUP: '5_minion' set to hunt heroes
    ENCOUNTER: Encounter post function 'EncCustom_MinionsStartImmediately_Setup'
    ENCOUNTER: Encounter post function 'EncStartOnEnterMarker_Setup'
    ENCOUNTER: Encounter post complete for 5
    ENCOUNTER: Saving encounter data for 5
    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_12arrow', 'm25obj_12', arrow_type=js.ARROW_YELLOW)
    CUTSCENE: calling PlayCurrentCutscene 7
    CUTSCENE: playing ff.CS_AddArrow(7,'m25obj_12arrow', 'm25obj_12', arrow_type=js.ARROW_YELLOW)
    addArrow m25obj_12arrow m25obj_12 1 1
    ENCOUNTER: Encounter setup complete for 5
    CUTSCENE: calling cutscene return function.
    CUTSCENE: no return function to call.
    initAttribsForChar: working on m25obj_12 (gole)
    initAttribsForChar (gole): looking at attribute jumper
    initAttribsForChar (gole): looking at attribute solid skeleton
    initAttribsForChar (gole): looking at attribute weak minded
    initAttribsForChar (gole): looking at attribute hirsute
    ENCOUNTER: PlayEncCutscene(): 'enroutebantercs' : None
    ENCOUNTER: PlayCutsceneFromList(): None : None ... []
    AI: m25obj_12:'gole' goal move to hero 'hero_1'
    ENCOUNTER: PlayEncCutscene(): 'enroutebantercs' : None
    ENCOUNTER: PlayCutsceneFromList(): None : None ... []
    AI: m25obj_12:'gole' goal move to hero 'hero_2'
    GROUP: 'm25obj_8' removed from group '3_minion'
    GROUP: '3_minion' set to []
    GROUP: empty '3_minion' cannot have a leader promoted
    clearCarrierRegistration: clearing attribute 'hextomentaldamagem25obj_8' for destroyed object 'm25obj_8'
    ENCOUNTER: Enc_CheckStart starting 5
    ENCOUNTER: PlayEncCutscene(): 'startcs' : 'Enc_StandardStartEnable(5)'
    ENCOUNTER: PlayCutsceneFromList(): ['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)']]] : 'Enc_StandardStartEnable(5)' ... []
    CUTSCENE: request to play cutscene.
    CUTSCENE:  - CS_Speak('m25obj_12','You will suffer my wrath.', force=0)
    CUTSCENE: calling PlayCurrentCutscene 8
    CUTSCENE: playing ff.CS_Speak(8,'m25obj_12','You will suffer my wrath.', force=0)
    [/spoiler]

M25

The talking head crashes don't give error messages, unfortunately. 

For the characters that are causing the problem, make sure each has an entry in the resources tab of FFEdit called animportrait_mycharactername that points to the portrait.  Make sure their names aren't too long, or the entry won't work correctly.  I think you get 15 characters or so.

Also make sure there are no  :ff: heads in the character's mesh directory.  That will crash the game as well.


Sorry I missed the question about the timer.  No, it can't be reset at this time.


|