Pedido - Item x Classe

3 Respostas   187 Visualizações

0 Membros e 1 Visitante estão vendo este tópico.

benner

  • *
  • Posts: 63
  • Ouros: 12
Tópico criado em: 12/02/2015 às 22:35 - Última modificação por King Gerar em 26/02/2015 às 09:43

Olá, pessoal.. boa noite.. tem algum script ou evento q eu possa usar
pra 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..

hategum rpg

Resposta 1: 25/02/2015 às 23:05

Acho que com eventos da pra fazer isso.
Um cara desenvolvendo um jogo de RPG...
"  Faça o melhor que puder em tudo, simples assim."                    
                              - Hategum RPG.

benner

  • *
  • Posts: 63
  • Ouros: 12
Resposta 2: 26/02/2015 às 08:00

valeu, hategum!!
Já achei um script para esta questão..

pode fechar o tópico

KaiSSeR_SK

  • *
  • Posts: 19
  • Ouros: 3
Resposta 3: 26/02/2015 às 09:40

Olá, pessoal.. boa noite.. tem algum script ou evento q eu possa usar
pra 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..

Saudações amigo

Tente este script

Código: [Selecionar]
#==============================================================================
# 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)
  end
end
 
#==============================================================
#   * 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)
  end
end
 
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
#==============================================================
#   * 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
  end
end
 
#==============================================================
#   * 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