1 Amethyst Custom Movement 1.2 - Passo por meio tile8 direções 12/8/2012, 02:16
FrozenGraveyard
Membro Honorário I
Amethyst Custom Movement 1.2
por Khas
por Khas
Caracteristicas:
- Sistema avançado de movimento (Player, Veiculos e Eventos)
- Passo por meio tile
- 8 direções
- Trigger "Touch" avançado
- Plug'n'Play
- Opções configuraveis
Instruções de uso:
Cole o script acima de todos os seus scripts adicionais, configure-o na parte de configuração.
Importante: Como esse script altera o movimento de 1 tile para 0.5, os comandos de mover evento também são afetados, lembre-se de colocar o dobro caso queira mover tile por tile (padrão do maker). Exemplo: para usar o original "mover acima", coloque "mover acima" "mover acima".
Script:
- Código:
=begin
================================================================================
Amethyst Custom Movement - Versão 1.2 RMVX - 25/03/2010
================================================================================
--------------------------------------------------------------------------------
Creditos\Condições de uso
--------------------------------------------------------------------------------
Criado por Khas.
Todos os scripts Amethyst estão licenciados sobre Creative Commons
Todos os scripts Amethyst só podem ser usados em projetos não-comerciais,
caso use em projeto comercial envie uma PM com o pedido.
--------------------------------------------------------------------------------
Caracteristicas
--------------------------------------------------------------------------------
O Amethyst Custom Movement cria opções avançadas de movimento: passo por
meio tile, 8 direções e opções de trigger avançado (touch).
--------------------------------------------------------------------------------
Instalação
--------------------------------------------------------------------------------
1 - Cole este script acima de todos os seus scripts adicionais
2 - Configure-o na parte de configuração
--------------------------------------------------------------------------------
Veiculos do jogo
--------------------------------------------------------------------------------
Para descer de algum veiculo, as vezes o script ajustará a posição do jogador
em meio tile, para correto funcionamento do script.
--------------------------------------------------------------------------------
Compatibilidade
--------------------------------------------------------------------------------
Este script modifica as classes Game_Player e Game_Character.
Pode ocorrer incompatibilidade com scripts que modificam estas classes.
--------------------------------------------------------------------------------
Configuração - Use true ou false para as opções abaixo
--------------------------------------------------------------------------------
=end
module Amcm_Config
# Habilitar movimento em 8 direções para o Player?
Enable_Player_Diagonal = true
# Habilitar movimento em 8 direções para eventos?
Enable_Event_Diagonal = true
# Habilitar passo por meio tile para eventos?
Enable_Event_Movement = true
# Habilitar processo de trigger touch avançado?
Enable_Advanced_Touch = true
end
#-------------------------------------------------------------------------------
# Não altere nada abaixo, a menos que saiba o que está fazendo!
#-------------------------------------------------------------------------------
$Amethyst_Scripts = {} if $Amethyst_Scripts.nil?
$Amethyst_Scripts["Am Custom Movement"] = ["1.2","25/03/2010"]
class Game_Character
def amcm_integer?(value)
i = value.to_i; return value == i
end
def pos?(x, y)
if amcm_integer?(@x)
if amcm_integer?(@y)
return (@x == x and @y == y)
else
return (@x == x and (@y.to_i == y or @y.to_i+1 == y))
end
elsif amcm_integer?(@y)
return ((@x.to_i == x or @x.to_i+1 == x) and @y == y)
else
return ((@x.to_i == x or @x.to_i+1 == x)and(@y.to_i == y or @y.to_i+1 == y))
end
end
if Amcm_Config::Enable_Event_Diagonal
def move_random
case rand(8)
when 0; move_down(false)
when 1; move_left(false)
when 2; move_right(false)
when 3; move_up(false)
when 4; move_lower_left
when 5; move_lower_right
when 6; move_upper_left
when 7; move_upper_right
end
end
end
if Amcm_Config::Enable_Event_Movement
def move_down(turn_ok = true)
if amcm_integer?(@x)
if amcm_integer?(@y)
if passable?(@x, @y+1)
turn_down
@y = $game_map.round_y(@y+0.5)
@real_y = (@y-0.5)*256
increase_steps
@move_failed = false
else
turn_down if turn_ok
check_event_trigger_touch(@x, @y+1)
@move_failed = true
end
else
turn_down
@y = $game_map.round_y(@y+0.5)
@real_y = (@y-0.5)*256
increase_steps
@move_failed = false
end
elsif amcm_integer?(@y)
if passable?(@x.to_i, @y+1) and passable?(@x.to_i+1, @y+1)
turn_down
@y = $game_map.round_y(@y+0.5)
@real_y = (@y-0.5)*256
increase_steps
@move_failed = false
else
turn_down if turn_ok
check_event_trigger_touch(@x.to_i+1, @y+1)
check_event_trigger_touch(@x.to_i, @y+1)
@move_failed = true
end
else
turn_down
@y = $game_map.round_y(@y+0.5)
@real_y = (@y-0.5)*256
increase_steps
@move_failed = false
end
end
def move_up(turn_ok = true)
if amcm_integer?(@x)
if amcm_integer?(@y)
if passable?(@x, @y-1)
turn_up
@y = $game_map.round_y(@y-0.5)
@real_y = (@y+0.5)*256
increase_steps
@move_failed = false
else
turn_up if turn_ok
check_event_trigger_touch(@x, @y-1)
@move_failed = true
end
else
turn_up
@y = $game_map.round_y(@y-0.5)
@real_y = (@y+0.5)*256
increase_steps
@move_failed = false
end
elsif amcm_integer?(@y)
if passable?(@x.to_i, @y-1) and passable?(@x.to_i+1, @y-1)
turn_up
@y = $game_map.round_y(@y-0.5)
@real_y = (@y+0.5)*256
increase_steps
@move_failed = false
else
turn_up if turn_ok
check_event_trigger_touch(@x.to_i, @y-1)
check_event_trigger_touch(@x.to_i+1, @y-1)
@move_failed = true
end
else
turn_up
@y = $game_map.round_y(@y-0.5)
@real_y = (@y+0.5)*256
increase_steps
@move_failed = false
end
end
def move_left(turn_ok = true)
if amcm_integer?(@y)
if amcm_integer?(@x)
if passable?(@x-1, @y)
turn_left
@x = $game_map.round_x(@x-0.5)
@real_x = (@x+0.5)*256
increase_steps
@move_failed = false
else
turn_left if turn_ok
check_event_trigger_touch(@x-1, @y)
@move_failed = true
end
else
turn_left
@x = $game_map.round_x(@x-0.5)
@real_x = (@x+0.5)*256
increase_steps
@move_failed = false
end
elsif amcm_integer?(@x)
if passable?(@x-1,@y.to_i) and passable?(@x-1,@y.to_i+1)
turn_left
@x = $game_map.round_x(@x-0.5)
@real_x = (@x+0.5)*256
increase_steps
@move_failed = false
else
turn_left if turn_ok
check_event_trigger_touch(@x-1, @y.to_i)
check_event_trigger_touch(@x-1, @y.to_i+1)
@move_failed = true
end
else
turn_left
@x = $game_map.round_x(@x-0.5)
@real_x = (@x+0.5)*256
increase_steps
@move_failed = false
end
end
def move_right(turn_ok = true)
if amcm_integer?(@y)
if amcm_integer?(@x)
if passable?(@x+1, @y)
turn_right
@x = $game_map.round_x(@x+0.5)
@real_x = (@x-0.5)*256
increase_steps
@move_failed = false
else
turn_right if turn_ok
check_event_trigger_touch(@x+1, @y)
@move_failed = true
end
else
turn_right
@x = $game_map.round_x(@x+0.5)
@real_x = (@x-0.5)*256
increase_steps
@move_failed = false
end
elsif amcm_integer?(@x)
if passable?(@x+1,@y.to_i) and passable?(@x+1,@y.to_i+1)
turn_right
@x = $game_map.round_x(@x+0.5)
@real_x = (@x-0.5)*256
increase_steps
@move_failed = false
else
turn_right if turn_ok
check_event_trigger_touch(@x+1, @y.to_i)
check_event_trigger_touch(@x+1, @y.to_i+1)
@move_failed = true
end
else
turn_right
@x = $game_map.round_x(@x+0.5)
@real_x = (@x-0.5)*256
increase_steps
@move_failed = false
end
end
def move_lower_left
unless @direction_fix
@direction = (@direction == 6 ? 4 : @direction == 8 ? 2 : @direction)
end
if amcm_integer?(@x)
if amcm_integer?(@y)
if passable?(@x-1,@y) and passable?(@x-1,@y+1) and passable?(@x,@y+1)
@x -= 0.5
@y += 0.5
increase_steps
@move_failed = false
else
@move_failed = true
end
else
if passable?(@x-1,@y.to_i+1)
@x -= 0.5
@y += 0.5
increase_steps
@move_failed = false
else
@move_failed = true
end
end
elsif amcm_integer?(@y)
if passable?(@x.to_i,@y+1)
@x -= 0.5
@y += 0.5
increase_steps
@move_failed = false
else
@move_failed = true
end
else
@x -= 0.5
@y += 0.5
increase_steps
@move_failed = false
end
end
def move_lower_right
unless @direction_fix
@direction = (@direction == 4 ? 6 : @direction == 8 ? 2 : @direction)
end
if amcm_integer?(@x)
if amcm_integer?(@y)
if passable?(@x+1,@y) and passable?(@x+1,@y+1) and passable?(@x,@y+1)
@x += 0.5
@y += 0.5
increase_steps
@move_failed = false
else
@move_failed = true
end
else
if passable?(@x+1,@y.to_i+1)
@x += 0.5
@y += 0.5
increase_steps
@move_failed = false
else
@move_failed = true
end
end
elsif amcm_integer?(@y)
if passable?(@x.to_i+1,@y+1)
@x += 0.5
@y += 0.5
increase_steps
@move_failed = false
else
@move_failed = true
end
else
@x += 0.5
@y += 0.5
increase_steps
@move_failed = false
end
end
def move_upper_left
unless @direction_fix
@direction = (@direction == 6 ? 4 : @direction == 2 ? 8 : @direction)
end
if amcm_integer?(@x)
if amcm_integer?(@y)
if passable?(@x-1,@y) and passable?(@x-1,@y-1) and passable?(@x,@y-1)
@x -= 0.5
@y -= 0.5
increase_steps
@move_failed = false
else
@move_failed = true
end
else
if passable?(@x-1,@y.to_i)
@x -= 0.5
@y -= 0.5
increase_steps
@move_failed = false
else
@move_failed = true
end
end
elsif amcm_integer?(@y)
if passable?(@x.to_i,@y-1)
@x -= 0.5
@y -= 0.5
increase_steps
@move_failed = false
else
@move_failed = true
end
else
@x -= 0.5
@y -= 0.5
increase_steps
@move_failed = false
end
end
def move_upper_right
unless @direction_fix
@direction = (@direction == 4 ? 6 : @direction == 2 ? 8 : @direction)
end
if amcm_integer?(@x)
if amcm_integer?(@y)
if passable?(@x+1,@y) and passable?(@x+1,@y-1) and passable?(@x,@y-1)
@x += 0.5
@y -= 0.5
increase_steps
@move_failed = false
else
@move_failed = true
end
else
if passable?(@x+1,@y.to_i)
@x += 0.5
@y -= 0.5
increase_steps
@move_failed = false
else
@move_failed = true
end
end
elsif amcm_integer?(@y)
if passable?(@x.to_i+1,@y-1)
@x += 0.5
@y -= 0.5
increase_steps
@move_failed = false
else
@move_failed = true
end
else
@x += 0.5
@y -= 0.5
increase_steps
@move_failed = false
end
end
end
end
class Game_Player < Game_Character
if Amcm_Config::Enable_Player_Diagonal
def move_by_input
@run_event = false
return unless movable?
return if $game_map.interpreter.running?
case Input.dir8
when 1; move_lower_left
when 2; move_down
when 3; move_lower_right
when 4; move_left
when 6; move_right
when 7; move_upper_left
when 8; move_up
when 9; move_upper_right
end
end
end
def get_amx(plus=false)
if plus
case @direction
when 2; amcm_integer?(@x) ? i = @x : i = false
when 4; amcm_integer?(@x) ? i = @x-1 : i = false
when 6; amcm_integer?(@x) ? i = @x+1 : i = false
when 8; amcm_integer?(@x) ? i = @x : i = false
end
return i
else
amcm_integer?(@x) ? i = @x : i = [@x.to_i,@x.to_i+1]; return i
end
end
def get_amy(plus=false)
if plus
case @direction
when 2; amcm_integer?(@y) ? i = @y+1 : i = false
when 4; amcm_integer?(@y) ? i = @y : i = false
when 6; amcm_integer?(@y) ? i = @y : i = false
when 8; amcm_integer?(@y) ? i = @y-1 : i = false
end
return i
else
amcm_integer?(@y) ? i = @y : i = [@y.to_i,@y.to_i+1]; return i
end
end
if Amcm_Config::Enable_Advanced_Touch
def check_event_trigger_here(triggers)
return false if $game_map.interpreter.running?
result = false
ax = get_amx
ay = get_amy
if ax.is_a?(Array)
if ay.is_a?(Array)
for event in $game_map.events_xy(ax[0],ay[0])
if triggers.include?(event.trigger) and event.priority_type != 1
event.start
return true if event.starting
end
end
for event in $game_map.events_xy(ax[0],ay[1])
if triggers.include?(event.trigger) and event.priority_type != 1
event.start
return true if event.starting
end
end
for event in $game_map.events_xy(ax[1],ay[0])
if triggers.include?(event.trigger) and event.priority_type != 1
event.start
return true if event.starting
end
end
for event in $game_map.events_xy(ax[1],ay[1])
if triggers.include?(event.trigger) and event.priority_type != 1
event.start
return true if event.starting
end
end
else
for event in $game_map.events_xy(ax[0],ay)
if triggers.include?(event.trigger) and event.priority_type != 1
event.start
return true if event.starting
end
end
for event in $game_map.events_xy(ax[1],ay)
if triggers.include?(event.trigger) and event.priority_type != 1
event.start
return true if event.starting
end
end
end
elsif ay.is_a?(Array)
for event in $game_map.events_xy(ax,ay[0])
if triggers.include?(event.trigger) and event.priority_type != 1
event.start
return true if event.starting
end
end
for event in $game_map.events_xy(ax,ay[1])
if triggers.include?(event.trigger) and event.priority_type != 1
event.start
return true if event.starting
end
end
else
for event in $game_map.events_xy(ax,ay)
if triggers.include?(event.trigger) and event.priority_type != 1
event.start
return true if event.starting
end
end
end
return result
end
else
def check_event_trigger_here(triggers)
return false if $game_map.interpreter.running?
result = false
for event in $game_map.events_xy(@x, @y)
if triggers.include?(event.trigger) and event.priority_type != 1
event.start
result = true if event.starting
end
end
return result
end
end
def check_event_trigger_there(triggers)
return false if $game_map.interpreter.running?
result = false
front_x = get_amx(true)
front_y = get_amy(true)
return if !front_x or !front_y
for event in $game_map.events_xy(front_x, front_y)
if triggers.include?(event.trigger) and event.priority_type == 1
event.start
result = true
end
end
if result == false and $game_map.counter?(front_x, front_y)
front_x = $game_map.x_with_direction(front_x, @direction)
front_y = $game_map.y_with_direction(front_y, @direction)
for event in $game_map.events_xy(front_x, front_y)
if triggers.include?(event.trigger) and event.priority_type == 1
event.start
result = true
end
end
end
return result
end
def get_on_vehicle
front_x = get_amx(true)
front_y = get_amy(true)
if $game_map.airship.pos?(@x, @y)
get_on_airship
return true
elsif $game_map.ship.pos?(front_x, front_y)
get_on_ship
return true
elsif $game_map.boat.pos?(front_x, front_y)
get_on_boat
return true
end
return false
end
def force_vland
if amcm_integer?(@x)
if amcm_integer?(@y)
return
else
case @direction
when 2; move_forward
when 8; move_forward
else
case rand(2)
when 0; move_up
when 1; move_down
end
end
end
elsif amcm_integer?(@y)
case @direction
when 4; move_forward
when 6; move_forward
else
case rand(2)
when 0; move_left
when 1; move_right
end
end
else
case @direction
when 2;
case rand(2)
when 0; move_lower_right
when 1; move_lower_left
end
when 4;
case rand(2)
when 0; move_lower_left
when 1; move_upper_left
end
when 6;
case rand(2)
when 0; move_lower_right
when 1; move_upper_right
end
when 8;
case rand(2)
when 0; move_upper_right
when 1; move_upper_left
end
end
end
return (amcm_integer?(@x) and amcm_integer?(@y))
end
def force_move_forward
@through = true
move_forward
move_forward if in_vehicle?
@through = false
end
def get_off_vehicle
if in_airship?
return if force_vland
return unless airship_land_ok?(@x, @y)
else
return if force_vland
front_x = get_amx(true)
front_y = get_amy(true)
return unless can_walk?(front_x, front_y)
end
$game_map.vehicles[@vehicle_type].get_off
if in_airship?
@direction = 2
else
force_move_forward
@transparent = false
end
@vehicle_getting_off = true
@move_speed = 4
@through = false
@walking_bgm.play
make_encounter_count
end
if not Amcm_Config::Enable_Event_Movement
def move_down(turn_ok = true)
if amcm_integer?(@x)
if amcm_integer?(@y)
if passable?(@x, @y+1)
turn_down
@y = $game_map.round_y(@y+0.5)
@real_y = (@y-0.5)*256
increase_steps
@move_failed = false
else
turn_down if turn_ok
check_event_trigger_touch(@x, @y+1)
@move_failed = true
end
else
turn_down
@y = $game_map.round_y(@y+0.5)
@real_y = (@y-0.5)*256
increase_steps
@move_failed = false
end
elsif amcm_integer?(@y)
if passable?(@x.to_i, @y+1) and passable?(@x.to_i+1, @y+1)
turn_down
@y = $game_map.round_y(@y+0.5)
@real_y = (@y-0.5)*256
increase_steps
@move_failed = false
else
turn_down if turn_ok
check_event_trigger_touch(@x.to_i+1, @y+1)
check_event_trigger_touch(@x.to_i, @y+1)
@move_failed = true
end
else
turn_down
@y = $game_map.round_y(@y+0.5)
@real_y = (@y-0.5)*256
increase_steps
@move_failed = false
end
end
def move_up(turn_ok = true)
if amcm_integer?(@x)
if amcm_integer?(@y)
if passable?(@x, @y-1)
turn_up
@y = $game_map.round_y(@y-0.5)
@real_y = (@y+0.5)*256
increase_steps
@move_failed = false
else
turn_up if turn_ok
check_event_trigger_touch(@x, @y-1)
@move_failed = true
end
else
turn_up
@y = $game_map.round_y(@y-0.5)
@real_y = (@y+0.5)*256
increase_steps
@move_failed = false
end
elsif amcm_integer?(@y)
if passable?(@x.to_i, @y-1) and passable?(@x.to_i+1, @y-1)
turn_up
@y = $game_map.round_y(@y-0.5)
@real_y = (@y+0.5)*256
increase_steps
@move_failed = false
else
turn_up if turn_ok
check_event_trigger_touch(@x.to_i, @y-1)
check_event_trigger_touch(@x.to_i+1, @y-1)
@move_failed = true
end
else
turn_up
@y = $game_map.round_y(@y-0.5)
@real_y = (@y+0.5)*256
increase_steps
@move_failed = false
end
end
def move_left(turn_ok = true)
if amcm_integer?(@y)
if amcm_integer?(@x)
if passable?(@x-1, @y)
turn_left
@x = $game_map.round_x(@x-0.5)
@real_x = (@x+0.5)*256
increase_steps
@move_failed = false
else
turn_left if turn_ok
check_event_trigger_touch(@x-1, @y)
@move_failed = true
end
else
turn_left
@x = $game_map.round_x(@x-0.5)
@real_x = (@x+0.5)*256
increase_steps
@move_failed = false
end
elsif amcm_integer?(@x)
if passable?(@x-1,@y.to_i) and passable?(@x-1,@y.to_i+1)
turn_left
@x = $game_map.round_x(@x-0.5)
@real_x = (@x+0.5)*256
increase_steps
@move_failed = false
else
turn_left if turn_ok
check_event_trigger_touch(@x-1, @y.to_i)
check_event_trigger_touch(@x-1, @y.to_i+1)
@move_failed = true
end
else
turn_left
@x = $game_map.round_x(@x-0.5)
@real_x = (@x+0.5)*256
increase_steps
@move_failed = false
end
end
def move_right(turn_ok = true)
if amcm_integer?(@y)
if amcm_integer?(@x)
if passable?(@x+1, @y)
turn_right
@x = $game_map.round_x(@x+0.5)
@real_x = (@x-0.5)*256
increase_steps
@move_failed = false
else
turn_right if turn_ok
check_event_trigger_touch(@x+1, @y)
@move_failed = true
end
else
turn_right
@x = $game_map.round_x(@x+0.5)
@real_x = (@x-0.5)*256
increase_steps
@move_failed = false
end
elsif amcm_integer?(@x)
if passable?(@x+1,@y.to_i) and passable?(@x+1,@y.to_i+1)
turn_right
@x = $game_map.round_x(@x+0.5)
@real_x = (@x-0.5)*256
increase_steps
@move_failed = false
else
turn_right if turn_ok
check_event_trigger_touch(@x+1, @y.to_i)
check_event_trigger_touch(@x+1, @y.to_i+1)
@move_failed = true
end
else
turn_right
@x = $game_map.round_x(@x+0.5)
@real_x = (@x-0.5)*256
increase_steps
@move_failed = false
end
end
def move_lower_left
unless @direction_fix
@direction = (@direction == 6 ? 4 : @direction == 8 ? 2 : @direction)
end
if amcm_integer?(@x)
if amcm_integer?(@y)
if passable?(@x-1,@y) and passable?(@x-1,@y+1) and passable?(@x,@y+1)
@x -= 0.5
@y += 0.5
increase_steps
@move_failed = false
else
@move_failed = true
end
else
if passable?(@x-1,@y.to_i+1)
@x -= 0.5
@y += 0.5
increase_steps
@move_failed = false
else
@move_failed = true
end
end
elsif amcm_integer?(@y)
if passable?(@x.to_i,@y+1)
@x -= 0.5
@y += 0.5
increase_steps
@move_failed = false
else
@move_failed = true
end
else
@x -= 0.5
@y += 0.5
increase_steps
@move_failed = false
end
end
def move_lower_right
unless @direction_fix
@direction = (@direction == 4 ? 6 : @direction == 8 ? 2 : @direction)
end
if amcm_integer?(@x)
if amcm_integer?(@y)
if passable?(@x+1,@y) and passable?(@x+1,@y+1) and passable?(@x,@y+1)
@x += 0.5
@y += 0.5
increase_steps
@move_failed = false
else
@move_failed = true
end
else
if passable?(@x+1,@y.to_i+1)
@x += 0.5
@y += 0.5
increase_steps
@move_failed = false
else
@move_failed = true
end
end
elsif amcm_integer?(@y)
if passable?(@x.to_i+1,@y+1)
@x += 0.5
@y += 0.5
increase_steps
@move_failed = false
else
@move_failed = true
end
else
@x += 0.5
@y += 0.5
increase_steps
@move_failed = false
end
end
def move_upper_left
unless @direction_fix
@direction = (@direction == 6 ? 4 : @direction == 2 ? 8 : @direction)
end
if amcm_integer?(@x)
if amcm_integer?(@y)
if passable?(@x-1,@y) and passable?(@x-1,@y-1) and passable?(@x,@y-1)
@x -= 0.5
@y -= 0.5
increase_steps
@move_failed = false
else
@move_failed = true
end
else
if passable?(@x-1,@y.to_i)
@x -= 0.5
@y -= 0.5
increase_steps
@move_failed = false
else
@move_failed = true
end
end
elsif amcm_integer?(@y)
if passable?(@x.to_i,@y-1)
@x -= 0.5
@y -= 0.5
increase_steps
@move_failed = false
else
@move_failed = true
end
else
@x -= 0.5
@y -= 0.5
increase_steps
@move_failed = false
end
end
def move_upper_right
unless @direction_fix
@direction = (@direction == 4 ? 6 : @direction == 2 ? 8 : @direction)
end
if amcm_integer?(@x)
if amcm_integer?(@y)
if passable?(@x+1,@y) and passable?(@x+1,@y-1) and passable?(@x,@y-1)
@x += 0.5
@y -= 0.5
increase_steps
@move_failed = false
else
@move_failed = true
end
else
if passable?(@x+1,@y.to_i)
@x += 0.5
@y -= 0.5
increase_steps
@move_failed = false
else
@move_failed = true
end
end
elsif amcm_integer?(@y)
if passable?(@x.to_i+1,@y-1)
@x += 0.5
@y -= 0.5
increase_steps
@move_failed = false
else
@move_failed = true
end
else
@x += 0.5
@y -= 0.5
increase_steps
@move_failed = false
end
end
end
end
Demo:
Download v1.2
Screenshots:
Não há nescessidade, baixe a demo para ver como fica ingame.
Creditos:
Criado por Khas
[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]
[strike]