[Joe Pro] Event Item Contianers
class Event Item Contianers(version 1.0)
defInitialize:
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
defFeatures:
[*]Creates an item container for events.
end
defHow to use:
This script is Plug & Play.
end
defScript:
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_itemsend #--------------------------------------------------------------------------# * 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 }end#--------------------------------------------------------------------------# * Get Item Object Array #--------------------------------------------------------------------------def weapons @weapons.keys.sort.collect {|id| $data_weapons }end#--------------------------------------------------------------------------# * Get Item Object Array #--------------------------------------------------------------------------def armors @armors.keys.sort.collect {|id| $data_armors }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 @armorsif item_class == RPG::Armor return nilend #--------------------------------------------------------------------------# * Get Number of Items Possessed#--------------------------------------------------------------------------def item_number(item) container = item_container(item.class) container ? container || 0 : 0end #--------------------------------------------------------------------------# * Get Maximum Number of Items Possessed#--------------------------------------------------------------------------def max_item_number(item) return 99end #--------------------------------------------------------------------------# * 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) > 0end #--------------------------------------------------------------------------# * 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 = [.max, max_item_number(item)].min container.delete(item.id) if container == 0 $game_map.need_refresh = trueend#--------------------------------------------------------------------------# * Lose Items# include_equip : Include equipped items#--------------------------------------------------------------------------def lose_item(item, amount, include_equip = false) gain_item(item, -amount, include_equip)endend
end
defCredit, 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
本贴来自国际rpgmaker官方论坛作者:JoePro处,因国际论坛即将永久关站,为了存档多年珍贵资料,署名转载到本论坛存档,由于官方帖子为英文原帖,需要中文翻译请点击论坛顶部切换语言为中文就可以将帖子翻译成中文浏览,方便大家随时查看,原文地址:https://forums.rpgmakerweb.com/threads/joe-pro-event-item-contianers.30699/
页:
[1]