Últimos temas
» [Ace]Movimiento Libre
por brrt Ayer a las 3:57 pm

» Virtual Kingom (Old Version)
por NinjaLOL Ayer a las 3:22 am

» Concurso de relatos - Septiembre/Octubre 2018 [Inscripción]
por raffael_0 Ayer a las 3:18 am

» Laminación [VXACE] [PROYECTO EN CURSO]
por Pocari Vie Oct 12, 2018 12:08 pm

» QUITAR VENTANA DEL MENU (VX ACE)
por THESHINYMISTERXD Sáb Oct 06, 2018 7:46 pm

» Condición para saber si el jugador está caminando
por Sonik Sáb Oct 06, 2018 5:03 pm

» ¿Tileset de un futbolín?
por MCarlos15 Jue Oct 04, 2018 9:07 pm

» RPG Maker VX Ace en MAC
por Er1ck_92 Mar Oct 02, 2018 8:42 am

» Distrito 0 [VXACE]
por BREAK93 Mar Oct 02, 2018 6:08 am

» Necesito taileset modernos pero que no tengan estilo anime por favor
por Doble D Mar Oct 02, 2018 12:36 am

» Fantasy World XP (+ de 200 para o grupo)
por DecinBR Sáb Sep 29, 2018 6:28 pm

» Problemas con un archivo
por AetherIssei Dom Sep 23, 2018 4:08 am


(ACE) Inventario Limitado

Ir abajo

(ACE) Inventario Limitado

Mensaje por LucaRPG el Sáb Sep 26, 2015 11:51 pm

HOLA
navegando por ahi encontre este script que es el ''Inventario limitado'' el creador gringo dejo las caracteristicas

---------------------------------------------------
Límite de inventario por artículo Possesed general
Cada objeto puede tener su propio tamaño / peso
Usted puede aumentar o disminuir el límite de inventario utilizando estados o equipos
Capacidad para descartar elemento en elemento de menú
Defina su propia fórmula para determinar el límite de inventario
Multa por haber sobrecargado como el movimiento lento / desactivar el tablero  * Nueva
El resto de características se escribe en escritura

----------------------------------------------------
Creditos a: TheoAllen

SCRIPT CODIGO:


