• Welcome to Freedom Reborn Archive.
 

EZScript Comics

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

Previous topic - Next topic
|

BentonGrey

Thanks for the response M25.  I'm afraid that I've checked all of those things already.  Perhaps I changed something without realizing it, but I certainly can't figure it out.  I checked over the map, it's got everything it needs.  I also checked on the template and character entires, and they are all solid.  Ahh, well, maybe when this is released someone would be willing to give this a closer look.

BentonGrey

Also, can one of y'all give me an example of how the whole win/lose thing works?  Say I've got this encounter:

Encounter: Grab
Type: Snatch
Villains: thug_with_gun, thug_with_bat
Allies: civilian_female

How would I go about setting it up so that if they get away with the item, you lose the mission, but if you recover the item, you win?

Do you do something with the cutscene?

Item Lost Custscene:
Lose

Item Returned Cutscene:
Win

Or what?

lmalonsof

For more specific things as you want to do, I'd use actions instead of standard encounters. They give you more control.

Something like this:

-------------------------
Encounter: Benton's_snatch
Type: Custom
Actions: Villains Fight Heroes, Item Exists, Item is Invulnerable, Villains Start With Item, Heroes Pickup Item, Heroes Return Item To Allies, Villains Want Item, Villains Flee
Villains: thug_with_gun, thug_with_bat
Allies: civilian_female
Item: ger_crate
Next: If All escaped: End2
Next: If Item returned: Next_encounter
---------------------------

In this encounter, a pair of thugs are fleeing from a snatch. You must knock them out, pickup the item they'll drop and then return it to the civilian female. I don't know if it'll work as it's written here, but I think it may give you the idea. If they get away with the item, the next encounter will be End2. If you recover the item and you can give it to civilian_female, it'll go to another encounter.

You may also include 'Villains fight allies' if you want them to fight the civilian_female, but if you do so you must change the ending conditions because the ally could be ko and you couldn't return her the item.

P.S.: End2 should be a cutscene encounter with the heroes saying something like 'Oh, no! The mission is lost!' (or something more imaginative) with a 'Next: End'

M25

Quote from: BentonGrey on September 10, 2007, 09:03:14 PM
Also, can one of y'all give me an example of how the whole win/lose thing works?  Say I've got this encounter:

Encounter: Grab
Type: Snatch
Villains: thug_with_gun, thug_with_bat
Allies: civilian_female

How would I go about setting it up so that if they get away with the item, you lose the mission, but if you recover the item, you win?

Do you do something with the cutscene?

Item Lost Custscene:
Lose

Item Returned Cutscene:
Win

Or what?


You can choose to immediately win or lose a mission from the Next: section of the encounter.   Next: works on the end conditions (not the cutscenes), so you'd put them there.

For Snatch, it has three end conditions:  Item Lost, Item Recovered, and End.

If you want to lose the mission if the villains get away with the item, then use Item Lost

Next: If Item Lost: Lose

If you want to win the mission if the hero stops the villains, then use Item Recovered

Next: If Item Recovered: Win


If you want to win the mission no matter what happens, use End

Next: If End: Win


Of course, you can also use the more fine-grained actions as Imalonsof suggests, but you have to be careful to look up which end conditions are available based on which actions you use.



Also remember, that if EZscript reaches the end of your story file, it will automatically win the mission.

BentonGrey

Thanks guys, that's a big help.  I should be able to refine several of my stories now.

M25

I should also mention that you can, and should, have multiple Next: lines in the same encounter if you are using the If notation.


Encounter: One
Next: If Item Recovered: Win
Next: If Item Lost: Lose


or you could have:

Encounter: One
Next: If Item Recovered: Talk to the Police
Next: If Item Lost: Track Down the Villains

Encounter: Talk to the Police
...

Encounter: Track Down the Villains
...

BentonGrey

Thanks M25!  I can use all the help I can get ;)

I've been working on a work-in-progress Green Arrow mission, and the primary cutscene doesn't seem to want to play.  Here's the script as it stands:

[spoiler]# Heroes: Green Arrow and Black Canary
# Map: Green Arrow - StarCity Downtown

Story: garrow_vertigo

Starting Encounters: Vertigo, Mugging, Purse, Vandalism

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

Encounter: Vertigo
Type: Interrogation
Villains: count_vertigo, thug_with_gun, thug_with_grenade, thug_with_gun
Minions: thug_with_bat, thug_with_gun
Allies: civilian_male
Marker: jewel1
Next: End

Alert Cutscene:
Set Lighting to night
Camera on Hero1
Hero1 turns to Hero2
Hero1 moves to Hero2
Hero1 says, "Well, hello there beautiful, you going my way?"
Hero2 turns to Hero1
Hero2 says, "I don't know Robin Hood, what did you have in mind?!"
Hero1 says, "You know, the city can be lovely in the moonlight, I thought we'd take in the sights, thrash a few thugs, the sky is the limit!"
Hero2 plays animation pain
Hero2 says, "Well, some girls get wined and dined, I get an invitation to engage in vigilante justice.....aren't I lucky!"
Hero1 says, "You know it pretty bird."

