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 - gjoerulv

Pages: 1 ... 40 41 42 43 44 [45] 46 47 48 49
1101
Just change the ID in the attack data ONLY (1 byte. The ID byte). The others doesn't matter when trying to create you're own unique attack, as long as there aren't 2 similar IDs used for different purposes (not counting the attack data ID). I don't remember the exact ID (who would). The reason it crashed is probably 'cause that ID doesn't exist.

1102
Archive / Re: Advanced Hex Editing Scene.bin
« on: 2007-12-27 15:21:41 »
1st of all you can insert XX 00 IDs in a 61 XX XX 92 "command". Easily by 61 XX XX 92 --> 61 XX 00 92. But the other way around you have to make the opcode push 2 bytes instead of 1. 0x60 pushes 1 and 0x61 pushes 2. Then you have to insert the extra byte.

If the ID is XX 00, and you want to replace the attack ID to a XX XX type:

60 XX 92 (The XX is from the XX 00 ID) --> 61 XX XX 92.
However the you'll never find an XX 00 ID inside a 61 - 92 "code", cause it's frankly not needed.

For opcodes for AI I can help you but not before I return to my humble abode lol. 4th Jan. have pretty much all I've jotted down there.

1103
Try to change the ID of a non shared attack that doesn't have ID = FF to A0. And then just increase by 1 or subtract by 1. I think Braver is A0 if I remember correctly. I'll send you a spell list when I get back home 4th Jan. Don't ask where to find it 'cause I don't know/remember.

1104
To make him perform it twice you have to alter the AI. Unblockable ignores Def and Mdef yes, but nor barriers. If you subtract 0x04 from the very last byte in the specific attack it will be unblock able (0xFB if only unblock able. To mix it with other attributes it will look different 'cause more is subtracted).

1105
It works perfectly? Good! As I said E-skills don't have the ID as it is in the attack data. It seems as you figured it out though. Same goes for summons and limit breaks (My safer use Meteor Raine named "Pain" which attacks 20 times lol). The NU in the attack data stands for how many times the attack effects, and AT must be 0x00 as well. If you make AT -> 00 and NU -> 02 the wing's attack will effect twice, but it will not be performed twice. In other words it will seem as the attack only effect once if it isn't meant to do so (like Comet 2).

1106
Can't you just use Hojo or something? I don't remember where it is. :P With Hojo you don't need to decompress the scene. It should be eary early in the enemy data.

1107
Archive / Re: my new FF7 enemeis youtube.
« on: 2007-12-25 16:50:47 »
Nothing new just stating the obvious. The mod is not done yet due to a project I worked on for 2 weeks after I had 3 exams in a row. I guess the release will come someday in January. And if you're looking for a little info 'bout hex-editing enemies it's plenty of info in this topic: !!!

1108
lol I've seen this before. Are you certain it is the right ID? If you placed the ID in the end of the ID list and in the enemy data instead of replacing it with despell, and didn't add additional attack data, the MP cost will be 65535. If you did it correctly Comet 2 should only cost 120 MP or so. Check the MP cost in the attack data. That could be it too. One way of finding out if the attack actually is Comet2 is to give him 65535 MP and then feed him a turbo ether before he use it.

He hasn't infinite MP but his MP is restored often, so thats basically the same i think.

1109
Correct. That should work!!

1110
Sounds right. Keep in mind that you mustn't insert bytes just overwrite. And he will not use it if you don't add it in the AI. But if you don't want to mess with AI I suggest you just swap Comet2 in with another attack. Change the ID for comet2 with another one. In Enemy Data, ID list and in the AI all the places the attack you want to swap is executed (search for the ID followed by 92).

1111
That is correct. For all "shared" spells (you know what i mean right? magics e-skills) it doesn't matter what you do to it in the attack data in the scene. The effect will be the same. Do it in the kernel. keep in mind that Big Guard will have the same effect on you as well.
That code looks correct, but I haven't anything to look it up with. Not 100% sure.

1112
Enemy data comes before the attack data. Then the attack ID list.

If you look in the wiki (scene info) find the 'Data file format' table (click here lol). You'll see the 1st enemy data is at offset 0x298. And there is a format explanation table further down. At offset 0x38 of each Enemy data there are 16 unknown bytes (as you see). Followed by 32 bytes which are attack IDs (It's says 16 on the wiki. Dunno why?). Those 16 unknown bytes are the "body animation IDs".

