News:

Rings of Reznor!

Main Menu

Help Creating Mod - Troubleshooting

Started by Torch, March 17, 2009, 02:36:10 AM

Previous topic - Next topic

Torch

Hello.  I am currently working on a mod and I figured I would start a thread about it so I could ask for help regarding anything that has troubled me for more than a little while.  I have ffx 3 and I am creating the mod for  :ffvstr:

I have been following the EZ Script User's Guide and the EZ Script Making a Mini-Mod (which I have completed called frozengiant).

One issue I notice is with the 'talking heads'.  I saw the warning in the EZ Script User's Guide and actually got it to work with my frozengiant test mod.  However, in my current mod I notice an issue for the talking head of a custom ally.  My hero talking heads work fine (I am allowing the program to draw from the portrait.tga as opposed to animating a talking head).  When my ally speaks, his head/picture is missing, and I just see a text balloon bubble with his speech.  The ally is Nick Fury, and I have installed his mesh and skin, complete with a portrait.tga file.  I have defined his template in FFEdit as nick_fury, and linked his nif to the appropriate directory.  He shows up in game just fine.  The only issue I have with him is his talking head/portrait.

Is there something else that needs to be setup in FFEdit to get it to recognize his portrait.tga exists?  Will it not recognize the portrait for custom allys or villains like it does for the custom heroes?

Any help would be greatly appreciated.  Thank you.

DrMike2000

You need a resource called animportrait_<character name> pointing to the appropriate nif file.
Have a look in the resources tab of FFEdit and youll see what i mean.
Stranger Than Fiction:
The Strangers, Tales of the Navigator and Freedom Force X
www.fundamentzero.com

Torch

Thank you.  I've created animportrait_nick_fury pointing to the character.nif file for the character, but now it says 'NIF has no camera'.  I am looking through FFEdit to see how to define a camera for it.

Previsionary

you need to point it to a "head" nif, not a character nif. The FFEDIT help files outline how to set up things in ffedit should you need it.
Disappear when you least expe--

Torch

Thanks.  I see that the head.nif is typical for ones that have animated heads.  The problem is I am trying to mimic what Renegade has done for the hero files, which is to use the portrait.  From the EZ Script User's Guide:

"EZ script uses a default head for all custom characters (courtesy of Renegade) that should work for nearly any character.  The head uses the character's portrait..."

The FFEdit Help doesn't know much about EZ Script or using character portraits for talking heads.  I found a defaulthead folder with a head.nif file, but when I set this for Nick Fury, it simply gives me a 'talking head circle' filled completely with pink.  Oddly enough, when my Heroes speak, they also have the pink circle (as opposed to their portraits when I don't have Nick Fury messing it up).  I assume the head.nif is correct from the default folder and I am simply missing the element that maps the portrait.tga into the circle.

I believe the portrait.tga is a 2D object, where the typical head.nif is 3D.  This is where I am trying to figure out what Renegade did to have FF recognize the TGA file in the spot of the NIF (unless he created a NIF that is a 3D disc with an extremely small thickness, and effectively skinned the TGA onto it).

Previsionary

#5
Ezscript or not, you need to use "head" nifs. EZscript doesn't have different conventions for modding outside of the techniques used to make said mod.

Ren's "head" nif uses the portrait tga. It doesn't have a different naming convention. Take it from a modder. ^^
-----

Typically, the head.nif should be in the mesh folder for it to work correctly. Otherwise it doesn't find anything and produces the pink problem you described.
Disappear when you least expe--

Torch

Thanks for you help Previsionary.  I've jumped this latest hurdle.

It required me copying the 'head.nif' from the defaulthead folder and pasting it into the appropriate folder (in this case the Nick Fury folder, in the same location that the character.nif exists).  FFEdit must notice when it is mapped to a location inside a character folder, that it is to use the portrait.tga on that default head.  It does appear to be a 2D square with minimal thickness when viewed with a NIF viewer.

Either way, all of my portraits display correctly now.  :thumbup:

Torch

#7
*sorry if double posting is illegal in this forum.  i am simply trying to reduce thread count by keeping all of my modding questions in this thread*

I need help going from one mission to another in a campaign.  I have been following the EZ Script User's Guide.  I have copied and pasted the base and mission PY files to both missions from the EZScriptcampaign folder as suggested.  My first mission runs fine, and then goes to what I assume is a 'base' screen (shows points, prestige, etc.).  When I click next it crashes to desktop instead of going to the next mission.

