Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Tirlititi

Pages: 1 ... 15 16 17 18 19 [20] 21 22 23 24 25 ... 35
476
Thanks Dan.
The field cameras are in the same file as the tiling data (what defines the different layers of the backgrounds): the ".bgs.bytes" file (in the p0data1X archives). I should be able to read them properly now. I'll do that for the next update (maybe not export the cameras, but at least use them as the default cameras in the field script window).

477
Yes.
In the panel "Environment -> Fields", search for the field "Blue Narciss/Bridge" near the end of the list (there are 2 of them, select the top one) and click on "Edit Script".
You'll see a list of functions on the top-right of the window: select the "Function Main_Loop". Browse the function's script ; around the middle of that function, you can find these lines:
Code: [Select]
        set Setting_OptionalQuina = 1
        set Setting_DaggerDepresses = 1
        0xDB( 2, 0 )
        0xDB( 7, 0 )
        set Setting_MPx4 = 0
        SetHP( 0, 9999 )
        SetHP( 1, 9999 )
        SetHP( 3, 9999 )
        SetHP( 2, 9999 )
        SetHP( 4, 9999 )
        SetHP( 5, 9999 )
        SetHP( 7, 9999 )
        SetHP( 6, 9999 )
        SetHP( 8, 9999 )
        SetMP( 0, 999 )
        SetMP( 1, 999 )
        SetMP( 3, 999 )
        SetMP( 2, 999 )
        SetMP( 4, 999 )
        SetMP( 5, 999 )
        SetMP( 7, 999 )
        SetMP( 6, 999 )
        SetMP( 8, 999 )
Replace that "set Setting_DaggerDepresses = 1" by "set Setting_DaggerDepresses = 0", then click on "Parse" and then confirm.

Unfortunatly, it's not enough: you need to do the same thing for a few other scripts (the game turns that flag on regularly even if it's supposed to be on already). Search for that line "set Setting_DaggerDepresses = 1" in the following field scripts:
- function "Zidane_54" of the field "Palace/Sanctum",
- function "Zidane_Init" of the field "Esto Gaza/Altar" (1st one),
- function "Eiko_Init" of the field "Gulug/Path" (4th one, right under the "Well").

478
Nice to see that you solved your problem without me Meian ^^

Update to v0.38 :
- Updated the UI libraries ; the program opens faster,
- Improved the 3D model exporters (see below),
- Improved the "Preferences" and configuration file:
--- In the "Preferences" window, you can now select the background resolution in order to display/export the backgrounds properly even with a mod. By default, the resolution is 32 but you should set it to 64 if you use Fraggoso's or Meru's HD mod.
--- Most of the options are saved in the "HadesWorskshop.conf" file, meaning that the program remembers when you change the settings.
- Fixed a bug making the world map battle spot changes inefficient for the Steam version,
- Fixed a few bugs with the importation of files in some archives.

The .dll have changed: you need to extract them and you can dump the ones used by the old versions.

So, I am sorry for not making the importer yet but it was a pain to install, learn and use the FBX libraries. You can now export the 3D models in the following formats:
- FBX binary version 7500,
- FBX text version 7500,
- DXF,
- DAE,
- OBJ.
It seems though that only the two FBX versions formats are handled without problem. The OBJ version also works fine but doesn't have any bone or animation.
Blender unfortunatly can't import those FBX files (to my knowledge) and I couldn't find a nice and free replacement for it. Autodesk has everything you need, but it's not free most of the time. You can use FBX Review to see the models (but not edit them) and you can import them in Unity. If anyone knows a free FBX editor (or converter), that would be very nice.

In order to export a 3D model, it's like for the last version: in the Unity Assets Viewer, verify that you have some "Automatically Convert 3D Models" option checked, select a file ".fbx" of type "1 (Game Object)" in one of the archives, and then right-click -> export selection. You can export the models from the archives p0data2 (weapons and battle scenes), p0data3 (a couple of World Map objects) and p0data4 (everything else: characters, accessories, monsters...). You need to export the related textures separatly.
It creates a single .fbx file containing the model + its skeleton + all its animations (most of them are automatically extracted from the p0data5 archive).

