瞬駈天魔のツクール素材製作所

月額支援サイトファンティアを追加しました!
是非、無料ファンでも励みになりますので宜しくお願い致します!m(__)m

[完全版] アイテムを持っているかの複数条件

2023年12月15日 20時41分04秒 | ツクール日記

ふぃ~
やっとまともになった!

パーティー内でアイテムを持ってるかだけの判断なら
パーティー内でアイテム1を持っている処理として
$gameParty.hasItem($dataItems[1])でいいんですよ!

だけど、
パーティー内でアイテム1を10個持っているとした場合、
アイテム1は [] 内の1だから、
別のアイテムIDなら例えば634とかにすればよし!
10個持っている…というと
この数字は最後の以上・以下後の数字よん。

$gameParty.numItems($dataItems[1]) >= 10
である必要があるわけでして
Javaが勝手にセミコロンは解釈するからあってもなくてもよい!

$gameParty.numItems($dataItems[1]) >= 10; でも反応する!

だがしかし、
&&を加えて二重・三重…にしていく場合、
セミコロン加えなくてもいいし、
ややこしくなるので加えない方が良いかも。
いや、つけた方がデバッグ的には良いんすけどね。

ちなみに当たり前ですが
$gameParty.numItems($dataItems[1]) >= 10 && $gameParty.numItems($dataItems[2]) >= 10
は反応しますが、
$gameParty.numItems($dataItems[1]) >= 10; && $gameParty.numItems($dataItems[2]) >= 10;
これはSyntaxErrorになりますね。

二度終わらせてる形ですし。

まぁ、最後だけにつければエラることはないですけど
セミコロン…うん、いらない!!

ツクールはJavaだからいらない!!

$gameParty.numItems($dataItems[1]) >= 10 && $gameParty.numItems($dataItems[2]) >= 10 &&
$gameParty.numItems($dataItems[3]) >= 10 && $gameParty.numItems($dataItems[4]) >= 10 &&
$gameParty.numItems($dataItems[5]) >= 10
ここまでいけるか試したが…
うん、数が足りないものがあると
他のが10個あっても足りませんよーってなる解釈に。

ツクールMVの時に
$gameParty.hasItem($dataItems[1]) <= 0
反応してた理由は自身としても不明…。

何か別で反応したかも不明…。

念のため、
以下(アイテムを持っていない)にするなら
$gameParty.numItems($dataItems[1]) <= 0
のようにしてやるといいかも。

ま、変数1または変数2が1以上で かつ
アイテム13個以上持ってる場合なら
($gameVariables.value(1) >= 1) || ($gameVariables.value(2) >= 1) && $gameParty.numItems($dataItems[1]) >= 3
となるかなー?

逆に『それ以外のとき』なら
($gameVariables.value(1) < 1) || ($gameVariables.value(2) < 1) && $gameParty.numItems($dataItems[1]) < 3

で、いいんじゃないかな?(゜-゜)

いや、こんなクエストみたいな感じは…
やらない…か?(゜-゜)

ちなみにスクリプトではセミコロンは
ある程度は省いてもいいと思うけど…
プラグインで省くとデバッグできねー!ってなるかも…。

まぁ、スクリプトでもセミコロンつければ
どこでのSyntaxErrorなのかも分かりやすくなるかも?

スクリプトくらいはどこでミスったか分かるなら
ゲームテストすればいいかもですけどね。

我輩はメンドいし、つけぬよ(。´・ω・)?



最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。