If you look back at the 'Data file format' table, you'll see at offset 0x840 there are 32 bytes with attack IDs, which are right after the attack data section. THESE IDs MUST MATCH THOSE IN THE ENEMY DATA!! [/important] If there are more than 1 enemy in the scene, the IDs will be in order according to what ID is 1st in the 1st enemy and so on, to the last enemy's last attack ID. It's also in order with the attack data and the attack names. In other words, all the attacks always follows the same order in all those sections. I can't say 100% sure 0x4C is the ID for Big Guard but I'm pretty sure. If It says '4C 00' for the ID in the enemy data, '4C 00' in the attack ID list (after the attack data) and '60 4C 92' in the AI all places where the attack is executed, it should work.

The ID for Wall could be stored another place as well. In the enemy data table (on wiki) you'll see there are additional 8 unknown bytes at offset 0x94. These are attack ID for attacks used in the manipulation menu, and the 1st ID here is used in 'Berserk' status. You might want to change these accordingly to how you changed the IDs, but these aren't necessarily in the same order (Safer can't be maniped or berserked though).

The ID in the attack data for enemy skills doesn't match the actual attack ID. But for magics it does. I think ID 0x00 04 (or 04 00 as read in a hex editor) is Life or something. I know 0x00 = cure, 0x01 = Cure 2 etch.

1113
You can do whatever you want, if you have the knowledge and patience that is. Most of when and how the attacks are executed is decided in the AI. To add an attack, you don't have to insert any bytes at all in the enemy data, attack data etch. Depending on how you want to use them, you might want to insert bytes in the AI. Lets say ID 1 is XX 00 and ID 2 is XX XX (examples). When ID 1 is executed it will (in most cases) be like this in the AI: 60 XX 92 (00 not included), and for the 2nd: 61 XX XX 92. The target is always decided before the execution, but sometimes the attack is stored as a temp. variable. In the last 3 fight that won't occur (I think :P), thus always having the same structure as in my examples. All the spells you share with the enemy (magic and e-skills) has the 1st structure: 60 XX 92, and the rest the 2nd: 61 XX XX 92. As you see if you want to switch an unique attack with a "shared" spell you have to insert a byte and 60 -> 61. But it's easier to switch the unique with a "shared": 61 XX XX 92 --> 61 XX 00 92.

If you want to switch an attack with your own, just overwrite the 28 bytes after the last attack in the attack data as you want the attack to be, though this isn't necessary if it is a "shared" spell (magic and e-skills). Just in case though you should do it anyway. I do lol. Then you have to add an unique ID in the enemy data and in the ID list after the attack data. If you want the attack to be a "shared" type you must know the exact ID instead of making up one. So It'll be a XX 00 type ID.
In the enemy data you have to add (overwrite a 0xFF byte. Only in the AI is it possible to insert bytes without messing up the scene) a body animation to the attack as well. This isn't hard at all. Most enemies have 2-3 body animation. The body animation has just 1 byte and is tied to the corresponding attack in the same order as they are stored. The most common IDs here are 0x03 and 0x04. The 1st is often tied to a physical, or the most common body animation etch. I think 0x03 is tied to Safer's "wing" (rusty memory), and that Deen and Pale Horse is tied to 0x04. As you see Safer has many body animation (he should have 0x0D, 0x0C etch too).

I read your reply in my topic. Never thought of that lol. Thank you I'll check it out when I return home and send you those files  :-D.

1114
If you want an attack to target all, change the value in TG (see above) to 0x07.

To make the game print anything when Safer use his wing, you must insert a string in the AI script. 0x93 is the opcode. Then write the desired string and finish with 0xFF. It should appear right before he uses "wing" in the AI. I don't remember it's ID, but it was the 1st attack in the list was it not? Just check that ID in the ID list below the attack data. Lets call that ID XX XX. Now search for 61 XX XX 92 and you should find it. Most of the attacks in the game are tied to the animation (not the attack animation but the body animation) when the name is displayed. Palmer's attacks uses the string command to display it's name (mako gun or something) so you could look there to see how it's done. But keep in mind if you insert bytes (and a string requires lots of bytes) in the AI you have to update to goto parameters and the pointers as well. In other words it is tedious work with a hex editor.

Attacks you share with the enemy can be changed in Kernel2 yes. All others must be changed in the scene.

The ID in the attack data (see above) decides the animation for spells. But it doesn't simply help to change the ID for Wall to make the Big Guard effect. In fact it doesn't matter what you do to the attack data. You have to change the attack ID in the enemy data, the attack IDs after the attack data and in the AI script. This goes for all spells you share with the enemies. But for all other attacks you can simply change the ID in the attack data. I don't remember the ID for Wall but for Big Guard it is 0x4C. To find the ID for Wall simply check it where the Wall data is (in attack data). Let's call Wall's ID XX. Search for XX 00 in the enemy data and right after the attack data as well. In the AI search for 60 XX 92 (it should be an ctr+f function in the hex-editor). Now change all the XX values with 4C and voila! He uses Big Guard instead of Wall.

I don't have any list here. Try searching for "scene edit", "hardcore mod" or something smart. It should be somewhere.

EDIT: Marry Christmas btw :D!!

1115
No worries! As you know the attack names are also stored in the scene. And it comes after the data. Between the names and the attack data are the attack IDs, which you shouldn't bother with. The names are actually readable in a hex-editor (if you can see ASCII signs as well), or you could just view the attack names in a scene editor (ex Hojo). The important thing is that the attack names are stored in the same order as the attack data. Safer's wing attack doesn't have any name, thus the 0xFF padding. If I remember correctly, Deen is the 1st attack with a name. If you know the order of which the names are lined up, the attack data is lined up the same way. The attack IDs as well.

Other ways of recognizing an attack is knowing the exact effect of the attack. Some attacks are just animation for instance, and will not ave any power or element etch (usually only 0xFF and 0x00 bytes). Attack that cause status effects will, of course, have data in the "Status" section of the attack.

1116
FF7 Tools / Re: [Release] Hojo 1.0 - enemies editor
« on: 2007-12-23 12:41:31 »
Also if you add an AI editor. That is the most tedious part when editing.

1117
He, he. You have to look in the Scene. Safer's data is, as you know, in scene 232. It doesn't exist in the kernel. In the kernel all the attacks you can use is (Magic, Summons and E-Skills). The attack data starts at offset 0x4C0 in each scene. Or in other words byte nr. 1216 counting the 1st as 0. If you manage to make your hex editor read 28 bytes pr. line it's much easier to edit the attacks, 'cause each attack is 28 bytes long. Depending on the hex-editor it may not be possible though. Finding offset 0x4C0 shouldn't take too long, 'cause there are usually an address line in the editor (which u prop knew :D).

And I'm currently visting my parrents for Christmas :P. So basically I can't share anything, 'cause I didn't bring it. Sorry... However, if you want to try to insert a byte in the ID, you must increase all the pointers by 1 in Bizarro's pointer section, which I describes above (the length for the pointer section is the 1st section for each enemy's AI. It's always 16 x 2 bytes long, and it points to the offset to each section, counting from the beginning of the pointer section (phew)).

There aren't other enemies in the "Bizarro scenes" so you don't have to worry 'bout the AI offset pointers in the beginning (at 0xE80). But if there were, you'd have to increase those with 1 as well.

This is the easy part. The tedious part is to locate every "goto" opcode in the set-up section of Bizarro's AI. The parameters of those have to be increased by 1 as well. those opcodes are usually 70-72 and have 2 bytes as parameter, to indicate where in the section it'll jump to. If you have M4v3R's Scene editor v1.3.0 there is a AI viewer, which explains the opcodes.

1118
Check out the wiki (as you have). There is pretty much all the info. Bizarro's and Safer's HP is set in the AI script, as well as Jenova's arms. When editing with hex editor, editing the AI is a tediouis thing. Jenova's arms and Bizarro's HP is set by 2 bytes while Safer's is set by 3. Safer is ok but the other's are limites too 65535, 'cause onlt 2 bytes decides theier HP. Howerver you could change the oppcode so it'll read 3 bytes instead of 2.

If you download a hex editor the AI script is located at 0xE80. The 6 1st bytes are just pointers to where the different AI's begin after E80. The 1st enemy's AI script is always located 6 bytes after the start, counting the 1st as 0, thus 00 06 (0600 as it is read in the hex editor. Memory works this way). All the enemies AI you are looking for are always the 1st one starting at 0xE86.

The 1st section of every enemies AI are also pointers. Each pointer here are always, also, 2 bytes long. There are also always 16 pointers but 0xFFFF means no section. Most of the pointers will probably be 0xFFFF cause an enemy usually don't have more that 3 sections. The 1st pointer points to where the enemies setup is. It's always the 1st pointer and is always located at 0xE86 for the 1st enemy in the scene, and thats the section you want to edit. The setup pointer is always 0x0020 (or 20 00 as it reads in the hex editor).

And the start of the actual AI script is fr the 1st enemy always at 0xEA6. For Bizarro, Jenova and Safer this is the setup section, and it's here the HP is decided. In scene 234 (one of Bizarro's scenes) the main body's HP is decided at 0xF36. In a hex editor it would read: 61 40 9C. 61 indicates that 2 bytes are pushed to the stack of the AI script. In the case 0x9C40 (40000). You understand that is HP would be max 0xFFFF (65535). If you change the opcode to 62 it will push 3 bytes, thus allowing you to further increase his HP (max 0xFFFFFF or 16777215). HOWEVER if you change the oppcode (61 -> 62) you'll have to insert a byte. And that pretty much messes up the whole AI for all enemies in that scene. If you don't know what you're doing you shouldn't do this. I managed to do this, so if you want my files and edit 'em I can give them to you if you wish.