I have added both missions to the campaign tab in FFEdit.

Any suggestions?

Boalt92

couple of things..

1)  do you have your custom mission as the first on the campaign tab  (just remove the defaults, you don't need them).  next missions should follow in order.

2) there was an update to the campaign mission folder since ffx 3.3.  Did you get it? (ezscriptcampaign_v1.1)

3) post your script logs.  it will help the people who know what they're doing find the problem.

4)  Double posting is fine....cuts down on redundant threads  :)

B92

Torch

#9
Quote from: Boalt92 on March 22, 2009, 03:21:26 PM
couple of things..

1)  do you have your custom mission as the first on the campaign tab  (just remove the defaults, you don't need them).  next missions should follow in order.

2) there was an update to the campaign mission folder since ffx 3.3.  Did you get it? (ezscriptcampaign_v1.1)

3) post your script logs.  it will help the people who know what they're doing find the problem.

4)  Double posting is fine....cuts down on redundant threads  :)

B92
1) Yes.  They are at the top of the list on the campaign tab in FFEdit
2)  Yes.  I did not have it installed before you mentioned it.  But I have unzipped it and put the updated files in place of the old ones.  No change in performance.
3)  Where are the script logs?  I see a script (txt) file in the root directory.  Is this one of them?  Are there more?

*New Question Also* To play music in a mission (started in a cutscene) EZScript manual (v 3.208) has the following to say:
______________________________

"Play Music
Play music Name of Music

Just as it says, this will play music for your mini-mod.  The music will loop until you play another musical selection.  The names of the music you can use are found in the resources tab of FFEdit (with the prefix music_ )."
______________________________

Now, I've got the music playing in my mission.  I've set up the resource and called it correctly.  What my music doesn't do is LOOP.  Once the track plays the music doesn't repeat.  I've also noticed this with the initial game screen (the main screen).  I've replaced the main theme, and once my music plays once it doesn't loop (but the game's original main theme DOES loop).  I also have the mod 'X-Men Classic' and I have checked that out to attempt to gain some knowledge.  I notice its main theme loops when it plays.

Please tell me I'm am missing something blatantly obvious.  :huh:



GogglesPizanno

Since this is an EZScript based campaign, I think all the base maps have to have at least 1 encounter marker (i.e. encounter1) If you just copied over a base map form one of the existing missions, they wont have them, you'll need to open it up in FFEdit and add it like you would to any other EZScript map.

As for the music, I'm pretty sure the X-men mod you mentioned (just like the main game) are scripted using python where you explicitly specify whether you want it looping. Your issue sounds like it might just be a hiccup in EZScript. I'd fire off a PM to M25 and ask him...


Torch

#11
I've got the base showing up now.  Thanks GP.  I had to remove 'camera on hero' since I don't have a hero in the base screen right now, and I had to add 'unfade' since it goes black initially to hide loading from the player.  My next step will be to have the base recognize heroes for the mission.

Here's another good one for all you EZScript Gurus out there!

I can get EZScript to 'Play Animation' on a character, and it works like a charm.  The issue:  The character goes back to normal after a second!  I never said he could be 'unstunned' or 'get up' after he fell!  It seems that there is a 'return to natural state' coded in after a 'Play Animation' sequence.  Can a timer be added to the 'Play Animation' command in EZScript?  Like:

Hero1 plays animation fall for 10 seconds

Because if you just use:  Hero1 plays animation fall
then he gets right back up.  And sometimes it is smarter for the joker to just STAY DOWN!  :lol:

Boalt92

To activite script log, check out this thread:

http://freedomreborn.net/forums/index.php?topic=49868.0
(FAQs in Freedom Force Discussion thread)

For music looping:
I haven't tested it yet, but I was thinking about using: Next: Soundtrack to tell it to play again.  I.E. after the play music encounter finishes, it starts over again.  This is a perpetual loop however, so make sure you want to go there.

Another thing I was thinking about but haven't tested was to set up 3-4 music track encounters, and initiate them with a generic randomizer encounter.  i.e.

Encounter: soundtrack
Type: none
Next: Choose 1 from track1, track2, track3



