Hex 3: Effect on Weapons

Saturday, June 13, 2009

Ok so another day another guide! Not really, but this one is pretty exciting (granted people actually catch on and aren’t afraid of hex editing).

This will be a multi-part guide and will be worked in the normal series of Hex editing guides (so be sure to read the previous ones). Since this is somewhat technical, I have decided the best way to teach something like this is to give you specific files to work on, that way we can walk through it step by step without working on different things, which naturally causes confusion.

In this guide I’m going to tell you how to permanently attach the sparkly part of the firework “Sparkling hand” to the Dagger Carnwenhan for Mithra, and also explain how to make it repeat indefinitely. Why Carnwenhan? Cause I think its purdy. Why Mithra? Because I think they’re purdy.

In this package I will include a few files to help you along your way to sparkly doom.
First I will give you a semi-isolated sparkly effect (I can’t do everything for you or you wont learn anything!) this will be the main file we will be working on. Then I will also include all of the skeleton files that have been edited to have weights for every type of weapon in the game.

!Get the Pack here!

(Everyone say Thank you Pixel! He edited them all but Galka cause I was lazy :B )

So first off we need to install the skeleton files, place them all in their designated places and be sure sure sure to back them all up before you replace them. They are, after all, your skeleton! Without that you’re a blob on the floor (literally!). Here is a list of their dat numbers in case you need a reminder.

Now we need to do something with the sparkle dat. What I do (And have recently forced Pixel to do) is replace ROM/10/8.DAT. This is what I call the ‘gimp’ dat because its like one of those freaky sex gimps that get whipped around and stuff… yeah whatever.


Anyways the reason why I replace this file is that in AltanaViewer it is the first effect on the list in the “Effect” folder called “miss”. Nobody seems to know what it is, nobody has seen it in game, that must mean it’s not very important, so it can always just be used to your advantage without messing stuff up in game with tests.

Ok so once you have both the skeleton dats replaced, and the sparkle dat in, check it out in Altanaviewer. You should see your basic sparkle hand effect happen on your hand without any item use motion or anything (I have taken out some effects, motion, and sound before to shorten the guide). This is pretty cool right? But… whats that?

Does anyone else see this little sonic boom wave flash kick or something aside from the sparkles? I don’t want that on my weapon all the time! You don’t either! Let’s take that off… how do I do that?

What are you looking at me for?

Fine. Well first we need to figure out which ‘sub schedule’ is calling this sonic boom type effect. How we do this is pretty simple. Open up the sparkle dat in the hex editor and do a search for “main”. This will take us to our main schedule where you can see it is calling 3 sub schedules: pk00, kr00, and rn00. Now the way I go about figuring which one we don’t want is, in the main schedule, highlight a name and erase it by filling it with 0’s on the HEX SIDE. So for this example, lets start off with pk00. Highlight pk00, right click, and go to “fill...” then enter 00 as the fill number and click ok.

Save, no backup needed, then close AltanaViewer (if it was already open) and open it again. Then play the effect and see which part of the effect was killed off. Hmm… well… I guess it wasn’t pk00 because the sonic waves are still there ><; Back in the hex, type back in pk00 where it was (by this I mean highlight the 4 spots where pk00 would be and type it in so it will replace the 00s you filled in back to normal pk00, remember we don’t want to change the block size), and try killing off kr00. Ugh… not kr00 either, that has to mean its rn00. So go back type back in kr00 and kill off rn00 just to make sure.

Yup that was the sub schedule that was the sonic boom thing. So what do we do now? Well we need to remove rn00’s sub schedule and data from the dat file (This is so we can condense the size of the file, that way Jamesy wont be like “That looks like it will lag me, I hate it.”).
So these effects are made up of the 3 parts Pixel covered in the last guide. There is the Sub schedule, the effect modifiers, the model data, and the texture… oh that’s 4… shut up. Anyways how do we know what to delete?

Well first the most obvious is the sub schedule, but lets not kill that off yet, because that has all the triggers to the other things we need to delete (it will tell us all we need to know). So do a search for rn00, it should only bring up 1 result (2 if you put it back in your main after deleting it). Go there and that will take you to its sub schedule.


