Hmm.... Let me see here...
class Game_Character
def define_custom_move_route(repeat, moves = [])
@defined_custom_move_route = moves
@repeat_defined_custom_move_route = repeat
end
alias_method :seph_definecustommvroute_gmchracter_update, :update
def update
seph_definecustommvroute_gmchracter_update
unless moving?
if @defined_custom_move_route != nil
update_defined_custom_move_route
end
end
end
def update_defined_custom_move_route
return if @defined_custom_move_route.empty?
next_move = @defined_custom_move_route.shift
@defined_custom_move_route << next_move if @repeat_defined_custom_move_route
self.send(*next_move)
end
end
Ok. So here's the deal. Just use:
$game_map.events[event_id].define_custom_move_route(repeat, moves = [])
Set repeat to true or false.
Now moves, you have to send the method name you want to call, as a symbol, and if there are any args, you must make it an array and put the args in the array.
Example:
Event 2 - Repeat is true, Move Left, Move Down, Move Right, Move Up, Jump +2, - 1
e = $game_map.events[2]
m = []
m << :move_left
m << :move_down
m << :move_right
m << :move_up
m << [:jump, 2, -1]
e.define_custom_move_route(true, m)
Not tested, but should work. Let me know if you are unsure of anything or it doesn't work.