luckily, my project is finally getting traction. but my character really moves way too fast. i know its the default, but is there a way to make the movement speed slower permanently?
copy this script in the script editor:
class Game_Character
attr_reader :run_count
attr_reader :hit_wall
attr_reader :disable_jump
attr_reader :disable_run
alias move_initialize initialize
def initialize
move_initialize
@disable_jump = false
@disable_jump_check = false
@disable_run = false
@hit_wall = false
@hit_wall_effect = false
@running = false
@run_count = 300
@route = RPG::MoveRoute.new
end
end
#=======================
#=======================
class Game_Player < Game_Character
alias movement_update update
def update
movement_update
terrain_check
input_check
end
#-------------------------------------------------------------------------
def input_check
unless @disable_jump
jump_shoes if Input.trigger?(Input::Y)
end
unless @disable_run
if Input.press?(Input::X)
if !@hit_wall
@running = true
running_shoes
run_counter(@run_count)
else
@move_speed = 4
end
else
if @run_count < 300
restore_run(@run_count)
end
if @running
@move_speed = 4
@running = false
@hit_wall = false
@hit_wall_effect = false
end
end
end
end
#-------------------------------------------------------------------------
def direction_get
x_dir = (@direction == 6 ? 1 : @direction == 4 ? -1 : 0)
y_dir = (@direction == 2 ? 1 : @direction == 8 ? -1 : 0)
return [x_dir, y_dir]
end
#-------------------------------------------------------------------------
def terrain_tag_get(x = @x,y = @y)
return $game_map.terrain_tag(x,y)
end
#-------------------------------------------------------------------------
def terrain_check
t_tag = terrain_tag_get
dir = direction_get
case t_tag
when 2 #tiles that cannot be jumped on
if !@disable_jump #checks to see if jump is already disabled.
@disable_jump = true
@disable_jump_check = true
end
end
if t_tag != 2 && @disable_jump_check == true
@disable_jump = false
@disable_jump_check = false
end
end
#-------------------------------------------------------------------------
def toggle_act(function = '', act = '')
case function
when 'disable'
a = true
when 'enable'
a = false
end
case act
when 'jump'
@disable_jump = a
when 'run'
@disable_run = a
end
end
#=============================================
#Jump Shoes
#=============================================
def jump_shoes
x_dir = direction_get[0]
y_dir = direction_get[1]
jump_skill = $game_variables[30]
jump_distance = 0
passable_jump = $game_map.passable?(@x + (x_dir * 2), @y + (y_dir * 2), @direction)
passable_run_jump = $game_map.passable?(@x+(x_dir * 3), @y+(y_dir*3),@direction)
game_events = $game_map.events[$game_map.check_event(@x + (x_dir * 2), @y + (y_dir * 2))]
run_jump_events = $game_map.events[$game_map.check_event(@x+(x_dir*3),@y+(y_dir*3))]
clear_a = true
clear_b = true
if game_events
clear_a = game_events.through
elsif run_jump_events
clear_b = run_jump_events.through
end
if clear_b && passable_run_jump && Input.dir4 > 0 && @move_speed == 6
jump_distance = 3
else
if clear_a && passable_jump && Input.dir4 > 0
jump_distance = 2
else
jump_distance = 0
end
end
jump_move(x_dir, y_dir, jump_distance)
Audio.se_play("Audio/SE/016-jump02")
end
#-------------------------------------------------------------------------
def jump_move(x, y, d)
@route.list.clear
@route.list.push(RPG::MoveCommand.new(37))
@route.list.push(RPG::MoveCommand.new(14, [x * d, y * d]))
@route.list.push(RPG::MoveCommand.new(38))
@route.list.push(RPG::MoveCommand.new(0))
@route.repeat = false
$game_player.force_move_route(@route)
end
#===========================
#Running Shoes
#===========================
def running_shoes
x_dir = direction_get[0]
y_dir = direction_get[1]
hit_wall = $game_map.passable?(@x + x_dir, @y + y_dir, @direction)
hit_event = $game_map.events[$game_map.check_event(@x + x_dir, @y + y_dir)]
event_through = true
if hit_event
event_through = hit_event.through
end
case @run_count
when 260..300
@move_speed = 6
if !hit_wall && moving?
@hit_wall_effect = true
elsif @hit_wall_effect && !moving?
wall_hit
end
if hit_event && event_through == false && moving?
@hit_wall_effect = true
elsif @hit_wall_effect && !moving?
wall_hit
end
when 2..259
@move_speed = 5
when 0..1
@move_speed = 3
end
end
def run_counter(run_time)
if run_time > 0 && moving?
run_time -= 2
@run_count = run_time
return run_time
end
end
def restore_run(run_restore)
run_restore += 1
@run_count = run_restore
end
#-------------------------------------------------------------------------
def wall_hit
Audio.se_play("Audio/SE/052-cannon01",80,130)
$game_screen.start_flash(Color.new(200,0,100,35), 2)
$game_screen.start_shake(4, 6, 10)
@hit_wall_effect = false
@hit_wall = true
end
end