Reddit user Osoni wants an RPG Maker event to do two things at once. Inspired by FF9’s exclamation-mark system, he wants to have an event show a “!” when the player touches the event, but have the “!” disappear and run a different function once the player interacts with the event.
First, note that there is a script for exactly this, and in fact I’ve talked about how Vidar uses Modern Algebra’s Hover Notifications to achieve this effect. But Osoni wants to do this with events, and it’s pretty easy to do with events as well!
First, you’ll need to make an event that has either “Event Touch” or “Player Touch” as its trigger. Typically, Player Touch is enough unless the object is running around – Event Touch’s primary use is for when the player isn’t moving at all, but the event runs into the player.
Remember that every trigger also includes everything above it. Event Touch includes Player Touch. Both include Action Button. Which means that standing in front of an event that has “Player Touch” as its trigger, not touching it, and pressing the Action Button will still trigger it. The most obvious way to see that is to put the event behind a Counter Tile, where you can’t touch it but can use Action Button to “reach” it.
The key to all of our logic is a simple conditional branch. For your condition, use “Button Pressed: The C Button is Being Pressed.” You’ll find Button Press as a conditional on the 4th page for the command. “C” is the button assigned to interaction in RPG Maker. What does this do exactly? Once the script is called, it asks “ok, is the player pressing the Action Button?”
If so, we’re going to have our button-pressed logic. If not, we’re going to have our touch logic.
You can probably figure out from here what needs to go in each branch. In the top half, it’s “received gil!” or whatever. In the bottom half, you need your exclamation to show up.