Safer HP calculation is a bit more complicated. It stores a temp variable: 320000. That variable changes value depending on how many characters are at lvl 99. Then Safer's HP is set to that value + the Jenova bonus if you used KOTR on her. But it's this value that you wan't to change. It's located at 0xEEC. And it already pushes 3 bytes so don't worry (62 pushes 3 bytes remember). You want to increase it to increase his HP of course (I changed it to 0x27100, or 00 71 02 as it reads in the scene).

The attacks are a bit easier to handle since they are always stored at the same place in each scene. The 1st attack begins at 0x4C0. All attacks are 28 bytes long and there are 32 attacks max. Here are a brief explenation, but most of it should be covered in the wiki.
Code: [Select]
2 of Safer's attacks:

AC: Accuracy
IA: Impact animation (usually only for physical)
TA: Target Animation
MP: MP cost
CA: Camera movement???
TG: Target
ID: Attack's ID (usually only used for spells)
TD: Type damage. 11 = physical 22 = magical
PW: Attack power. The one you want to alter to increase damage.
RT: Restore type.
SE: Status effect. 3F = 100% cause status 7F = 100% remove status.
AD: Additional targets??
NU: Number of times the attack is used in 1 command
ST: Status Afflictions
EL: Element
SP: Special (reflectable, unblockable etch).

AC|IA|TA>---<MP--|-----CA----------|TG|ID|TD|PW|RT|SE|AT|NU|----ST-----|-EL--|-SP-->
FF 0B 00 FF 00 00 E2 00 FF FF FF FF 01 FF 11 18 FF 3F FF FF 00 00 00 06 00 04 FF FF (Physical Wing Attack. Has no name)
FF FF 00 FF 00 00 FF FF FF FF FF FF 05 75 22 19 FF FF FF FF FF FF FF FF 00 00 FF FF Deen

1119
Archive / Re: Item Stat Editing
« on: 2007-12-12 15:55:39 »
http://wiki.qhimm.com/FF7/Kernel/Kernel.bin

This is a link to FF7's Kernel info. All your requests can be done by editing the kernel. But you need to decompress the files 1st. There is a program available for compression/decompression (don't remember where. Try searching for "decompress kernel.bin" or something). However I don't think there are any programs for the editing itself. You'll have to do it manually by a hex editor.

1120
Archive / Re: my new FF7 enemeis youtube.
« on: 2007-12-10 04:51:25 »
Sounds fair! I'll do it when I'm done moding! By the way added 2 new battles with the soldiers, and replaces the previous with a better one.

I noticed the guy in the back row jumps in to the front at the start.

Jepp he changes row. He does it often. The others don't though.

1121
Archive / Re: my new FF7 enemeis youtube.
« on: 2007-12-09 01:10:39 »
Added another rather intresting and tough fight. Locke, Venus & Theo. Here are some screens:
   


The vid is in the 1st post. Very crude!!


1122
Archive / Re: New Game +
« on: 2007-12-06 11:59:51 »
It's easier to just use jenova or another save editor and make it the way you want it. You could fieldscript the necessary parts of the game over again, which is a lot of parts. If anyone's up to it that is. Or just go debug mode. In the debug it's possible to set story flags, but I don't know if this will mess up your game if you want to start all over again.

1124
Order the game and do it yourself lol. But really the jap version is much better. If they had used that in the English version I would consider using that. I switched 'cause the English is way too long to watch several times in a long fight.

1125
General Discussion / Re: How do you feel About...
« on: 2007-12-03 11:12:11 »
Of course they are... I just can't stand forum nerds stating their opinions as facts. I'm not saying u are one of those lol, so don't interpret it that way.  :-D

But still I'm optimistic on how FF is evolving. We have plenty of turnbased FFs already, and developers always want to create something new.

Pages: 1 ... 40 41 42 43 44 [45] 46 47 48 49