Deilin TE: Event Movement on Move
DeilinTE: Event Movement on MovePURPOSE:
It makes it so events move when the player moves on maps you designate. You can also make it so they are more aggressive then normal approach pattern.
INSTRUCTIONS:
Instruction on how to use inside the script.
Paste below materials and above main:
Screens:
N/A
Script:
Spoiler#=========================================================================# Deilin's Turn Engine:# "Enemy Movement on Move"# Writen by: Deilin##=========================================================================#=========================================================================# What does it do:# Enemy events wont move until the player moves.#=========================================================================module Deilin#Use turn movement?MOVE_BY_MOVING = false#Maps that use turn movementTURNMAP = []#Enemie follow more directlyAGGRO = falseendclass Game_Event < Game_Character#--------------------------------------------------------------------------# * Update During Autonomous Movement#--------------------------------------------------------------------------def update_self_movement if near_the_screen? && $game_player.moving? && Deilin::MOVE_BY_MOVING && turn_map case @move_type when 1;move_type_random when 2;move_type_toward_player when 3;move_type_custom end end if near_the_screen? && @stop_count > stop_count_threshold && Deilin::MOVE_BY_MOVING && !turn_map case @move_type when 1;move_type_random when 2;move_type_toward_player when 3;move_type_custom end end if near_the_screen? && @stop_count > stop_count_threshold && !Deilin::MOVE_BY_MOVING case @move_type when 1;move_type_random when 2;move_type_toward_player when 3;move_type_custom end endend#--------------------------------------------------------------------------# * Move Type : Approach#--------------------------------------------------------------------------def move_type_toward_player if Deilin::AGGRO if near_the_player? then case rand(6) when 0..4;move_toward_player when 5; move_forward end else move_random end end if !Deilin::AGGRO if near_the_player? case rand(6) when 0..3;move_toward_player when 4; move_random when 5; move_forward end else move_random end endend#--------------------------------------------------------------------------# Defines if turn movement on map#--------------------------------------------------------------------------def turn_map retvar = false Deilin::TURNMAP.each {|id| retvar = true if id == $game_map.map_id } return retvarend end
Credits:
None needed
本贴来自国际rpgmaker官方论坛作者:deilin处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/deilin-te-event-movement-on-move.16053/
页:
[1]