설정해준 키를 누르면 대쉬와 반대로 속도가 반감되어 이동합니다.
설정은 스크립트 위쪽 HG_Dwadle 부분을 수정해 주시면 됩니다. 기본은 Alt 키를 누를경우 느리게 걷기...
참고로 $game_player.dash? 하면 달리는지 판단, $game_player.dwadle? 이면 느리게 걷는지 판단합니다. 참일경우 true를 반환.
두키를 동시에 누르면 둘다 무효입니다.
아래 스크립트를 복사해서 사용하시면 됩니다.
module HG_Dwadle
DwadleKEY = "Input::ALT" # 느리게 걷기 키
DashKEY = "Input::A" # 달리기 키
DISABLEMAP = [2] # 느리게 걷기를 적용시키지 않을 맵
end
class Game_Character
#--------------------------------------------------------------------------
# ● 이동시의 갱신
#--------------------------------------------------------------------------
def update_move
distance = 2 ** @move_speed # 이동 속도로부터 이동거리에 변환
if dash? # 대시 상태라면 한층 더 배
distance *= 2
elsif dwadle? # 대시 상태라면 한층 더 배
distance /= 2
end
@real_x = [@real_x - distance, @x * 256].max if @x * 256 < @real_x
@real_x = [@real_x + distance, @x * 256].min if @x * 256 > @real_x
@real_y = [@real_y - distance, @y * 256].max if @y * 256 < @real_y
@real_y = [@real_y + distance, @y * 256].min if @y * 256 > @real_y
update_bush_depth unless moving?
if @walk_anime
@anime_count += 1.5
elsif @step_anime
@anime_count += 1
end
end
#--------------------------------------------------------------------------
# ● 애니메이션 카운트의 갱신
#--------------------------------------------------------------------------
def update_animation
speed = @move_speed + (dash? ? 1 : dwadle? ? -1 : 0)
if @anime_count > 18 - speed * 2
if not @step_anime and @stop_count > 0
@pattern = @original_pattern
else
@pattern = (@pattern + 1) % 4
end
@anime_count = 0
end
end
def dwadle?
return false
end
end
class Game_Player < Game_Character
#--------------------------------------------------------------------------
# ● 데쉬 상태 판정
#--------------------------------------------------------------------------
def dash?
return false if @move_route_forcing
return false if $game_map.disable_dash?
return false if in_vehicle?
return (Input.press?(eval(HG_Dwadle::DashKEY)) and not Input.press?(eval(HG_Dwadle::DwadleKEY)))
end
#--------------------------------------------------------------------------
# ● 데쉬 상태 판정
#--------------------------------------------------------------------------
def dwadle?
return false if @move_route_forcing
return false if $game_map.disable_dwadle?
return false if in_vehicle?
return (Input.press?(eval(HG_Dwadle::DwadleKEY)) and not Input.press?(eval(HG_Dwadle::DashKEY)))
end
end
class Game_Map
def disable_dwadle?
return HG_Dwadle::DISABLEMAP.include?(@map_id)
end
end
#