Equipamento por Nível
por João B
por João B
Introdução
Esse script faz que equipamentos só sejam equipados após um certo nível do char.
Características
- Ele esconde da lista de equipamentos as armas e armaduras com nível maior que o nível do char.
- Ele automaticamente desequipa o item se o nível do char baixar para menos que o nível do item.
- Ele faz uma verificação ao rodar o método setup de um char (que define ele para o Nível Inicial).
Screenshots
Eu acho que não são necessárias nesse script, por não ter efeitos visuais.
Como usar
É muito fácil:
- Adicione-o à seção Scripts Adicionais ou Materials do Editor de Scripts.
- Coloque no histórico das armas e armaduras o texto: FF0000]X], onde X é o nível necessário para equipar arma ou armadura.
Script
Só 69 linhas!
- Código:
#===============================================================================
# Equipamento por Nível
#-------------------------------------------------------------------------------
# Criador: João B
# - O script atribui um nível às armas e armaduras.
# - Se o nível do char for menor que o nível da arma ou armadura, o script não
# deixa o equipamento ser equipado.
#===============================================================================
#===============================================================================
# Módulo Tag
#===============================================================================
module Tag
def self.has_note?(data)
return (data.is_a?(RPG::Item) or data.is_a?(RPG::Weapon) or data.is_a?(RPG::Armor) or
data.is_a?(RPG::Skill) or data.is_a?(RPG::Enemy) or data.is_a?(RPG::State))
end
def self.get(data, tag, default)
return default.to_s unless self.has_note?(data)
note = data.note
note.scan(/\[#{tag}=(.+?)\]/)
if $1 != 0
return $1.to_s
else
return default.to_s
end
end
end
#===============================================================================
# Classe Window_EquipItem
#===============================================================================
class Window_EquipItem < Window_Item
alias equip_level_include? include?
def include?(item)
level_necessary = Tag.get(item, "level", 0).to_i
return (equip_level_include?(item) and @actor.level >= level_necessary)
end
end
#===============================================================================
# Classe Game_Actor
#===============================================================================
class Game_Actor
alias equip_level_setup setup
alias equip_level_level_down level_down
def setup(id)
equip_level_setup(id)
for item in weapons
level_necessary = Tag.get(item, "level", 0).to_i
discard_equip(item) if @level < level_necessary
end
for item in armors
level_necessary = Tag.get(item, "level", 0).to_i
discard_equip(item) if @level < level_necessary
end
end
def level_down
equip_level_level_down
for item in weapons
level_necessary = Tag.get(item, "level", 0).to_i
discard_equip(item) if @level < level_necessary
end
for item in armors
level_necessary = Tag.get(item, "level", 0).to_i
discard_equip(item) if @level < level_necessary
end
end
end
#===============================================================================
# Fim do Script
#===============================================================================
Perguntas Frequentes
Coloque um FAQ com perguntas e respostas comuns no seguinte formato:
P: Como eu instalo o script?
R: Abra o Editor de Scripts (ou aperte F11) e adicione-o à parte de Scripts Adicionais ou Materials.
Créditos e Agradecimentos
- criador João B
- Disponibilizador aldosilva.