Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

How FXModel and FXAnim are linked to character Skills

Junior Spellweaver
Joined
Oct 31, 2013
Messages
122
Reaction score
41
This was requested by @Shichibukai in a thread which talk about other thing, so I open a new thread to discuss about.
The request is as follow:
@Eliana Gherbaz Hi, Can I ask a little bit of help?

I am trying to locate each TMB/TAB file are used for each skill, though it appears that the skills didn't show which of the tmb/tab files are used.

Example: IRIN TIRIKA
On the fxpc, it only provides the skill ID 1100065
and it also shows numbers on the PCSkillAction tab,
but upon checking the client, it's obvious that it's name is mMultiArrow1_2000331.
I am trying to make new skill effects for each skill, as for now, I can only change the skill models,

instead of the meteor, I can only do this for now and I also the new skill animation, but it's not included in the video.

You are right, the skills do not say which tmb or tab is using, the files in charge of giving the IDs are the .tfx.

The HTLauncher does not read those .tfx files, the one which reads them is HT3DHeaven.dll HTLauncher just stores in a table the ID and the file name to provide the name of the file to HT3DHeaven.dll when it ask for it by its ID.

.tfx files for characters skills FX are divided by Race, so for example FX for Deva/Garuda are on the fxPCRaceDevGar.tfx.

As I said before I didn't play with .tfx files and because I don't have the sources of the HT3DHeaven.dll I really don't know the whole meaning of the content stored on those files.

You have 2 ways for making the links:
1- starting from fxPC.xml file
2- starting from the .tfx file

If you know the skill name you want to link, then use way 1, but if you want to link all skills from one race then use way 2.

So for example following the skill you mentioned IRIN TIRIKA and starting from fxPC.xml, you know:
SkillID: 1100065
Activate: 1001801
Impact: 1000456

FXName for 1001801: PAR47_ATV (search on FXSkill tab)
FXName for 1000456: PAR28_ATK (search on FXSkill tab)

offset for PAR28_ATK on the fxPCRaceAsuRak.tfx : starts on 00000C84
offset for tmb ID: 00000D6C - 00000D6F value in Hex C0 84 1E 00
Because Hex values are stored inverse you use 1E84C0 in a programmer calculator so value = 2000064 that is the ID for the tmb used whic name is: mUP_2000064.tmb
one thing you may notice on the fxPC.xml is that the model and the animation only differs in the extension and the ID, so models ext are .tmb and animations are .tab, models ID starts with 20 and animations with 22, at this point you can assume that the animation that model use is mUP_2000064.tab with ID 2200064, looking again on the fxPCRaceAsuRak.tfx the next 4 bytes that follow the tmb offset are : 00 92 21 00, inverted Hex = 219200 Dec value= 2200064, that confirms the animation that model use is the mUP_2000064.tab
then, one* of the models and animations used by Impact FX for IRIN TIRIKA is mUP_2000064.

Lets see one* used by Activate
offset for PAR47_ATV on the fxPCRaceAsuRak.tfx : starts on 00010534
offset for tmb ID (4 bytes): 00010914 - 00010917 Hex Value= CB 85 1E 00 Dec value=2000331
tmb Name for 2000331=mMultiArrow1_2000331.tmb
so we can assume animation will be mMultiArrow1_2000331.tab ID=2200331
next 4 bytes on the file are 0B 93 21 00 Dec Value= 2200331

*when reading the .tfx files you will notice that FXName may use more than 1 texture file, those textures files may or may not use the same Model and Animation. the model ID offset will start 12 bytes before the texture name and is stored as I said in 4 bytes, after those 4 bytes the next 4 ones stores the animation ID. If you want to simplify your linking process you can make a binary reader program, of course even I already say where will the IDs start, you will need to find the bytes counts for those things you dont need to read (hope you know what i mean)


Hope this answer your request.

Regards
 
Last edited:
Joined
Apr 6, 2012
Messages
456
Reaction score
38
Thank you so much eliana. Now I can continue on this one. I will post some updates once I've successfully made one. Happy New Year!



One question Eliana, woult it be possible to add a new data on the xml files and add some hex data on tfx files as well? Without corrupting the file?
 
Upvote 0
Junior Spellweaver
Joined
Oct 31, 2013
Messages
122
Reaction score
41
xml file will not get corrupt because you add things, the only thing that can happen is that the data you add may not work.
with the .txf adding things again will not corrupt it (the file), but if you add things wrong you may crash HT3DHeaven.dll.