The models as they are exported are near complete. They only miss the texture animations (for Sealion's core, for instance (there are few of them)). Also, the material properties are mostly exported as custom properties and they can be ignored by the FBX editors (maybe Unity uses them): it mostly means that you'll see black textures when they should be transparent, which is also fairly rare.
It may also happen, for some reason, that the name of the texture(s) is not found and thus you can't see the textured model. For the FBX text version, you can fix that by opening the model with a text editor and specify the texture's name in the field "Path" of the related "Video" clip. Otherwise, a good editor allows you to select a texture.

The models that are not in the p0data4 archive are upside-down. It seems that everything in the p0data2 and p0data3 archives are upside-down since that's also the case for the textures. Nothing troublesome.

Finally, about the animation speed, it seems that the field models are properly timed but the battle models are twice faster than they should. For what I understood, all the models are timed in 60 fps but since the battles are played in 30 fps, they had to fasten the animations.

That's all there is to know. If you want to help to list the different models' animations, now is the time ^^
I saw that there are more unused animations than I thought: the party members have some unused animations and I saw a couple of enemy models with unused ones as well. All in all, it's very rewarding to be able to see all these animations :D

Next, I will do that model importer. It should take less time since I already have the file formats (both the FBX and the game's internal format). I will also see how the texture animations are made.

479
This last sentence is false. The escape chance is disabled during an enemy attack. Casting (long) spells does help to run away.
I'm not sure about the battle speed though. Maybe the check is slowed as well.

480
Walkmesh contains a few informations about "how the objects behave" on each triangles. For instance, there is a data about which kind of step sound should be used when walking on it, or whether it is in the shade or not.

Also, each triangle has specified neighborood to let the characters moving from one triangle to another. Most of the time, that can be computed automatically from the mesh (if there is a common edge or not), but you may want to not make some connections, or on the contrary add connection between distant triangles to make kind of teleporters (though that could be better done by script).

Here's the known walkmesh format so far:
Code: [Select]
struct FieldWalkmeshDataStruct : public ChunkChild {
public:
uint32_t magic_walkmesh;
int16_t unknown1;
int16_t offset_x2;
int16_t offset_z2;
int16_t offset_y2;
int16_t offset_x;
int16_t offset_z;
int16_t offset_y;
int16_t offset_x3;
int16_t offset_z3;
int16_t offset_y3;
int16_t unknown4;
int16_t unknown5;
int16_t unknown6;
int16_t unknown7;
int16_t unknown8;
int16_t unknown9;
int16_t active_walkpath;
int16_t active_triangle;

uint16_t triangle_amount;
uint16_t triangle_offset;
uint16_t edge_amount;
uint16_t edge_offset;
uint16_t animation_amount;
uint16_t animation_offset;
uint16_t walkpath_amount;
uint16_t walkpath_offset;
uint16_t normal_amount;
uint16_t normal_offset;
uint16_t vertex_amount;
uint16_t vertex_offset;

// As many as "triangle_amount"
uint8_t* triangle_unk1;
uint8_t* triangle_stepsound;
uint16_t* triangle_unk2;
uint16_t* triangle_walkpath;
uint16_t* triangle_normal;
uint16_t* triangle_unk4;
uint16_t* triangle_unk5;
uint16_t* triangle_vertex1;
uint16_t* triangle_vertex2;
uint16_t* triangle_vertex3;
uint16_t* triangle_edge1;
uint16_t* triangle_edge2;
uint16_t* triangle_edge3;
uint16_t* triangle_adjacenttriangle1;
uint16_t* triangle_adjacenttriangle2;
uint16_t* triangle_adjacenttriangle3;
int16_t* triangle_centerx;
int16_t* triangle_centerz;
int16_t* triangle_centery;
uint16_t* triangle_unk9;
uint16_t* triangle_unk10;

// As many as "edge_amount"
uint16_t* edge_flag;
int16_t* edge_clone;

// As many as "animation_amount"
uint16_t* animation_flag;
uint16_t* animation_frameamount;
int16_t* animation_framerate;
uint16_t* animation_counter;
int32_t* animation_currentframe;
uint32_t* animation_frameoffset;

// As many as "walkpath_amount"
uint16_t* walkpath_unk1;
uint16_t* walkpath_unk2;
int16_t* walkpath_minx;
int16_t* walkpath_minz;
int16_t* walkpath_miny;
int16_t* walkpath_offsetx;
int16_t* walkpath_offsetz;
int16_t* walkpath_offsety;
int16_t* walkpath_unkx3;
int16_t* walkpath_unkz3;
int16_t* walkpath_unky3;
int16_t* walkpath_unkx4;
int16_t* walkpath_unkz4;
int16_t* walkpath_unky4;
uint16_t* walkpath_triangleamount;
uint16_t* walkpath_trianglelistoffset;
uint32_t** walkpath_trianglelist;

// As many as "normal_amount"
int32_t* normal_x;
int32_t* normal_z;
int32_t* normal_y;
int32_t* normal_overz;

// As many as "vertex_amount"
int16_t* vertex_x;
int16_t* vertex_z;
int16_t* vertex_y;
}

481
Yep, I'm working a lot on 3D exportation/importation format these days. Not on walkmeshes yet (because they have a few features that are not standard in 3D models so it'll be more tricky), but I'm starting to understand the FBX format.

482
Hum...
I couldn't successfully add a trance to Beatrix ; you need at least two things for that:
1) Making this character a permanent party member, that is removing the flag "temporary character" in the "SetCharacterData" call (in fields scripts),
2) Add a trance model to the list of character models, in the CIL "btl_init::..ctor" method.