Start Cutscene:
Camera on Villain1
Villain1 says, "Zhey are mine, zhey are my birthright, and I shall not be denied!"
Ally1 says, "Alright, alright, no need to get violent, take anything you want, just don't hurt me. I'm just a business man!"
Villain1 says, "I do not want zhese cheap baubles, I want what is mine, zhe Vertigo family jewels, your collection is nearly the end of my search!"
Ally1 says, "But those aren't even the best of my selection, why them?"
Villain1 says, "Does it really matter little man? Be glad I am leaving you with most of your precious little treasures."
Hero1 moves to Villain1
Hero1 says, "Whoa, what's going on here pal?"
Villain1 turns to Hero1
Villain1 says, "I have no time for fools in costumes, I shall have what is mine, and those who stand in my way will feel the terror...of Vertigo!"

Interrogation Cutscene:
Fade for 2 seconds
Hero1 moves to Villain1
Cinematic camera on Hero1 to Villain1
Unfade for 2 seconds
Hero1 turns to Villain1
Hero1 says, "Now, you finally want to tell me what this is all about?"
Villain1 says, "I am Count Werner Vertigo, zhe rightful ruler of Vlatava...My family was forced from zheir lands by ze Soviets vhen zhey invaded..."
Villain1 says, "To escape zhe Communists, zhey had no choice but to sell zhe family jewels. I have spent zhe last two years of my life tracing zhem all across zhe globe, and now zhat I have found zhem, zhe plebians who own zhis 'museum' refuse to surrender zhem to me."
Hero1 plays animation pain
Hero1 says, "So you decided to destroy the building? Look pal, you may not agree with these guys, but you can't go around knocking buildings down in my town!"
Villain1 says, "I am sorry, I don't know vhat came over me....how can I make zhis up to you?  Perhaps if...."
Play Effect effect_ffx_telepathy at Villain1
Fade for 3 seconds

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

Encounter: Mugging
Type: Save Civilian
Villains: thug_with_gun, thug_with_bat, thug_with_gun
Allies: civilian_male, civilian_female
Minions: thug_with_bat

Start Cutscene:
Camera on Villain1
Villain1 turns to Ally1
Villain1 says, "Alright, hand over everything ya' got, and you better not hold 'nothing back!"
Ally1 turns to Villain1
Ally1 says, "W-whatever you say mister, just don't hurt us, alright?"
Ally2 turns to Ally1
Ally2 says, "Jeffery, aren't you going to do something!?"
Ally1 turns to Ally2
Ally1 says, "Yes Gladice, there are several men with guns here, and I'm going to 'do' exactly what they say..."
Villain1 says, "Heh, you gots you a smart man there baby doll."
Camera on Hero1
Hero1 says, "Hello boys, nice night for a concussion, don't you think? How about you boys put down your pop guns and no one will have to go nighty-night just yet?"
Camera on Villain1
Villain1 turns to Hero1
Villain1 says, "Or what, Errol Flynn, you'll call in Little John and the Merry Men?"
Camera on Hero2
Hero2 turns to Villain1
Hero2 says, "Ohh, you really shouldn't do the Robin Hood jokes, they just amke him mad..."

Ally Thanks Hero Cutscene:
Cinematic camera on Hero1 to Ally1
Hero1 turns to Ally1
Ally1 turns to Hero1
Ally1 says, "Thank you sir, I am in your debt."
Ally2 moves to Ally1
Ally2 says, "Don't be a cheapskate Jeffery, give the man a nice tip."
Camera on Hero2
Hero2 says, "Tip?"
Camera on Hero1
Hero1 says, "That's uh...that's not really necessary folks, this isn't that kind of service...just try and be  more careful in the future!"

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

Encounter: Purse
Type: Flee the Scene
Villains: thug_with_gun
Allies: civilian_female

Start Cutscene:
Camera on Villain1
Villain1 turns to Ally1
Ally1 turns to Villain1
Villain1 says, "Gimme' the bag lady!"
Villain1 plays animation melee
Ally1 plays animation pain
Ally1 says, "Help, my purse!"

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

Encounter: Vandalism
Type: Building Rampage
Villains: thug_with_bombs, thug_with_bombs, thug_with_bombs, thug_with_bombs, thug_with_gun
Minions: thug_with_gun
Marker: build1

Start Cutscene:
Camera on Villain1
Villain1 says, "Well, well, well, it looks like Luigi didn't pay up for this month boys."
Villain2 says, "Yeah Johnny, it looks like we're gonna' hafta' give him a little motivation..."
Villain1 says, "Burn it down boys!"
Hero1 says, "Geez, these guys don't mess around, we'd better take them out fast, before they reduce this block to ash!"
[/spoiler]

As near as I can tell, the other encounters are starting, so it seems that the problem is with the first one. 

Here is the script.log:

[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 1189629572.078000
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
FFX Mission Plugin 'firehydrant' imported
FFX Mission Plugin 'zombie' imported
Loading freeroam_keepbuildingdamage.py v.1.0.0 build 0; branch = main
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_OPENDOOR.py v.1.0.0 build 0; branch = main
FFX Mission Plugin 'm25enc_opendoor' imported
Loading     m25enc_simplechoice.py v.1.0.0 build 0; branch = main
FFX Mission Plugin 'm25enc_simplechoice' 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\MiniMod garrow_vertigo.py executed
>>> C:\Documents and Settings\Owner\Local Settings\Application Data\Irrational Games\Freedom Force vs the 3rd Reich\temp\danger.py executed
! GetMapInfo
>>> C:\Documents and Settings\Owner\Local Settings\Application Data\Irrational Games\Freedom Force vs the 3rd Reich\temp\MiniMod garrow_vertigo.py executed
MLOG_Init(keepRunningModules=0): starting up
mlogreader.MLOG_Init: current mission = 'COPY OF 04_CATANDCARDS'
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
ff.DoEncCustom(3,villains = ['thug_with_bombs', 'thug_with_bombs', 'thug_with_bombs', 'thug_with_bombs', 'thug_with_gun'], minions = ['thug_with_gun'], cutscenes = [['startcs', [['priority', 1], ['replace', ['villain1', 'villain'], ['villain2', 'villain'], ['hero1', 'hero']], ['cutscene', 'CS_Start()', "CS_Camera('villain1', dist=-160, yaw=0)", 'CS_Speak(\'villain1\', "Well, well, well, it looks like Luigi didn\'t pay up for this month boys.", force=0)', 'CS_Speak(\'villain2\', "Yeah Johnny, it looks like we\'re gonna\' hafta\' give him a little motivation...", force=0)', "CS_Speak('villain1', 'Burn it down boys!', force=0)", 'CS_Speak(\'hero1\', "Geez, these guys don\'t mess around, we\'d better take them out fast, before they reduce this block to ash!", force=0)', 'CS_End()']]]], marker = 'build1', actions="villains fight heroes, villains and minions attack buildings",return_function="StorylineEncounterReturn")
Traceback (innermost last):
  File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\ffx3\missions\scripts\m25minimod.py", line 137, in OnPostInit
    m25story.DoStoryline()
  File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\ffx3\missions\scripts\m25story.py", line 244, in DoStoryline
    DoStorylineState(story,enc)
  File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\ffx3\missions\scripts\m25story.py", line 293, in DoStorylineState
    if not StorySetupEncounter(enc_id,story,state,a):
  File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\ffx3\missions\scripts\m25story.py", line 383, 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\.\ffx3\missions\scripts\m25enc.py", line 4193, in DoEncCustom
    return SetupEncounter(enc_id, encounter)
  File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\ffx3\missions\scripts\m25enc.py", line 1342, in SetupEncounter
    if not SetupEnc_Spawn(enc_id, start_num, encounter): return 0
  File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\ffx3\missions\scripts\m25enc.py", line 1408, in SetupEnc_Spawn
    EncSpawnGroup(enc_id,start_num +'_'+ s[1] ,s[2],s[0],s[3],marker_type=s[4],create_markers=s[5])
  File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\ffx3\missions\scripts\m25enc.py", line 388, in EncSpawnGroup
    Enc_SetCharEnc(s,enc_id) #make sure we are able to find out which encounter this is a part of
  File "C:\Program Files\Irrational Games\Freedom Force vs The 3rd Reich\.\ffx3\missions\scripts\m25enc.py", line 655, in Enc_SetCharEnc
    js.Object_SetAttr(char, '_enc_id', enc_id)
SystemError: NULL result without error in call_object
initialising FFQ_initialiseExtras()
FFX_UpdateSun: getting default sun
FFX_UpdateSun: setting = (-140.0, 70.0, 1.0, 0.800000011921, (0.699999988079, 0.600000023842, 0.600000023842))
initAttribsForChar: working on hero_0 (green_arrow)
initAttribsForChar (green_arrow): looking at attribute crack shot
initAttribsForChar (green_arrow): looking at attribute grim resolve
initAttribsForChar (green_arrow): looking at attribute hot tempered
initAttribsForChar (green_arrow): looking at attribute acrobatic
execInitAttrib: init acrobatic attribute
    on hero_0 of template custom_template_93 (green_arrow)
initAttribsForChar (green_arrow): looking at attribute battery
execInitAttrib: init battery attribute
    on hero_0 of template custom_template_93 (green_arrow)
initAttribsForChar: working on hero_1 (black_canary)
initAttribsForChar (black_canary): looking at attribute acrobatic
execInitAttrib: init acrobatic attribute
    on hero_1 of template custom_template_94 (black_canary)
initAttribsForChar (black_canary): looking at attribute beautiful
initAttribsForChar (black_canary): looking at attribute nimble
initAttribsForChar (black_canary): looking at attribute disciplined
initAttribsForChar: working on m25obj_2 (thug_with_gun)
initAttribsForChar (thug_with_gun): looking at attribute timid
initAttribsForChar (thug_with_gun): looking at attribute weak minded
initAttribsForChar: working on m25obj_6 (thug_with_bat)
initAttribsForChar (thug_with_bat): looking at attribute timid
initAttribsForChar (thug_with_bat): looking at attribute weak minded
initAttribsForChar: working on m25obj_8 (thug_with_bat)
initAttribsForChar (thug_with_bat): looking at attribute timid
initAttribsForChar (thug_with_bat): looking at attribute weak minded
initAttribsForChar: working on m25obj_14 (thug_with_gun)
initAttribsForChar (thug_with_gun): looking at attribute timid
initAttribsForChar (thug_with_gun): looking at attribute weak minded
initAttribsForChar: working on m25obj_4 (iris_west)
initAttribsForChar: working on m25obj_10 (thug_with_bat)
initAttribsForChar (thug_with_bat): looking at attribute timid
initAttribsForChar (thug_with_bat): looking at attribute weak minded
initAttribsForChar: working on m25obj_16 (thug_with_bat)
initAttribsForChar (thug_with_bat): looking at attribute timid
initAttribsForChar (thug_with_bat): looking at attribute weak minded
initAttribsForChar: working on m25obj_20 (astronaut)
initAttribsForChar: working on m25obj_22 (iris_west)
initAttribsForChar: working on m25obj_12 (thug_with_bat)
initAttribsForChar (thug_with_bat): looking at attribute timid
initAttribsForChar (thug_with_bat): looking at attribute weak minded
initAttribsForChar: working on m25obj_18 (thug_with_gun)
initAttribsForChar (thug_with_gun): looking at attribute timid
initAttribsForChar (thug_with_gun): looking at attribute weak minded
initAttribsForChar: working on m25obj_24 (thug_with_gun)
initAttribsForChar (thug_with_gun): looking at attribute timid
initAttribsForChar (thug_with_gun): looking at attribute weak minded
initAttribsForChar: working on m25obj_28 (thug_with_gun)
initAttribsForChar (thug_with_gun): looking at attribute timid
initAttribsForChar (thug_with_gun): looking at attribute weak minded
initAttribsForChar: working on m25obj_30 (thug_with_gun)
initAttribsForChar (thug_with_gun): looking at attribute timid
initAttribsForChar (thug_with_gun): looking at attribute weak minded
initAttribsForChar: working on m25obj_26 (thug_with_gun)
initAttribsForChar (thug_with_gun): looking at attribute timid
initAttribsForChar (thug_with_gun): looking at attribute weak minded
initAttribsForChar: working on m25obj_40 (thug_with_gun)
initAttribsForChar (thug_with_gun): looking at attribute timid
initAttribsForChar (thug_with_gun): looking at attribute weak minded
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 'm25enc_opendoor' has no OnPostInit()
Plugin 'm25enc_simplechoice' has no OnPostInit()
[/spoiler]

M25

EZ script is having trouble spawning the characters for one of the encounters.

In the Vandalism encounter, check to make sure you have a template called thug_with_bombs.  Perhaps you mean thug_with_grenade.


BentonGrey

D'oh!  Yeah, that's what I get for naming characters from memory.  Thanks M!  I'll fix that and see if it runs.

BentonGrey

Okay so........you know how Batman#1 just "started" acting funny, all of a sudden?  Well......I figured out why.  It's because there is no OPREA1, but there is an OPERA1........I'm an idiot.  Well, Green Arrow1 and Batman1-4 all seem to be working.  Thanks guys!

I've got a question though.  I have a recurring issue that's not by any means hurting my gameplay, but is a bit annoying none the less.  Often, when I play a mission, the characters will speak in opposite order than I want them to.  For example, the script looks like this:

Hero1 says, "blah blah blah"
Hero2 says, "extra blah"

But what happens is, Batman is in slot one, Robin in slot two, and we get this:

Robin says, "blah blah blah"
Batman says, "extra blah"

It's a little creepy when Catwoman starts flirting with Robin, or when Black Canary starts calling Green Arrow "Pretty Bird." 

What causes this?  What's REALLY weird is, it will do this, then the next time I run the game, I'll switch the character's places to adjust, and the game will still give them the same lines as before!

M25

The game doesn't provide a guarantee that the heroes are stored internally in the same order that you choose them, and EZscript just works with what the game gives it.

*Edit: removed the first way of doing this, as it was incorrect.*


You can use a more complicated form of the 'says' statement.

Hero1 says, if Hero1 is minute_man, "I am Minute Man."     <- only for minute_man
    if Hero1 is liberty_lad, "I am Liberty Lad."                    <- only for liberty_lad
    "I am some generic hero."                                        <- for everyone else
Hero2 says, "Good to meet you."

In other words, you can test to see if the Hero/Villain/whatever is the character you are looking for (if Hero1 is minute_man) and have them say a specific line, and then provide a generic line if they aren't the character you are looking for.


BentonGrey

Thanks M!  That will be a big help, and I can even get fancy with it if I have the energy. ^_^

BentonGrey

Alrighty, I'm putting together my patchwork campaign, starting with my Batman missions.  Now, I'm working on the base sceens specifically.  I've figured out most of the snags I've hit so far, but here's one that's keeping me stumped.  I've got my intermission to play fine, but the briefing won't play.  Here's the way it looks.

[spoiler]#--------------------------------------
#
#  Sample Base cutscenes for EZ script
#
#--------------------------------------


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
Marker: batcomputer1

Start Cutscene:
Camera on batman
batman says, "that's right, the Puffin diamond was worth a few million, but that's hardly enough to bring freeze out of hiding and into conflict with other members of the underworld..."
robin turns to batman
robin says, "hmm...it doesn't seem to make much sense batman, but what was it he said to you again?"
batman turns to robin
batman says, "my heart is cold, but not dead," but in the past he's always said that his emotions were frozen.
robin says, "well, maybe he's found something else to care about. maybe something 'warmed' his heart up. ha! you don't suppose ol' blue-in-the-face has found himself a girl?"
batman says, "a girl, robin? i wonder..."
Narrator says, "ALERT!"



#
# 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:
Cinematic camera on robin to batman
commissioner_gordon says, "batman? we've just received a message from the riddler, apparently he's holding the board of executives of the gotham games corporation hostage. he's demanding that they start producing a 'riddler' line of boardgames! i've got my men spread out all over town, but we can't find any trace of this maniac."
batman says, "has his usual riddle arrived yet?"
commissioner_gordon says, "yes, we recieved it just a few minutes ago. it reads, 'look for me where gotham's flowers bloom in summer, sleep in winter, and the vines are always green.'"
batman says, "Thank you Commissioner, we'll see what we can do."
comissioner_gorddon says, "We'll keep working it on our end, good luck!"
batman turns to robin
batman says, "Hmm...summer flowers blooming..."
robin says, "Well, we've got that big flower show at the Gotham Greenhouse, Babs has been trying to get me to take her all week."
batman says, "Yes, but in a greenhouse the flowers bloom year-round...and what about the 'vines?'
robin says, "I've got it! Gotham park, there's a flower garden in the center of the old maze, along with a gazebo covered in ivy!"
batman says, "Good job Robin, you head to the park, I'm going to follow up a hunch about freeze...watch yourself!"

[/spoiler]

Gordon is not actually in the base map, but as I understand EZScript, he's supposed to be able to speak anyway.

M25

If you don't specify the marker for an encounter, it will use the default 'encounter1' marker.  If you don't have an encounter1 marker on your map, the encounter won't play.

You can just add the
Marker: batcomputer1

line to the briefing cutscene.

BentonGrey

D'oh, thanks M, that is the problem, I'm sure. 

BentonGrey

Okay.......this is weird.  I'm working on my first Brave and the Bold mission, and I've got something I've never seen before.  Here's what's SUPPOSED to be happening.  I spawn to 'allies,' the heroes in their civilian identities, who are meeting in a cutscene that plays before everything else.  They have a dialogue, hear a cry for help, and run off.  Now, the camera fades out, and opens back up on the actual heroes (spawned on the other side of the map by the skirmishspawn marker), who then proceed to kick some butt.  However, what is ACTUALLY happening is, the cutscene starts, Ray turns to Carter, says his first line of dialogue or so, and then they both disappear!  I don't have a clue where they go, and, more importantly, I don't know WHY they go.

Here's the script:

[spoiler]# Heroes: Hawkman and the Atom
# Map: Braveandbold1

Story: braveandbold1

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

Encounter: Intro
Type: Cutscene
Allies: ray_palmer, carter_hall
Marker: beach1

Alert Cutscene:
Camera on square1
Fade for 1 seconds
Wait for 2 seconds
Camera on Ally1
Unfade for 3 seconds
Ally1 turns to Ally2
ray_palmer says, "This was a great idea Carter, I needed to get out of that lab and into the fresh air."
Ally2 turns to Ally1
Ally2 says, "Well, the air doesn't get much fresher than here on the sea. It even more beautiful than the coasts of my own world."
Ally1 says, "I hope the girls are having a good time in the city, it's a shame we didn't bring them with us."
Ally2 says, "Don't kid yourself Ray, they're having a blast, just like us! Now, what exactly is this 'fishing' you were telling me about..."
Ally1 says, "Well, let's get one of these boats and I'll show y-..."
Ally1 says, "Wait, do you see those guys over by the market?"
Ally2 says, "Hmm, they don't look like tourists to me, and I'm guessing those bats aren't for a friendly game."
Ally1 says, "Yeah, my thoughts exactly, looks like the fishing is going to have to wait. Let's run back to our rooms and get into costume."
Ally2 says, "Way ahead of you Ray, let's go!"
Ally1 moves to market1
Ally2 moves to market1
Fade for 3 seconds
Unfade for 3 seconds

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

Encounter: tough1
Type: Save Civilian
Villains: thug_with_bat, thug_with_bat, thug_with_bat, thug_with_bat, thug_with_bat
Allies: shop_owner, shop_owner, shop_owner, civilian_male, civilian_female
Marker: market1
Next: If Ally Lost: Lose
Next: If Ally Survives: tough2

Alert Cutscene:
Camera on Hero1
the_atom says, "Alright, now let's see what's going on!"
Camera on Villain1
Villain1 says, "You were warned pal, and now you're going to pay the price!!"
Ally1 says, "No, our shops are all we have, please! Help!"

Start Cutscene:
Camera on Hero2
hawkman says, "Let those people go, or you'll be picking your teeth out of the sand!"
Camera on Villain1
Villain1 turns to Hero2
Villain1 says, "Superheroes! Where'd they come from? This wasn't part of the plan!"
Villain2 turns to Hero2
Villain2 says, "It doesn't matter, we've got a job to do, take 'em out!"

Ally Thanks Hero Cutscene:
Hero2 moves to Ally1
Camera on Hero2
Hero2 says, "What were those punks after?"
Ally1 says, "They have been hanging around town for the last few weeks, pushing people around, causing trouble, but recently they started making threats..."
Hero2 says, "What kind of threats?"
Ally1 says, "Well, they wanted us to sell our shops, move out of town, and they said that if we didn't sell, they'd 'we'd wish we had,' and they tried to make good on their threats!"
Hero2 says, "Ha, they'll think twice before trying anything like this again."
Ally1 says, "I don't know, they've been threating people all over town, it may not be over yet...."
Hero1 turns to Hero2
Camera on Hero1
Hero1 says, "He's not kidding, look over at the plaza!"

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

Encounter: tough2
Type: Save Civilian
Villains: thug_with_bat, thug_with_bat, thug_with_gun, thug_with_gun, thug_with_grenade
Allies: shop_owner, shop_owner, civilian_male, civilian_female, civilian_male, civilian_female, civilian_female
Marker: square1
Next: If Ally Lost: Lose
Next: If Ally Survives: tough3

Alert Cutscene:
Camera on Hero1
the_atom says, "Come on, the square is full of innocent people!"
Camera on Hero2
Hero2 says, "I'm right with you little one!"
Camera on Villain1
Villain1 turns to Ally1
Villain1 says, "We've warned you pops, and now you're gonna' see what happens when you don't play ball!"
Camera on Villain2
Villain2 says, "And you tourists are gonna' learn that you're not welcome here any more!"

Start Cutscene:
Camera on Hero1
the_atom says, "You hit 'em high, I'll hit 'em low!"
Camera on Hero2
Hero2 says, "You read my mind Atom!"

Ally Thanks Hero Cutscene:
Hero2 moves to Ally1
Camera on Hero2
Hero2 says, "What is this all about?"
Ally1 says, "Some new company named Infini-tech has been trying to buy up the whole town...they've already got most of it, but then they started threatening those of us who stuck around..."
Hero1 turns to Ally1
Camera on Hero1
Hero1 says, "What interest do they have in a little tourist town like this?"
Camera on Ally1
Ally1 says, "We don't really know, the first people to sell just thought they were looking to build a hotel, but they're after something bigger than just a little patch of realestate!"
Camera on Hero2
Hero2 says, "I think we'd better pay their offices a visit Atom."
Camera on Hero1
Hero1 says, "Right, but first we'd better make sure there aren't any more of these snakes around...."

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

Encounter: tough2
Type: Building Rampage
Villains: thug_with_grenade, thug_with_gun, thug_with_gun, thug_with_gun, thug_with_grenade
Minions: thug_with_grenade, thug_with_gun
Allies: civilian_male, civilian_female, civilian_male, civilian_male, civilian_female, civilian_female, civilian_female
Marker: hotel1

Alert Cutscene:
Camera on Hero2
Hero2 says, "Atom, you're not going to believe this, but there are more of them at the hotel!"
Camera on Hero1
Hero1 says, "Man, that place is fantastic...this just got personal!"
Camera on Villain1
Villain1 turns to Ally1
Villain1 says, "You had your chance to sell, burn it down boys!"

Start Cutscene:
Camera on Hero1
the_atom says, "This is getting old fast!"

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

Encounter: trap
Type: Fight
Villains: 1000_soldier, 1000_soldier, 1000_soldier, 1000_soldier, 1000_soldier, 1000_soldie r
Minions: 1000_soldier
Marker: prison1

Start Cutscene:
Fade for 2 seconds
Hero1 teleports to prison2
Hero2 teleports to prison2
Camera on Villain1
Unfade for 3 seconds
Villain1 says, "Arlight you heroes, you've cost us a lot of resources, and now you're going to pay!"


[/spoiler]

Also disturbing, the second encounter, in the square, doesn't play, and neither does the final one.  I don't really know why, but I haven't tested them very much as I've been trying to figure out why my civilians vanish.

M25

Intro:  change Alert Cutscene:  to Start Cutscene: 

tough2:  if you are going to name a character specifically (the_atom) in a cutscene, then stick with that name throughout the cutscene.  You can't use Hero1, Hero2 and the_atom in a single cutscene as EZ script will try to find THREE different heroes to fill those roles.  Either use Hero1 or the_atom, but not both.

trap:  you wrote  1000_soldie r  instead of 1000_soldier


BentonGrey

Thanks M25!  You never let me down man!  Alrighty, I was trying to follow your earlier instructions about setting a certain character's place in the dialogue, as both civilian identities were being read as "M250bj2," or "M250bj4."  Any clue how to change that?

M25

EZ script looks a number of things to try and identify the characters you want in a cutscene.  The template is one of them. 

If you want to reference ray_palmer and carter_hall, just use ray_palmer and carter_hall instead of Ally1 and Ally2.  Be sure to replace Ally1 with ray_palmer everywhere in the cutscene, including camera and movement commands.


BentonGrey

I should have mentioned this, but I tried that first, and it read all the lines with "ray_palmer" speaking, even though (and I double checked this many times) Ally2 had been replaced everywhere with carter_hall.

M25

Hmmm, it should work.  I've re-tested it and it works fine on my end.  What version of FFX are you using?

It should look like this:

[spoiler]

Story: braveandbold1

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

Encounter: Intro
Type: Cutscene
Allies: ray_palmer, carter_hall
Marker: beach1

Start Cutscene:
Camera on square1
Fade for 1 seconds
Wait for 2 seconds
Camera on ray_palmer
Unfade for 3 seconds
ray_palmer turns to carter_hall
ray_palmer says, "This was a great idea Carter, I needed to get out of that lab and into the fresh air."
carter_hall turns to ray_palmer
carter_hall says, "Well, the air doesn't get much fresher than here on the sea. It even more beautiful than the coasts of my own world."
ray_palmer says, "I hope the girls are having a good time in the city, it's a shame we didn't bring them with us."
carter_hall says, "Don't kid yourself Ray, they're having a blast, just like us! Now, what exactly is this 'fishing' you were telling me about..."
ray_palmer says, "Well, let's get one of these boats and I'll show y-..."
ray_palmer says, "Wait, do you see those guys over by the market?"
carter_hall says, "Hmm, they don't look like tourists to me, and I'm guessing those bats aren't for a friendly game."
ray_palmer says, "Yeah, my thoughts exactly, looks like the fishing is going to have to wait. Let's run back to our rooms and get into costume."
carter_hall says, "Way ahead of you Ray, let's go!"
ray_palmer moves to market1
carter_hall moves to market1
Fade for 3 seconds
Unfade for 3 seconds


[/spoiler]

BentonGrey

The newest version, I re-installed a while before I released DCUG.  I'll test it again with all those changes, and your version of that text.  We'll see what happens.  Thanks for the response M!

BentonGrey

Alright, I've done some testing, and I've got good news and bad news.  First, the good news is that all my encounters are now playing.  Plus, my two secret identity civies don't mysteriously vanish anymore.  On the OTHER hand, every line in that first conversation is still reading as ray palmer.  Why is this?  I don't have a clue.  Plus, neither of my Ally Thanks Hero Cutscenes are playing.  Here's the script as it stands:

[spoiler]# Heroes: Hawkman and the Atom
# Map: Braveandbold1

Story: braveandbold1

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

Encounter: Intro
Type: Cutscene
Allies: ray_palmer, carter_hall
Marker: beach1

Start Cutscene:
Camera on square1
Fade for 1 seconds
Wait for 2 seconds
Camera on ray_palmer
Unfade for 3 seconds
ray_palmer turns to carter_hall
ray_palmer says, "This was a great idea Carter, I needed to get out of that lab and into the fresh air."
carter_hall turns to ray_palmer
carter_hall says, "Well, the air doesn't get much fresher than here on the sea. It even more beautiful than the coasts of my own world."
ray_palmer says, "I hope the girls are having a good time in the city, it's a shame we didn't bring them with us."
carter_hall says, "Don't kid yourself Ray, they're having a blast, just like us! Now, what exactly is this 'fishing' you were telling me about..."
ray_palmer says, "Well, let's get one of these boats and I'll show y-..."
ray_palmer says, "Wait, do you see those guys over by the market?"
carter_hall says, "Hmm, they don't look like tourists to me, and I'm guessing those bats aren't for a friendly game."
ray_palmer says, "Yeah, my thoughts exactly, looks like the fishing is going to have to wait. Let's run back to our rooms and get into costume."
carter_hall says, "Way ahead of you Ray, let's go!"
ray_palmer moves to market1
carter_hall moves to market1
Fade for 3 seconds
Unfade for 3 seconds

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

Encounter: tough1
Type: Save Civilian
Villains: thug_with_bat, thug_with_bat, thug_with_bat, thug_with_bat, thug_with_bat
Allies: shop_owner, shop_owner, shop_owner, civilian_male, civilian_female
Marker: market1
Next: If Ally Lost: Lose
Next: If Ally Survives: tough2

Alert Cutscene:
Camera on the_atom
the_atom turns to Villain1
hawkman turns to Villain1
the_atom says, "Alright, now let's see what's going on!"
Camera on Villain1
Villain1 says, "You were warned pal, and now you're going to pay the price!!"
Ally1 says, "No, our shops are all we have, please! Help!"

Start Cutscene:
Camera on hawkman
hawkman says, "Let those people go, or you'll be picking your teeth out of the sand!"
Camera on Villain1
Villain1 turns to hawkman
Villain1 says, "Superheroes! Where'd they come from? This wasn't part of the plan!"
Villain2 turns to hawkman
Villain2 says, "It doesn't matter, we've got a job to do, take 'em out!"

Ally Thanks Hero Cutscene:
hawkman moves to Ally1
Camera on hawkman
hawkman says, "What were those punks after?"
Ally1 says, "They have been hanging around town for the last few weeks, pushing people around, causing trouble, but recently they started making threats..."
hawkman says, "What kind of threats?"
Ally1 says, "Well, they wanted us to sell our shops, move out of town, and they said that if we didn't sell, they'd 'we'd wish we had,' and they tried to make good on their threats!"
hawkman says, "Ha, they'll think twice before trying anything like this again."
Ally1 says, "I don't know, they've been threating people all over town, it may not be over yet...."
the_atom turns to hawkman
Camera on the_atom
the_atom says, "He's not kidding, look over at the plaza!"

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

Encounter: tough2
Type: Save Civilian
Villains: thug_with_bat, thug_with_bat, thug_with_gun, thug_with_gun, thug_with_grenade
Allies: shop_owner, shop_owner, civilian_male, civilian_female, civilian_male, civilian_female, civilian_female
Marker: square1
Next: If Ally Lost: Lose
Next: If Ally Survives: tough3

Alert Cutscene:
Camera on the_atom
the_atom says, "Come on, the square is full of innocent people!"
Camera on hawkman
hawkman says, "I'm right with you little one!"
Camera on Villain1
Villain1 turns to Ally1
Villain1 says, "We've warned you pops, and now you're gonna' see what happens when you don't play ball!"
Camera on Villain2
Villain2 says, "And you tourists are gonna' learn that you're not welcome here any more!"

Start Cutscene:
Camera on the_atom
the_atom says, "You hit 'em high, I'll hit 'em low!"
Camera on hawkman
hawkman says, "You read my mind Atom!"

Ally Thanks Hero Cutscene:
hawkman moves to Ally1
Camera on hawkman
hawkman says, "What is this all about?"
Ally1 says, "Some new company named Infini-tech has been trying to buy up the whole town...they've already got most of it, but then they started threatening those of us who stuck around..."
the_atom turns to Ally1
Camera on the_atom
the_atom says, "What interest do they have in a little tourist town like this?"
Camera on Ally1
Ally1 says, "We don't really know, the first people to sell just thought they were looking to build a hotel, but they're after something bigger than just a little patch of realestate!"
Camera on hawkman
hawkman says, "I think we'd better pay their offices a visit Atom."
Camera on the_atom
the_atom says, "Right, but first we'd better make sure there aren't any more of these snakes around...."

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

Encounter: tough3
Type: Building Rampage
Villains: thug_with_grenade, thug_with_gun, thug_with_gun, thug_with_gun, thug_with_grenade
Minions: thug_with_grenade, thug_with_gun
Allies: civilian_male, civilian_female, civilian_male, civilian_male, civilian_female, civilian_female, civilian_female
Marker: hotel1

Alert Cutscene:
Camera on hawkman
hawkman says, "Atom, you're not going to believe this, but there are more of them at the hotel!"
Camera on the_atom
the_atom says, "Man, that place is fantastic...this just got personal!"
Camera on Villain1
Villain1 turns to Ally1
Villain1 says, "You had your chance to sell, burn it down boys!"

Start Cutscene:
Camera on the_atom
the_atom says, "This is getting old fast!"

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

Encounter: trap
Type: Fight
Villains: 1000_director, 1000_soldier, 1000_soldier, 1000_soldier, 1000_soldier, 1000_soldier
Minions: 1000_soldier
Marker: prison1

Start Cutscene:
Fade for 2 seconds
the_atom teleports to prison2
hawkman teleports to prison2
Camera on Villain1
Unfade for 3 seconds
Villain1 says, "Arlight you heroes, you've cost us a lot time and money, and now you're going to pay!"


[/spoiler]

M25

I installed your mod to see what was going on, though it looks like you have a different version already.   ^_^


For the ray_palmer issue: are you sure you haven't used the same portrait for both characters (ray and carter)?

The other issues you are having relate to naming.   In your mod you use the name 'atom', and NOT 'the_atom'.   Change 'the_atom' to 'atom' and that should fix a lot of things.


BentonGrey

Ahh, they are probably using the same portrait, as I'm using a stand in until I can get a skin for those two!  If that's the issue, I can fix it as soon as I get what I'll actually be using.

D'oh!  Yeah, I confuse myself some times, as the names in FFEdit are usually simpler than their display names.  That should be an easy fix.  Thanks M!

BentonGrey

Alright, another quick question.  Is there any way to force the player to use a given character for a given task?  For example, I want the Atom to investigate an object, since he'd be able to shrink down and look inside it.  Is there any way to do that with EZScript?  All I can think of right now is to fade out, teleport the Atom to the object (in case he's not already there) and have him speak the dialog.