Happy New Year to you too

In my personal opinion, adding new skills will be a headache because you need to do a lot things, not only doing models, animations, understanding the .tfx content, changing the interface (UI) that is hard coded on the HTLauncher.exe and so on, that means a lot time with headaches :):.
 
Last edited:
Upvote 0
Joined
Apr 6, 2012
Messages
456
Reaction score
38
I see. I have successfully added to new animations ingame, including it's new effects, I will compile everything and show a video soon once I have enough time to record a video. Thanks again.
 
Upvote 0
Joined
Apr 6, 2012
Messages
456
Reaction score
38
Hi Eliana Gherbaz , quick question. We're currently working on a similar tool for the map, which will be used for the old engine unlike the one you have. Can you give any hints about the format description(Tantra) for the map files? Tcc, tml, tme, thm
 
Upvote 0
Junior Spellweaver
Joined
Oct 31, 2013
Messages
122
Reaction score
41
Hi @Eliana Gherbaz , quick question. We're currently working on a similar tool for the map, which will be used for the old engine unlike the one you have. Can you give any hints about the format description(Tantra) for the map files? Tcc, tml, tme, thm

If by "hints about format description" you mean how to read those files, I will pass that because it will be a very very long explanation, and most probably is that if you dont know for what is use each of those files you wont know how to use the data read.
Just to give you an example:

this is what you see on a .tml file when you read it with Hex editor:
Eliana Gherbaz - How FXModel and FXAnim are linked to character Skills - RaGEZONE Forums


and this is how it looks in a xml format (more readable form)

Eliana Gherbaz - How FXModel and FXAnim are linked to character Skills - RaGEZONE Forums

Eliana Gherbaz - How FXModel and FXAnim are linked to character Skills - RaGEZONE Forums


So .tml files contains the info of MapNodes and MapObjects, then the question will be How do I use that data right? That is why I said that the explanation will be very very long, first on how to read the data files and then on how to use them, so I pass on that (sorry)



If it helps to you:
.tcc is used like Navigation and Pathfinding, it defines the areas where characters can move, which areas are safe Zones, PVP, etc
.tme is related to water objects
.tml is the info of MapNodes and MapObjects
.thm have the terrain data that HT3DHeaven.dll needs to create the terrain Mesh
In my case I dont use: .tcc, .tme,.thm
In my case I generate the terrain by using MapData.tcm from server, then I manually apply the terrain texture, because even I use the tantra terrain texture as a base, I use Unity Splash Maps to apply better texture resolutions (tantra terrain texture resolution is really bad)
The only files and folders that I read from Tantra in order to allow my tool to generate the map are:
(example for mandara map)
Eliana Gherbaz - How FXModel and FXAnim are linked to character Skills - RaGEZONE Forums

Im not using the .tme because I use Unity water Pro to create water.
Im not using the .thm because I generate the terrain with a Heightmap that I create from the MapData.tcm
and I dont use the .tcc because I use the Navigation and Pathfinding of Unity Pro
 
Last edited:
Upvote 0
Joined
Apr 6, 2012
Messages
456
Reaction score
38
Hi Eliana Gherbaz, another question? How do I locate a specific skill motion used on a skill? After checking all of the xml files, I still can't find the .tab files used on a skill. Tantraparam and fxpc only pointed out the skill ID but it's not linked on clientres(PCAni). For example, badra skill by banar, I can only assume the skill by finding bdr or any related name to the skill on my client or by opening the motion skills on 3dsmax 1 by 1 to confirm the specific skill. I tried the same method which was mentioned in this topic but I still can't find it.

Found it already, thanks anyway
 
Last edited:
Upvote 0
Joined
Jan 4, 2011
Messages
83
Reaction score
21
@Shichibukai I want to know if you continued with FX effects or you give up, because now im working on them but I still don't get how tint is apply to fx type 1, for example this is a part of the colors that are applied to one effect which use 2 textures on BW

Eliana Gherbaz - How FXModel and FXAnim are linked to character Skills - RaGEZONE Forums


and what you get when those colors are apply is a blue fire:
Eliana Gherbaz - How FXModel and FXAnim are linked to character Skills - RaGEZONE Forums


do you know how those pair of colors works to tint the BW textures?

Thanks in advance.
Eliana
 
Upvote 0
Joined
Jan 4, 2011
Messages
83
Reaction score
21
Is itpossible to add third jobs in the game ?