With that, however, the trance gauge appears and fills correctly, but the game freezes once it's fully filled. So there has to be something else that I didn't spot :/
Also, the "temporary character" flag determines whether the game will use the temporary character or the permanent counterpart (Marcus/Eiko for instance). So for adding trance to Marcus, Blank or Cina, it would also require something else (maybe changing the condition (1) for the trance bar to appear).

483
Oh?
Either it's a bug, either you don't have the latest version of the tool. I hope it's the latter ^^

You can see the version in the "About" window (F1). If it's not v0.37c, get the newest version in the opening post of the thread.
If it is v0.37c, then I guess it's a bug. Maybe try to open only the Steam version? (You have to select the FF9_Launcher.exe.)

484
@sutebenukun: You access to the CIL Code using Hades Workshop, there's a panel "CIL Code", the list of classes (including "btl_calc") is on the left and the classes' methods ("CalcMain", "CalcSub_203", etc...) appear next to it once you selected a class.

You may also see the C# and CIL code using programs like JetBrains dotPeck, but it can only display it, not modify it. I don't know any free tool that allows to inject CIL code in a dll.

@elberuss: Zaghnol has a protection against Freya. If she's about to land a killing blow, Zaghnol is regenerated and doesn't die (while it's not the case for Zidane). There is a limit to that protection ; I think he can regenerate up to 5 times IIRC before Freya gets indeed able to kill him. So you'd have to attack him repeatedly with her without attacking him with Zidane for Freya to deal the killing blow.

485
@sutebenukun: Hey, glad to see you enjoy it and want to personalize it :)
Unfortunatly, it is not convenient to modify the spell effects, and you can't go very far. It's in the CIL Code, more precisely the class "btl_calc".
Hades Workshop's CIL Code is quite buggy: it sometimes crashes if the edited methods are too big. It seems that you can't edit the main method related to spell effects ("CalcMain") without crash. You can however edit the sub-methods and put the HP cost in them.

EDIT : Since then, it came to my attention that the tool dnSpy can edit the C# code directly from the DLL. I suggest to use that tool for modding the engine. The following is still useful if you want to make really small changes with HW or just to know where to look at in the C# code.

EDIT 2: Modifying spell effects is now a feature of the Memoria Engine modifier. The best way to proceed is to install Albeoris's Memoria, change the source codes that can be found in "StreamingAssets\Scripts\Sources\Battle" (with a text editor) and then run "StreamingAssets\Scripts\Compiler\Memoria.Compiler.exe", which will generate a "Memoria.Scripts.dll" that will be read by the game. No need of Hades Workshop or dnSpy: only Memoria's user version (though it can be done with the dev version as well) and a text editor.

For instance, the spell effect "Physical Strike" use the sub-method "CalcSub_203", which setups the damage for its target. What you can do is adding a script there that removes HP to the caster only if the caster is Steiner.
The C# script for removing HP to the caster is something like this:
Code: [Select]
// "flag 1" states that the spell will modify the HP (of "ct" = caster, here). Setting both flags 1 and 2 can be used for healing
v.ct_flags |= 1;
// The damage is based on caster's max hp. The operation ">> 3" is equivalent to "/ 8"
v.ct_hp = (short)(v.caster.max.hp >> 3);
But you can't write C# scripts with HW (that's where the Memoria tool is more convenient), so you need to use a CIL code counterpart:
Code: [Select]
ldarg.0
dup
ldfld 0x40007F6 // CALC_VAR::ct_flags
ldc.i4.1
or
conv.u1
stfld 0x40007F6 // CALC_VAR::ct_flags
ldarg.0
ldarg.0
ldfld 0x40007EC // CALC_VAR::caster
ldfld 0x4000229 // BTL_DATA::max
ldfld 0x4000809 // POINTS::hp
ldc.i4.3
shr
conv.i2
stfld 0x40007F8 // CALC_VAR::ct_hp
"ldarg.0" is the object of type CALC_VAR that contains all the information about the damage calculation. It was called "v" in the C# above.

