McMillan

Veteran
Veteran
Joined
Sep 21, 2016
Messages
36
Reaction score
3
First Language
English
Primarily Uses
Basically, I'm trying to set up a set of stationary enemies that disappear when the player crosses a certain line. I imagine it has something to do with variables relating to the x coordinate on the map, but that's about it.
 

A-Moonless-Night

WINTER IS COMING
Veteran
Joined
Mar 17, 2012
Messages
695
Reaction score
451
First Language
English
Primarily Uses
RMVXA
First, you need to make two variables: Player's X Coord and Player's Y Coord. Then make an event on the map (trigger: parallel process) with the following:


Control variables: Player's X Coord = Player's Map X


Control variables: Player's Y Coord = Player's Map Y


Then a conditional branch with whatever you need—for example, if you wanted the enemies to disappear when the player's X coordinate is greater than or equal to a number (let's say 10 in this example), then you'd go:


Conditional branch: Variable Player's X Coord > = 10 (make sure 'set handling when conditions don't apply' is ticked)


If you're making the enemies disappear with a switch, then you'd set that switch to ON here.


Else:


set the switch to OFF.


If you're wanting to also include the player's Y coordinate (for example, set something for when they're on a specific tile), then you'd include a conditional branch for that inside the conditional branch for the player's X coordinate and then have the switch inside the conditional branch for the Y coordinate.


Conditional branch: Variable Player's X Coord > = 10


     Conditional branch: Variable Player's Y Coord > = 15


     Set Switch ON


     Else:


     Set Switch OFF


Hope this makes sense! :)
 
Last edited by a moderator:

Heirukichi

Veteran
Veteran
Joined
Sep 24, 2015
Messages
1,434
Reaction score
606
First Language
Italian
Primarily Uses
RMVXA
What @A-Moonless-Night  said is correct so what I am writing doesn't change the fact that what has been said is correct. What I want to suggest is a way to avoid using 2 variables and a switch to trigger your event.


You can create the event with 3 pages:
Page 1: Parallel process
Page 2: Autorun, when Self Switch 'A' is ON


Page 3: Action Button, when Self Switch 'B' is ON (or any other self switch, read below)


In page 1 you can use the "Script" command and type this:


if ($game_player.x == number) #you can add more conditions here
$game_self_switches[[@map_id, @event_id, 'A']] = true
end

#number is the coordinate of your line.


Of course you can use $game_player.y instead of $game_player.x if you need a horizontal line instead of a vertical one.


In page 2 you can write your event as you please and then activate another switch (for example self switch 'B') to activate your event page 3 which is blank. If you don't want page 3 to be bank then change it to fit your needs.


Feel free to use the one you like the most.
 
Last edited by a moderator:

McMillan

Veteran
Veteran
Joined
Sep 21, 2016
Messages
36
Reaction score
3
First Language
English
Primarily Uses
Thank you both very much.
 

Latest Threads

Latest Profile Posts

After the initial success with one event, I set up four different events on the same map to detect who is in which slot in my current party, and fortunately it managed to work as intended, with the events changing image to match the party members even as I swapped their positions around in formation. This will be a great tool for immersive scene design.
Finally finished the first hand-drawn map! It took me a week, but I'm so proud!
Actual line of code I just had to write for a plugin:

return Object.keys(this._shopStock).map(key => key.split(",")).map(element => element.map(value => Number(value))).filter(key => key[0] === mapId && key[1] === eventId);

Forum statistics

Threads
118,447
Messages
1,116,056
Members
155,420
Latest member
catboyfirsttimer
Top