M25

No, you can't force the player to use a specific character.  Teleporting atom to the object and having him speak is a good way to handle the situation (I've done a similar thing myself).


BentonGrey

Okey doke, thanks M!  I figured that was the case, and this is a pretty good work around anyway.

BentonGrey

Alright guys, everything in the Brave and Bold mission is working, EXCEPT the second to last encounter.  The encounter itself actually plays fine, but the start cutscene just won't play.  I've tried dissecting it to see what's wrong, but nothing seems to work.  I'm hoping y'all will spot something I can't.

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

Encounter: Oil
Type: Examine
Villains: 1000_soldier, 1000_soldier, 1000_soldier, 1000_soldier, 1000_soldier, 1000_soldier, 1000_soldier
Objects: cooling_tower
Marker: office1

Alert Cutscene:
Camera on atom
atom turns to hawkman
hawkman turns to atom
atom says, "Well, it looks like we've managed to stop them from tearing the town apart...for the moment, what now?"
Camera on hawkman
hawkman plays animation melee
hawkman says, "I think it's time we pay this Infini-Tech a visit, and try and find out just what they hope to gain from getting control over this sleepy little town."
Camera on atom
atom plays animation melee
atom says, "Right, and we'll teach them to ruin our vacation!"
Red Arrow on Object1

