Event that go throught player but collide with everything else

DarielZer0

Villager
Member
Joined
Oct 16, 2021
Messages
27
Reaction score
8
First Language
Spanish
Primarily Uses
RMMV
i want to make a event that collide with other events and walls but go throught the player. it's possible?
 

Soulrender

Jack Of All Trades
Veteran
Joined
Jan 12, 2019
Messages
1,402
Reaction score
852
First Language
Poland
Primarily Uses
RMMV
Yes. It's possible, but there are two major questions before implementing such feature:

#1 Does player can interact with that event later?
#2 Are there more than 1 such events on map?

If there is only one event you want to apply then you need to create an empty parallel event on map and in Script... option paste this code:
Code:
this._px = $gamePlayer._x; //Get X position of player
this._py = $gamePlayer._y; //Get Y position of player
this._ex = $gameMap.event(eventId).x; //Get X of your specific Event
this._ey = $gameMap.event(eventId).y; //Get Y of your specific Event

then in event you need to use Conditional branch and in 4th tab select Script and type:
Code:
$gameMap.distance(this._px, this._py, this._ex, this._ey) <= 1
Remember to check option Create Else Branch and below Script type:
Code:
$gameMap.event(eventId)._through = true;
and finally below Else type
Code:
$gameMap.event(eventId)._through = false;

Remeber to keep this event parallel otherwise it won't trigger.

Whole empty event should look like this:
xO3LjHt.png


(in place of number 99 and eventId you put ID of your event you want to make it through player, but collide with everything else.
 
Last edited:

DarielZer0

Villager
Member
Joined
Oct 16, 2021
Messages
27
Reaction score
8
First Language
Spanish
Primarily Uses
RMMV
Yes. It's possible, but there are two major questions before implementing such feature:

#1 Does player can interact with that event later?
#2 Are there more than 1 such events on map?

If there is only one event you want to apply then you need to create an empty parallel event on map and in Script... option paste this code:
Code:
this._px = $gamePlayer._x; //Get X position of player
this._py = $gamePlayer._y; //Get Y position of player
this._ex = $gameMap.event(eventId).x; //Get X of your specific Event
this._ey = $gameMap.event(eventId).y; //Get Y of your specific Event

then in event you need to use Conditional branch and in 4th tab select Script and type:
Code:
$gameMap.distance(this._px, this._py, this._ex, this._ey) <= 1
Remember to check option Create Else Branch and below Script type:
Code:
$gameMap.event(eventId)._through = true;
and finally below Else type
Code:
$gameMap.event(eventId)._through = false;

Remeber to keep this event parallel otherwise it won't trigger.

Whole empty event should look like this:
xO3LjHt.png


(in place of number 99 and eventId you put ID of your event you want to make it through player, but collide with everything else.
i already did something similar to this,only that i did it with variables but the result is almost the same,when i am 1 grid of distance the event go through everything and since it moves in ramdom directions sometimes it get stuck in a wall or another event,and also there are multiple events of this kind in the map
 

Latest Threads

Latest Posts

Latest Profile Posts

“Battle not with monsters, lest ye become a monster, and if you gaze into the abyss, the abyss gazes also into you.”
gxQUtTE.gif
Don't you hate it when you play an mmo to pass some time then an update drops that makes your playing experience less enjoyable and quit because of it?
sigh...
SF_People3_6 added!
index.php

OcRam MZ and RETRO demo -projects are now also updated (includes all plugins released yesterday).
At work.
Co: "This bug drove me insane. I tried a lot of things to debug, it just stuck".
Me: "How did you debug it?"
Co: *shows a complicated debugging method using breakpoints and everything*
Me: "What about ... " *casually prints a stack trace in the try/catch exception
Co: "Wait, you can do that??"

Forum statistics

Threads
118,662
Messages
1,117,644
Members
155,768
Latest member
grc14
Top