ランダムにアイテム(武器、防具)を入手設定スクリプト
Posted: 2016年3月11日(金) 09:11
ランダムにアイテム類を入手する宝箱などの設定を補助するスクリプトです。
抽選した結果は指定変数に代入され、そのままアイテムを入手させることもできます。


※改造した状態での再配布はクレジット表記をしてくれればOKです。
※また他サイトなどに改造の相談や質問するために引用転載することはOKです。

【使い方】
・イベントスクリプトに、用途に合わせて記述するだけ。
【使用例】
スクリプト記述的には、アイテム、武器、防具を分けていますが、ごっちゃに出る宝箱を作ることも可能です。
こんな感じにコモンイベントに記述します。あとはコモンイベントを宝箱イベントから呼び出せばOK!
(ちなみに、メッセージウインドウにアイテム名を表示するのは、ひきも記さんのところのメッセージ制御文字拡張がお勧めです。)
【ダウンロード】
抽選した結果は指定変数に代入され、そのままアイテムを入手させることもできます。




※改造した状態での再配布はクレジット表記をしてくれればOKです。
※また他サイトなどに改造の相談や質問するために引用転載することはOKです。


【使い方】
・イベントスクリプトに、用途に合わせて記述するだけ。
【使用例】
スクリプト記述的には、アイテム、武器、防具を分けていますが、ごっちゃに出る宝箱を作ることも可能です。
こんな感じにコモンイベントに記述します。あとはコモンイベントを宝箱イベントから呼び出せばOK!
(ちなみに、メッセージウインドウにアイテム名を表示するのは、ひきも記さんのところのメッセージ制御文字拡張がお勧めです。)
【ダウンロード】
コード: 全て選択
#==============================================================================
# ■ RGSS3 くじ引きスクリプト by オシブ
#------------------------------------------------------------------------------
# ランダムにアイテムや武器、防具を入手するときの
# 出現アイテムと確率の設定を簡単に設定します。
#==============================================================================
=begin
【使用方法】
イベントスクリプトに記入するだけです。
後ろの括弧には、そのままアイテムを入手するかを書きます。
(true、または省略するとそのまま入手します)
アイテムなら item_randam(true or false)
武器なら weapon_randam(true or false)
防具なら armor_randam(true or false)
【解説】
簡単に言うと、このスクリプトはデータIDの番号が書かれた紙を
指定枚数、くじ箱に入れてくじ引きをするというものです。
[番号, 枚数]って感じで記述します。
枚数が多ければ多いほど、くじ引きをしたとき
その番号の紙は引かれる確率が高くなります。
=end
module Oxib_Item_Box
#結果を受け取る変数
BOX_VARIABLES = 1 #ここで指定した変数に結果が代入されます。
# [アイテムID, 確率]
# 確率は数値が高ければ高いほど、相対的に手に入りやすくなります。
ITEMS = [[1,100],[2,50],[3,5],[4,30],[5,30],[6,25],
[7,12],[8,25],[9,1],[10,5],[12,3],[13,3],[14,3],[15,1],[16,3]]
WEAPONS = [[1,100],[2,60],[3,30]]
ARMORS = [[1,48],[2,24],[3,12],[4,6],[5,3],[6,1]]
end
#==============================================================================
# ■ Game_Interpreter
#------------------------------------------------------------------------------
# イベントコマンドを実行するインタプリタです。このクラスは Game_Map クラス、
# Game_Troop クラス、Game_Event クラスの内部で使用されます。
#==============================================================================
class Game_Interpreter
#--------------------------------------------------------------------------
# ● アイテムをランダムに入手
#--------------------------------------------------------------------------
def item_randam(get = true)
item = []
for i in Oxib_Item_Box::ITEMS
item += [i[0]]*i[1]
end
#p "くじ箱の総数: " + item.size.to_s + "枚"
item_id = item.sample
$game_variables[Oxib_Item_Box::BOX_VARIABLES] = item_id
$game_party.gain_item($data_items[item_id], 1) if get
end
#--------------------------------------------------------------------------
# ● 武器をランダムに入手
#--------------------------------------------------------------------------
def weapon_randam(get = true)
item = []
for i in Oxib_Item_Box::WEAPONS
item += [i[0]]*i[1]
end
#p "くじ箱の総数: " + item.size.to_s + "枚"
item_id = item.sample
$game_variables[Oxib_Item_Box::BOX_VARIABLES] = item_id
$game_party.gain_item($data_weapons[item_id], 1) if get
end
#--------------------------------------------------------------------------
# ● 防具をランダムに入手
#--------------------------------------------------------------------------
def armor_randam(get = true)
item = []
for i in Oxib_Item_Box::ARMORS
item += [i[0]]*i[1]
end
#p "くじ箱の総数: " + item.size.to_s + "枚"
item_id = item.sample
$game_variables[Oxib_Item_Box::BOX_VARIABLES] = item_id
$game_party.gain_item($data_armors[item_id], 1) if get
end
end