Código:
# =============================================================================
# TheoAllen - Limited Inventory
# Version : 1.4
# Contact : www.rpgmakerid.com (or) http://theolized.blogspot.com
# (English Documentation)
# =============================================================================
($imported ||= {})[:Theo_LimInventory] = true
# =============================================================================
# Change logs:
# -----------------------------------------------------------------------------
# 2015.02.02 - Added slowdown penalty when the inventory is full
#            - Added disable dash when the inventory is full
#            - Added force gain item to supports those newly added features
# 2014.09.22 - Bugfix. Negative number appear when use item and inventory
#              reached its limit.
#            - Compatibility patch with YEA Menu Cursor
#            - Compatibility patch with MOG Menu Cursor as well
# 2014.02.25 - Add limited inventory eval formula to provide flexibility
#            - Change notetag constant to provide flexibility
# 2014.02.16 - Base Inventory slot of an actor can be changed using script call
# 2014.02.11 - Bugfix. Unequip item causes lose the item if inventory is full
# 2013.10.07 - Bugfix. Item doesn't removed when discarded
#            - Bugfix. Inventory amount not refreshed when item is discarded
# 2013.10.04 - Compatibility fix with chest system
# 2013.08.30 - Now unable to discard key item
# 2013.08.22 - Bugfix. Item size notetag isn't working
# 2013.08.19 - Bugfix when gained item
#            - Bugfix when disable display item size in shop menu
# 2013.08.18 - Finished script
# =============================================================================
=begin
  ---------------------------------------------------------------------------
  Introduction :
  This script allow you to limit your inventory by overall possesed items
  instead of individual items
  
  ---------------------------------------------------------------------------
  How to Use :
  Put this script below material but above main
  If you're using YEA - Shop Option, put it below that script
  Edit configurations and the notetags as described below
  
  ---------------------------------------------------------------------------
  Notetags :
  write down these notetags to the notebox in your database
  
  <inv size: n>
  Use this notetag where the n is a numeric value which is determine the size
  of item. Use 0 for unlimited item. Only works for item and equipment such as
  weapon or armor.
  
  <inv plus: n>
  Use this notetag to determine the additional avalaible free inventory slot.
  This notetag avalaible for Actor, Class, Equip, and States. If it's for
  actor, avalaible inventory slot will increase when a new actor entered party.
  If it's for equip, the avalaible slot will be increase if the certain equip
  is equipped. And so do states.
  
  This value can be changed by script call during the game. Just check the
  script call instruction.
  
  <inv minus: n>
  Inverse of <inv plus>. It will decrease the avalaible inventory slot. Pretty
  clear I think.
  
  <inv formula>
  script
  </inv formula>
  This notetag is used to determine inventory limit based on your own formula
  For example, inventory limit for an actor is based on its agility or even
  its level. It can be used inside actor or class notebox.
  
  Inventory formula is automatically accumulated with base inventory. I mean,
  if you're going to add <inv plus: 100> and your formula. Then, the result is
  ==> 100 + your formula
  
  Example :
  <inv formula>
  level * 100
  </inv formula>
  By using this formula it means that each actor has leveled up, its base
  inventory will be increase by 100. If you're using multiple lines, it will be
  considered as a one line. You can also using these parameters to determine
  your own formula.
  
  - mhp
  - mmp
  - atk
  - def
  - mat
  - mdf
  - agi
  - luk
  - $game_variables[id]
  
  Note :
  - A false formula may produce an error. So, make sure you write the correct
    formula. Alternatively, you can ask ppl out there to help you out.
  - For scripter, the formula eval is evaled inside Game_Actor
  ---------------------------------------------------------------------------
  Script call :
  If you want to force gain an item even the inventory is full, you can do it
  by script call. Just write this following line
  
  force_gain_item($data_items[id],amount)
  id is an item id in your database
  
  To change base inventory for an actor, use these script call
  $game_actors[id].base_inv = value     << Set
  $game_actors[id].base_inv += value    << Add
  $game_actors[id].base_inv -= value    << Substract
  
  If you set dynamic slot as false, you can change inventory limit by using
  this script call.
  $game_party.base_inv = value
  
  ---------------------------------------------------------------------------
  Terms of use :
  Credit me, TheoAllen. You are free to edit this script by your own. As long
  as you don't claim it yours. For commercial purpose, don't forget to give me
  a free copy of the game.
=end
# =============================================================================
# Configurations :
# =============================================================================
module Theo
  module LimInv
  
  # --------------------------------------------------------------------------
  # General Settings (just put true / false)
  # --------------------------------------------------------------------------
  
    DynamicSlot       = true
  # Total avalaible inventory slot depends on actor, states, total party
  # members, etc ...
  
    Display_ItemSize  = true
  # Diplay item size in item menu
  
    Include_Equip     = false
  # Total used inventory slot will also include actor equipment.
  
    DrawTotal_Size    = true
  # If true, item size window will show total weight of specified item. For
  # example, you have 10 potions. And each potion has 3 size/weight. The window
  # will show 30 instead of 3
  
    ForceGain         = true
  # Keep force to gain item when the item is full. Please set some penalties
  # when the inventory is full below to serve the purpose of this script
  # This overwrite the method gain item from default script. There is a chance
  # of incompatibility between different script which also use the same method
    
    Full_DisableDash  = true
  # Disable dash when the inventory is full. Should be used when ForceGain
  # is set to true. If use together with YEA System Option, please put this
  # script below the YEA system option, unless you get rid completely the
  # autodash config in Yanfly's script
  
    Full_SlowDown     = true
  # Slowdown the player movement by 1 when the inventory is full Should be
  # used when ForceGain is set to true
  
  # --------------------------------------------------------------------------
  # Numeric Settings
  # --------------------------------------------------------------------------
  
    Default_FreeSlot  = 20
  # Default values which is provided each actor. Of course, you may change
  # it by notetag. If DynamicSlot is set to false, it will be used as the total
  # avalaible slot
  
    NearMaxed_Percent = 25
  # Remain avalaible slot percentage to determine if the inventory is almost
  # maxed out or not.
  
    NearMaxed_Color   = 21
  # If inventory is almost maxed out, the inventory window will be drawn in
  # different color. The color code is same as \C[n] in message
  
    UseCommand_Size   = 200    
  # The width of use item command window
  
  # --------------------------------------------------------------------------
  # Vocab Settings (Self-explanatory I think)
  # --------------------------------------------------------------------------
  
    InvSlotVocab    = "Inventory: "   # Inventory Vocab
    InvSizeVocab    = "Item Size: "   # Item size / weight
    SlotVocabShort  = "Inv:"          # Abbreviation for Inventory
    UseVocab        = "Use item"      # Use item
    DiscardVocab    = "Discard item"  # Discard Item
    CancelVocab     = "Cancel"        # Cancel
    
  end
end
# ============================================================================
# Do not touch anything pass this line.
# ============================================================================
=begin
  -----------------------------------------------------------------------------
  Compatibility info :
  -----------------------------------------------------------------------------
  This script overwrite these methods :
  Game_Actor  >> trade_item_with_party
  Game_Party  >> max_item_number
  Game_Party  >> item_max?
  Game_Party  >> lose_item
  
  -----------------------------------------------------------------------------
  This script aliased these methods :
  DataManager >> load_database
  Game_Actor  >> setup
  Game_Party  >> initialize
  Scene_Menu  >> start
  Scene_Item  >> start
  Scene_Item  >> use_item
  Scene_Shop  >> on_buy_ok
  Scene_Shop  >> on_sell_ok
=end
# =============================================================================
# Altered built in modules and classes
# =============================================================================
# =============================================================================
# ▼ DataManager
# =============================================================================
class << DataManager
  
  alias theo_limited_item_load_db load_database
  def load_database
    theo_limited_item_load_db
    load_limited_slot
  end
  
  def load_limited_slot
    database = $data_actors + $data_classes + $data_weapons + $data_armors +
      $data_states + $data_items
    database.compact.each do |db|
      db.load_limited_inv
    end
  end
end
# =============================================================================
# ▼ RPG::BaseItem
# =============================================================================
class RPG::BaseItem
  attr_accessor :inv_size # Item inventory size
  attr_accessor :inv_mod  # Inventory slot modifier
  attr_accessor :inv_eval # Inventory eval modifier
  
  InvSizeREGX     = /<inv[\s_]+size\s*:\s*(\d+)>/i
  InvPlusREGX     = /<inv[\s_]+plus\s*:\s*(\d+)>/i
  InvMinusREGX    = /<inv[\s_]+minus\s*:\s*(\d+)/i
  InvFormSTART    = /<inv[\s_]+formula>/i
  InvFormEND      = /<\/inv[\s_]+formula>/i
  
  def load_limited_inv
    load_eval = false
    @inv_size = 1
    @inv_eval = '0'
    @inv_mod = self.is_a?(RPG::Actor) ? Theo::LimInv::Default_FreeSlot : 0
    self.note.split(/[\r\n]+/).each do |line|
      case line
      when InvSizeREGX
        @inv_size = $1.to_i
      when InvPlusREGX
        @inv_mod = $1.to_i
      when InvMinusREGX
        @inv_mod = -$1.to_i
      when InvFormSTART
        load_eval = true
        @inv_eval = ''
      when InvFormEND
        load_eval = false
      else
        @inv_eval += line if load_eval
      end
    end
  end
  
end
# =============================================================================
# Data structures and workflows goes here
# =============================================================================
# =============================================================================
# ▼ Game_Actor
# =============================================================================
class Game_Actor < Game_Battler
  attr_accessor :base_inv
  
  alias theo_liminv_setup setup
  def setup(actor_id)
    theo_liminv_setup(actor_id)
    @base_inv = $data_actors[id].inv_mod
  end
  
  def equip_size
    return 0 unless Theo::LimInv::Include_Equip
    equips.compact.inject(0) {|total,equip| total + equip.inv_size}
  end
  
  def inv_max
    result = base_inv
    result += $data_classes[class_id].inv_mod
    result += states.inject(0) {|total,db| total + db.inv_mod}
    result += equips.compact.inject(0) {|total,db| total + db.inv_mod}
    result += eval(actor.inv_eval)
    result += eval(self.class.inv_eval)
    result
  end
  # --------------------------------------------------------------------------
  # Overwrite : Trade item with party
  # --------------------------------------------------------------------------
  def trade_item_with_party(new_item, old_item)
    return false if new_item && !$game_party.has_item?(new_item)
    $game_party.force_gain_item(old_item, 1)
    $game_party.force_gain_item(new_item, -1)
    return true
  end
  
end
# =============================================================================
# ▼ Game_Party
# =============================================================================
class Game_Party < Game_Unit
  attr_accessor :base_inv
  
  alias theo_liminv_init initialize
  def initialize
    @base_inv = (Theo::LimInv::DynamicSlot ? 0 : Theo::LimInv::Default_FreeSlot)
    theo_liminv_init
  end
  
  def inv_max
    return @base_inv unless Theo::LimInv::DynamicSlot
    return members.inject(0) {|total,member| total + member.inv_max} + @base_inv
  end
  
  def inv_maxed?
    inv_max <= total_inv_size
  end
  
  def total_inv_size
    result = all_items.inject(0) {|total,item| total +
      (item_number(item) * item.inv_size)}
    result += members.inject(0) {|total,member| total + member.equip_size}
    result
  end
  
  alias theo_liminv_max_item max_item_number
  def max_item_number(item)
    $BTEST ? theo_liminv_max_item(item) : inv_max_item(item) + item_number(item)
  end
  
  def inv_max_item(item)
    return 9999999 if item.nil? || item.inv_size == 0
    free_slot / item.inv_size
  end
  
  def free_slot
    inv_max - total_inv_size
  end
  
  alias theo_liminv_item_max? item_max?
  def item_max?(item)
    $BTEST ? theo_liminv_item_max?(item) : inv_maxed?
  end
  
  def near_maxed?
    free_slot.to_f / inv_max <= Theo::LimInv::NearMaxed_Percent/100.0
  end
  
  def item_size(item)
    return 0 unless item
    item.inv_size * item_number(item)
  end
  
  def force_gain_item(item, amount, include_equip = false)
    container = item_container(item.class)
    return unless container
    last_number = item_number(item)
    new_number = last_number + amount
    container[item.id] = [new_number, 0].max
    container.delete(item.id) if container[item.id] == 0
    if include_equip && new_number < 0
      discard_members_equip(item, -new_number)
    end
    $game_map.need_refresh = true
  end
  
  def lose_item(item, amount, include_equip = false)
    force_gain_item(item, -amount, include_equip)
  end
  
  alias theo_liminv_gain_item gain_item
  def gain_item(item, amount, include_equip = false)
    if Theo::LimInv::ForceGain
      force_gain_item(item, amount, include_equip)
    else
      theo_liminv_gain_item(item, amount, include_equip)
    end
  end
  
end
# =============================================================================
# ▼ Game_Player
# =============================================================================
class Game_Player
  
  alias theo_liminv_dash? dash?
  def dash?
    return false if Theo::LimInv::Full_DisableDash && $game_party.inv_maxed?
    return theo_liminv_dash?
  end
  
  alias theo_liminv_real_move_speed real_move_speed
  def real_move_speed
    theo_liminv_real_move_speed - move_penalty
  end
  
  def move_penalty
    Theo::LimInv::Full_SlowDown && $game_party.inv_maxed? ? 1 : 0
  end
  
end
# =============================================================================
# ▼ Game_Interpreter
# =============================================================================
class Game_Interpreter
  def force_gain_item(item, amount)
    $game_party.force_gain_item(item, amount)
  end
end
# =============================================================================
# Window related class goes here
# =============================================================================
# =============================================================================
# ▼ Window_Base
# =============================================================================
class Window_Base < Window
  def draw_inv_slot(x,y,width = contents.width,align = 2)
    txt = sprintf("%d/%d",$game_party.total_inv_size, $game_party.inv_max)
    color = Theo::LimInv::NearMaxed_Color
    if $game_party.near_maxed?
      change_color(text_color(color))
    else
      change_color(normal_color)
    end
    draw_text(x,y,width,line_height,txt,align)
    change_color(normal_color)
  end
  
  def draw_inv_info(x,y,width = contents.width)
    change_color(system_color)
    draw_text(x,y,width,line_height,Theo::LimInv::InvSlotVocab)
    change_color(normal_color)
    draw_inv_slot(x,y,width)
  end
  
  def draw_item_size(item,x,y,total = true,width = contents.width)
    rect = Rect.new(x,y,width,line_height)
    change_color(system_color)
    draw_text(rect,Theo::LimInv::InvSizeVocab)
    change_color(normal_color)
    number = (Theo::LimInv::DrawTotal_Size && total) ?
      $game_party.item_size(item) : item.nil? ? 0 : item.inv_size
    draw_text(rect,number,2)
  end
end
# =============================================================================
# ▼ New Class : Window_MenuLimInv
# =============================================================================
class Window_MenuLimInv < Window_Base
  
  def initialize(width)
    super(0,0,width,fitting_height(1))
    refresh
  end
  
  def refresh
    contents.clear
    change_color(system_color)
    txt = Theo::LimInv::SlotVocabShort
    draw_text(0,0,contents.width,line_height,txt)
    draw_inv_slot(0,0)
  end
  
end
# =============================================================================
# ▼ New Class : Window_ItemSize
# =============================================================================
class Window_ItemSize < Window_Base
  
  def initialize(x,y,width)
    super(x,y,width,fitting_height(1))
  end
  
  def set_item(item)
    @item = item
    refresh
  end
  
  def refresh
    contents.clear
    draw_item_size(@item,0,0)
  end
  
end
# =============================================================================
# ▼ New Class : Window_FreeSlot
# =============================================================================
class Window_FreeSlot < Window_Base
  def initialize(x,y,width)
    super(x,y,width,fitting_height(1))
    refresh
  end
  
  def refresh
    contents.clear
    draw_inv_info(0,0)
  end
end
# =============================================================================
# ▼ New Class : Window_ItemUseCommand
# =============================================================================
class Window_ItemUseCommand < Window_Command
  include Theo::LimInv
  
  def initialize
    super(0,0)
    self.openness = 0
  end
  
  def set_item(item)
    @item = item
    refresh
  end
  
  def window_width
    UseCommand_Size
  end
  
  def make_command_list
    add_command(UseVocab, :use, $game_party.usable?(@item))
    add_command(DiscardVocab, :discard, discardable?(@item))
    add_command(CancelVocab, :cancel)
  end
  
  def to_center
    self.x = Graphics.width/2 - width/2
    self.y = Graphics.height/2 - height/2
  end
  
  def discardable?(item)
    return false if item.nil?
    !(item.is_a?(RPG::Item) && item.itype_id == 2)
  end
  
end
# =============================================================================
# ▼ New Class : Window_DiscardAmount
# =============================================================================
class Window_DiscardAmount < Window_Base
  attr_accessor :cmn_window
  attr_accessor :itemlist
  attr_accessor :freeslot
  
  def initialize(x,y,width)
    super(x,y,width,fitting_height(1))
    self.openness = 0
    @amount = 0
  end
  
  def set_item(item)
    @item = item
    @amount = 0
    refresh
  end
  
  def refresh
    contents.clear
    return unless @item
    draw_item_name(@item,0,0,true,contents.width)
    txt = sprintf("%d/%d",@amount, $game_party.item_number(@item))
    draw_text(0,0,contents.width,line_height,txt,2)
  end
  
  def draw_item_name(item, x, y, enabled = true, width = 172)
    return unless item
    draw_icon(item.icon_index, x, y, enabled)
    change_color(normal_color, enabled)
    draw_text(x + 24, y, width, line_height, item.name + ":")
  end
  
  def update
    super
    return unless open?
    change_amount(1) if Input.repeat?(:RIGHT)
    change_amount(-1) if Input.repeat?(:LEFT)
    change_amount(10) if Input.repeat?(:UP)
    change_amount(-10) if Input.repeat?(:DOWN)
    lose_item if Input.trigger?(:C)
    close_window if Input.trigger?(:B)
  end
  
  def change_amount(num)
    @amount = [[@amount+num,0].max,$game_party.item_number(@item)].min
    Sound.play_cursor
    refresh
  end
  
  def lose_item
    $game_party.lose_item(@item,@amount)
    @itemlist.redraw_current_item
    @freeslot.refresh
    if $game_party.item_number(@item) == 0
      Sound.play_ok
      @itemlist.activate.refresh
      @cmn_window.close.deactivate
      close
    else
      close_window
    end
  end
  
  def close_window
    close
    @cmn_window.activate
    Sound.play_ok
  end
  
