PortalPortal  InícioInício  FAQFAQ  BuscarBuscar  Registrar-seRegistrar-se  Conectar-se  

Compartilhe|

Andar, Caminhar e Correr

Ver o tópico anterior Ver o tópico seguinte Ir em baixo
AutorMensagem
Douglanilo
avatar
Mestre
Mestre

Masculino Postagens : 959
Data de inscrição : 02/04/2009


Ver perfil do usuário http://www.twevergrand.com
MensagemAssunto: Andar, Caminhar e Correr Dom Maio 10, 2009 9:53 am

Stand/Walk/Run script --- RMVX Version
Synthesize

Características
O script permite que o pesonagem tenha 3 velocidades, sendo andar, caminhar e correr.

Screenshots
Não necessários.

script
Código:
======================================================================
=========
# Stand/Walk/Run script --- RMVX Version
#===============================================================================
# Written by Synthesize
# Version 2.00
# January 26, 2008
# Revised: March 1, 2008
#===============================================================================
# Customization
#-------------------------------------------------------------------------------
module StandWalkRun
Use_run = true # Use Run Points?
Use_run_sprite = true # Use a Running sprite?
Run_sprite_suffix = '_run' # Running Sprite Suffix
Run_points = 100 # The maximum amount of Run Points
Run_points_restore = 60 # 1 Run Point is restored in X Frames
Restore_run_while_walking = true # Restore points while walking?
Use_idle_sprite = true # Use Idle Sprite?
Idle_sprite_suffix = '_idle' # idle Sprite Suffix
Use_anime = true # Animate your Idle Sprite?
Idle_time = 240 # Time before sprite is animated
end
#-------------------------------------------------------------------------------
# Scene_Map:: The main functions of the script are here
#-------------------------------------------------------------------------------
class Scene_Map < Scene_Base
# Aliases
alias syn_map_update update
alias syn_map_start start
#-----------------------------------------------------------------------------
# Initiate variables
#-----------------------------------------------------------------------------
def start
$game_player.old_character_name = $game_player.character_name
@wait_time = 0
@wait_time2 = 0
syn_map_start
end
#-----------------------------------------------------------------------------
# Rewrite Scene_Change to reset sprite
#-----------------------------------------------------------------------------
def update_scene_change
return if $game_player.moving?
case $game_temp.next_scene
when "battle"
call_idle($game_player.old_character_name, false)
call_battle
when "shop"
call_idle($game_player.old_character_name, false)
call_shop
when "name"
call_idle($game_player.old_character_name, false)
call_name
when "menu"
call_idle($game_player.old_character_name, false)
call_menu
when "save"
call_idle($game_player.old_character_name, false)
call_save
when "debug"
call_idle($game_player.old_character_name, false)
call_debug
when "gameover"
call_gameover
when "title"
call_title
else
$game_temp.next_scene = nil
end
end
#-----------------------------------------------------------------------------
# Update:: Update the scene
#-----------------------------------------------------------------------------
def update
syn_map_update
if Input.dir4 == 0
wait(1, false) if StandWalkRun::Use_idle_sprite
call_idle($game_player.character_name
  StandWalkRun::Idle_sprite_suffix, StandWalkRun::Use_anime) if
@wait_time == StandWalkRun::Idle_time
$game_temp.syn_state = "idle"
restore_run if StandWalkRun::Use_run
else
$game_temp.syn_state = ""
restore_run if StandWalkRun::Restore_run_while_walking
call_idle($game_player.old_character_name, false) if $game_player.character_name != $game_player.old_character_name
end
end
#-----------------------------------------------------------------------------
# Call_Idle:: Sets and animates the idle Sprite
#-----------------------------------------------------------------------------
def call_idle(sprite, anime)
$game_player.set_step_anime(anime)
$game_player.set_graphic(sprite, 0)
end
#-----------------------------------------------------------------------------
# Restore_Run: Restore Run Points
#-----------------------------------------------------------------------------
def restore_run
if $game_player.run_points < StandWalkRun::Run_points
wait(1, true)
$game_player.run_points  = 1 if @wait_time2 == StandWalkRun::Run_points_restore
@wait_time2 = 0 if @wait_time2 == StandWalkRun::Run_points_restore
end
end
#-----------------------------------------------------------------------------
# Wait:: Allows Wait Times
#-----------------------------------------------------------------------------
def wait(duration, value)
for i in 0...duration
@wait_time  = 1 if value == false
@wait_time2  = 1 if value
break if i >= duration / 2
end
end
end
#-------------------------------------------------------------------------------
# Game_Temp:: Create current state
#-------------------------------------------------------------------------------
class Game_Temp
attr_accessor :syn_state
alias syn_temp_init initialize
def initialize
@syn_state = ""
syn_temp_init
end
end
#-------------------------------------------------------------------------------
# Game_Character:: Create the Change_Sprite method
#-------------------------------------------------------------------------------
class Game_Character
# Attr(s)
attr_accessor :old_character_name
attr_accessor :run_points
alias syn_ch_init initialize
#-----------------------------------------------------------------------------
# Initialize Variables
#-----------------------------------------------------------------------------
def initialize
@run_points = StandWalkRun::Run_points
syn_ch_init
end
#-----------------------------------------------------------------------------
# Set Setp Animation
#-----------------------------------------------------------------------------
def set_step_anime(value)
@step_anime = value
return @step_anime
end
end
#-------------------------------------------------------------------------------
# Game_Player:: This handles the dash process
#-------------------------------------------------------------------------------
class Game_Player < Game_Character
alias syn_player_update update
alias syn_player_dash dash?
def dash?
return false if @run_points == 0 and StandWalkRun::Use_run
syn_player_dash
end
#-----------------------------------------------------------------------------
# Update:: Update the scene
#----------------------------------------------------------------------------
def update
if dash?
unless $game_temp.syn_state == "idle"
set_graphic(@character_name  StandWalkRun::Run_sprite_suffix, 0) if StandWalkRun::Use_run_sprite
@run_points -= 1
syn_player_update
end
else
changed = false
syn_player_update
end
end
end
#-------------------------------------------------------------------------------
# * This script is not compatible with RPG Maker XP *
#-------------------------------------------------------------------------------
# Written by Synthesize
# Version 2.00
# Requested by Cerulean Sky
#===============================================================================
# Stand/Walk/Run - RMVX Version
#======================================

Créditos e Agradecimentos
Synthesize - Por criar o script
Cerulean Sky - Por pedir o script
Douglanilo - Por postar o script

_________________________________________
Voltar ao Topo Ir em baixo
Convidad

Convidado


MensagemAssunto: Re: Andar, Caminhar e Correr Dom Maio 10, 2009 6:41 pm

Bem interresante esse sistema de andar caminhar e correr, deixa o jogo mais criativo.
Voltar ao Topo Ir em baixo
Douglanilo
avatar
Mestre
Mestre

Masculino Postagens : 959
Data de inscrição : 02/04/2009


Ver perfil do usuário http://www.twevergrand.com
MensagemAssunto: Re: Andar, Caminhar e Correr Dom Maio 10, 2009 6:56 pm

Pior que fica, eu estou a procura da versão para RMXP, se conseguir (acho que não vai), me mande uma MP dizendo o link.

_________________________________________
Voltar ao Topo Ir em baixo
Conteúdo patrocinado




MensagemAssunto: Re: Andar, Caminhar e Correr

Voltar ao Topo Ir em baixo

Andar, Caminhar e Correr

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo
Página 1 de 1

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
The World of EverGrand :: Programação em Linguagens :: Ruby Game Scripting System :: Scripts :: RPG Maker VX-