| Assunto: Script de Habilidades por Equipamento Qui Jul 19, 2012 3:15 pm | |
| Aí vai um ótimo script para RPG VX, espero que gostem! Instruçõescolar acima de main na area dos scripts adicionais. Créditosmodern algebra por ter criado o script. ninjalegends por ter traduzido o script SameKage por postarComo configurarestá tudo nos comentarios do script. Script- Spoiler:
- Código:
-
#================================================================= # Skill Teaching Equipment & Items # Version 1.0 # Author: modern algebra (rmrk.net) # Tradutor: ninjalegends # Date: January 27, 2008 # tradução: Maio 20, 2009 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Instructions: # Coloque este script acima de Main. para configurar seu database, olhe a # sessão de configuração nas linhas 29, 66, e 97 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ** RPG #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # coloque na sessão scripts adicionais, skill_id, para armas, armaduras, e items #=================================================================
module RPG #================================================================= # ** Item #=================================================================
class Item #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Skill ID #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def skill_id learn_skill = 0 case @id #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * CONFIGURAÇÃO #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # é muito facil configurar esse script. tudo que você prescisa fazer # é escrever: # # when <item ID> # learn_skill = <skill_id> # # para todo item que traga skills. para descobrir # ID desse item ou skill é, olhar para o numero diretamente para a esquerda # dos nome no Database. aqui tem dois exemplos. pode # deletar se quizer. #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ when 1 # Potion learn_skill = 1 # Heal when 2 # High Potion learn_skill = 69 # Poison Edge #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * FIM DA CONFIGURAÇÃO #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ end return learn_skill end end
#================================================================ # ** Armas #================================================================
class Weapon #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Skill ID #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def skill_id learn_skill = 0 case @id #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * CONFIGURAÇÃO #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # # when <ID da arma> # learn_skill = <skill_ID> # #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ when 1 # Bronze Sword learn_skill = 1 # Heal when 2 # Iron Sword learn_skill = 69 # Poison Edge #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * FIM DA CONFIGURAÇÃO #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ end return learn_skill end end
#================================================================= # ** Armaduras #=================================================================
class Armor #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Skill ID #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def skill_id learn_skill = 0 case @id #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * CONFIGURAÇÃO #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # # when <ID da armadura> # learn_skill = <skill_id> # #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ when 1 # Bronze Shield learn_skill = 1 # Heal when 2 # Iron Shield learn_skill = 69 # Poison Edge #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * FIM DA CONFIGURAÇÃO #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ end return learn_skill end end end
#================================================================== # ** Game_Actor #------------------------------------------------------------------------------ # This class handles the actor. It's used within the Game_Actors class # ($game_actors) and refers to the Game_Party class ($game_party). #==================================================================
class Game_Actor < Game_Battler #-------------------------------------------------------------------------- # * Escolher Equipamento # equip_type : tipo de equipamento # id : ID da arma ou armadura (se 0, equipamento removido) #-------------------------------------------------------------------------- alias ma_skill_teaching_items_equipment_change change_equip def change_equip (equip_type, item, test = false) last_item = equips[equip_type] # Forget the skill from what was previously equipped unless test skill_id = last_item.nil? ? 0 : last_item.skill_id forget_skill (skill_id) if @unnatural_skills.include? (skill_id) @unnatural_skills.delete (skill_id) end # Run original method ma_skill_teaching_items_equipment_change (equip_type, item, test) unless test skill_id = item.nil? ? 0 : item.skill_id unless @skills.include? (skill_id) || skill_id == 0 learn_skill (skill_id) @unnatural_skills.push (skill_id) end end end #-------------------------------------------------------------------------- # * Setup # actor_id : ID do actor #-------------------------------------------------------------------------- alias ma_skill_teaching_items_actor_setup setup def setup (actor_id) @unnatural_skills = [] # Run original method ma_skill_teaching_items_actor_setup (actor_id) for item in equips next if item.nil? skill_id = item.skill_id next if skill_id == 0 || @skills.include? (skill_id) @unnatural_skills.push (skill_id) learn_skill (skill_id) end end end
#============================================================================== # ** Game_Battler (Skill Teaching modification) #------------------------------------------------------------------------------ # This class deals with battlers. It's used as a superclass for the Game_Actor # and Game_Enemy classes. #==============================================================================
class Game_Battler #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Item Test # user : personagem que usa item # item : o item que vai ser usado #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ alias ma_skill_teaching_items_test_item item_test def item_test (user, item) effective = ma_skill_teaching_items_test_item (user, item) if self.class != Game_Enemy effective |= !@skills.include? (item.skill_id) end return effective end #-------------------------------------------------------------------------- # * Application of Item Effects # item : item #-------------------------------------------------------------------------- alias ma_skill_teaching_items_effect_item item_effect def item_effect (user, item) # Run original method ma_skill_teaching_items_effect_item (user, item) if item.skill_id != 0 && self.class != Game_Enemy && !@skills.include? (item.skill_id) @unnatural_skills.delete (item.skill_id) learn_skill (item.skill_id) end end end
|
|