Freedom Reborn Archive

Freedom Force Forums => Mods => Topic started by: M25 on February 20, 2007, 12:31:36 PM

Title: EZscript Freeroam campaign sample
Post by: M25 on February 20, 2007, 12:31:36 PM
I've posted an example of using EZ script to make a freeroam (as in Dr.Mike's Patriot City) campaign.  This is a complete mod and includes FFX 3.2 - just extract it into its own directory and use the shortcut supplied, or make your own.

You can grab it at.

http://www.4shared.com/file/10968115/9818a195/ezfreeroam_poc.html (http://www.4shared.com/file/10968115/9818a195/ezfreeroam_poc.html)


It has something akin to a story, but it's more of an example. 

More importantly, it has a set of linked maps and you can drop your own EZ script stories into the 'freeroam' directory (/EZfreeroam_poc/freeroam/) and play them instead of or in addition to what's already there.

Title: Re: EZscript Freeroam campaign sample
Post by: catwhowalksbyhimself on February 20, 2007, 01:41:11 PM
If you like, I'll upload it to my own site and give it a permanent home on the FFX download page.
Title: Re: EZscript Freeroam campaign sample
Post by: M25 on February 20, 2007, 02:21:56 PM
Sure, go ahead.
Title: Re: EZscript Freeroam campaign sample
Post by: joemama on February 20, 2007, 07:49:25 PM
Great skills, but you beat me to my next project!

Would you mind if linked some maps to yours to be released as a free-roam world?


JM
Title: Re: EZscript Freeroam campaign sample
Post by: Epimethee on February 20, 2007, 08:12:05 PM
Kudos, M25! :D (Question, since the 4Shared link seems KO for now: which version of 3.2 is it using?)

Cat, once it's on your site, maybe you could post in the Releases forum? Thanks.
Title: Re: EZscript Freeroam campaign sample
Post by: Carravaggio on February 21, 2007, 12:17:23 AM
thankyouthankyouthankyouthankyouthankyouthankyouthankyouthankyouthankyouthankyouthankyouthankyou...etc.
this will be a big help!
Title: Re: EZscript Freeroam campaign sample
Post by: M25 on February 21, 2007, 05:22:07 AM
Quote from: joemama on February 20, 2007, 07:49:25 PM
Great skills, but you beat me to my next project!

Would you mind if linked some maps to yours to be released as a free-roam world?


JM

Please do.  This is just an example, and certainly not the definitive map of the city, or world.

Epimethee - It's using Beta 1 with the corrected powers.dat.   I'll have to update it to newer versions, but as a quick guide, the only shared files that get modified are:

campdef.dat - replaced by the freeroam version
strings.dat - changed 'restart mission' and 'failed' to 'continue'
captions.dat - contains any captions for the mod

And obviously, the missions themselves are different.

Any updates to the scripts and other dat files can be copied over top of this mod directly.  I've tried to keep things as standard as possible.  There are no special objects, characters, powers, fx, sounds or other resources to worry about.



Title: Re: EZscript Freeroam campaign sample
Post by: detourne_me on February 21, 2007, 09:33:44 AM
This is super!
man the campaign was so much fun!

just a few quick questions....
do i need to add anything to an EZscript to make it the campaign script?
do i need to place specific markers on the maps for spawn points for EZScript? (i didnt see definitions of locations in the police or mook scripts)

ummn, for the random skirmishes... I only ever saw the riot from the police, or the Street Fight events... and not the other encounters...will the others eventuaslly pop up? i only played long enoughto complete both storylines.


oh and to reiterate... This is GREAT!
Title: Re: EZscript Freeroam campaign sample
Post by: M25 on February 21, 2007, 09:44:52 AM
Quote from: detourne_me on February 21, 2007, 09:33:44 AM
This is super!
man the campaign was so much fun!

just a few quick questions....
do i need to add anything to an EZscript to make it the campaign script?
do i need to place specific markers on the maps for spawn points for EZScript? (i didnt see definitions of locations in the police or mook scripts)

ummn, for the random skirmishes... I only ever saw the riot from the police, or the Street Fight events... and not the other encounters...will the others eventuaslly pop up? i only played long enoughto complete both storylines.


oh and to reiterate... This is GREAT!

You don't need anything special to make a script work in a campaign.  You may want to add objectives and prestige and XP values to your scripts though. 

You only need specific markers on the map if you want an encounter to occur in a specific place (like the final fight in the aliens story only occurs in the park).   If you're ok with the encounter popping up anywhere, you don't need to specify a particular marker.

If you want the encounter to only appear on a given map or type of map (like the one that only appears in the sewers), you can use the Map: parameter and give it the name of the map.


The random skirmishes are, well, random.  If you only saw a few encounters, it's certainly possible that only one type would come up.  I'll double check the code anyway.

Edit:  Urk, the street crime and police stories have an error in the script.  It should be 'Choose X from' and not 'Choose X of'   Change that and it should work as intended.

