Eu achei um script que funciona para amarrar itens a algumas habilidades e gostaria de saber como fazer ele funcionar em netplay v3.
Quando eu coloco no meu jogo ele não faz nada nem quando eu uso a habilidade e consome itens, e lança as habilidades mesmo sem eu ter o item.
Aqui está o script:
Quando eu coloco no meu jogo ele não faz nada nem quando eu uso a habilidade e consome itens, e lança as habilidades mesmo sem eu ter o item.
Aqui está o script:
- Spoiler:
- # Ações Gastam Itens
# Por Atoa
#==============================================================================
# Este script permite criar habilidades e armas que consomem itens
# quando usadas.
#
# Desta maneira você pode criar arcos que consomem flechas ou outras
# coisas.
#
# Pode-se criar dois tipos de consumo:
# 1 - Consumir itens do inventário.
# Neste tipo de consumo é necessário ter todos os itens definidos nas
# quantidades estipuladas, todos os itens são gastos.
# Interessante para se criar habilidades que precisam de uma combinação
# de ingredientes para serem usadas.
# 2 - Consumir itens equipados.
# Neste tipo, você precisa estar equipado com um dos itens definidos.
# Apenas o item equipado é consumido.
# Interessante de se usar para armas como arcos, assim você pode
# criar flechas com diferentes propriedades (este sistema se torna
# ainda mais eficaz se usado com sabedoria junto do scritp
# 'Multi Slots de Equipamentos')
#==============================================================================
module Atoa
# Não altere estas linhas.
Weapon_Need_Items = {}
Skill_Need_Items = {}
Weapon_Need_Equiped = {}
Skill_Need_Equiped = {}
# Não altere estas linhas.
#¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
# CONSUMO DE ITEM DO INVENTÁRIO
#¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
# As armas e habilidades definidas aqui necessitam de todos os itens
# listados para serem usadas. Todos os itens são consumidos nas quantias
# definidas.
# Weapon_Need_Items[ID da Arma] = [[Tipo, ID consum, Quantia]]
# ID da Arma = ID da arma que necessita dos itens
# Tipo = tipo do item consumido. deve ser um dos valores abaixo
# 'i' = para itens
# 'a' = para armaduras
# 'w' = para armas
# Pode-se adicionar quanto itens você quiser para serem consumidos
# E.x.: Weapon_Need_Items[25] = [['i', 25, 2],['i', 17, 1],['a', 13, 1]]
Weapon_Need_Items[17] = [['i', 34, 1]]
Weapon_Need_Items[18] = [['i', 34, 1]]
Weapon_Need_Items[19] = [['i', 34, 1]]
Weapon_Need_Items[20] = [['i', 34, 1]]
# Skill_Need_Items[ID da Skill] = [[Tipo, ID consum, Quantia]]
# ID da Skill = ID da habilidade que necessita dos itens
# Tipo = tipo do item consumido. deve ser um dos valores abaixo
# 'i' = para itens
# 'a' = para armaduras
# 'w' = para armas
# Pode-se adicionar quanto itens você quiser para serem consumidos
# E.x.: Skill_Need_Items[25] = [['i', 25, 2],['i', 17, 1],['a', 13, 1]]
Skill_Need_Items[73] = [['i', 34, 1]]
Skill_Need_Items[74] = [['i', 34, 1]]
Skill_Need_Items[75] = [['i', 34, 1]]
Skill_Need_Items[76] = [['i', 34, 1]]
#¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
# CONSUMO DE ITEM EQUIPADO
#¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
# As armas e habilidades definidas aqui necessitam que um dos itens definidos
# aqui estejam equipados pelo personagem para serem usadas.
# Apenas o item equipado é consumido, mesmo que você possua os outros itens
# definidos no inventário. O item consumido só é desequipado se ele for o
# ultimo do inventário.
# Weapon_Need_Equiped[ID da Arma] = [[Tipo, ID consum, Quantia]]
# ID da Arma = ID da arma que necessita dos itens
# Tipo = tipo do item consumido. deve ser um dos valores abaixo
# 'a' = para armaduras
# 'w' = para armas
# (lembre-se que itens não podem ser equipados, somente armas ou armaduras
# Pode-se adicionar quantos itens você quiser, assim você poderá atribuir
# mais de uma "munição" a uma mesma arma.
# E.x.: Weapon_Need_Equiped[25] = [['a',41, 1],['a',42, 1]]
Weapon_Need_Equiped[21] = [['a',41, 1],['a',42, 1]]
Weapon_Need_Equiped[22] = [['a',41, 1],['a',42, 1]]
Weapon_Need_Equiped[23] = [['a',41, 1],['a',42, 1]]
Weapon_Need_Equiped[24] = [['a',41, 1],['a',42, 1]]
Skill_Need_Equiped[77] = [['a',41, 3],['a',42, 3]]
Skill_Need_Equiped[78] = [['a',41, 1],['a',42, 1]]
Skill_Need_Equiped[79] = [['a',41, 1],['a',42, 1]]
Skill_Need_Equiped[80] = [['a',41, 5],['a',42, 5]]
end
#==============================================================================
# ■ Atoa Module
#==============================================================================
$atoa_script = {} if $atoa_script.nil?
$atoa_script['Atoa Action Consum Item'] = true
#==============================================================================
# ■ RPG::Weapon
#==============================================================================
class RPG::Weapon
#--------------------------------------------------------------------------
def type_name
return 'Weapon'
end
end
#==============================================================================
# ■ RPG::Weapon
#==============================================================================
class RPG::Armor
#--------------------------------------------------------------------------
def type_name
return 'Armor'
end
end
#==============================================================================
# ■ Game_Actor
#==============================================================================
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
include Atoa
#--------------------------------------------------------------------------
alias atoa_skill_can_use_itemskill skill_can_use?
def skill_can_use?(skill_id)
if Skill_Need_Items.include?(skill_id) or Skill_Need_Equiped.include?(skill_id)
return false unless check_item_needed('Skill', skill_id)
end
return atoa_skill_can_use_itemskill(skill_id)
end
#--------------------------------------------------------------------------
def check_item_needed(type, id)
action = eval(type + '_Need_Items.dup')
equipment = eval(type + '_Need_Equiped.dup')
if action.include?(id)
for need in action[id]
next if need[0] == 'i' and $game_party.item_number(need[1]) >= need[2]
next if need[0] == 'a' and $game_party.armor_number(need[1]) >= need[2]
next if need[0] == 'w' and $game_party.weapon_number(need[1]) >= need[2]
return false
end
end
if equipment.include?(id)
for need in equipment[id]
equipments = armors.dup if need[0] == 'a'
equipments = weapons.dup if need[0] == 'w'
for equip in equipments
if equip.id == need[1] and (need[0] == 'a' and
$game_party.armor_number(need[1]) >= [need[2] - 1, 0].max) or
(need[0] == 'w' and $game_party.weapon_number(need[1]) >= [need[2] - 1, 0].max)
return true
end
end
end
return false
end
return true
end
#--------------------------------------------------------------------------
def consume_item(type, id)
action = eval(type + '_Need_Items.dup')
equipment = eval(type + '_Need_Equiped.dup')
if action.include?(id)
for need in action[id]
$game_party.lose_item(need[1], need[2]) if need[0] == 'i'
$game_party.lose_armor(need[1], need[2]) if need[0] == 'a'
$game_party.lose_weapon(need[1], need[2]) if need[0] == 'w'
end
end
if equipment.include?(id)
if $atoa_script['Atoa Multi Slot']
for need in equipment[id]
equipments = armors.dup if need[0] == 'a'
equipments = weapons.dup if need[0] == 'w'
for i in 0...equips.size
if equip[i].id == need[1]
equip(i, 0)
$game_party.lose_armor(need[1], need[2]) if need[0] == 'a'
$game_party.lose_weapon(need[1], need[2]) if need[0] == 'w'
equip(i, equip[i].id)
end
end
end
else
for need in equipment[id]
equipments = armors.dup if need[0] == 'a'
equipments = weapons.dup if need[0] == 'w'
for equip in equipments
if equip.type_name == 'Weapon'
type = 0
else
type = 1 if equip.id == @armor1_id
type = 2 if equip.id == @armor2_id
type = 3 if equip.id == @armor3_id
type = 4 if equip.id == @armor4_id
end
if equip.id == need[1]
equip(type, 0)
$game_party.lose_armor(need[1], need[2]) if need[0] == 'a'
$game_party.lose_weapon(need[1], need[2]) if need[0] == 'w'
equip(type, equip.id)
end
end
end
end
end
end
end
#==============================================================================
# ■ Scene_Battle
#==============================================================================
class Scene_Battle
#--------------------------------------------------------------------------
include Atoa
#--------------------------------------------------------------------------
alias atoa_update_phase3_basic_command_itemskill update_phase3_basic_command
def update_phase3_basic_command
if Input.trigger?(Input::C)
case @actor_command_window.index
when 0
weapon = $data_weapons[@active_battler.weapon_id]
if weapon != nil and (Weapon_Need_Items.include?(weapon.id) or
Weapon_Need_Equiped.include?(weapon.id))
unless @active_battler.check_item_needed('Weapon', weapon.id)
$game_system.se_play($data_system.buzzer_se)
return
end
end
end
end
atoa_update_phase3_basic_command_itemskill
end
#--------------------------------------------------------------------------
alias atoa_make_basic_action_result_itemskill make_basic_action_result
def make_basic_action_result
if @active_battler.current_action.basic == 0 and @active_battler.is_a?(Game_Actor)
weapon = $data_weapons[@active_battler.weapon_id]
if weapon != nil and (Weapon_Need_Items.include?(weapon.id) or
Weapon_Need_Equiped.include?(weapon.id))
@active_battler.consume_item('Weapon', weapon.id)
end
end
atoa_make_basic_action_result_itemskill
end
#--------------------------------------------------------------------------
alias atoa_make_skill_action_result_itemskill make_skill_action_result
def make_skill_action_result
atoa_make_skill_action_result_itemskill
unless @phase4_step == 1
if Skill_Need_Items.include?(@skill.id) or Skill_Need_Equiped.include?(@skill.id)
@active_battler.consume_item('Skill', @skill.id)
end
end
end
end