¡¿Que onda makeros?!, ¿¡Como les va!?. Bueno, aqui les dejo mi segundo VideoScript: Correr con reflejo:
Chequenlo, esta muy bueno.
Script:
¡Saludos, y que la pasen bien!.
Chequenlo, esta muy bueno.
Script:
Código:
#==================================================================
# Corrida simples com reflexos
# Autor: Madajuv
# Ideia: Paoa
#==================================================================
# Um sistema de corrida que faz o personagem soltar reflexos
# dele enquanto ele corre.
#==================================================================
# Edite aqui:
#------------------------------------------------------------------
module Mada
# Velocidade do personagem durante a corrida:
CCR_Velocidade = 5
# O tempo que passa para se soltar um reflexo:
# Quanto menor o tempo, mais reflexos, porém provavelmente
# mais lag
CCR_Tempo_ent_Reflex = 1 # 1 é o valor mínimo
# Tempo que se passa para verificar reflexos antigos
# e apagá-los:
# Quanto menor o tempo menos lag
CCR_Tempo_del_ant_reflex = 1 # 1 é o valor mínimo
# Switch que ativa o sistema de corrida
CCR_switch = 1
# Tecla que faz correr
CCR_Tecla = Input::SHIFT
# Quantidade de reflexos:
# 1 = mínimo possível
# 2 = pouco
# 3 = alguns
# 4 = mais alguns
# 5 = bastante
# 6 = muitos
# 7 = máximo possível (OBS: Chega a ser ridiculamente muitos...)
# Outros valores não serão aceitos, e lembre-se que
# quantos mais reflexos provavelmente mais lag.
CCR_N_reflex = 5
end
#------------------------------------------------------------------
# Fim da edição
#==================================================================
class Spriteset_Map
alias mada_ccr_spm_update update
def update
if $game_player.correndo? and $game_player.tempo_refle?
@character_sprites.push(Sprite_Character_rastro.new(@viewport1, $game_player))
end
apagar_reflexos_antigos if $game_player.tempo_apagar_refs?
mada_ccr_spm_update
end
def apagar_reflexos_antigos
for i in 0..@character_sprites.size
if @character_sprites[i].is_a?(Sprite_Character_rastro) and @character_sprites[i].opacity == 0
@character_sprites[i] = nil
@character_sprites.compact!
end
end
end
end
class Sprite_Character_rastro < RPG::Sprite
attr_reader :opacity
def initialize(viewport, character)
super(viewport)
@t = 0
@x = 0
@y = 0
@character = character
if @tile_id != @character.tile_id or
@character_name != @character.character_name or
@character_hue != @character.character_hue
@tile_id = @character.tile_id
@character_name = @character.character_name
@character_hue = @character.character_hue
if @tile_id >= 384
self.bitmap = RPG::Cache.tile($game_map.tileset_name,
@tile_id, @character.character_hue)
self.src_rect.set(0, 0, 32, 32)
self.ox = 16
self.oy = 32
else
self.bitmap = RPG::Cache.character(@character.character_name,
@character.character_hue)
@cw = bitmap.width / 4
@ch = bitmap.height / 4
self.ox = @cw / 2
self.oy = @ch
end
end
self.visible = (not @character.transparent)
if @tile_id == 0
sx = @character.pattern * @cw
sy = (@character.direction - 2) / 2 * @ch
self.src_rect.set(sx, sy, @cw, @ch)
end
@reflex_d = @character.direction
if @reflex_d == 2
self.x = @character.screen_x
self.y = @character.screen_y - 10
elsif @reflex_d == 4
self.x = @character.screen_x + 10
self.y = @character.screen_y
elsif @reflex_d == 6
self.x = @character.screen_x - 10
self.y = @character.screen_y
elsif @reflex_d == 8
self.x = @character.screen_x
self.y = @character.screen_y + 10
end
@x = ((self.x - 16)*4) - 3 + $game_map.display_x
@y = ((self.y - 32)*4) - 3 + $game_map.display_y
self.z = @character.screen_z(@ch)
self.blend_type = 0
self.bush_depth = @character.bush_depth
update
end
def update
if @t == $ref_div
return
end
super
self.opacity = 255 - @t
@t += $ref_soma
self.x = (@x - $game_map.display_x + 3) / 4 + 16
self.y = (@y - $game_map.display_y + 3) / 4 + 32
if @reflex_d == 2
self.z -= 1
elsif @reflex_d == 8
self.z += 1
end
end
end
class Scene_Title
alias mada_ccr_st_main main
def main
if Mada::CCR_N_reflex == 1
$ref_soma = 85
elsif Mada::CCR_N_reflex == 2
$ref_soma = 51
elsif Mada::CCR_N_reflex == 3
$ref_soma = 17
elsif Mada::CCR_N_reflex == 4
$ref_soma = 15
elsif Mada::CCR_N_reflex == 5
$ref_soma = 5
elsif Mada::CCR_N_reflex == 6
$ref_soma = 3
elsif Mada::CCR_N_reflex == 7
$ref_soma = 1
end
$ref_div = 255/$ref_soma
mada_ccr_st_main
end
end
class Game_Character
alias mada_ccr_gc_initialize initialize
def initialize
mada_ccr_gc_initialize
@correndo = false
@tempo_ref = 0
@tempo_aref = 0
end
end
class Game_Player < Game_Character
alias mada_ccr_gp_update update
def update
mada_ccr_gp_update
$scroll_dr = 0 if not moving? and $scroll_dr != 0
@tempo_ref += 1 unless @tempo_ref >= Mada::CCR_Tempo_ent_Reflex
@tempo_aref += 1 unless @tempo_aref >= Mada::CCR_Tempo_del_ant_reflex
if correndo?
unless @correndo
@move_speed = Mada::CCR_Velocidade
@correndo = true
end
else
if @correndo
@move_speed = 4
@correndo = false
end
end
end
def correndo?
return true if Input.press?(Mada::CCR_Tecla) and not @correndo and $game_switches[Mada::CCR_switch] and moving?
end
def tempo_refle?
if @tempo_ref >= Mada::CCR_Tempo_ent_Reflex
@tempo_ref = 0
return true
end
return false
end
def tempo_apagar_refs?
if @tempo_aref >= Mada::CCR_Tempo_del_ant_reflex
@tempo_aref = 0
return true
end
return false
end
end
Última edición por un moderador: