[RGSS]Anime Link e Combo Link

Fórum para a postagem de tutoriais e dúvidas de Rpg Maker XP, VX e VX Ace.
Responder
Darkjouse
Membro (Coronel)
Mensagens: 546
Registrado em: Dom Nov 20, 2005 8:56 pm
Maker Preferido: Rpg Maker 2003
Contato:

Mensagem por Darkjouse » Sex Set 01, 2006 6:37 pm

[center]<span style='color:navy'><span style='font-size:21pt;line-height:100%'>Anime Link e Combo Link</span></span>[/center]

Feito por: <span style='color:purple'>Claimh</span>
Formatado por: <span style='color:purple'>Darkjouse</span>
Nivel: <span style='color:purple'>Intermediario</span>
Ano: <span style='color:purple'>2005</span>

<span style='color:green'><span style='font-size:12pt;line-height:100%'>ANIMATION - LINK</span></span>


<span style='color:purple'>Características</span>
  • Permite adicionar animações extras para a mesma habilidade.</li>
  • Para customizar procure estas linhas logo no começo do script</li>
Definição do atributo ID, para ativar a animação Link, você deve atribuir este atributo para a habilidade desejada, que no caso vai ser o atributo que estiver na posição 10.

Código: Selecionar todos

#----------------------------------------------
SKILL_COMBO_ID = 10
#----------------------------------------------


E para definir quais as habilidades que terão animações extras, coloque este código no script logo após o código SKILL_COMBO_ID

Código: Selecionar todos