end
# =============================================================================
# ▼ Window_ItemList
# =============================================================================
class Window_ItemList < Window_Selectable
  attr_reader :item_size_window
  
  def item_size_window=(window)
    @item_size_window = window
    update_help
  end
  
  alias theo_liminv_update_help update_help
  def update_help
    theo_liminv_update_help
    @item_size_window.set_item(item) if @item_size_window
  end
  
  alias theo_liminv_height= height=
  def height=(height)
    self.theo_liminv_height = height
    refresh
  end
  
  def enable?(item)
    return !item.nil?
  end
  
end
# =============================================================================
# ▼ Window_ShopNumber
# =============================================================================
class Window_ShopNumber < Window_Selectable
  attr_accessor :mode
  
  alias theo_liminv_init initialize
  def initialize(x, y, height)
    theo_liminv_init(x, y, height)
    @mode = :buy
  end
  
  alias theo_liminv_refresh refresh
  def refresh
    theo_liminv_refresh
    draw_itemsize
  end
  
  def draw_itemsize
    item_size = @number * @item.inv_size
    total_size = $game_party.total_inv_size +
      (@mode == :buy ? item_size : -item_size)
    txt = sprintf("%d/%d",total_size,$game_party.inv_max)
    ypos = item_y + line_height * ($imported["YEA-ShopOptions"] ? 5 : 4)
    rect = Rect.new(4,ypos,contents.width-8,line_height)
    change_color(system_color)
    draw_text(rect,Theo::LimInv::InvSlotVocab)
    change_color(normal_color)
    draw_text(rect,txt,2)
  end
  
end
# =============================================================================
# ▼ Window_ShopStatus
# =============================================================================
class Window_ShopStatus < Window_Base
  
  if Theo::LimInv::Display_ItemSize
  alias theo_liminv_draw_posses draw_possession
  def draw_possession(x, y)
    theo_liminv_draw_posses(x,y)
    y += line_height
    draw_item_size(@item,x,y,false, contents.width-(x*2))
  end
  
  if $imported["YEA-ShopOptions"]
  def draw_actor_equip_info(dx, dy, actor)
    dy += line_height
    enabled = actor.equippable?(@item)
    change_color(normal_color, enabled)
    draw_text(dx, dy, contents.width, line_height, actor.name)
    item1 = current_equipped_item(actor, @item.etype_id)
    draw_actor_param_change(dx, dy, actor, item1) if enabled
  end
  end # $imported["YEA-ShopOption"]
  end # Display item size

end
# =============================================================================
# Scene classes goes here
# =============================================================================
# =============================================================================
# ▼ Scene_Menu
# =============================================================================
class Scene_Menu < Scene_MenuBase
  
  alias theo_liminv_start start
  def start
    theo_liminv_start
    create_liminv_window
  end
  
  def create_liminv_window
    @lim_inv = Window_MenuLimInv.new(@gold_window.width)
    @lim_inv.x = @command_window.x
    @lim_inv.y = @command_window.height
  end
  
end
# =============================================================================
# ▼ Scene_Item
# =============================================================================
class Scene_Item < Scene_ItemBase
  
  alias theo_liminv_start start
  def start
    theo_liminv_start
    resize_item_window
    create_freeslot_window
    create_itemsize_window
    create_usecommand_window
    create_discard_amount
  end
  
  def resize_item_window
    @item_window.height -= @item_window.line_height * 2
  end
  
  def create_freeslot_window
    wy = @item_window.y + @item_window.height
    wh = Theo::LimInv::Display_ItemSize ? Graphics.width/2 : Graphics.width
    @freeslot = Window_FreeSlot.new(0,wy,wh)
    @freeslot.viewport = @viewport
  end
  
  def create_itemsize_window
    return unless Theo::LimInv::Display_ItemSize
    wx = @freeslot.width
    wy = @freeslot.y
    ww = wx
    @itemsize = Window_ItemSize.new(wx,wy,ww)
    @itemsize.viewport = @viewport
    @item_window.item_size_window = @itemsize
  end
  
  def create_usecommand_window
    @use_command = Window_ItemUseCommand.new
    @use_command.to_center
    @use_command.set_handler(:use, method(:use_command_ok))
    @use_command.set_handler(:discard, method(:on_discard_ok))
    @use_command.set_handler(:cancel, method(:on_usecmd_cancel))
    @use_command.viewport = @viewport
  end
  
  def create_discard_amount
    wx = @use_command.x
    wy = @use_command.y + @use_command.height
    ww = @use_command.width
    @discard_window = Window_DiscardAmount.new(wx,wy,ww)
    @discard_window.cmn_window = @use_command
    @discard_window.itemlist = @item_window
    @discard_window.freeslot = @freeslot
    @discard_window.viewport = @viewport
  end
  
  alias theo_liminv_item_ok on_item_ok
  def on_item_ok
    @use_command.set_item(item)
    @use_command.open
    @use_command.activate
    @use_command.select(0)
  end
  
  alias theo_liminv_use_item use_item
  def use_item
    @use_command.close
    theo_liminv_use_item
    @freeslot.refresh
  end
  
  def use_command_ok
    theo_liminv_item_ok
    @use_command.close
  end
  
  def on_discard_ok
    @discard_window.set_item(item)
    @discard_window.open
  end
  
  def on_usecmd_cancel
    @item_window.activate
    @use_command.close
    @use_command.deactivate
  end
  
end
# =============================================================================
# ▼ Scene_Shop
# =============================================================================
class Scene_Shop < Scene_MenuBase
  alias theo_liminv_buy_ok on_buy_ok
  def on_buy_ok
    @number_window.mode = :buy
    theo_liminv_buy_ok
  end
  
  alias theo_liminv_sell_ok on_sell_ok
  def on_sell_ok
    @number_window.mode = :sell
    theo_liminv_sell_ok
  end
end

# =============================================================================
# ▼ Compatibility patch thingy
# =============================================================================

if $imported["YEA-MenuCursor"]
class Sprite_MenuCursor
  def opacity_rate
    rate = 16
    return -rate if !@window.active || @window.close?
    return rate
  end
end
end

if $imported[:mog_menu_cursor]
module CURSOR_MENU_SPRITE
  def can_update_cursor_position?
    return false if !self.active    
    return false if self.index < 0
    return false if !self.visible
    return false if self.close?
    return true
  end
end
end


Saludos
avatar
LucaRPG
PJ de Quest
PJ de Quest

Masculino
Argentina
RPG Maker : Ace
Mensajes : 51
Monedas : 115
Reputación : 3
Edad : 19

Volver arriba Ir abajo

Re: (ACE) Inventario Limitado

Mensaje por Muzgar el Dom Sep 27, 2015 11:58 am

Hola Luca, muchas gracias por el aporte, siempre es de agradecer que la gente aporte material nuevo ya que siempre es necesario y ayudará a mucha gente seguramente (en este caso a mi no que no uso Ace... por ahora xD)

Simplemente quería tambien recordarte que hay un índice para todos los aportes en la que agradecería que posteases cada vez que haces un aporte (valga la redundancia xD) para tenerlo todo ordenado, en este caso en el propio sub-foro donde pusiste este script tienes el apartado de indice para scripts

Muchas gracias por el aporte

Un saludo

_________________
Apoya wild wars poniendo esta barra en tu firma


Muzgar apoya a...
Spoiler:

avatar
Muzgar
Admin
Admin

RPG Maker : Ace
Mensajes : 1273
Monedas : 1391
Reputación : 154

Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.