Title: Re: EZscript Freeroam campaign sample
Post by: Renegade on February 26, 2007, 12:50:29 PM
I've been playing this "example" the past couple of days and I just wanted to drop a note about how much fun it's been! It's like having a game based on your favorite comicbook character! I'm running Billy Batson/Captain Marvel and Cap's been getting his butt kicked pretty hard by those aliens.  Whoo-Hoo. I can't wait to look behind the scenes and understand how this works.

I will say though that anyone else planning on testing this out with a mutli-form custom will have to remember to change back to their primary form before moving from one map to another or the custom form will disappear a few seconds after the new map loads and force a restart of the mod.
Title: Re: EZscript Freeroam campaign sample
Post by: M25 on February 26, 2007, 03:56:48 PM
Glad you're enjoying the experience.  Adding your own stories is as simple as writing them up and dropping them into the freeroam directory. 

Quote from: Renegade on February 26, 2007, 12:50:29 PM
I will say though that anyone else planning on testing this out with a mutli-form custom will have to remember to change back to their primary form before moving from one map to another or the custom form will disappear a few seconds after the new map loads and force a restart of the mod.

Hrm, I missed that one completely.  I'll see if I can prevent it from happening.
Title: Re: EZscript Freeroam campaign sample
Post by: detourne_me on February 26, 2007, 08:41:42 PM
hmmn a custom form eh?  did you have to recruit both forms? or did you make cap a built-in?
the character i used to play it has random skins and it was pretty funny to see his skins change as he went through maps... refreshing though! haha
Title: Re: EZscript Freeroam campaign sample
Post by: catwhowalksbyhimself on February 26, 2007, 08:53:57 PM
That actually gives me a good idea for a new attribute.

The character randomly transforms into one of a series of forms for the duration of the mission.

A variant of that would have him randomly transform throughout the mission. 

Call them Unstable form and Very Unstable Form.
Title: Re: EZscript Freeroam campaign sample
Post by: quiet on February 27, 2007, 07:43:37 AM
I started it up and attempted to play "new campaign".  I got this error:

