Group: Member
Posts: 3
Type: Musician
RM Skill: Intermediate
Kryos Movement System
Version: 1.0 Author: MrTerrawatt Description: This script will detach turning from moving, and the WASD keys will be used for turning. Compatibility: It modifies game_player and game_character a fair bit.
Spoil it when you want to.
#========================================================================= === # *MrTerrawatt's Kryos Movement* #---------------------------------------------------------------------------- # By MrTerrawatt # January 21, 2011 #---------------------------------------------------------------------------- # This will allow you to detach turning from the arrow keys and use # WASD to turn instead. Also: you can switch the arrow keys with WASD # by, in an event, using the command "$game_player.toggle" . #============================================================================ class Game_Player < Game_Character def toggle if @inverted = false @inverted == true else @inverted == false end end def update @inverted = false last_moving = moving? unless moving? or $game_system.map_interpreter.running? or @move_route_forcing or $game_temp.message_window_showing if @inverted = true case Input.dir4 when 2 turn_down when 4 turn_left when 6 turn_right when 8 turn_up end if Input.press?(Input::R) move_up else if Input.press?(Input::X) move_left else if Input.press?(Input::Y) move_down else if Input.press?(Input::Z) move_right end end end end else case Input.dir4 when 2 move_down when 4 move_left when 6 move_right when 8 move_up end if Input.press?(Input::R) turn_up else if Input.press?(Input::X) turn_left else if Input.press?(Input::Y) turn_down else if Input.press?(Input::Z) turn_right end end end end end end last_real_x = @real_x last_real_y = @real_y super if @real_y > last_real_y and @real_y - $game_map.display_y > CENTER_Y $game_map.scroll_down(@real_y - last_real_y) end if @real_x < last_real_x and @real_x - $game_map.display_x < CENTER_X $game_map.scroll_left(last_real_x - @real_x) end if @real_x > last_real_x and @real_x - $game_map.display_x > CENTER_X $game_map.scroll_right(@real_x - last_real_x) end if @real_y < last_real_y and @real_y - $game_map.display_y < CENTER_Y $game_map.scroll_up(last_real_y - @real_y) end unless moving? if last_moving result = check_event_trigger_here([1,2]) if result == false unless $DEBUG and Input.press?(Input::CTRL) if @encounter_count > 0 @encounter_count -= 1 end end end end if Input.trigger?(Input::C) check_event_trigger_here([0]) check_event_trigger_there([0,1,2]) end end end end class Game_Character def move_down(turn_enabled = true) if passable?(@x, @y, 2) @y += 1 increase_steps else check_event_trigger_touch(@x, @y+1) end end def move_left(turn_enabled = true) if passable?(@x, @y, 4) @x -= 1 increase_steps else check_event_trigger_touch(@x-1, @y) end end def move_right(turn_enabled = true) if passable?(@x, @y, 6) @x += 1 increase_steps else check_event_trigger_touch(@x+1, @y) end end def move_up(turn_enabled = true) if passable?(@x, @y, 8) @y -= 1 increase_steps else check_event_trigger_touch(@x, @y-1) end end end