Encounter: track1
Type: cutscene
Next: soundtrack

Play Music music_track1


Again, don't know if this works, just an idea I had.


Lastly,
The animation thing has bugged me quite a bit.  The only way I can think to get around it is to use the "kill" command to knock him out and the "revive" command to bring him back.  You'd also need to use Villains: villain1 named joker so that the villain persists through encounters.  I can't find "kill" in docs, but I know M25 used something like it in his firelight campaign example.  Perhaps he can shed more light on this.


B92

Torch

The soundtrack idea sounds interesting.  I'll look into it.

Regarding the Villains comment, what do you mean?  I usually declare villains as - Villains:nazi_gunner
for example.  And if I have a joker template, then - Villains:joker.  I only use something like villain1 when in a cutscene.  Of course all of this goes from encounter to encounter, and it seems like you mean declare Villains:villain1 name joker somewhere before all encounters occur.  Do I simply type that like before my first encounter?  Thanks.

I will also try the 'kill' command.  I know I looked over the documents and all I see is 'revive'.

M25

I'll look into the music issue.  It should loop, but it could be that I forgot to (re)set something.

Animations are played by simply asking the game to run the animation.  The game itself resets the character to the idle state after the animation is played.  I'll look at adding a 'freeze animation' option, but no promises there.


BentonGrey

Ahh, the joy of beginning.  Ha, there are a zillion little things you just don't think about until you actually run into them.  Let's see...

I know you CAN kill a character with a "destroy" command, but I forget the exact command.  I'll try and find it later on, but if you want to know soon, you could look back through the last few pages of my thread in the scripting section.  I think you may have to name the character, but that is also covered in the thread.

God Bless
"If God came down upon me and gave me a wish again, I'd wish to be like Aquaman, 'cause Aquaman can take the pain..." -Ballad of Aquaman
Check out mymods and blog!
https://bentongrey.wordpress.com/

Torch

Thanks Benton.  I'll check it out.

@M25 - during a mission, should the music loop only during the encounter it is called, or for the entire mission?

Torch

Got the 'I've fallen and I can't get up' working in EZScript thanks to your help Benton.  I found mention of it in your scripting thread.

You can code it as follows in a cutscene:

<character name> plays animation fall
<character name> is killed

Replace <character name> with the character name.  For example hero1 such as:

hero1 plays animation fall
hero1 is killed

You can then bring them back with the revive command:

hero1 is revived

Hope this helps others in there mod endeavours!

Boalt92

Quote from: BentonGrey on March 23, 2009, 06:34:10 PM
Ahh, the joy of beginning.  Ha, there are a zillion little things you just don't think about until you actually run into them.  Let's see...


For a second, I thought you were talking about parenthood!   :P

Torch --


Encounter: sample
Type: Fight
Villains: joker named joker
Next: sample2

Start Cutscene:
joker is killed
hero1 says, "let's find out what he knows"

End Cutscene:
joker is revived
hero1 says, "time to talk"


Encounter: sample2
Type: Interrogate
Villains: joker named joker
Next: whatever




This allows joker to persist from encounter to encounter and makes life easier for complex scenarios.  Don't think I was clear in earlier post :blink:

B92

Torch

Cool Bo.  Yes, that is much clearer for my mod-befuddled-mind!

Here is another one, perhaps easier (I hope):  Opening closed doors.  I know FF does this and I was curious if it is easy or not with EZScript.  It sounds easy enough.  Your heroes are in a room.  The door is closed.  One of your heroes interacts with the door.  The door opens.

Anybody know of a quick and painless way to accomplish this?

Torch

Things are proceeding nicely.  I only have a few more missions before the 'raw' mod is complete.  Then it will be on to making it play as a campaign (with base screens), balancing character powers and polishing.

I am interested in understanding the 'rescue bullet map' from  :ffvstr:.  I believe the map is called 'Euros' and it is mission 7.  It is an underground Nazi base.

I've looked at the mission.py file and notice the way they handle opening doors and fog of war.   I've tried to copy and paste it into a 'mini-mod' py file and see if I could get the map to play as a Skirmish.  I'm not having any luck.  Does anybody know how to get this to work?

If not, then I would be happy to take the map remove the fog of war and the doors and have it playable like a 'normal' map.  I've tried deleting the 'fog of war' and the 'doors' from the map, but my characters are still blocked as if a door still existed.  Is there an easier fix to this perhaps as opposed to my original question?