Start Cutscene:
Fade for 2 seconds
atom teleports to office3
hawkman teleports to office2
atom turns to Villain1
hawkman turns to Villain1
Villain1 turns to hawkman
Unfade for 3 seconds
Camera on Villain1
Villain1 says, "You have no business here, this is private property and you're not welcome!"
Camera on hawkman
hawkman says, "Easy pal, we just want a word with your bosses."
Cinematic camera on Villain1 to hawkman
Villain1 says, "That's not going to happen, now get off our property before we are forced to remove you!"
hawkman says, "I don't think so. I'm not going anywhere until I get some answers."
Camera on atom
atom turns to hawkman
atom says, "Keep these guys busy, I'm going to go take a look around. Maybe I can figure out what they're trying to hide."
Camera on Villain1
Villain2 moves to Villain1
Villain3 moves to Villain1
Villain4 moves to Villain1
Villain5 moves to Villain1
Villain6 moves to Villain1
Villain7 moves to Villain1
Villain1 says, "That's it, you've worn through my patience. I am sick of this charade! You've just stumbled onto an operation of the 1000, and you won't be walking away from this! Get them!"

Examine Cutscene:
Fade for 1 seconds
atom teleports to Object1
Camera on atom
atom turns to Object1
Unfade for 3 seconds
atom says, "Hmm...a quick shrink and I should be able to see what these 1000 creeps are so anxious about..."
Fade for 2 seconds
atom plays animation power
Unfade for 2 seconds
atom says, "Of course, oil! They must have discovered a supply under the town, and they are trying to drive the business out so that they can drill for it...but why is an organization like the 1000 mixed up in something like this?"[/spoiler]


M25

Double-check the markers (office2 and office3) to make sure they exist on the map and are not capitalized. 

If you are using villain markers such as office1_villain1, make sure you have all of them in an unbroken sequence up to office1_villain7 (add an extra office1_villain8 to be sure).  If they aren't all spawning, then the cutscene won't play.


|