#============================================================================== # ■ランダムショップ Ver0.00-α for RGSS3 # □作成者 kure # # 利用方法 # イベントコマンドスクリプトに # 『r_shop(id, num, buy_only)』で呼び出し # id    には リストのID設定値 # num    には 販売アイテムの種類数 # buy_only  には 販売のみなら true 、違う場合は false を設定 # #=============================================================================== module KURE module RandShop #初期設定(変更しない事)--------------------------------------------------- SHOP_LIST = [] #販売IDの作成 #SHOP_LIST[ID] = []を利用するだけ作成 SHOP_LIST[0] = [] ; SHOP_LIST[1] = [] ; SHOP_LIST[2] = [] SHOP_LIST[3] = [] ; SHOP_LIST[4] = [] ; SHOP_LIST[5] = [] #販売リスト #SHOP_LIST[ID][0〜] = [アイテム種, ID , 価格固定, 固定価格] #アイテム種 → 0:アイテム 1:武器 2:防具 #   ID  → アイテムのID #価格固定  → 1:固定価格 0:アイテムの設定値 #固定価格  → 価格固定で1を設定している場合は販売価格を設定 SHOP_LIST[0][0] = [0,1,0,0] #例1 アイテムID1(価格固定無し) SHOP_LIST[0][1] = [1,4,0,0] #例2 武器ID4(価格固定無し) SHOP_LIST[0][2] = [2,5,1,500] #例3 防具ID5(500の固定価格で販売) end end #============================================================================== # ■ Game_Interpreter #============================================================================== class Game_Interpreter #-------------------------------------------------------------------------- # ● ショップの処理 #-------------------------------------------------------------------------- def r_shop(id, num, buy_only = false) return if $game_party.in_battle return unless KURE::RandShop::SHOP_LIST[id] all_list = KURE::RandShop::SHOP_LIST[id].sort_by{rand} last_num = [num, all_list.size].min - 1 goods = all_list[0..last_num] SceneManager.call(Scene_Shop) SceneManager.scene.prepare(goods, buy_only) Fiber.yield end end