Skript:[/u]#==============================================================================
# ** KGC_Dash_8DirMove (11. Februar 2008) (von KGC / deutsch von ERZENGEL)
#------------------------------------------------------------------------------
# Auch mal diagonal laufen mit den Helden...
#==============================================================================
#==============================================================================
# * Einstellungen
#==============================================================================
module KGC
module Dash_8DirMove
# Normale Geschwindigkeit des Helden
DEFAULT_WALK_SPEED = 4
# Erhöhung der Geschwindigkeit des Helden um diesen Wert (Dezimalzahl möglich!)
DASH_SPEED_RATE = 2
end
end
$imported = {} if $imported == nil
$imported["Dash_8DirMove"] = true
#==============================================================================
# ** KGC::Commands
#==============================================================================
module KGC::Commands
module_function
#--------------------------------------------------------------------------
# * Reset walk speed
#--------------------------------------------------------------------------
def reset_walk_speed
$game_player.reset_move_speed
end
end
class Game_Interpreter
include KGC::Commands
end
#==============================================================================
# ** Game_Player
#==============================================================================
class Game_Player < Game_Character
#--------------------------------------------------------------------------
# * Initialize
#--------------------------------------------------------------------------
alias initialize_KGC_Dash_8DirMove initialize
def initialize
initialize_KGC_Dash_8DirMove
reset_move_speed
end
#--------------------------------------------------------------------------
# * Reset Move Speed
#--------------------------------------------------------------------------
def reset_move_speed
@move_speed = KGC::Dash_8DirMove::DEFAULT_WALK_SPEED
end
#--------------------------------------------------------------------------
# * Move by input
#--------------------------------------------------------------------------
def move_by_input
return unless movable?
return if $game_map.interpreter.running?
case Input.dir8
when 1; move_down; move_left
when 2; move_down
when 3; move_down; move_right
when 4; move_left
when 6; move_right
when 7; move_up; move_left
when 8; move_up
when 9; move_up; move_right
end
end
#--------------------------------------------------------------------------
# * Update move
#--------------------------------------------------------------------------
def update_move
distance = 2 ** @move_speed
if dash?
distance *= KGC::Dash_8DirMove::DASH_SPEED_RATE
end
distance = Integer(distance)
@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
end