27-07-2023, 04:17 PM
(This post was last modified: 27-07-2023, 04:20 PM by Almighty Jack E.)
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"
},
"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"
}
},
"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! HELP (Click to View)