How do I make it so this dialogue only plays if this character is alive?
How do I make a village check who’s visiting?
How do I make a gaiden chapter with a turn limit to unlock?
How do I make it so X happens when Y is the case?
How do conditionals in events work?
I’ve explained conditionals so many times that I almost want to make a video on it, but I don’t know how to make videos and don’t quite have the energy. So I’ll grab one of my more in-depth examples from Discord, answering “Does anyone know how to write it so an event happens only if a certain unit visits a house?”
Alright, so, let’s start with the general idea. What you want to do is:
Check if the visiting unit is that specific unit
If they are, do the special thing
If they aren’t, do something else
This kind of thing, where what happens depends on some condition, is done in events with conditional branches, which generally take the following form:
Get the value of something
Compare the resulting value to something else, if the comparison holds true skip to a Label
If the comparison was not true, this part will run
Label to skip to
Or, when you have two different cases instead of just "do the thing or don’t do the thing:
Get the value of something
Compare the resulting value to something else, if the comparison holds true skip to First Label
If the comparison was not true, this part will run
Skip ahead to Second Label
First Label to skip to
If the comparison was true, this part will run
Second Label to skip to
In this case, the value you want to check is the ID of the active unit. There’s a command for “Check if active unit matches specified ID”. This command, like any other “get this value” or “check this condition” command, will store its result in Memory Slot C – specifically, it will store a 0 there if the active unit does not match, or a 1 if the active unit does match. All yes/no “check” commands should return 1 if the check is true, or 0 if the check is false. If you’re ever unsure, Builder includes notes on each such command detailing its return cases when you hover over its description in the event editor:
Next, you need a branch command to check the result and determine whether or not to skip ahead. There are a lot of these – BEQ (branch if equal) and BNE (branch if not equal) are the most common. These commands compare the values in two different Memory Slots. Most often, you will compare Slot C, the result of the previous get/check function, with Slot 0, which always has the value 0. So, if Slot C equals Slot 0, the result was 0, and the active unit does not match. When you need to compare Slot C with a nonzero value, you can use the “Imm” variants of these commands, Imm BEQ, Imm BNE, and so on, which directly compare Slot C to a specified value.
Finally, you use Labels to mark where in the event to skip to. Each label must be unique within the event – you can only have one Label 0, Label 1, and so on in each event, but multiple separate events can each have their own Label 0.
In addition to skipping to a label when a certain condition is true, you can also unconditionally skip to a label with GOTO, the command to go to a label.
So, with that, we have:
Check if active unit matches [Unit ID of the special unit]
BEQ if [Slot C] == [Slot 0] go to [Label 0], else execute following
[Whatever happens if that unit is the one visiting]
Label [0]
Or, if you want it to do something different when another unit visits instead of doing nothing:
Check if active unit matches [Unit ID of the special unit]
BEQ if [Slot C] == [Slot 0] go to [Label 0], else execute following
[Whatever happens if that unit is the one visiting]
GOTO [Label 1]
Label [0]
[Whatever happens if that unit is NOT the one visiting]
Label [1]
This example I screenshotted from my hack, doing exactly the situation described above, also sets and checks a Flag to make sure it doesn’t give the item twice by putting a conditional block inside a conditional block, since it’s in a house that can be visited multiple times. You can also reference the village in Chapter 2 of vanilla FE8, which has a different result if Eirika visits it vs if anyone else visits it.
Here’s another example from my hack: a yes/no branch for a gaiden chapter, requiring a certain character to be alive and a certain flag to have been set during the chapter.
When Caitlyn is alive and Flag 10 is on, it gives you a choice to go to the gaiden chapter, displaying a textbox with the [Yes] command in it.

[Yes] and [No] are largely interchangeable commands for putting a yes/no choice in text, the only difference being that [Yes] has the cursor start on the “yes” option while [No] does the opposite. In this event, when the player says yes, it sends them to the gaiden chapter without the world map. When the player says no, or if they didn’t meet the requirements to get the option in the first place, it sends them to the next main chapter, with the world map. Note that they can’t both use the world map, as once you send the player back to the world map, the actual next chapter they enter is determined by the next World Map Node, not by the “goto next chapter” command.
In general, it is often worth looking for and referencing places in vanilla that you know have a similar condition to what you want. FEBuilder also has a set of Event Templates that include various simple conditional structures. If you have more questions, stop by the Discord and I’ll probably be around.