I don’t know if Pixel covered the structure of these sections or not, but this will be a lesson of that. In every single sub schedule it has the same structure. In this example you can see there is an “rn “ (r n space space) This is the sub schedule calling the model data titled “rn “ then below that is some random jibbajab (covered in next guide) and you can see rna0. Rna0 is the effect modifier being called. These are in the same general area in every sub schedule, so if you scroll up a bit you will see pk00’s sub schedule and it has the same type of stuff, calls for the model data “pk “ and the effect modifier pkx0 2 times.

Anyways back to rn00 we know we need to find the effect modifier rna0 and delete that. So do a search for rna0, this will bring up 2 results, one will be the one you are already looking at, and the other will be the effect modifier section (these are always under the main schedules, and above the effect model data). Its just a tiny 3 line section above pkx0 so highlight that and delete it to oblivion.


So that’s gone, now we need to find “rn “ model data. Do a search for “rn “ (r n space space), this time 5 instances will come up! One will be the one in the sub schedule of course, the next 2 will be the header of the model data, and the name of the texture that the model data is using, then the last 2 will be the texture header and title of texture. So click on the 2nd instance and highlight from “rn “ down to where the next model data starts, in this case its “pk “ then delete that section, then go down to the texture titled “rn “ and highlight that whole section and delete it.


Finally do a search for rn00, go back up to the sub schedule, and bid it adeu while you delete it. After that is done, you have successfully rid the effect of the sonic waves. Rejoice! (relocating to toilet to write next part, I need to poop)

Ok so now what should we do, we have gotten rid of that, we could attach it to the dagger now, but.. if we do that then it will only do a sparkle cycle and then stop… we’d have to keep re-equipping just to see the effect! That will not do, so lets figure out how to make it so it will repeat forever and ever. This next part might not make sense because… well it just doesn’t, but look at this picture.


The ‘upper section’ of sub schedules always generally look the same with the 2 lines of 803F …. And 2 lines below the 2nd line of 803F inbetween where the 2nd and 3rd 803F would be is where you need to change 00 (or whatever is there in the case of other dats) to 10. Why? I don’t know. How did I figure this out? O M G weeks and weeks and weeks of “wtf WTF”. I suppose we could think of this as binary where 1 = on and 0 = off. Lets just say that single byte needs to be turned ‘on’ and by turning it on, it makes it so it repeats forever and auto-boots the code upon entry in the game.

So anyways apply this 10 to the pk00 and kr00 sub schedules to turn them on and we’ll move on.
So now we have isolated sparkles that auto-boot, everything seems pretty sweet, but its still on your hand! So now we need to weight them to the dagger.

To do this we need to use this chart of weights that I made. These are kinda like in VRS where skeleton 7=head or something, think of it like that except these are weights Pixel and I made where Skeleton-3903 =Dagger Main. We made sure these weights were shared across the races so when you port your weapons you wont have to re-weight the effect, just copy paste.

So since we are weighting to dagger, we need to look at the chart and see that 3903 is the Main Dagger. Where do we put this? Well if you go back to the sub schedule of pk00 you can see right below the “pk” in pk00 on the hex side it says “A100”, now A100 represents the right hand, and that is what its weighted to currently. So we need to replace the A100 with the 3903. Do this for pk00 and also kr00. Once that is done you are essentially done!


You have successfully:
Got an effect
Found what was not needed
Sought out what was not needed and destroyed (condensed to lower file size)
Triggered the effect to always be on and repeat
Weighted the effect to the main dagger

Good job! Now this might seem weird, but now that all that is done, the effects will auto trigger, thus having the main schedule is not needed now, so go ahead and highlight all of the main schedule and kill that off just to save a few more bytes in file size, then basically add it like I explained previously in the hit effect guide.

Copy the whole dat, paste it in the Mithra Carnwenhan dagger dat (Rom\205\57) in front of infoE or end…… (At the bottom of the dat) after that is done, test her out in game and see how it goes! Did it crash? Did you fail? I hope not!


Remember all this can take a long time to get used to and it has taken me months and months just to figure this much out so don’t get discouraged if you didn’t get it right the first time. Just be sure to read carefully and do it step by step, before you know it you’ll be making this stuff easy peasy!

I will make a thread for problems and stuff on FFXIDats because it will be easier for you to comment/etc there since you already have a login and stuff. So good luck and I’ll see you on FFXIDats! -Mooshy



(Next guide will cover positioning/rotation/size of effects)

0 comments:

Post a Comment