Este script é simples: Ele gera o movimento diagonal de escadas e rampas automáticamente, sem a necessidade de se configurar scripts. Basta configurar uma região ou um tag de terreno no mapa/tileset para cada direção e utilizar... Mais informações no próprio script...
Screenshots
Sem necessidade de dar créditos ao uso, pode ser utilizado, modificado e distribuido livremente...
Screenshots
Código:
#~ Este script tem a simples função de simular o movimento de escadas, rampas e,
#~ declíves, subidas e descidas em geral, sem a necessidade de se utilizar qualquer
#~ evento ou configuração.
#~ Nas linhas 12, 13 e 14, setam-se as configurações do script, escolha se irá utilizar
#~ as regiões ou os tags de terreno para a configuração ( recomendo que utilize as
#~ regiões e faça as configurações diretamente no editor de mapas ).
#~ Disponível para projetos comerciais.
#~ Sem necessidade de créditos
TERRAIN_LOOKUP = false # true for terrain tags, false for region ids
UPLR = 62 # Terreno ou Região para mover acima quando vier pela direita ( / )
DOWNLR = 63 # Terreno ou Região para mover abaixo quando vier pela direita ( \ )
#--------------------------------------------------------------------
#----------------------Fim da Parte Editável -------------------------
#----------------------------------------------------------------------
class Game_CharacterBase
alias spl_move_straight move_straight
def diagonal_override(d)
this_override = TERRAIN_LOOKUP ? $game_map.terrain_tag(@x, @y) :
$game_map.region_id(@x, @y)
new_x = $game_map.round_x_with_direction(@x, d)
new_y = $game_map.round_y_with_direction(@y, d)
new_override = TERRAIN_LOOKUP ? $game_map.terrain_tag(new_x, new_y) :
$game_map.region_id(new_x, new_y)
if (new_override == UPLR && d == 6)
return 6, 8
elsif (new_override == DOWNLR && d == 4)
return 4, 8
elsif (this_override == UPLR && d == 4)
return 4, 2
elsif (this_override == DOWNLR && d == 6)
return 6, 2
else
return 0, 0
end
end
#--------------------------------------------------------------------------
def move_straight(d, turn_ok = true)
ovh, ovv = diagonal_override(d)
if ovh != 0 && ovv != 0
move_diagonal(ovh, ovv)
else
spl_move_straight(d, turn_ok)
end
end
end
Sem necessidade de dar créditos ao uso, pode ser utilizado, modificado e distribuido livremente...