Now, if I am telling you about C# code, it's because it is much more easy to read (even though it's still a programing language), and you can see here the whole class of "btl_calc" in C#:
https://www.dropbox.com/s/2k2mkezqx0loe4i/Source_BtlCalc.cs?dl=0
I added a few comments and renamed the methods "CalcSub" with less opaque names there.

The CIL script above can be used to remove HP to the caster in one of those "CalcSub" method. Verify that the hexadecimal IDs are the same with your game, which should be the case if it's up-to-date. For instance, the non-edited method "CalcSub_203" should start like this:
Code: [Select]
ldarg.0
ldfld 0x40007F0 // CALC_VAR::at_pow
ldarg.0
ldfld 0x40007F1 // CALC_VAR::df_pow
If the 0x..... numbers are different, you need to update your game beforehand (in Steam, "FF9 -> properties -> Verify the integrity of local game file").

Now, we need to add the information that only Steiner's attack should remove HP to him (he's not the only one to cast spells using that "CalcSub_203" method). You can do it like that:
Code: [Select]
if (v.caster.bi.slot_no == 3) {
    // Do you stuff
}
In CIL:
Code: [Select]
IL_POS0: ldarg.0
IL_POS1: ldfld 0x40007EC // CALC_VAR::caster
IL_POS2: ldfld 0x400022D // BTL_DATA::bi
IL_POS3: ldfld 0x4000272 // BTL_INFO::slot_no
IL_POS4: ldc.i4.3
IL_POS5: bne.un IL_POSEND
// Do your stuff
IL_POSEND: // After the "if" block

If we put that together at the start of the method "CalcSub_203", we end up with a method like this:
Code: [Select]
ldarg.0
ldfld 0x40007EC // CALC_VAR::caster
ldfld 0x400022D // BTL_DATA::bi
ldfld 0x4000272 // BTL_INFO::slot_no
ldc.i4.3
bne.un IL_003E
ldarg.0
dup
ldfld 0x40007F6 // CALC_VAR::ct_flags
ldc.i4.1
or
conv.u1
stfld 0x40007F6 // CALC_VAR::ct_flags
ldarg.0
ldarg.0
ldfld 0x40007EC // CALC_VAR::caster
ldfld 0x4000229 // BTL_DATA::max
ldfld 0x4000809 // POINTS::hp
ldc.i4.3
shr
conv.i2
stfld 0x40007F8 // CALC_VAR::ct_hp
ldarg.0
ldfld 0x40007F0 // CALC_VAR::at_pow
ldarg.0
ldfld 0x40007F1 // CALC_VAR::df_pow
sub
dup
stloc.1
ldc.i4.0
bgt IL_0055
ldc.i4.1
stloc.1
ldarg.0
dup
ldfld 0x40007F7 // CALC_VAR::tg_flags
ldc.i4.1
or
conv.u1
stfld 0x40007F7 // CALC_VAR::tg_flags
ldarg.0
ldfld 0x40007F3 // CALC_VAR::at_num
ldc.i4.1
bge IL_0077
ldarg.0
ldc.i4.1
stfld 0x40007F3 // CALC_VAR::at_num
ldloc.1
ldarg.0
ldfld 0x40007F3 // CALC_VAR::at_num
mul
stloc.0
ldarg.0
ldfld 0x40007EE // CALC_VAR::cmd
ldfld 0x400028B // CMD_DATA::info
ldfld 0x4000293 // SELECT_INFO::short_summon
brfalse IL_009B
ldloc.0
ldc.i4.2
mul
ldc.i4.3
div
stloc.0
ldloc.0
ldc.i4 9999
ble IL_00AC
ldc.i4 9999
stloc.0
ldarg.0
ldfld 0x40007F5 // CALC_VAR::flags
ldc.i4.8
and
brfalse IL_00C8
ldarg.0
dup
ldfld 0x40007F7 // CALC_VAR::tg_flags
ldc.i4.2
or
conv.u1
stfld 0x40007F7 // CALC_VAR::tg_flags
ldarg.0
ldloc.0
conv.i2
stfld 0x40007F9 // CALC_VAR::tg_hp
ret
(If you copy-paste it, verify that the "IL_POS" numbers are correct: the program tends to update them automatically and not always the right way.)
I tested and it worked wonder for me.