#----------------------------------------------
COMX = [A, [B,C,D,etc...]
#----------------------------------------------


X = Numero do comando. (Deve ser na ordem. 1,2,3,4,5, etc...)
A = ID da habilidade que vai ativar as animações extras.
B,C,D, etc... são as animações que serão adicionadas a habilidade.


E cada vez que fizer um novo comando você deve adicionar este comando extra neste código.

Código: Selecionar todos

#----------------------------------------------
  COMBO_SKILLS = [COM1, COM2, COM3,COM4]
#----------------------------------------------

Apenas coloque COM + o numero do comando.

<span style='color:red'>
Copie o script acima do script MAIN.
</span>

[codebox]###################################################################
########################### Claimh ################################
###################################################################
#Script permite adicionar animações extras para a mesma habilidade.
###################################################################


class Scene_Battle
# Definição do atributo ID para ativar a animação
SKILL_COMBO_ID = 10

# COMX = [A, [B,C,D,etc...]]
#
# X = Numero do comando, que deve ser na ordem dos comandos.
# A = ID da habilidade que vai usar as animações extras.
# B,C,D, etc... são as animações que serão adicionadas a habilidade
COM1 = [7, [45,46,10,11,12,15]]
COM2 = [55, [54,34,23,17,41]]
COM3 = [47, [32,35,38,41,44]]
COM4 = [1, [3,17,20,23,26]]
# Coloque aqui as definições dos comandos extras.
COMBO_SKILLS = [COM1, COM2, COM3,COM4]

#--------------------------------------------------------------------------
# ● スキルアクション 結果作成
#--------------------------------------------------------------------------
alias make_skill_action_result_combo make_skill_action_result
def make_skill_action_result
make_skill_action_result_combo # 原形
@combo = false
#スキルコンボ属性あり
if @skill.element_set.include?(SKILL_COMBO_ID)
skill_combo(@skill)
end
end

#--------------------------------------------------------------------------
# ● コンボ判定・設定
#--------------------------------------------------------------------------
def skill_combo(skill)
for i in 0..COMBO_SKILLS.size-1
combo = COMBO_SKILLS[i]
if skill.id == combo[0]
@combo = true
@anime_counter = 0
@anime = combo[1]
@combo_counter = @anime.size
return
end
end
p "設定ミス"
end

#--------------------------------------------------------------------------
# ● フレーム更新 (メインフェーズ ステップ 4 : 対象側アニメーション)
#--------------------------------------------------------------------------
alias update_phase4_step4_combo update_phase4_step4
def update_phase4_step4
#スキルコンボ属性あり
if @combo
# 対象側アニメーション
for target in @target_battlers
target.animation_id = @animation2_id
target.animation_hit = (target.damage != "Miss")
end
@animation2_id = @anime[@anime_counter]
@anime_counter += 1
# コンボ終了
if @anime_counter > @combo_counter
@combo = false
@wait_count = 8
@phase4_step = 5
end
else
update_phase4_step4_combo
end
end
end[/codebox]


<span style='color:green'><span style='font-size:12pt;line-height:100%'>COMBO LINK</span></span>


<span style='color:purple'>Características</span>
    </li>
  • Permite acionar habilidades uma após a outra, somando o dano de todas elas.
    </li>
  • Para customizar procure estas linhas logo no começo do script
    </li>

Definição da animação de seu battler quando ativar a habilidade.

Código: Selecionar todos

#---------------------------------------------------------------
SKILL_LINK_ANIME = 23
#---------------------------------------------------------------


Ativar a soma do dano de todas as habilidades?

Código: Selecionar todos

#---------------------------------------------------------------
  LINK_DMG_ALL = true  
#---------------------------------------------------------------


Para criar o combo Link, coloque este código logo após o código LINK_DMG_ALL

Código: Selecionar todos

#---------------------------------------------------------------
LINK X= [A, "Nome do Combo Link", [B, C]]
#---------------------------------------------------------------


X = Numero da definição(Deve ser na ordem 1,2,3,4,5,etc...)
A = Habilidade de ativação(habilidade que acionará o combo Link)
B = É a habilidade que será acionada logo após a habilidade de ativação.
C = % de chance para que o Combo Link ocorra.


Cada vez que fizer uma nova definição, você deverá colocar a nova definição aqui

Código: Selecionar todos

#---------------------------------------------------------------
  SKILL_LINK = [LINK1, LINK2]
#---------------------------------------------------------------

Apenas coloque o código LINK + o numero da definição.

<span style='color:red'>Copie o script acima do script MAIN.</span>

[codebox]#######################################################################################
############################# CLAINTH #################################################
#######################################################################################
#O script permite acionar habilidades uma após a outra.
#######################################################################################
module Skill_link
#Definição da animação de seu battler quando ativar a habilidade.
SKILL_LINK_ANIME = 23
#O combo link vai somar os danos de todas as habilidades?
LINK_DMG_ALL = true
#######################################################################################
#LINK = [A, "Nome do Combo Link", [[B, C]]]
#######################################################################################
#A = Habilidade de ativação(habilidade que acionará o combo Link)
#B = É a habilidade que será acionada logo após a habilidade de
#ativação.
#C = % de chance para que o Combo Link funcione.
#######################################################################################
#Coloque aqui suas definições do combo Link
LINK1 = [62, "Combo matador", [[58, 80], [60, 50]]]
LINK2 = [61, "Ultima End", [[62, 80]]]
#######################################################################################
#Cada vez que fizer uma nova definição, você deverá colocar o
#parâmetro do combo Link aqui em baixo
#######################################################################################
SKILL_LINK = [LINK1, LINK2]
#######################################################################################
end
class Scene_Battle
include Skill_link
alias update_phase4_step1_skill_link update_phase4_step1
def update_phase4_step1
update_phase4_step1_skill_link
$skill_linked = false
$skill_link_end = false
@skill_link_cnt = 0
@skill_linked_cnt = 0
end
alias make_skill_action_result_skill_link make_skill_action_result
def make_skill_action_result
make_skill_action_result_skill_link # Œ´•¨
if !$skill_linked and @skill_link_cnt == 0 and @active_battler.is_a?(Game_Actor)
skill_link_check(@skill)
end
if $skill_linked and @skill_link_name != nil
@help_window.set_text(@skill_link_name, 1)
end
end

def skill_link_check(skill)
for i in 0..SKILL_LINK.size-1
link = SKILL_LINK[i]
if @skill.id == link[0]
@skill_link = link[2]
for j in 0..@skill_link.size-1
check_link = @skill_link[j]
if @active_battler.skill_can_use?(check_link[0])
if rand(100) < check_link[1]
if link[1] != ""
@skill_link_name = link[1]
else
@skill_link_name = nil
end
$skill_linked = true
@skill_link_cnt += 1
else
return
end
end
end
end
end
end
alias update_phase4_step3_skill_link update_phase4_step3
def update_phase4_step3
if @skill_linked_cnt != 0
@animation1_id = SKILL_LINK_ANIME
end
update_phase4_step3_skill_link # Œ´•¨
# ‘Ò‚¿
@wait_count = 4
end
alias update_phase4_step5_skill_link update_phase4_step5
def update_phase4_step5
if LINK_DMG_ALL and $skill_linked
if @skill_linked_cnt >= @skill_link_cnt
@help_window.visible = false
@status_window.refresh
for target in @target_battlers
if target.linked_all_dmg != nil
target.damage = target.linked_all_dmg
target.damage_pop = true
target.linked_all_dmg = nil
if target.dead_end
target.hp = 0
target.dead_end = false
end
end
end
@phase4_step = 6
return
end
else
update_phase4_step5_skill_link
end
if $skill_link_end and !LINK_DMG_ALL
return
end
if $skill_linked
if @skill_link_name != nil
@help_window.visible = true
end
next_link = @skill_link[@skill_linked_cnt]
if next_link != nil and @active_battler.skill_can_use?(next_link[0])
@active_battler.current_action.skill_id = next_link[0]
@skill_linked_cnt += 1
if @skill_linked_cnt >= @skill_link_cnt
$skill_link_end = true
end
@phase4_step = 2
else
$skill_link_end = true
@phase4_step = 5
return
end
end
end
end


#==============================================================================
# ?¡ Game_Battler
#==============================================================================
class Game_Battler
include Skill_link
attr_accessor :linked_all_dmg
attr_accessor :dead_end
alias initialize_skill_link initialize
def initialize
initialize_skill_link
@linked_all_dmg = nil
@dead_end = false
end

alias skill_effect_skill_link skill_effect
def skill_effect(user, skill)
ret = skill_effect_skill_link(user, skill)
if self.dead? and $skill_linked
$skill_link_end = true
if LINK_DMG_ALL
self.dead_end = true
self.hp = 1
end
end
if LINK_DMG_ALL and $skill_linked and self.damage != "Miss"
if @linked_all_dmg == nil
@linked_all_dmg = 0
end
@linked_all_dmg += self.damage
self.damage = nil
end
return ret
end
end[/codebox]

<span style='color:green'><span style='font-size:12pt;line-height:100%'>Screns</span></span>

Imagem

Imagem

Imagem
<a href='http://imageshack.us' target='_blank'>Imagem</a>
tá podre a sing mas é que num tenho tempo pra fazer!!!

Responder