Amazing, I've been eagerly waiting for this
I tried it for a bit, and I have a couple questions. I'm interested in triggering new battles, and making some random NPCs give gil, items and materia to the party. So I've been looking at how those things are handled inside of Hack7. I found these :
- To initiate a battle :BattleStart( XXX );
*XXX is the Formation ID in decimals. With Proud Clod, it's easy to trigger any battle you like, since you can easily convert the right Formation ID in decimals, and add this line.
First question :
/*AKAO [0xF2]( 0x00, 0x00, 0x00, 0x29, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 )*/;
What are these lines of code for ? Are they important to add, when initiating a battle ?
- To add materia to the inventory :MateriaAdd( Materia.Restore, 0, 0, 0 );
The three 0s are for the materia's amount of AP.
Here is my second question : is Hack7 clever enough to add a Bahamut materia to the inventory, if I type "MateriaAdd( Materia.Bahamut, 0, 0, 0 );" instead ? If yes, I don't know how you managed to make your program turn real words into bytes, but you rock.
- To add gil to the inventory :AddGils( XXX );
This one is easy enough. One only has to type the amount of gil instead of my XXX.
- To add an item to the inventory :ItemAdd( Item.ItemPotion, X );
X being the amount of items.
This one is confusing. Do one always has to attach "Item" to the item name ? Like :
ItemAdd( Item.ItemTurbo Ether, 1 ); ?
Also, since spaces seem to be important, with names that have a space like Turbo Ether, won't there be any problem ?
Final question, regarding the sounds played. In Hack7, whether you hear the materia or the item sound, the code line is always the same :
PlaySound( 360, 64 );
But we know that when you obtain a materia, the sound you hear is different from the one that plays when you obtain an item. In Meteor or Makou Reactor (Field editors for the PC version), the play sound calls a different byte to reflect this. So, what gives ?
...I'll eventually answer my own questions through testing if you don't have time to reply, though. But needless to say, it would save your compatriot a lot of time ^^
EDIT: Just answered one of my questions : there are no spaces inside item names. For example, when you dig the Bahamut ZERO materia in Bone village, the code is :
MateriaAdd( Materia.BahamutZERO, 0, 0, 0 );
I also checked the sleeping man's code, and I understand the need to add the "item" particle in front of the names, now. When he hands you the Bolt Ring, the script is :
ItemAdd( Item.AccessorieBoltRing, 1 );
So, I guess that Item.AccessoryBoltRing wouldn't work - I bet one would have to add the typo for the line of code to work
For armors and weapons, is it Item.ArmorMystile and Item.WeaponWizerStaff ?