[Joe Pro] Event Item Contianers

● ARCHIVED · READ-ONLY
Started by JoePro 1 posts View original ↗
  1. class Event Item Contianers(version 1.0)
     
      def Initialize:
           Designed as a base for other scripts. This script allows you to add/remove items, weapon and armors for an event just like you would with 

           $game_party. This can be used to make a pickpocket system, stash, dead body. These are just a few ideas but you see where I'm going 

           with this. Have Fun.
      end
     
      def Features:

    • Creates an item container for events.
      end

      def How to use:
           This script is Plug & Play.
      end
     
      def Script:

    Spoiler
    #################################################################################↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓##↓ ↓##↓ Event Item Containers: Version 1.0 ↓##↓ ↓##↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕↕##↑ ↑##↑ Written By: Joe Pro ↑##↑ Last Edited: July 31, 2014 ↑##↑ ↑##↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑##################################################################################◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙##◙ ** Disclaimer ◙##◙••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••◙##◙ ◙##◙ This script is not for commercial, if you wish to use this script in a ◙##◙ game please PM me. All credit is to be given to me as the author of this ◙##◙ script. ◙##◙ ◙##◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙##◙ ** How To Use ◙##◙••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••◙##◙ ◙##◙ * Acts just like $game_party's item system fo events. ◙##◙ ◙##◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙##◙ ** Updates / Version Notes ◙##◙••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••◙##◙ ◙##◙ v0.1 ◙##◙ ~◄◙◙◙◙►~ ◙##◙ * This script is a base for other scripts. It allows you to add/remove ◙##◙ items, weapons and/or armors to an event. You can then use that to ◙##◙ create other scenes or whatever you can think up. ◙# #◙ ◙##◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙##################################################################################↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓##↓ ↓##↕ Event Item Containers: Version 0.1 ↕##↑ ↑##↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑##################################################################################==============================================================================# ** Game_Event#------------------------------------------------------------------------------# This class handles events. Functions include event page switching via# condition determinants and running parallel process events. Used within the# Game_Map class.#==============================================================================class Game_Event < Game_Character #-------------------------------------------------------------------------- # * Aliasing Method: Initialize Public Member Variables #-------------------------------------------------------------------------- alias :geipm040546400000654 :init_public_members #-------------------------------------------------------------------------- # * Initialize Public Member Variables #-------------------------------------------------------------------------- def init_public_members geipm040546400000654() init_all_items end #-------------------------------------------------------------------------- # * Initialize All Item Lists #-------------------------------------------------------------------------- def init_all_items @items = {} @weapons = {} @armors = {} end #-------------------------------------------------------------------------- # * Get Item Object Array #-------------------------------------------------------------------------- def items @items.keys.sort.collect {|id| $data_items[id] } end #-------------------------------------------------------------------------- # * Get Item Object Array #-------------------------------------------------------------------------- def weapons @weapons.keys.sort.collect {|id| $data_weapons[id] } end #-------------------------------------------------------------------------- # * Get Item Object Array #-------------------------------------------------------------------------- def armors @armors.keys.sort.collect {|id| $data_armors[id] } end #-------------------------------------------------------------------------- # * Get Array of All Item Objects #-------------------------------------------------------------------------- def all_items items + (weapons + armors) end #-------------------------------------------------------------------------- # * Get Container Object Corresponding to Item Class #-------------------------------------------------------------------------- def item_container(item_class) return @items if item_class == RPG::Item return @weapons if item_class == RPG::Weapon return @armors if item_class == RPG::Armor return nil end #-------------------------------------------------------------------------- # * Get Number of Items Possessed #-------------------------------------------------------------------------- def item_number(item) container = item_container(item.class) container ? container[item.id] || 0 : 0 end #-------------------------------------------------------------------------- # * Get Maximum Number of Items Possessed #-------------------------------------------------------------------------- def max_item_number(item) return 99 end #-------------------------------------------------------------------------- # * Determine if Maximum Number of Items Are Possessed #-------------------------------------------------------------------------- def item_max?(item) item_number(item) >= max_item_number(item) end #-------------------------------------------------------------------------- # * Determine Item Possession Status # include_equip : Include equipped items #-------------------------------------------------------------------------- def has_item?(item) return item_number(item) > 0 end #-------------------------------------------------------------------------- # * Increase/Decrease Items #-------------------------------------------------------------------------- def gain_item(item, amount) 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, max_item_number(item)].min container.delete(item.id) if container[item.id] == 0 $game_map.need_refresh = true end #-------------------------------------------------------------------------- # * Lose Items # include_equip : Include equipped items #-------------------------------------------------------------------------- def lose_item(item, amount, include_equip = false) gain_item(item, -amount, include_equip) end end
      end
      def Credit, Licence & Commercial Usage:
           This script is free to use for non-commercial use. If you want to obtain a license to use this script in a commercial game(contests included)
           please PM me. Credit is to be give to myself, JoePro.
      end
     
    end