Probably the answer is yes, if you know how to add the server and client logic to handle that 3rd job.

May I know, why you want to add a 3rd job to the game? I ask because nothing come to my mind to want to add a new job to the game.
 
Upvote 0
Joined
Apr 6, 2012
Messages
456
Reaction score
38
Probably the answer is yes, if you know how to add the server and client logic to handle that 3rd job.

May I know, why you want to add a 3rd job to the game? I ask because nothing come to my mind to want to add a new job to the game.

It's even hard just to add 1 new animation skill. lol
 
Upvote 0
Joined
Jan 4, 2011
Messages
83
Reaction score
21
It's even hard just to add 1 new animation skill. lol

Adding Field and Monster effects is not so hard, the only part that I found hard to understand was how the tint/colors works, because I use gradients to define colors over life time, so I thought was the same or near that. I still have some fields that I don't know its use, because I change them but nothing change on the FX, may be they are there to follow same file structure but are useless for FXField.

I still did not play with PC skills effects, so for now I don't know how much different they are from the Field ones, probably if I have time I will start playing with those next week, and if you still interest on those I can share with you what I found.
 
Upvote 0
Initiate Mage
Joined
Aug 1, 2018
Messages
72
Reaction score
10
This was requested by @Shichibukai in a thread which talk about other thing, so I open a new thread to discuss about.
The request is as follow:


You are right, the skills do not say which tmb or tab is using, the files in charge of giving the IDs are the .tfx.

The HTLauncher does not read those .tfx files, the one which reads them is HT3DHeaven.dll HTLauncher just stores in a table the ID and the file name to provide the name of the file to HT3DHeaven.dll when it ask for it by its ID.

.tfx files for characters skills FX are divided by Race, so for example FX for Deva/Garuda are on the fxPCRaceDevGar.tfx.

As I said before I didn't play with .tfx files and because I don't have the sources of the HT3DHeaven.dll I really don't know the whole meaning of the content stored on those files.

You have 2 ways for making the links:
1- starting from fxPC.xml file
2- starting from the .tfx file

If you know the skill name you want to link, then use way 1, but if you want to link all skills from one race then use way 2.

So for example following the skill you mentioned IRIN TIRIKA and starting from fxPC.xml, you know:
SkillID: 1100065
Activate: 1001801
Impact: 1000456

FXName for 1001801: PAR47_ATV (search on FXSkill tab)
FXName for 1000456: PAR28_ATK (search on FXSkill tab)

offset for PAR28_ATK on the fxPCRaceAsuRak.tfx : starts on 00000C84
offset for tmb ID: 00000D6C - 00000D6F value in Hex C0 84 1E 00
Because Hex values are stored inverse you use 1E84C0 in a programmer calculator so value = 2000064 that is the ID for the tmb used whic name is: mUP_2000064.tmb
one thing you may notice on the fxPC.xml is that the model and the animation only differs in the extension and the ID, so models ext are .tmb and animations are .tab, models ID starts with 20 and animations with 22, at this point you can assume that the animation that model use is mUP_2000064.tab with ID 2200064, looking again on the fxPCRaceAsuRak.tfx the next 4 bytes that follow the tmb offset are : 00 92 21 00, inverted Hex = 219200 Dec value= 2200064, that confirms the animation that model use is the mUP_2000064.tab
then, one* of the models and animations used by Impact FX for IRIN TIRIKA is mUP_2000064.

Lets see one* used by Activate
offset for PAR47_ATV on the fxPCRaceAsuRak.tfx : starts on 00010534
offset for tmb ID (4 bytes): 00010914 - 00010917 Hex Value= CB 85 1E 00 Dec value=2000331
tmb Name for 2000331=mMultiArrow1_2000331.tmb
so we can assume animation will be mMultiArrow1_2000331.tab ID=2200331
next 4 bytes on the file are 0B 93 21 00 Dec Value= 2200331

*when reading the .tfx files you will notice that FXName may use more than 1 texture file, those textures files may or may not use the same Model and Animation. the model ID offset will start 12 bytes before the texture name and is stored as I said in 4 bytes, after those 4 bytes the next 4 ones stores the animation ID. If you want to simplify your linking process you can make a binary reader program, of course even I already say where will the IDs start, you will need to find the bytes counts for those things you dont need to read (hope you know what i mean)


Hope this answer your request.

Regards

thankss
 
Upvote 0
Back
Top