(http://i22.photobucket.com/albums/b329/thad55/Image1-1.jpg)

So then I tried to run FFx 3.2 on top of it and it loaded but It came up with the normal first mission of the campaign only the lighting was off (it was bright) and it did not run properly (I could just run around with alchemiss). so then I ran the Ezscript  Freeroam back over it and it froze while loading the campaign.   I am not real sharp when it comes to this stuff, so forgive my ignorance.

Here is the script log:
[spoiler]>>> system/init.py executed
>>> system/localinit.py executed
>>> def MP_IsTeamGame():
    pass

>>> def MP_GetShortDescription():
    pass

>>> def MP_GetLongDescription():
    pass

>>> def MP_IsStoryModeOnly():
    pass

>>> def MP_IsLeaderGame():
    pass

>>> def MP_NeedsTargetChoice():
    pass

>>> C:\Documents and Settings\Amanda\Local Settings\Application Data\Irrational Games\Freedom Force vs the 3rd Reich\temp\ARENA.PY executed
>>> def MP_IsTeamGame():
    pass

>>> def MP_GetShortDescription():
    pass

>>> def MP_GetLongDescription():
    pass

>>> def MP_IsStoryModeOnly():
    pass

>>> def MP_IsLeaderGame():
    pass

>>> def MP_NeedsTargetChoice():
    pass

>>> C:\Documents and Settings\Amanda\Local Settings\Application Data\Irrational Games\Freedom Force vs the 3rd Reich\temp\ARENA_TEAM.PY executed
>>> def MP_IsTeamGame():
    pass

>>> def MP_GetShortDescription():
    pass

>>> def MP_GetLongDescription():
    pass

>>> def MP_IsStoryModeOnly():
    pass

>>> def MP_IsLeaderGame():
    pass

>>> def MP_NeedsTargetChoice():
    pass

>>> C:\Documents and Settings\Amanda\Local Settings\Application Data\Irrational Games\Freedom Force vs the 3rd Reich\temp\DEATHMATCH.PY executed
>>> def MP_IsTeamGame():
    pass

>>> def MP_GetShortDescription():
    pass

>>> def MP_GetLongDescription():
    pass

>>> def MP_IsStoryModeOnly():
    pass

>>> def MP_IsLeaderGame():
    pass

>>> def MP_NeedsTargetChoice():
    pass

>>> C:\Documents and Settings\Amanda\Local Settings\Application Data\Irrational Games\Freedom Force vs the 3rd Reich\temp\DEATHMATCH_TEAM.PY executed
>>> def MP_IsTeamGame():
    pass

>>> def MP_GetShortDescription():
    pass

>>> def MP_GetLongDescription():
    pass

>>> def MP_IsStoryModeOnly():
    pass

>>> def MP_IsLeaderGame():
    pass

>>> def MP_NeedsTargetChoice():
    pass

>>> C:\Documents and Settings\Amanda\Local Settings\Application Data\Irrational Games\Freedom Force vs the 3rd Reich\temp\DESTRUCTION.PY executed
>>> def MP_IsTeamGame():
    pass

>>> def MP_GetShortDescription():
    pass

>>> def MP_GetLongDescription():
    pass

>>> def MP_IsStoryModeOnly():
    pass

>>> def MP_IsLeaderGame():
    pass

>>> def MP_NeedsTargetChoice():
    pass

>>> C:\Documents and Settings\Amanda\Local Settings\Application Data\Irrational Games\Freedom Force vs the 3rd Reich\temp\LEADER.PY executed
>>> def MP_IsTeamGame():
    pass

>>> def MP_GetShortDescription():
    pass

>>> def MP_GetLongDescription():
    pass

>>> def MP_IsStoryModeOnly():
    pass

>>> def MP_IsLeaderGame():
    pass

>>> def MP_NeedsTargetChoice():
    pass

>>> C:\Documents and Settings\Amanda\Local Settings\Application Data\Irrational Games\Freedom Force vs the 3rd Reich\temp\MASSACRE.PY executed
>>> def MP_IsTeamGame():
    pass

>>> def MP_GetShortDescription():
    pass

>>> def MP_GetLongDescription():
    pass

>>> def MP_IsStoryModeOnly():
    pass

>>> def MP_IsLeaderGame():
    pass

>>> def MP_NeedsTargetChoice():
    pass

>>> C:\Documents and Settings\Amanda\Local Settings\Application Data\Irrational Games\Freedom Force vs the 3rd Reich\temp\MASSACRE_TEAM.PY executed
>>> def MP_IsTeamGame():
    pass

>>> def MP_GetShortDescription():
    pass

>>> def MP_GetLongDescription():
    pass

>>> def MP_IsStoryModeOnly():
    pass

>>> def MP_IsLeaderGame():
    pass

>>> def MP_NeedsTargetChoice():
    pass

>>> C:\Documents and Settings\Amanda\Local Settings\Application Data\Irrational Games\Freedom Force vs the 3rd Reich\temp\TAG.PY executed
[/spoiler]
Title: Re: EZscript Freeroam campaign sample
Post by: M25 on February 27, 2007, 07:51:59 AM
Make sure you are installing the freeroam campaign into it's own separate directory whereever :ffvstr: is located.  It's not meant to be put into the FFX3.2 directory.

Title: Re: EZscript Freeroam campaign sample
Post by: quiet on February 27, 2007, 08:34:01 AM
Yeah I got the first error when I did that, so i just reinstalled the ezscript freeroam, and it works fine now.  Its awesome by the way. thanks.
Title: Re: EZscript Freeroam campaign sample
Post by: Blitzgott on February 27, 2007, 08:53:05 AM
Pretty awesome mod! Had a lot of fun playing it. Great job!

Anyway, I have a couple of quick questions:

Is there anyway to enable the use of built-in characters other than Freedom Force?

Also, is it possible to improve the starting number of prestige points used to recruit your hero/team?

Thanks!
Title: Re: EZscript Freeroam campaign sample
Post by: M25 on February 27, 2007, 10:34:02 AM
You can change those things, though it is the most inelegant part of the mod.

If you look in Missions/freeroam_start you'll find a file called mission.py

Open it up with a text editor and you'll see these lines:


# what is the name of the story (the text file) that the mod uses
freeroam_storyfile='freeroam'

# who will the player be able to recruit from at the start of the mod
# built-ins only. 
# the player can still recruit any customs they want
freeroam_addbuiltins=['alchemiss', 'blackbird', 'bullet', 'el_diablo', 'eve',
'green_genie', 'ironox', 'man_bot', 'man_o_war', 'microwave', 'minute_man',
'liberty_lad', 'order', 'quetzalcoatl', 'sea_urchin', 'tombstone']

# How much prestige will the player have to recruit characters
freeroam_startingprestige=11000

# what map does the mod start on
freeroam_startingmap = 'fortressbase'


freeroam_addbuiltins is the list of built-in characters that are available at the start.  You can add to or change characters in that list, but make sure you use the name as it appears in the templates tab of FFEdit.

freeroam_startingprestige is the amount of prestige you start with.  It can be any number.

freeroam_startingmap is the map to, well, start on.  It should match the name of the directory the map can be found in, and it should be a Base.



Unfortunately, due to the trickery used to make the freeroam style work, you have to open up base.py as well and make sure that you set those four variables to the same values.

Just cut and paste the values from one file to the other and it should work.
Title: Re: EZscript Freeroam campaign sample
Post by: qazwsx on September 18, 2008, 01:29:20 AM
Can this be added on to the end of an existing campaigns? Oh also, which are the essential freeroam files? Because it comes with FFX I'm having a bit of a problem knowing which are just regular FFX files and which are your? THank you! :)
Title: Re: EZscript Freeroam campaign sample
Post by: M25 on September 19, 2008, 01:36:45 PM
The freeroam stuff requires FFX, EZ script, and the custom AI, so they shouldn't be separated.  All the freeroam specific code is in the m25freeroam* files. 

The freeroam campaign is contained in the story files in the freeroam directory, and requires the maps that link to each other in the Missions sub-directories.