How to check XP?

How I could check the experience from a unit or group of units? (The same way as do FE7 or FE6).
In this way go to the chapter A or B 23, or Karla appears in the Ch. Battle Preparations.

If it is FE8, there is patch.

NAME.en=AddEvent: Get Unit Status
INFO.en=Add Event:Get various parameters of the unit.\r\nThe result is returned in memory slot C.

This instruction can get all the values of RAMUnit status, so you can get Exp, level, etc.
If you run it against a group, it’s a bit of a hassle with SADD.

In the case of FE7 and FE6, you need to write an ASM dedicated to it.

4 Likes

That’s solved a little part, could you say to me the way to check the Lv/XP from a group? You said something about the SADD

I think you should use addition with the command to get the experience value of the unit.
The pseudo code is as follows.

Slot8 = 0; //Sum

SlotC = GetUnitStatus(Unit1 , GetLv);
Slot8 += SlotC;
SlotC = GetUnitStatus(Unit2, GetLv);
Slot8 += SlotC;
SlotC = GetUnitStatus(Unit3, GetLv);
Slot8 += SlotC;
SlotC = GetUnitStatus(Unit4, GetLv);
Slot8 += SlotC;

Slot1 = 4
Slot9 = Slot8 / Slot1  //Average

immBLT Slot8 , 40, elseLabel
     //Total Lv >= 40
     //imm instructions use Slot7 for comparison, so do not use Slot7 for aggregation.


immBLT Slot9 , 10, elseLabel
     //Average Lv >= 10

In FE8, the addition of memory slots is performed by the instruction SADD.

1 Like

Would be something how this?
image

Not quite. You keep writing 0 to slots 8/9 right before checking slot C. This doesn’t make sense.

I am not sure exactly what it is you are going for. If their combined level is >=40 or < 20 you want to give them item 0xCB? If so you’re close.

1 Like

How I could correct it?

The image is a test, the purpose that event is if the addition is true you get the Binding Blade but if false you get a dummy item, an item useless. The true purpose is check the XP between 2 groups and using this go to a diferent chapter based in the addition of the XP all characters the group.
This will be used for the Split Route in RE6 (Sacae/Illia) and chapter split route A/B (Ch.23, Ch. 25) in RE7

Export your event in ea (.event) and share it so we can show corrections, please

I’m sorry, I had to upload it to Google Drive.
Thanks for check out.

Try this

ASMC 0x918BAAD
SADD 0xC80
ASMC 0x918BAAD
SADD 0xC88
SVAL 0x9 0x28
BLT 0x0 0x8 0x9
CALL 0x591F40
SVAL 0x3 0xC8
GIVEITEMTO 0x1
GOTO 0x63
LABEL 0x0
SVAL 0x9 0x14
BLT 0xA 0x8 0x9
CALL 0x591F40
SVAL 0x3 0xA
GIVEITEMTO 0x1
GOTO 0x63
LABEL 0xA
CALL 0x591F40
SVAL 0x3 0xC8
GIVEITEMTO 0x1
LABEL 0x63
ENDA
1 Like

I tried copy with the commands of FEB and at the moment I pressed “Write to ROM” remained this:


This is right?

Well, I tested it and works but with 2 issues:

  1. The screen freezes, later of give the Item; also shows a error window of VBA requesting a new BIOS. Occured with both items.
  2. FEB show this error:

Did you try using Import Event after pasting the code I gave into a .txt / .event file?

The assembler call is supposed to be GetUnitStatus(Level) but it breaks when exported & imported again

The first sadd should say Slot 8 = Slot C + Slot 0

It is wrong both times.
You need to study and understand memory slots.
This is just a variable, so it’s not that hard.

1st:
1

The red box is unnecessary.
This is because this is the part we are using to get the average.

As for the green box, you are wrong.
The imm instruction works on SlotC, so the sum totaled in Slot8 needs to be moved to SlotC.
The movement of memory slots is expressed as an addition to Slot0.
Since Slot0 is always zero, we can copy the value by ADDing to it.
SADD SlotC = Slot8 + Slot0

2nd:

The second time, this red box is completely wrong.
Slot0 must always be 0, so you must not assign a value to it.
It is against the rules to write a value to it.
FELint also warns you of that.

After all, the first is the best.
There is no problem if you change “Slot8=Slot0 + Slot0” to “SlotC=Slot8 + Slot0”.

ok, works better, but now if the addition is false will gave 2 dummy items, and if true will gave a dummy items and a Binding Blade.

I can’t give you any advice unless you publish the data.

First, I will do some test more, if I continue having problems I will publish the data. Okey?

I think you meant to use BLT, not BGE.

continues occuring the same, if I change the command “imm BGE” by “imm BLT” .

Here is the file, the events are in the tutorial section, in event condition from the third chapter.

ups
https://drive.google.com/file/d/199nwCR3wzn34_Qbr-ZoAHwyvW_HDEl1v/view?usp=sharing

if LV <= 10 
	get ItemID:0x74 White Gem
else if LV <= 20 
	get ItemID:0x0A Binding Blade
else
	get ItemID:0x75 Blue Gem

Also, the wait in the red frame is meaningless, so delete it unless you have a specific reason.
I have changed the level requirements and available items to make testing easier.
Change to your favorite settings.