Now you need to do the same thing for other "CalcSub" methods so that it doesn't apply only to damaging spells.
Modifying the engine is the most tedious feature of HW, sorry. I hope it helped you though ^^"






@dclem and Lein: Maybe you can just stop arguing? You both said that you were over with the other and kept posting just to have the final word... that's ridiculous.
Lein, as it was already said, you can't expect everyone to have the same priorities as you. Besides, modding is something that requires time.
I told you that increasing the encounter rate back to normal means understanding what was changed in the Steam version. Those figures that you increased in the fields' scripts are exactly the same between Steam and PSX: if you want to have an encounter rate consistent and balanced as in PSX, that's not what needs to be fixed. If you want a quick and dirty fix, then you're done.
And yes, keeping repeating a few bullets is not going to make those go faster.

No comment about the trendy "autist" insult... That is a very dumb one.

486
@dclem: I didn't think of it, nice catch (I don't know how easily it could be fixed though... it's also an engine thing).

@Lein: I think Memoria can increase the encounter rate. It's not about "fixing it so it's the same as the PSX", but rather "enable high encounter rate cheat just like there is a no encounter cheat".
One of the problems for making this rate the same as the PSX is that I don't know exactly what was modified. See here for some details:
https://www.gamefaqs.com/boards/197338-final-fantasy-ix/75389893

487
That's because Albeoris worked hard to make the engine moddable and his way of doing things is better than mine in that regard (he has more "macros" and allows to recompile the whole engine while you can only tweak a few things with HW). It's much better to wait for a Memoria-HW compatibility than re-inventing the wheel twice. Since you care about organizing FF9 modding efficiently, you should know it's better not to do that.

Congrats on the icon script :)

488
@Lein: For icons, if the CIL mod I proposed doesn't work, then there's no solution with HW as of now.
For font, it can't be done with HW (or it is a CIL code that I don't know about), but it can be done with Memoria for sure.

@gorildo: Actually, these codes are not executed because the "if" conditions are not satisfied, except for the 1st time the character enters the team.
You can see that, for Marcus/Eiko replacement and the other replacements of the same kind, that "SetCharacterData" is out of an "if" block in order to let the (already initialized) character to get re-initialized.

Either these "if" blocks are here because they used macros, either they wrote it because it was useful for debugging purpose (they surely had a debug room that could move them to an advanced place in the game, skipping the normal initialization of the characters).

489
If the "update level" flag is checked, the character's lvl is updated to the average level of the current party members (the ones added through "SetPartyReserve"). Else, the level doesn't change (I guess it's initialized to 1 but not sure).

@Resinate: Thank you for reporting this bug. The PSX version is not my priority, but I'll check that eventually.

490
Hum... it's 0x6000B43 instead of 0x600091F.
Maybe I wrote that post before Silicon's last update.

491
For the icons:
http://forums.qhimm.com/index.php?topic=14315.msg248727#msg248727

It's in the CIL Code panel. You need to search for the class "EIcon" in the left-most list, and then "PollCollisionIcon" in the 2nd list. Then remove the eight lines of code described in the above post.
It's a bit tricky to change the engine like this, but since Albeoris did a great job for that, I don't plan to make it more convenient.

492
Oh? I didn't spot that bug... It should do the same as in the PSX version.

493
@resinate: frog catching can be accessed through "GetFrogAmount" but not through a local variables.
Reminder (this is in the help):
- Local variables area of effect is an entry. Outside that entry, a local variable can't be accessed and trying to do so will access to another local variables instead. The number of local variables (or moreover the allocation size for them) is specified by "allocate N" in the local variable panel.
- Global variables area of effect is a script. Be it a field script, a battle script (AI) or a world map script, it's a kind of variables that are shared by all the entries but not usable for long-term systems.
- General variables are shared along the whole game and also saved in Memory card / Steam saves.

I finally understood parts of your last post, but it's hard... "how to ID attacks" doesn't mean anything. I guess you mean you want to have scripted attacks like, let's say, Beatrix's ending moves, right?
You need to check how it's done in those battles (I can't check it myself right now). It mainly consists of:
1) Pausing the battle and hide the UI (some "RunBattleCode"),
2) A call to "AttackSpecial",
3) Ending the battle, optionnally flagging the enemy as defeated ("set SV_FunctionEnemy[DEFEATED_ON] =$ 1").
Another important thing for you to look at is the special attack's animation sequencing. It's inside it that you find the pieces of dialogs, which spell animation is performed, etc...

