English (American)  中文(简体)
This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Make a Character Execute a Move While Performing a Skill
#1
HOW TO MAKE A CHARACTER EXECUTE A SKILL WHEN PERFORMING A MOVE
In this tutorial, I will show you how to make a character perform a skil, regardless of wether the skill the character is performing is completed or not!

In this tutorial, I will use Iczzy as an example. The corresponding spt file of Iczzy is 441- Data.Global_iczzySpt.zip
What I want to do is; When Iczzy is performing the ICECOL, (ie. the Ice Explosion), I want him to also be able to do the ICECOL again.

You may not understand now. But watch the video first, then, come back to the tutorial!


First, you need to be familiar with HFW, then, you also need to have some basic knowledge about the Spt.json files.

Now what we need for what stated above to be possible is only HFW and the HF you wish to modify, In this tutorial, I am using HFv0.7+.exe

1. Open HFW
2. Give it the HF/HF MOD you wish to modify (You can drag and drop the exe/swf inside HFW OR TYPE IN THE CORRECT PATH) and hit enter (Note: Some executable versions HF mods can not be modified)
3. Press 5 (Edit data)
4. Press 1 (List data files)
5. Press 2 (Export data file(s))
6. Type 441 and hit enter. (you will get a zip file containing Iczzy's spt in the folder which HFW was run from)
7. Extract the Spt.json
8. Open it with a text editor (I recommend you use Notepad++)
9. The skill we want to modify is ICECOL (case sensitive) as it the skill of Ice Explosion.
Press Crtl+F to find and type ICECOL (you may want to toggle on "match case")


You should find something similar to this:

"81": {
                "HFW_classNameXXX": "Data.Action",
                "selfLoop": false,
                "nextAi": -1.0,
                "allowTurnFace": false,
                "nextAti": -1.0,
                "frame": null,
                "aiz2": 250.0,
                "special": 0.0,
                "landAti": -1.0,
                "landAi": -1.0,
                "nextAgi": -1.0,
                "name": "ICECOL",
               "a_keyTgr": {
                    "HFW_ArrayLenXXX": 1,
                    "0": {
                        "HFW_classNameXXX": "Data.A_KeyTgr",
                        "ai": 4.0,
                        "atf": true,
                        "hp": 0.0,
                        "ati": 3.0,
                        "pollhp": 0.0,
                        "kl": 1.0,
                        "k": "a",
                        "mp": 50.0,
                        "agi": 0.0,
                        "rkt": false,
                        "kr": "a"
                    }
                },
                "landAgi": -1.0,
                "frameIndex": 231.0,
                "aix1b": -750.0,
                "mpBurn": 0.0,
                "index": 81.0,
                "aix2": 750.0,
                "aiz1": -250.0,
                "nextActionName": null,
                "type": -1.0,
                "aix2b": 750.0,
                "aix1": -750.0,
                "landActionName": null
            },

I do not have the strenght to explain all these parameters.
Look at this "81: {...},

If you look closely, you would notice that a parameter called "a_keyTgr" is set to null which means, during, this skill, pressing any other key(s) will have no effect on the character, till the skill is finished or is interrupted.

So, I want Iczzy to perform another skill (the same skill) during this move.

10. Find "STAND" (case sensitive)

 
                "name": "STAND",
                "a_keyTgr": {
                    "HFW_ArrayLenXXX": 3,
                    "0": {
                        "HFW_classNameXXX": "Data.A_KeyTgr",
                        "ai": 3.0,
                        "atf": true,
                        "hp": 0.0,
                        "ati": 2.0,
                        "pollhp": 0.0,
                        "kl": 3.0,
                        "k": "gra",
                        "mp": 0.0,
                        "agi": 0.0,
                        "rkt": false,
                        "kr": "gla"
                    },
                    "1": {
                        "HFW_classNameXXX": "Data.A_KeyTgr",
                        "ai": 3.0,
                        "atf": true,
                        "hp": 0.0,
                        "ati": 3.0,
                        "pollhp": 0.0,
                        "kl": 3.0,
                        "k": "grj",
                        "mp": 125.0,
                        "agi": 0.0,
                        "rkt": false,
                        "kr": "glj"
                    },
                    "2": {
                        "HFW_classNameXXX": "Data.A_KeyTgr",
                        "ai": 4.0,
                        "atf": true,
                        "hp": 0.0,
                        "ati": 3.0,
                        "pollhp": 0.0,
                        "kl": 3.0,
                        "k": "guj",
                        "mp": 350.0,
                        "agi": 0.0,
                        "rkt": false,
                        "kr": "guj"
                    }
                },
                "landAgi": -1.0,
                "frameIndex": 1.0,
                "aix1b": 0.0,
                "mpBurn": 0.0,
                "index": 1.0,
                "aix2": 0.0,
                "aiz1": 0.0,
                "nextActionName": null,
                "type": -1.0,
                "aix2b": 0.0,
                "aix1": 0.0,
                "landActionName": null
            },
			
	

