アイテム欄を複数使うアイテム
ツク5のアイテム欄はドラクエ形式を採用しているので、一人12個までしかアイテムを持てません。
12個までしか持てないこの仕様をわずらわしく感じる人もいるかと思います。
、--‐冖'⌒ ̄ ̄`ー-、
/⌒` 三ミヽー-ヘ,_
__,{ ;;,, ミミ i ´Z,
ゝ ''〃//,,,
,,..`ミミ、_ノリ}j; f彡
_) 〃///, ,;彡'rffッ、ィ彡'ノ从iノ彡
>';;,,
ノ丿川j !川|; :.`7ラ公 '>了
_く彡川f゙ノ'ノノ ノ_ノノノイシノ| }.: '〈八ミ、、;.)
ヽ.:.:.:.:.:.;=、彡/‐-ニ''_ー<、{_,ノ -一ヾ`~;.;.;)
く .:.:.:.:.:!ハ.Yイ ぇ'无テ,`ヽ}}}ィt于
`|ィ"~
):.:.:.:.:|.Y }: :! `二´/' ; |丶ニ ノノ
) :.: ト、リ:
:!ヾ:、 丶 ; | ゙ イ:} 逆に考えるんだ
{ .:.: l {: : }
` ,.__(__,} /ノ
ヽ ! `'゙! ,.,,.`三'゙、,_
/´ 「制限を活かしちゃうんだ」と
,/´{ ミ l /゙,:-…-〜、 ) |
,r{ \ ミ \
`' '≡≡' " ノ 考えるんだ
__ノ ヽ \ ヽ\ 彡 ,イ_
\ \ ヽ 丶.
ノ!|ヽ`ヽ、
\ \ヽ `¨¨¨¨´/ |l ト、 `'ー-、__
\ `'ー-、 // /:.:.} `'ー、_
`、\ /⌒ヽ /!:.:.|
`、
\ /ヽLf___ハ/ {
′ / !
ヽ
――そんなわけでドラクエ式ならではの調整といえる「アイテム欄を複数使うアイテム」を作ってみましょう。
これを活用すれば「強力だけどアイテム欄をたくさん使うアイテム」「安いけどアイテム欄をたくさん使うのでたくさん持てない薬草」など、
アイテムの個性を広げることができます。
アイテム欄を「ただ持てなくする」だけの要素じゃなくしましょう!
作り方
まず、アイテム欄を埋めるためだけに存在するダミーアイテムを作ります。
名前は「アイテム欄潰し」と仮称しておきます。
効果は売れない・捨てられないを設定するくらいでその他は設定しなくても構いません。
それを作ったら「アイテム人物入手」「アイテム人物破棄」「アイテム袋入手」「メンバー番号読み込み」の4つの共有化スクリプトを作ります。
それぞれの内容は以下の通り。
| アイテム人物入手 |
| アイテム名を得る 場合分け:文字変数『取得名称(共通)』 場合に当てはまる:文字列”薬草”の時 対象者:所持品+『薬草』 ブロックの終点まで飛ぶ 場合に当てはまる:文字列”極太薬草”の時 対象者:所持品+『極太薬草』 ブロックの終点まで飛ぶ (中略) ブロック終点 |
| アイテム人物破棄 |
| アイテム名を得る 場合分け:文字変数『取得名称(共通)』 場合に当てはまる:文字列”薬草”の時 対象者:所持品−『薬草』 ブロックの終点まで飛ぶ 場合に当てはまる:文字列”極太薬草”の時 対象者:所持品−『極太薬草』 ブロックの終点まで飛ぶ (中略) ブロック終点 |
| アイテム袋入手 |
| アイテム名を得る 場合分け:文字変数『取得名称(共通)』 文字列”薬草”の時 対象者:所持品+『薬草』 ブロックの終点まで飛ぶ 場合に当てはまる:文字列”極太薬草”の時 対象者:所持品+『極太薬草』 ブロックの終点まで飛ぶ (中略) ブロック終点 |
| メンバー番号読み込み |
| 変数:『86番:メンバー番号』=『一時変数:0』+0 メンバー情報:読み込み |
| アイテム欄複数使うアイテム情報入手 |
| アイテム名を得る 場合分け:文字変数『取得名称(共通)』 場合に当てはまる:文字列”薬草”の時 変数:『アイテム欄使用数』=1+0 ブロックの終点まで飛ぶ 場合に当てはまる:文字列”極太薬草”の時 変数:『アイテム欄使用数』=2+0 ブロックの終点まで飛ぶ 場合に当てはまらない 変数:『アイテム欄使用数』=0+0 ブロック終点 |
| アイテム欄複数使うアイテム入手処理 |
| 変数:『一時変数:0』=『メンバー番号』+0 変数:『メンバー番号』=『メンバー番号:Y』+0 メンバー情報:読み込み アイテム情報読み込み 別のスクリプトを呼ぶ『アイテム欄複数使うアイテム情報入手』 変数:『一時変数:1』=『87番:道具の個数』+『アイテム欄使用数』 条件:変数『一時変数:1』>+12 音響効果:効果音:『否定』(エラー音なので好きなようにどうぞ) 別のスクリプトを呼ぶ『アイテム人物破棄』 場合分け:変数『1番:システム処理番号』 場合に当てはまる:数値+28 別のスクリプトを呼ぶ『メンバー番号読み込み』 別のスクリプトを呼ぶ『アイテム人物入手』 ブロックの終点まで飛ぶ 場合に当てはまらない 別のスクリプトを呼ぶ『アイテム袋入手』 ブロック終点 スクリプトを強制終了する 条件終点 繰り返し:変数『アイテム欄使用数』≠±0 対象者:所持品+『アイテム欄潰し』 変数:『一時変数:1』=『一時変数:1』-1 ブロック終点 条件:変数『システム処理番号』=+28 別のスクリプトを呼ぶ『メンバー番号読み込み』 別のスクリプトを呼ぶ『アイテム欄複数使うアイテム破棄処理』 条件終点 |
| アイテム欄複数使うアイテム破棄処理 |
| メンバー情報:読み込み アイテム情報読み込み スクリプトを強制終了する 繰り返し:変数『アイテム欄使用数』≠±0 対象者:所持品-『アイテム欄潰し』 変数:『一時変数:1』=『一時変数:1』-1 ブロック終点 |
| 場合分け:変数『システム処理番号』 場合に当てはまる:+28 場合に当てはまる:+38 アイテム名を得る 条件:文字変数『1番:取得名称(共通)』=『アイテム欄潰し』 音響効果:効果音:『否定』(エラー音なので好きなようにどうぞ) メンバー情報:読み込み 対象者:所持品+『アイテム欄潰し』 変数:『メンバー番号』=『メンバー番号:Y』+0 メンバー情報:読み込み 対象者:所持品-『アイテム欄潰し』 ブロックの終点まで飛ぶ 条件終点 別のスクリプトを呼ぶ『アイテム欄複数使うアイテム入手処理』 ブロックの終点まで飛ぶ 場合に当てはまる:+40 条件:文字変数『1番:取得名称(共通)』=『アイテム欄潰し』 音響効果:効果音:『否定』(エラー音なので好きなようにどうぞ) メンバー情報:読み込み 対象者:所持品+『アイテム欄潰し』 ふくろ『アイテム欄潰し』=0 ブロックの終点まで飛ぶ 条件終点 別のスクリプトを呼ぶ『アイテム欄複数使うアイテム破棄処理』 ブロックの終点まで飛ぶ ブロック終点 |