- NekyouNovo Membro
- Mensagens : 119
Reputação : 15
Armas com invocação(estilo golden sun)
Qua Set 29, 2010 12:52 pm
Nome do Script
Armas com Invocações/Skills
Introdução
Quem já jogou Golden Sun vai logo se lembrar desse sistema.
O script permite que você configure Skills para serem evocados eventualmente por suas armas.
Por exemplo, você pode configurar para que uma Arma Elemental de Fogo tenha uma porcentagem de chance de evocar a skill Fogo, e por ai vai.
Características
Simples de utilizar, é necessário configurar o script.
Funciona normalmente em chars que utilizem duas armas.
Como Usar
Basta copiar e colar nós scripts adicionais
Screenshot
ñ tenho nenhum
Script
Créditos
Holocaust
Armas com Invocações/Skills
Introdução
Quem já jogou Golden Sun vai logo se lembrar desse sistema.
O script permite que você configure Skills para serem evocados eventualmente por suas armas.
Por exemplo, você pode configurar para que uma Arma Elemental de Fogo tenha uma porcentagem de chance de evocar a skill Fogo, e por ai vai.
Características
Simples de utilizar, é necessário configurar o script.
Funciona normalmente em chars que utilizem duas armas.
Como Usar
Basta copiar e colar nós scripts adicionais
Screenshot
ñ tenho nenhum
Script
- Spoiler:
- #==============================================================================
# * Armas com Invocações/Skills estilo Golden Sun
#------------------------------------------------------------------------------
# © Dargor, 2008
# 04/03/08
# Versão 1.1
#------------------------------------------------------------------------------
# Traduzido por Holocaust. (Holocaust2)
# INSTRUÇÔES:
# - Apenas mude os valores na parte de Configurações. Mais detalhes adiante.
#==============================================================================
#==============================================================================
# * Configurações
#==============================================================================
module Weapon_Unleash
# Coloque aqui todos os IDs das armas que podem invocar skills.
Weapons = [1,2,3,4]
# Coloque aqui o ID da skills que vai ser invocada por cada arma.
# Lembre-se de colocar da seguinte forma ID DA ARMA => ID DA SKILL
Skill = {
1 => 78, # Nesse caso, a arma 1 pode evocar a skill 78
2 => 80,
3 => 62,
4 => 72,
}
# Qual a skill padrão invocada, no caso de você não colocar o ID DA SKILL no
# parametro acima?
Skill.default = 1
# Coloque aqui a porcentagem de chance da arma invocar a skill correspondente.
# Lembre-se de colocar da seguinte forma ID DA ARMA => PORCENTAGEM (sem %)
Rate = {
1 => 75, # Nesse caso, a arma 1 tem 50% de chance de evocar sua skill
2 => 75,
3 => 75,
4 => 75,
}
# Qual a probablidade padrão de liberdade skills, no caso de você não colocar a
# porcentagem da arma no parametro acima?
Rate.default = 25
end
# Texto que aparece no chat quando uma arma liberar certa skill.
Vocab::WeaponUnleash = "A arma de %s, a %s, liberou o poder de %s!"
#==============================================================================
# * Game_Actor
#------------------------------------------------------------------------------
# This class handles actors. It's used within the Game_Actors class
# ($game_actors) and referenced by the Game_Party class ($game_party).
#==============================================================================
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# * Definir ID de Animação de Ataque Normal
#--------------------------------------------------------------------------
def atk_animation_id
if two_swords_style
return weapons[0].animation_id if weapons[0] != nil
return weapons[1] == nil ? 1 : 1
else
return weapons[0] == nil ? 1 : weapons[0].animation_id
end
end
#--------------------------------------------------------------------------
# * Definir ID de Animação de Ataque Normal (Duas Armas: Arma 2)
#--------------------------------------------------------------------------
def atk_animation_id2
if two_swords_style
return weapons[1] == nil ? 1 : weapons[1].animation_id
else
return 1
end
end
end
#==============================================================================
# * Scene_Battle
#------------------------------------------------------------------------------
# This class performs battle screen processing.
#==============================================================================
class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# * Lista de alias
#--------------------------------------------------------------------------
alias dargor_execute_action_attack execute_action_attack
#--------------------------------------------------------------------------
# * Executar Ação de Batalha: Atacar
#--------------------------------------------------------------------------
def execute_action_attack
# Checar se há unleash
if @active_battler.is_a?(Game_Actor)
weapon = @active_battler.weapons[0]
if weapon_can_unleash?(weapon)
# Executar unleash para arma 1
execute_action_weapon_unleash(weapon)
else
# Executar ataque normal para arma 1
execute_specific_action_attack(1)
end
# Se o ator usar duas armas
if @active_battler.two_swords_style
weapon = @active_battler.weapons[1]
if weapon_can_unleash?(weapon)
# Executar unleash para arma 2
execute_action_weapon_unleash(weapon)
else
# Executar ataque normal para arma 2
execute_specific_action_attack(2)
end
end
# Executar ataque normal
else
dargor_execute_action_attack
end
end
#--------------------------------------------------------------------------
# * Executar ação especifica de batalha: Atacar
# arma: arma do ator (1 ou 2)
#--------------------------------------------------------------------------
def execute_specific_action_attack(weapon)
if weapon == 1
animation = @active_battler.atk_animation_id
end
if weapon == 2
animation = @active_battler.atk_animation_id2
end
text = sprintf(Vocab::DoAttack, @active_battler.name)
@message_window.add_instant_text(text)
targets = @active_battler.action.make_targets
display_normal_animation(targets, animation)
wait(30)
for target in targets
target.attack_effect(@active_battler)
display_action_effects(target)
end
end
#--------------------------------------------------------------------------
# * Executar ação de batalha (Unleash)
#--------------------------------------------------------------------------
def execute_action_weapon_unleash(weapon)
skill = $data_skills[Weapon_Unleash::Skill[weapon.id]]
skill = $data_skills[Weapon_Unleash::Skill.default] if skill.nil?
weapon_name = weapon.name
text = sprintf(Vocab::WeaponUnleash, @active_battler.name, weapon_name, skill.name)
@message_window.add_instant_text(text)
targets = @active_battler.action.make_targets
display_animation(targets, skill.animation_id)
for target in targets
target.skill_effect(@active_battler, skill)
display_action_effects(target, skill)
@message_window.back_to(4)
end
end
#--------------------------------------------------------------------------
# * Arma pode realizar unleash?
#--------------------------------------------------------------------------
def weapon_can_unleash?(weapon)
return false if @active_battler.is_a?(Game_Enemy)
return false unless Weapon_Unleash::Weapons.include?(weapon.id)
rate = Weapon_Unleash::Rate[weapon.id]
rate = Weapon_Unleash::Rate.default if rate.nil?
random = rand(100)
return random <= rate
end
end
Créditos
Holocaust
- Max KeisersMembro
- Mensagens : 267
Reputação : 49
Re: Armas com invocação(estilo golden sun)
Qua Set 29, 2010 1:14 pm
O tópico já existe, por favor, fechem o tópico.
- Spoiler:
- http://rpgmakerbrasil.ephpbb.com/scriptsrgss2-f9/train-actor-t920.htm
- NekyouNovo Membro
- Mensagens : 119
Reputação : 15
Re: Armas com invocação(estilo golden sun)
Qua Set 29, 2010 1:23 pm
cara eu alterei o topico
- Max KeisersMembro
- Mensagens : 267
Reputação : 49
Re: Armas com invocação(estilo golden sun)
Qua Set 29, 2010 1:28 pm
Agora está correto.
Permissões neste sub-fórum
Não podes responder a tópicos