Move Events Ex

Engr. Adiktuzmiko

Chemical Engineer, Game Developer, Using BlinkBoy'
Veteran
Joined
May 15, 2012
Messages
14,647
Reaction score
2,974
First Language
Tagalog
Primarily Uses
Overview

Well, normally you cannot move events in between tiles, and this snippet gives you the power to do so via a simple script call.

Take note though that this is suggested to only be used for decorative events and those that run autorun/parallel as this might cause activation bug if used on events triggered by Action button and touch events.

Script

=beginHow to use:simply make a script call in an event,preferable parallel so it runs beforeyou see the map, then just erase itevent_move_ex(id,x,y)-> id = Event ID-> x = Map X (can have decimals)-> y = Map Y (can have decimals)=endclass Game_Interpreter def event_move_ex(id,x,y) $game_map.events[id].movetox(x,y) endendclass Game_Event def movetox(x, y) @x = x @y = y @real_x = @x @real_y = @y @prelock_direction = 0 straighten update_bush_depth endend
Terms

Free for anything, it's a really simple snippet
 

Mithran

Global Moderators
Global Mod
Joined
Mar 2, 2012
Messages
404
Reaction score
212
First Language
English
Primarily Uses
Keep in mind that moving events to decimal coordinates like this will make them 'stick' at those decimal coordinates until specifically moved off of them, they will not be able to collide with anything other than things at their same decimal level. Simply using the default character.moveto command has this same behavior, and will also take decimals. If you wanted this command to immediately move the event onto the nearest logical tile so it can still be interacted with, you need to round the @x and @y coordinates in your command, passing the decimals only into real_x and real_y.
 

tale

Volunteer
Veteran
Joined
Dec 16, 2016
Messages
540
Reaction score
874
First Language
English
Primarily Uses
N/A
Fixed script format, credit Adiktuzmiko.
Code:
=begin
How to use:
simply make a script call in an event,
preferable parallel so it runs before
you see the map, then just erase it
event_move_ex(id,x,y)
-> id = Event ID-> x = Map X (can have decimals)-> y = Map Y (can have decimals)
=end
class Game_Interpreter
  def event_move_ex(id,x,y)
    $game_map.events[id].movetox(x,y)
  end
end
class Game_Event
  def movetox(x, y)
    @x = x
    @y = y
    @real_x = @x
    @real_y = @y
    @prelock_direction = 0
    straighten
    update_bush_depth
end
end
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

Been watching videos about IRS phone scammers. Some really scummy people in the world.
Is the "2 status updates per 24h" still in effect?
My first attempt at Pixel Art :blink::) (I have no idea what I'm doing but I'm doing it)
Plugin instructions: *exists*
Plugin: What did he say? *error*
I feel like it's about time I share all the result of my experiment project here. But there's a lot of it.

Forum statistics

Threads
93,724
Messages
914,939
Members
123,330
Latest member
Rikuto
Top