@dclem
1. That's not a bug. Freya's trance works like this.
2. You can't change them using Hades Workshop yet, but you can do it with Memoria (it's in the function "CharacterDefaultName" of the file "FF9TextTool.cs").
3. Not with HW neither. That's changing the engine quite a bit and can be done with Memoria as well, but chances are that I'll never include such a feature in HW.

494
Use this instead:
Code: [Select]
    if ( (#( SV_FunctionEnemy[HP] <=$ 10000 )) && ( VAR_LocUInt8_60 <= 5 ) ) {
        set VAR_LocUInt8_60++
        set SV_FunctionEnemy[HP] =$ FirstOf(SV_FunctionEnemy[MAX_HP])
    }
Sorry, the operator's parser is totally dumb (it has no concern for the operation's priorities). It will be fixed eventually but until then, you'll need to write a lot of parentheses.

495
I'll look into your problem resinate, but there should be a script limit for PSX. There was an efficient one at some point at least, but maybe I fuzzed with it somehow.

496
General Discussion / Re: FFX modding scene dead ?
« on: 2017-05-21 11:32:01 »
I would personally enjoy a mod with reworked sphere grid. A sphere grid where each character's path are disconnected for real (with little to no teleportation-type spheres to travel accross). FFX is a great game, but the ending super-bosses are really badly designed IMO, in term of gameplay.
That is because of (1) grinding, (2) all the characters become the same at some point and (3) the number of abilities that are useful at that point are very few.

Also rebalance Lulu's overdrive...

So yeah, even though FFX as less glaring flaws than FFVII, there's room for modding I think.

497
Hi elberuss,

You're not the first one to tell me that, but that's very strange... I have no problem at all changing enemy stats.
Are you sure you replace the files p0data2.bin and p0data7.bin after saving Steam Mod? And you replace the game's files by them?

Which enemies do you try to modify?

498
Yes, I need to implement the compatibility for upscaled textures. I'll do that probably for the next version.
Other than the displaying/exporting of the backgrounds, there should be no problem.

Also, if you want to make a mod compatible with Fraggoso's HD mod, it is quite easy: go to the panel "CIL Code -> Macros -> Custom Backgrounds", then write 64 as a parameter and then click on the "Apply Macro" button. The downside is that your mod will then be compatible only with Fraggoso's mod (or potentially the others that would double the resolution of the backgrounds) and not with the normal backgrounds.

499
@resinate: About Ultima doing multiple rounds of 9999, it is as dclem said. The guy added damage points and figure points in Ultima's spell sequencing. He also turned it into a magical attack (hence why it deals damage while it is normally not a damage-dealing spell).
However, his video works only because the damage are enough to end the battle. Usually, spell animations state when they are over, so the battle resumes after them and it can go to the next awaiting attack. That's not the case with Ultima and it's like it never ends. However, since the enemies are all dead after it in this case, there's no need to go to the next attack and the battle ends on a victory.
I don't know any way to use Ultima's spell animations properly in battle. According to my tests, it's not something that can be fixed with the current version of HW (we need to go deeper to the spell animation's structure).

About Ozma, that's strange... Can you show me the script that launches the battle? You're not talking about the non-modded way to fight Ozma, right? Cause it is perfectly possible to fight it on disc 3 in the normal game and without bug.

@dclem: The best way to learn for now is to import the "LocalVariables.hws" and try to understand some parts of the default scripts.
There are also descriptions of how the battle variables/functions work in the "Function List" panel. Here are some of the most useful ones:
Code: [Select]
Function -> Attack and AttackSpecial
Function -> RunBattleCode
Function -> BattleDialog
Variable -> SV_EnemyTeam, SV_PlayerTeam, SV_FunctionEnemy and SV_Target
Variable -> GetAttacker, GetTarget, IsAttacking, GetAttackId, GetAttackElement, etc...
Variable -> GetBattleState
Var Code -> RandomInTeam
Var Code -> [DATA_ACCESS]

500
Stop that now.

I had no reason to post anything, as there was nothing new concerning the tool and no new question (unless I'm blind).
Covarr had to act once already, that's not so you pick up the fight 5 minutes after. So dclem, stop being rude against people giving of their free time for the others, you included. And Fraggoso, there is no need for you to come to inflame the conversation.

If you have a problem with me, do it by PM. And if I don't answer in the following 24h, don't take it as an insult.

EDIT: Here we go... Thank you Covarr.

Pages: 1 ... 15 16 17 18 19 [20] 21 22 23 24 25 ... 35