Geordan9 wrote: ↑Wed Mar 07, 2018 7:35 am
So I started looking at the Hero Colosseum to see what I can do and I've found the Figure Exp "currency" to power up figures, the Master LV., and the Master Exp. These three are in the same situation as the Zeni and attribute pointers in that they are under the influence of the xor operator making them not super convenient to edit, but I just added to the decrypt script I had. Only issue right now is that you can have a total of 250 figures in your collection and I have the addresses to change them, but... 250... I am unsure how to go about making this convenient. Any ideas or insight in scripting I should know? The current character script is useful to edit just the character selected, but the issue is that I don't know any value that I can use to specify my selection or anything else that would narrow it down.
Well, you could always do something like:
Code: Select all
[ENABLE]
{$lua}
local form = createForm()
local label = createLabel(form)
control_setCaption(form, "Figure slot selection")
control_setCaption(label, "Select the figure slot you want to edit:")
slot_box = createComboBox(form)
slot_box.setTop(20)
for i=1,250 do
slot_box.items.add(string.format("%s%s", "Slot ", i))
end
slot_box.onChange = function(sender)
unregisterSymbol("slotoffset")
local hexItemIndex = string.format("%x", sender.ItemIndex+1)
registerSymbol("slotoffset", hexItemIndex, true)
end
{$asm}
assert(true)
[DISABLE]
This should create a new window in which the user can select which slot they want to edit and write the result into a symbol for use in your pointer. Not actually sure if this would work, seeing as I'm a CE noob, but...
edit:
Just realized the symbol should be in hex instead of dec, so I've modified the onChange function accordingly.
edit2:
Just tested it and made some modifications to the code snippet.
Since CE does not let me assign 0 to a symbol I had to increment the ItemIndex. Because of that you'll need something like 0000-FFFF+FFFF*slotoffset (where FFFF is the actual length of the figure entry and 0000 represents the actual offset, like 8304 in the Save Slot Character Name) in your address.
I hope my explanations are understandable...
edit3:
Attached a cheat table that should illustrate it better, while also being a workaround for those (like me) that can't get the Current Character script to work as gamedata seems to point to an address that's 16 bytes off (possibly due to using a modded and/or cracked game)...