Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ################################################################################
- #↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓#
- #↓ ↓#
- #↓ 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
Advertisement
Add Comment
Please, Sign In to add comment