GogglesPizanno

I'm really rusty on my door issues and what not, but I believe there are two issues. One is that the doors and fog of war are part of the imported map layout, so that when you delete them from the map in FFEdit, it doesn't really delete them (If I remember correctly). You'd have to modify the level layout file and then re-import.

The functionality of doors and fog of war are controlled via python scripting, markers, and custom actions. You could probably accomplish the what you are after with some custom python scripting but its really beyond the scope of of a simple change this line kind of example.

Torch

Quote from: GogglesPizanno on March 25, 2009, 04:16:20 PM
I'm really rusty on my door issues and what not, but I believe there are two issues. One is that the doors and fog of war are part of the imported map layout, so that when you delete them from the map in FFEdit, it doesn't really delete them (If I remember correctly). You'd have to modify the level layout file and then re-import...
Thanks GP.  I'll see about going this route (since it sounds easier) and maybe tackle the more advance route in future mods.  Question:  How do I modify the level layout file (or more specifically which file is the level layout)?

GogglesPizanno

In the data directory off the game root there is a file called layout.ff (its a zip file) just extract that somewhere on your computer. You should now have a directory called "level layout" and inside is all the layout files for the game maps. If you want to keep the directory with your mod, it should go "<modfolder>\Art\level layout"

They are just text files, so open the one you want to edit in a text editor, find the objects you want to remove and delete those lines. Then In FFEdit, open up the map you are trying to modify and at the top of the Mission tad is a button called "import". Click that button, navigate to the directory where your edited layout file is (you just select the directory it's in, the game will automatically find it). It should then replace all the objects in the "layout" section with the updated layout file and leave any of your custom placed objects intact (though its always a good idea to backup the level before messing with it).

M25

There's an encounter type designed to deal with doors and fog objects available as a plug-in.  It should be included with ffx 3.2+ and the info on it is included in the EZ script editor.

Encounter: AtTheDoor
Type: Open Door
Objects: nazihq_door_closed named _impobj_012
Fog: _impobj_042

Open Door Cutscene:
Hero says, "Open sesame!"


If you are using doors that are already on the map, then you must tell EZ script what they are called on the map, usually an impobj_ style name.  With the fog, you just give the name of the object on the map.

The plug-in knows about the nazihq doors and will play the appropriate animation and then spawn an open door in place of the closed door.  It will also remove the fog of war object.




BentonGrey

M, is there anything that you HAVEN'T thought of? :wacko:
God Bless
"If God came down upon me and gave me a wish again, I'd wish to be like Aquaman, 'cause Aquaman can take the pain..." -Ballad of Aquaman
Check out mymods and blog!
https://bentongrey.wordpress.com/

Torch

@GP - Thanks I'll check it out  :)

@ Benton - The 'M' stands for 'the MAN' because M25 is the man! (unless of course 'he' is a 'she', and then 'she' wouldn't be 'the man'  :o )

@M25 - That sounds great!  I am trying to have the mod done by Mid-April at the latest.  Will this modification be available in March?  Right now I am just doing a work-around, and may incorporate what GP said if it is easy enough.  If not I'll go with what I've got and mess with something more elaborate on the next go-around.

GogglesPizanno

Wow, like Benton, I had no idea....

Quote from: Torch on March 25, 2009, 05:48:13 PM
@M25 - That sounds great!  I am trying to have the mod done by Mid-April at the latest.  Will this modification be available in March?  Right now I am just doing a work-around, and may incorporate what GP said if it is easy enough.  If not I'll go with what I've got and mess with something more elaborate on the next go-around.

And as M25 said, if it was included starting with FFX3.2 then its already there.

Torch

#28
Quote from: M25 on March 25, 2009, 05:09:26 PM
There's an encounter type designed to deal with doors and fog objects available as a plug-in.  It should be included with ffx 3.2+...
Oops!  When I first read it I thought he meant 'It SHOULD be ONCE it is released', hence the +.  I realize now that he means anything past the 3.2 version will have it included, and I believe I have the latest (3.3).

P.S.  Any luck on the music issue M25?  Or is it just me?

M25

I hate to say it, but the looping music is working for me with the music that comes with the game.  There must be something else going on.   Are you using a custom mp3?