Confira o Videos Épicos #45!
3 Respostas   187 Visualizações
0 Membros e 1 Visitante estão vendo este tópico.
Olá, pessoal.. boa noite.. tem algum script ou evento q eu possa usarpra somente determinadas classes e/ou heróis usarem determinados items..valeu..Obs: é Item mesmo.. não é equipamento.. (armadura, arma, acessório)eu quero que cada Classe use um tipo de chave..
#==============================================================================# Szyu's Item's Class Restriction# Version 1.1# By Szyu## About:# Easily specify items, weapons and armors, which can only be used/equipped# by certain classes## Instructions:# - Place below "▼ Materials" but above "▼ Main Process".## How to Use:# - An item's note have to contain one of these:# <classes: x> # This will allow specified classes to use this item# <!classes: x> # This will forbit specified classes to use this item## Seperate multiple classes with ','!# Allowed Database Items, which can be restricted by this script:# - Items# - Weapons# - Armors## If There is none of those tags in the items note, every class is permitted to# use or equip this item### Requires:# - RPG Maker VX Ace## Terms of Use:# - Free for commercal and non-commercial use. Please list me# in the credits to support my work.### Changelog:# Same syntax can now be used to restrict for actors:# <actors: x># <!actors: x>### Pastebin:# http://adf.ly/rYIZm###==============================================================# * Game_BattlerBase#==============================================================class Game_BattlerBase alias sz_iucr_equippable? equippable? def equippable?(item) return false unless item.is_a?(RPG::EquipItem) return false if self.is_a?(Game_Actor) && (item.forbid_classes.include?(self.class_id) || item.forbid_actors.include?(self.id)) return sz_iucr_equippable?(item) endend #==============================================================# * Game_Battler#==============================================================class Game_Battler < Game_BattlerBase alias sz_iucr_item_test item_test def item_test(user, item) return false if item.is_a?(RPG::Item) && (item.forbid_classes.include?(self.class_id) || item.forbid_actors.include?(self.id)) return sz_iucr_item_test(user, item) endend #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #==============================================================# * Initialize BaseItems#==============================================================module DataManager class << self alias load_db_iucr_sz load_database end def self.load_database load_db_iucr_sz load_iucr_items end def self.load_iucr_items groups = [$data_items, $data_weapons, $data_armors] for group in groups for obj in group next if obj.nil? obj.load_iucr_notetags_sz end end endend #==============================================================# * Content of Recycling Items#==============================================================class RPG::BaseItem attr_accessor :forbid_classes attr_accessor :forbid_actors def load_iucr_notetags_sz @forbid_classes = [] @forbid_actors = [] self.note.split(/[\r\n]+/).each do |line| # Forbid Classes if line =~ /<classes:([\d+,?\s*]+)>/i $data_classes.each do |cl| @forbid_classes.push(cl.id) if cl end $1.scan(/\s*,?\d+,?\s*/i).each do |cl| @forbid_classes.delete(cl.to_i) end elsif line =~ /<!classes:([\d+,?\s*]+)>/i $1.scan(/\s*,?\d+,?\s*/i).each do |cl| @forbid_classes.push(cl.to_i) end # Forbid Actors elsif line =~ /<actors:([\d+,?\s*]+)>/i $data_actors.each do |ac| @forbid_actors.push(ac.id) if ac end $1.scan(/\s*,?\d+,?\s*/i).each do |ac| @forbid_actors.delete(ac.to_i) end elsif line =~ /<!actors:([\d+,?\s*]+)>/i $1.scan(/\s*,?\d+,?\s*/i).each do |ac| @forbid_actors.push(ac.to_i) end end end end end