Sansonic Auguste Polichinelle
Nombre de messages : 1116 Age : 31 Projet(s) en cours : ... Niveau Rpg Maker : jugez !... Date d'inscription : 28/07/2007
| Sujet: [RGSS2]Apprendre des skills avec des objet etc... Ven 18 Juil 2008, 23:46 | |
| Voila un script très utiles, aussi bien pour créer un A-RPG, que pour de simple extensions de jeux ! Fonction:Permet d'apprendre des skills/compétences/habilités par l'intermédiaire des objets... Référez vous au instructions que j'y ai noté ... script:Le nom n'a que peu d'importance. - Code:
-
#================================================================= # Skill Teaching Equipment & Items # Version 1.0 # Author: modern algebra (rmrk.net) # Date: January 27, 2008 # Traduction par: Sansonic # Pour http://rpgfusionv2.1fr1.net/ # référez vous à ce site pour plus d'infos #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Instructions: # Insérez le script au dessus de Main. #~ Pour configurer votre base de données, voir le #~ Section de configuration des lignes 29, 66 et 97 (par défaut, une fois que vous avez #~ configuré quelques-unes des données, cela va changer) #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # ** RPG #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # Adds an additional stat, skill_id, to weapons, armors, and items #=================================================================
module RPG #================================================================= # ** Objet #=================================================================
class Item #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Skill ID #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def skill_id learn_skill = 0 case @id #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * CONFIGURATIONS #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # C'est très simple pour définir l'objet et le skill qu'il permettra de faire faite ceci: # # when # learn_skill = # # Une fois remplit, copier/coller ce code à la ligne 47 # Il y a deux exemple en dessous #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ when 1 # Potion learn_skill = 1 # Heal when 2 # High Potion learn_skill = 69 # Poison Edge #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * FIN DES CONFIGURATIONS #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ end return learn_skill end end
#================================================================ # ** Arme #================================================================
class Weapon #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Skill ID #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def skill_id learn_skill = 0 case @id #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * CONFIGURATIONS #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #Idem que pour les objets: # # # when # learn_skill = # #Cette fois mettez le code à partir de la ligne 81/82 il y a comme pour les objet deux exemples #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ when 1 # Bronze Sword learn_skill = 1 # Heal when 2 # Iron Sword learn_skill = 69 # Poison Edge #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * FIN DES CONFIGURATIONS #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ end return learn_skill end end
#================================================================= # ** Armure #=================================================================
class Armor #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Skill ID #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def skill_id learn_skill = 0 case @id #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * CONFIGURATIONS #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #Idem... # # when # learn_skill = # # #Mettez le à la ligne 112 il y a aussi deux exemples #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ when 1 # Bronze Shield learn_skill = 1 # Heal when 2 # Iron Shield learn_skill = 69 # Poison Edge #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * FIN DES CONFIGURATIONS #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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 #-------------------------------------------------------------------------- # * Change Equipment # equip_type : type of equipment # id : weapon or armor ID (If 0, remove equipment) #-------------------------------------------------------------------------- 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 : actor ID #-------------------------------------------------------------------------- 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 : person using item # item : the item being used #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 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 | |
|