| Assunto: Morbid Soul Simple Equipment Skill Qui Jul 12, 2012 10:35 am | |
| Morbid Soul Simple Equipment Skillpor Morbid SoulIntrodução Este script adiciona a função de que certos equipamento adicionam habilidades (skills) aos personagens quando equipados, e removem quando desequipados. Características Simples e fácil de usar. ScreenshotsNão perceptível por imagens. Como usarCole este script na seção ▼Scripts Adicionais. Para atribuir uma skill a um equipamento, use a seguite tag no campo notas: <EQUIP SKILL = id da skill> ou <equip skill = id da skill> DemoNão necessita de Demo. Script - Código:
-
#==============================================================================# # •• Morbid Soul Simple Equipment Skill •• # #==============================================================================# # •• Autor : Morbid Soul # # •• Tipo de Script : Addon Simples # # •• Data : 14/06/2012 | 14:30 # # •• Versão : 1.0b # #------------------------------------------------------------------------------# #==============================================================================# # •• DESCRIÇÂO: # #------------------------------------------------------------------------------# # Este script adiciona a função de que certos equipamento adicionam # # habilidades (skills) aos personagens quando equipados, e removem # # quando desequipados. # #------------------------------------------------------------------------------# #==============================================================================# # •• USO: # #------------------------------------------------------------------------------# # Cole este script na seção ▼ Scripts Adicionais # #------------------------------------------------------------------------------# # # # Para atribuir uma skill a um equipamento, use a seguite tag no campo notas: # # # # <EQUIP SKILL = id da skill> ou <equip skill = id da skill> # # # #------------------------------------------------------------------------------#
#=============================================================================== # ▼▼ Início do Script #=============================================================================== #=============================================================================== # ▼ module MORBID #=============================================================================== module MORBID module REGEXP module EQUIPITEM EQUIPMENTSKILL = /<(?:EQUIP SKILL|equip skill)[ ]*=[ ]*([\d]+)>/i end end end #=============================================================================== # ▲ module Morbid #===============================================================================
#=============================================================================== # ▼ class RPG::EquipItem #------------------------------------------------------------------------------- # Método adicionado: load_info(arg) #=============================================================================== class RPG::EquipItem def load_info(type) case type when :equipmentskill @learn_skills = [] self.note.split(/[\r\n]+/).each {|line| case line when MORBID::REGEXP::EQUIPITEM::EQUIPMENTSKILL $1.scan(/\d+/).each {|num| @learn_skills.push(num.to_i)} end } return @learn_skills end end end #=============================================================================== # ▲ class RPG::EquipItem #===============================================================================
#=============================================================================== # ▼ class Game_Actor #------------------------------------------------------------------------------- # Métodos reescritos: setup(arg) # init_equips(arg) # change_equip(*args) #=============================================================================== class Game_Actor < Game_Battler def setup(actor_id) @actor_id = actor_id @name = actor.name @nickname = actor.nickname init_graphics @class_id = actor.class_id @level = actor.initial_level @exp = {} @equips = [] init_exp init_skills init_equips(actor.equips) clear_param_plus recover_all end def init_equips(equips) @skills = [] @equips = Array.new(equip_slots.size) { Game_BaseItem.new } equips.each_with_index do |item_id, i| etype_id = index_to_etype_id(i) slot_id = empty_slot(etype_id) @equips[slot_id].set_equip(etype_id == 0, item_id) if slot_id item = @equips[slot_id].object learnableskills = item.load_info(:equipmentskill) unless item.nil? learnableskills.each {|skill| learn_skill(skill)} unless item.nil? end refresh end def change_equip(slot_id, item) return unless trade_item_with_party(item, equips[slot_id]) return if item && equip_slots[slot_id] != item.etype_id last_equip = @equips[slot_id].object forgetableskills = last_equip.load_info(:equipmentskill) unless last_equip.nil? @equips[slot_id].object = item learnableskills = item.load_info(:equipmentskill) unless item.nil? learnableskills.each {|skill| learn_skill(skill)} unless item.nil? forgetableskills.each {|skill| forget_skill(skill)} unless forgetableskills.nil? refresh end end #=============================================================================== # ▲ class Game_Actor #===============================================================================
#==============================================================================# # ▲▲ Fim do Script ▲▲ # #==============================================================================#
Perguntas Frequentes - Citação :
- Nenhuma até o momento.
Créditos e Agradecimentos • Feito por Morbid Soul Postado por SameKage
Scripts Rgss de Morbid Soul é licenciado sob uma [Tens de ter uma conta e sessão iniciada para poderes visualizar este link]
Tópico copiado, autor: Mobid Soul |
|