Learn Skills From Items é um script para o RPG Maker XP desenvolvido SephirothSpawn para permitir que seus personagens aprendam skills (habilidades) através do uso de items.
Você pode definir skills diferentes, de itens diferentes, e em diferentes vezes que forem usados.
O script é facilmente instalado e pode ser personalizado.
Para instalar, coloque o script abaixo do SDK e acima do Main.
Você pode ver detalhes de como customizar o script nos comentários do código abaixo:
#============================================================================== # ** Learn Skills from Items (Usage) #------------------------------------------------------------------------------ # SephirothSpawn # Version 1 # 2006-08-23 #------------------------------------------------------------------------------ # * Description : # # This script was designed to allow your characters to learn skills from # using items. You are allowed to set different skills, from different items # for different times being used. #------------------------------------------------------------------------------ # * Instructions : # # Place The Script Below the SDK and Above Main. # To Customize your skill settings, refer to the customization instructions. #------------------------------------------------------------------------------ # * Customization : # # Setting Up Items For Skills (0 as an actor id will default for all actors) # - Item_Use_To_Skills = { actor_id => {item_id, times_to_use, ...}, ... } #------------------------------------------------------------------------------ # * Syntax : # # Retrieving Item Use Counter # - <game_actor>.skill_item_use_count(item_id) #============================================================================== #------------------------------------------------------------------------------ # * SDK Log Script #------------------------------------------------------------------------------ SDK.log('Learn Skills from Items (Usage)', 'SephirothSpawn', 1, '2006-08-23') #------------------------------------------------------------------------------ # * Begin SDK Enable Test #------------------------------------------------------------------------------ if SDK.state('Learn Skills from Items (Usage)') #============================================================================== # ** Game_Actor #============================================================================== class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # * Item Use For Skills # # ~ actor_id => {skill_id => {item_id => times, ...}, ...} # Use 0 as actor for all actors #-------------------------------------------------------------------------- Item_Use_To_Skills = {} #-------------------------------------------------------------------------- # * Alias Listings #-------------------------------------------------------------------------- alias seph_useitems4skills_gmactr_setup setup alias seph_useitems4skills_gmactr_ie item_effect #-------------------------------------------------------------------------- # * Setup #-------------------------------------------------------------------------- def setup(actor_id) # Original Setup seph_useitems4skills_gmactr_setup(actor_id) # Sets Up Item Use Counter @skill_item_use = {} end #-------------------------------------------------------------------------- # * Skill Item Use Count #-------------------------------------------------------------------------- def skill_item_use_count(item_id) return @skill_item_use.has_key?(item_id) ? @skill_item_use[item_id] : 0 end #-------------------------------------------------------------------------- # * Item Effect #-------------------------------------------------------------------------- def item_effect(item) # Original Item Effects seph_useitems4skills_gmactr_ie(item) # Add to Item Use Counter @skill_item_use[item.id] = 0 unless @skill_item_use.has_key?(item.id) @skill_item_use[item.id] += 1 # Checks Items 4 Skill Constant Item_Use_To_Skills.each do |actor_id, skill_data| # Skip if Actor ID Not Self ID next unless [0, self.id].include?(actor_id) # Checks All Skill Data skill_data.each do |skill_id, usage_req| # Skip if skill already known next if @skills.include?(skill_id) # Sets Learn Flag On learn_skill = true # Checks All Item Use Requirements usage_req.each do |item_id, n| # Turn Learn Flag off if Requirement Not Met learn_skill = false if n > skill_item_use_count(item_id) end # If Learn Flag On if learn_skill # Learn Skill self.learn_skill(skill_id) end end end end end #------------------------------------------------------------------------------ # * End SDK Enable Test #------------------------------------------------------------------------------ end
Observação: se você gostou deste post ou ele lhe foi útil de alguma forma, por favor considere apoiar financeiramente a Gaming Room. Fico feliz só de ajudar, mas a contribuição do visitante é muito importante para que este site continua existindo e para que eu possa continuar provendo este tipo de conteúdo e melhorar cada vez mais. Acesse aqui e saiba como. Obrigado!