Now, you can easily see all the skills Iczzy can execute while standing, so, I want the last skill to be performed again, so I will take the last one.

Now,what you want to do is;
(a) copy the skill you want
(b) put it in ICECOL
© set the keys


This is the way I know of doing this;


11. Copy this (Under the "STAND"):

"a_keyTgr": {
                    "HFW_ArrayLenXXX": 3,
                    "0": {
                        "HFW_classNameXXX": "Data.A_KeyTgr",
                        "ai": 3.0,
                        "atf": true,
                        "hp": 0.0,
                        "ati": 2.0,
                        "pollhp": 0.0,
                        "kl": 3.0,
                        "k": "gra",
                        "mp": 0.0,
                        "agi": 0.0,
                        "rkt": false,
                        "kr": "gla"
                    },
					

Now, go to ICECOL again, delete the whole of "a_keyTgr" and paste it there like this:

                 "a_keyTgr": {
                    "HFW_ArrayLenXXX": 3,
                    "0": {
                        "HFW_classNameXXX": "Data.A_KeyTgr",
                        "ai": 3.0,
                        "atf": true,
                        "hp": 0.0,
                        "ati": 2.0,
                        "pollhp": 0.0,
                        "kl": 3.0,
                        "k": "gra",
                        "mp": 0.0,
                        "agi": 0.0,
                        "rkt": false,
                        "kr": "gla"
                    },
					

Now, go back again to "STAND", copy the skill with serial number "2" like this
"2": {
                        "HFW_classNameXXX": "Data.A_KeyTgr",
                        "ai": 4.0,
                        "atf": true,
                        "hp": 0.0,
                        "ati": 3.0,
                        "pollhp": 0.0,
                        "kl": 3.0,
                        "k": "guj",
                        "mp": 350.0,
                        "agi": 0.0,
                        "rkt": false,
                        "kr": "guj"
                    }
                },

Go back again now to ICECOL and replace the whole of this:

"0": {
                        "HFW_classNameXXX": "Data.A_KeyTgr",
                        "ai": 3.0,
                        "atf": true,
                        "hp": 0.0,
                        "ati": 2.0,
                        "pollhp": 0.0,
                        "kl": 3.0,
                        "k": "gra",
                        "mp": 0.0,
                        "agi": 0.0,
                        "rkt": false,
                        "kr": "gla"
                    },
					
And replace it with this:
					"2": {
                        "HFW_classNameXXX": "Data.A_KeyTgr",
                        "ai": 4.0,
                        "atf": true,
                        "hp": 0.0,
                        "ati": 3.0,
                        "pollhp": 0.0,
                        "kl": 3.0,
                        "k": "guj",
                        "mp": 350.0,
                        "agi": 0.0,
                        "rkt": false,
                        "kr": "guj"
                    }
                },

Change the serial number from "2" to "0"
					"0": {
                        "HFW_classNameXXX": "Data.A_KeyTgr",
                        "ai": 4.0,
                        "atf": true,
                        "hp": 0.0,
                        "ati": 3.0,
                        "pollhp": 0.0,
                        "kl": 3.0,
                        "k": "guj",
                        "mp": 350.0,
                        "agi": 0.0,
                        "rkt": false,
                        "kr": "guj"
                    }
                },	
Change "mp": 350.0, to "mp": 50.0,
Change "k": "guj", to "k": "a",
Change "kr": "guj", to "kr": "a"
Change "kl": 3.0, to "kl": 1.0,
Change "HFW_ArrayLenXXX": 3, of ICECOL to "HFW_ArrayLenXXX": 1,
(note, we are modifying the ICECOl NOT the "STAND")

I may/may not have time to explain in details the meaning of these parameters.

your final ICECOL should look like this


				"name": "ICECOL",
                 "a_keyTgr": {
                    "HFW_ArrayLenXXX": 1,
				"0": {
                        "HFW_classNameXXX": "Data.A_KeyTgr",
                        "ai": 4.0,
                        "atf": true,
                        "hp": 0.0,
                        "ati": 3.0,
                        "pollhp": 0.0,
                        "kl": 1.0,
                        "k": "a",
                        "mp": 50.0,
                        "agi": 0.0,
                        "rkt": false,
                        "kr": "a"
                    }
                },
				
			

Now, save that file (Spt.json), copy it back to the zip file you extracted it from, paste it there (you may be asked if you want to overwrite the existing Spt.json, simply click yes).
Use HFW to replace Iczzy's spt with the modified one now.
Export exe or swf

When using Iczzy to perform the explosion, press a to perform another Explosion immediately!

[Image: Jack-E-s-Signature.png]
Reply
  


Messages In This Thread
Make a Character Execute a Move While Performing a Skill - by Almighty Jack E - 27-07-2023, 04:17 PM

Forum Jump:


Users browsing this thread: 1 Guest(s)