Here is the Script!!!
#==============================================================================
#??????????????????ver. 1.01???
#??Script by ???
#??http://para.j-mx.com/
#------------------------------------------------------------------------------
# ???????????????????????????????
# ?Graphics/Characters??????
# ?????????????_quarter????????????????
# ????????????????????????001-Fighter01_quarter?
#------------------------------------------------------------------------------
#????????
# ??????????????????????????????
# ??????????????????????
# ??????????????????????????????_dash_quarter??
# ?????
#==============================================================================
#==============================================================================
# ? Game_Player
#==============================================================================
class Game_Player < Game_Character
#--------------------------------------------------------------------------
# ? ??????
#--------------------------------------------------------------------------
alias update_para_quarter update
def update
update_para_quarter
unless moving? or $game_system.map_interpreter.running? or
@move_route_forcing or $game_temp.message_window_showing
# ???????????????????????????
case Input.dir8
when 1 # ?????
move_lower_left
when 3 # ?????
move_lower_right
when 7 # ?????
move_upper_left
when 9 # ?????
move_upper_right
end
end
end
end
#==============================================================================
# ? Sprite_Character
#==============================================================================
class Sprite_Character < RPG::Sprite
#--------------------------------------------------------------------------
# ? ??????
#--------------------------------------------------------------------------
alias update_para_quarter update
def update
update_para_quarter
if @tile_id == 0
if (@character.direction - 2) % 2 == 1
# ????????????
if quarter_graphic_exist?(@character)
# ????????
if character.dash_on and dash_quarter_graphic_exist?(@character)
@character_name = @character.character_name + "_dash_quarter"
else
@character_name = @character.character_name + "_quarter"
end
self.bitmap = RPG::Cache.character(@character_name,
@character.character_hue)
# ?????
case @character.direction
when 1
n = 0
when 3
n = 2
when 7
n = 1
when 9
n = 3
end
else
@character.direction = @character.sub_direction
# ???????????????
n = (@character.direction - 2) / 2
end
# ?????????
sx = @character.pattern * @cw
sy = n * @ch
self.src_rect.set(sx, sy, @cw, @ch)
else
self.bitmap = RPG::Cache.character(@character.character_name,
@character.character_hue)
# ?????????
sx = @character.pattern * @cw
sy = (@character.direction - 2) / 2 * @ch
self.src_rect.set(sx, sy, @cw, @ch)
end
end
end
#--------------------------------------------------------------------------
# ? ????????????
#--------------------------------------------------------------------------
def quarter_graphic_exist?(character)
# ???????
begin
RPG::Cache.character(character.character_name.to_s + "_quarter", character.character_hue)
rescue
return false
end
return true
end
#--------------------------------------------------------------------------
# ? ????????????????
#--------------------------------------------------------------------------
def dash_quarter_graphic_exist?(character)
# ???????
begin
RPG::Cache.character(character.character_name.to_s + "_dash_quarter", character.character_hue)
rescue
return false
end
return true
end
end
#==============================================================================
# ? Game_Character
#==============================================================================
class Game_Character
#--------------------------------------------------------------------------
# ? ??????????
#--------------------------------------------------------------------------
attr_accessor :direction # ??
attr_accessor :sub_direction # ???????????????
#--------------------------------------------------------------------------
# ? ?????
#--------------------------------------------------------------------------
def move_lower_left
# ?????????
unless @direction_fix
@sub_direction = @direction
@direction = 1
# ?????????????????????????
@sub_direction = (@sub_direction == 6 ? 4 : @sub_direction == 8 ? 2 : @sub_direction)
end
# ??????? ?????????????????
if (passable?(@x, @y, 2) and passable?(@x, @y + 1, 4)) or
(passable?(@x, @y, 4) and passable?(@x - 1, @y, 2))
# ?????
@x -= 1
@y += 1
# ????
increase_steps
end
end
#--------------------------------------------------------------------------
# ? ?????
#--------------------------------------------------------------------------
def move_lower_right
# ?????????
unless @direction_fix
@sub_direction = @direction
@direction = 3
# ?????????????????????????
@sub_direction = (@sub_direction == 4 ? 6 : @sub_direction == 8 ? 2 : @sub_direction)
end
# ??????? ?????????????????
if (passable?(@x, @y, 2) and passable?(@x, @y + 1, 6)) or
(passable?(@x, @y, 6) and passable?(@x + 1, @y, 2))
# ?????
@x += 1
@y += 1
# ????
increase_steps
end
end
#--------------------------------------------------------------------------
# ? ?????
#--------------------------------------------------------------------------
def move_upper_left
# ?????????
unless @direction_fix
@sub_direction = @direction
@direction = 7
# ?????????????????????????
@sub_direction = (@sub_direction == 6 ? 4 : @sub_direction == 2 ? 8 : @sub_direction)
end
# ??????? ?????????????????
if (passable?(@x, @y, 8) and passable?(@x, @y - 1, 4)) or
(passable?(@x, @y, 4) and passable?(@x - 1, @y, 8))
# ?????
@x -= 1
@y -= 1
# ????
increase_steps
end
end
#--------------------------------------------------------------------------
# ? ?????
#--------------------------------------------------------------------------
def move_upper_right
# ?????????
unless @direction_fix
@sub_direction = @direction
@direction = 9
# ?????????????????????????
@sub_direction = (@sub_direction == 4 ? 6 : @sub_direction == 2 ? 8 : @sub_direction)
end
# ??????? ?????????????????
if (passable?(@x, @y, 8) and passable?(@x, @y - 1, 6)) or
(passable?(@x, @y, 6) and passable?(@x + 1, @y, 8))
# ?????
@x += 1
@y -= 1
# ????
increase_steps
end
end
#--------------------------------------------------------------------------
# ? ?????????????
#--------------------------------------------------------------------------
def dash_on
if @dash_on != nil
return @dash_on
else
return false
end
end
end
And you will be needing this too.
Just uimport the opic to charaters!!!!
Credits dont go to me but some japanese guy.
Have fun!!!