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

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

声優依頼でのちょっとした話

2024年04月07日 01時14分40秒 | ツクール日記

さて、皆さんは声優依頼する時…どうしてるのでしょう?

自身の場合は声優検索サイトとか以外に
声優事務所へ依頼、AudioStockから通じて個別依頼、
SNSで関わってから直接依頼なんてことしてます。

意外とSNSからで声優会社からのオファーなんてのもありますね。

最近では安上がりでキャラボイスを増やすために
素材集を利用することもあります。

んー、
うちは遊びながら勉強するための
勉学クイズゲームを開発してるので
普通のゲームとは言い難いのですけどね。

今は小学生向け勉学ゲームの開発中で
牧場ゲームみたいなファーム機能やら
カジノのようなミニゲーム機能も加えたので
受付などのキャラボイスも利用したりもしてるところです。

まぁ、一番面倒なのは
声優さんや素材集の利用が多すぎて
著作権表記を必ずするととんでもない量の表記という…
そのためにメモ帳には全部記載するのですが
エンディングによって表記を使い分けたり、
音楽やキャラボイスだけ別表記させる…
なんて手段で何とか対応してます。
(そうしないと「エンディングテロップくそなげー」って苦情が…)

最近では声優業界も不況なのか
宅録声優さんの登録も減少傾向にあるので
気に入った声優さんがいるようなら
早めに依頼して著作権表記分かるようにしないと
「この声優さん、誰だったっけ…?」なんてこともあり得ます。

声優さんでも辞めたかと思ったら
名前変更して活動してるパターンもあるので
たまに声優名変更する必要もあったりとか…。
(これは宅録声優さんによくあるパターン…)

声優事務所へ依頼は個人だとわりと難しいですが
文字数での金額とかではなく
小説の読み上げ…みたいな1回ごとの価格な感じで
平均価格は20万~…30万~が平均で安くて10万円台…
有名どころはその3~4倍の場合もあり得る…かな?
(分からんけど)

音楽を製作してもらった時で
自身作詞を提示して作曲依頼で約15万で
オーケストラとかのような多楽器、
歌い手指定、作詞まであると約100万弱~強なので
それとあまり変わらない…?

これが宅録声優なると
基本価格2000円~3万円で
文字数価格:1文字1円~500円

宅録声優のが明らかに安いが
宅録なので声量・音質は良いとは言えず、
宅録声優さんによってはそのままノイズも残ってたり…。

たまに厄介なのは生活音が混じること…
これによって撮り直し依頼すると
宅録声優さんによっては追加価格取られることもあり、
安いのか高いのか…ってこともありますね。

依頼例としては
我がゲームでのモードアップで出してるアナウンスボイスで
『○○モード 突入!』ってあるのですが、
あれの1回の依頼価格は2000円~1万円…
この短さでもこの価格だったり…。
でもって、この価格は声優さんによるので
ちょっと有名になってる方だとお高めだったり…。
(でも、お気に声優は度々依頼してる)

SNSでの声優会社オファーだと
会社によりますが、
宅録声優会社だと宅録声優さんの価格に
プラス会社仲介価格って感じで
普通に声優さんを扱ってる会社だと
自身がオファー受けた中では
どれだけの長さでも一回収録3~10万ってくらいで
もちろん会社でやってるとこなので
ノイズカットもしっかりしており、
音質・音量も調整されてる感じです。

まぁ、たまに声優会社オファーの場合、
声優さんを何人か推してるのは分かりますが
ほぼ比較できない人数だったりすることもあるので
最初にキャラの感じとか伝えないと
ただ会社が推してる声優さんをあてられる…。

素材集の場合、
とにかく安い!
最安はなんと27円!!(※セール時などの価格です。)
平均でも100円~1万円未満!!
著作権表記が必要の場合も多いが著作権表記なしのものもあり、
ムダを省ける場合も!

欠点は『素材集』であるため、
もちろん声優依頼して出してるものではないために
『キャラボイス』・『CV』などの表記は禁止してるとこもあり、
表記必須でなくてもつける必要がある場合、
ギリギリで抜けるなら
キャラの名前のとこに発生するキャラボイスごとにつけたいなら
そこに『素材提供:○○素材集』などの表記をつけるくらい…?

『素材集』ってなってるものなどの場合は
その『素材集』の名前を載せるだけで
声優依頼してるわけではないので
声優名は載せないことが一番かもです。
(ボイス集・素材集でも人によってダブる素材集名がある場合は
 素材提供 と書いて()などして声優名つけるなどもアリかもです。)

素材集ではないですがAudioStockの場合、
個々にキャラボイスとなるボイスを買う形になり、
基本的に一つの声…ボイスに対して
どれだけ長くても
1ボイス約540円~(※販売価格に誤差有)って感じで
著作権表記はこの場合としては基本的に
『AudioStock ○○(※○は販売者名)』または
『○○ AudioStock(※○は販売者名)』などで
いいんじゃないかなー?

まぁ、AudioStockってつけないと
他で販売してる声優さんなどもいるために
どこで購入したか特定しにくいわけなのですよね。

それかテロップ流す時に
AudioStockと販売者名を分けるのはできるかと?
(なんかそういうテレビアニメありましたよね。)

まぁ…声優依頼する個人の方も多いと思うので
分かりやすくするとこんなところです。

クイズゲーム あん摩マッサージ師編と
クイズゲーム 危険物乙種・甲種編 では
ツクールXP・VXの時で
当時はAudioStockさんで個人依頼ができたので
そこからでAudioStockさんにはだいぶお世話になってました。

ツクールXPの時はまだ自身が高校生で
その時に自身が勉強したくない一心で
危険物取扱者を自身が勉強するためだけに作ったゲーム
(※結果的にはんばいすることになりましたが…)だったので
依頼受けてくれるところが少なかったですからね…(;^_^A

あれから約17年くらい…もうそんな経つか…
あの当時はAudioStockさんはだいぶ格安で
BGMなども3000円台でお値打ちでしたが
現在はBGMは約5000円に消費税とだいぶ上がってはいますね。

ボイスも1ボイス価格ではありますが、
値段は上がったといっても
著作権表記必須ではなく任意なところもいいところですね。

個人製作だとオススメなのは
『AudioStock』、『宅録声優依頼』、『素材集』などですかね。
(※最近ではVtuberが声優やってたりもあって
  素材集出してたり、依頼できたりもします。)

自身の場合はキャラをオリジナルにせず、
その代わりにボイスは
声優依頼ボイスから素材集まで幅広く使ってます。

最近ではAIを使って文字を音声で~ってのもあるので
キャラボイスとかでないなら
アナウンスとかなら『AIボイス』もアリかな?と思います。

最近のAIボイスはボーカロイドみたいな感じの声ではなく
普通にキャラ声に近い感じで違和感がないのが特徴です。
(最初聴いた時、ボカロが普通だったためにスゲー!!って思った)

AIボイスは一般利用だと1万円くらいですが、
商用利用だと約3万円台で買える場合もあって
「一回で支払うのは高い!」と抵抗はありますが、
それでも一度買えば文字数で払うとか制限もないので
約3万円で何度でも使えることとしても利点と言えますね。

すごいAIボイスだと様々な種類の声が出せるのとか…
一般での金額は割引有で約5万弱~でまぁまぁお高い感じでしたが…
それで声だけでなく声質も変えれるとなれば
AIボイスの収録で声優さんはいるだろうけど、
それはそれで声優さん…ほぼいらなくなる…(;^_^A
(これ…商用利用だといくらだろ…(;^_^A )

なんか…AIキャラ作成みたいなものですね(;^_^A


好感度機能でボイス変化設定はこんな感じに!

2024年02月29日 23時45分00秒 | ツクール日記

さて、前回の好感度機能…
キャラボイスまで設定したものはこんな感じ…

好感度300以上で かつ
女性キャラスイッチON または 女の子スイッチONの時、
このイベントの男性キャラが告白なりキャラボイスを発する!

乱数1~4でこのどれかがランダムで発することになる。

ここに応用すれば
アクター1の時などを足して
アクター1の時にしか言わないセリフにするとか。

それ以外の時では
好感度300未満の時、
通常通りのキャラボイスを発するというもの。

前回の続きだから、
ながーいスクリプトは前回のを見てみて!

…いや、だから
恋愛シミュレーションゲームじゃないからねっ!?

最初にSEの停止を入れてるのは
連続でそのキャラと会話した時に
乱数でキャラボイスランダムなわけだから
同じキャラボイスが出るとは限らないじゃん?

ましてや、同じキャラボイスが出ても
二重に聴こえるというよりは
フェードして聴こえる感じにになりそうやん?

音の二重を被せることのないように
一度リセットする意味でSEの停止が一番上にきてるんよ。

最後にSEの停止をかけてしまうと
途中で音・キャラボイスが途切れてしまう可能性が高いっしょ?

最初にSEの停止なら、
再度会話した時にしかSEの停止を指示しないのだから
もう一度話さない限りはSEが途切れることなくなるんよ。

いや、まぁ…慣れてる製作者は基本ですよね。

何ならループ使う手もありますし。

話しかけた場合はループ中断と複合って手もね。

これは変数・スイッチを使った
条件分岐とスクリプトしかないから
覚えれば簡単よっ!(^_^)v


最近ツクってるキャラ好感度機能にて条件分岐を簡単に!

2024年02月29日 23時15分00秒 | ツクール日記

条件分岐を一つづつ下に下してツクってくのって
見づらいし、手間じゃね?

ってことで手間省きをしていきたい…。

まず、キャラの好感度が300以上で
女性キャラか女の子キャラの場合は話の内容が変わるとしよう…

そうなると、女性か女の子かで分岐を分ける必要がある…

そうなるとこうなるよね

ま、こう別でツクるか
女性キャラ以外の時で女の子キャラONの時って感じにツクるか…

…手間だし、条件分岐を2つ以上ツクるから負荷すごくね?

ということで…だ!!

このアヴァリというキャラの好感度の変数が741として
女性キャラのスイッチが115、
女の子キャラのスイッチが116としよう…

そうなるとだ、
前回した通りに変数はこんな感じに…
($gameVariables.value(741) >= 300)

では、女性キャラでプレイして会話してることを認識させるために
スイッチは115がONになればいいから
$gameSwitches.setValue(115,true)

女の子キャラでプレイして会話してることを認識させるために
スイッチ116を同様にONにする必要があるから
$gameSwitches.setValue(116,true)
も必要…

これでキャラ好感度300で かつ
女性キャラプレイ中ON または 女の子キャラでプレイ中ON
という設定にするので
($gameVariables.value(741) >= 300) && $gameSwitches.setValue(115,true) || $gameSwitches.setValue(116,true)
のようになる…はず!!(ぇ

いや、動作確認したよ?
できたよ?
でもね、合ってるか自信ないんよ!(ぉぃ

なげーから見づらいし、メモ帳で分かりやすくこんな感じに…

ね?
スクリプト一つで収まった!!

クエスト作るにもこのやり方なら
セルフスイッチやって…とかそんなにいらん!!

なら、クエスト完了とかも変数にして
変数1が1の時は未クエスト状態、
2でクエスト中…とかにすれば
この複数条件分岐をこのようにして
それ以外の時…で分岐すれば次の会話…とかもできる!

ちなみに条件分岐を通常通りツクった時と
複数条件分岐をスクリプトでまとめた時の容量は何気に違って
スクリプトった方が軽くなるんよ!!

ってことはだ!!

アクター(キャラ)が髪色が違ったりとか
見た目が違って同じキャラだった時、
キャラボイスって同じにするでしょ?

で、好感度が300以上で女性・女の子であったとしても
指定のキャラだけがキャラボイスが変わる…といった
恋愛シミュレーションゲームのようなものをツクるとしよう…

そして、例えば幼少期が1、学生期が2、青年期が3と仮定して
そのアクター・アクターIDが1~3が同じキャラとしよう…

$gameParty.members().contains($gameActors.actor(1)) || $gameParty.members().contains($gameActors.actor(2)) || $gameParty.members().contains($gameActors.actor(3))

というように複数条件分岐を組めば
アクター1の時またはアクター2の時またはアクター3の時、
このキャラボイスが発生する…ということで
さらに応用すると
($gameVariables.value(741) >= 300) && $gameSwitches.setValue(115,true) || $gameSwitches.setValue(116,true)

の条件分岐を組んだ下に
$gameParty.members().contains($gameActors.actor(1)) || $gameParty.members().contains($gameActors.actor(2)) || $gameParty.members().contains($gameActors.actor(3))

これをすれば
変数で741キャラ好感度300以上で当てたもので
キャラが女性キャラまたは女の子キャラの場合、
さらにそのアクター(キャラ)が
アクター1~3のどれかのキャラを選択している時であれば
「お前のことが…好きだ!!」みたいに
キャラボイスが変わる…といった設定ができる!!

…うん、めちゃくちゃだね。(;^_^A

あ、ちなみに恋愛シミュレーションゲームなんて…
ツクってませんからねっ!?(;'∀')

うちがツクってるのは
キャラにアイテムをプレゼントして好感度を上げることで
アイテムをもらえたり、キャラボイスが変わったり…
…ん?実質、恋愛シミュレーション?(;'∀')

ま…まぁ、このように応用すれば
複数条件分岐をひとまとめにしたり、
条件分岐の量を減らせるってわけですよ!!

前回にやったアイテムを持ってるかの複数条件に似た感じですね

んで、
これを書くことで自分が使う時に楽にコピペできる!(ぉぃ


初心者にはツクールはどれがオススメか…?

2024年01月12日 00時17分17秒 | ツクール日記

さて、ふとした疑問は初心者にとって
ツクールはどれを選べばいいのか…?

初心者にやりがちなのって、
どこかから適当に画像とか音楽借りてきて個人で楽しむ程度…
そうなるとめっさ音楽とか入れまくるよね。

それを考えるとこの時点で
ツクールMV、ツクールMZはNG!!

最初はあるもので
徐々に楽しみたいならツクールMVはオススメ。

ツクールMZパソコンの容量動作環境
借りてきたものを使えるレベルのある程度のプラグイン知識
軽めでもスクリプト知識は欲しいところ…。

まず、ツクールMVを試してないのに
ツクールMZに手を出すと…
クラッシュ経験してないから対処法にまず困ること!!

MVだと、ある程度は負荷に耐えれる部分もあって
すべてのデータが消えた!!」というよりは
一部のデータが0bでデータが消えた!」のがあるから!!

ツクールMZで経験したのはオールクラッシュ
これはマジで “ バックアッププラグイン " というものを
入れてて良かったと思ったこと…。

ただ、バックアッププラグイン
製作してる保存したデータを記録するため、
容量がそのままコピーした感じにドカッと乗っかります。

そう…保存するごとに部分的に取り除いて
USBに移し替えるとかしないと
負荷の連続でそれこそクラッッッシュ!!

MZは性能としては良いんよ…負荷さえなければ

MV一点集中負荷注意

MVの場合、
例えばマップ内に大量にイベントを作ることで
そのマップが重くなって
編集保存時にクラッシュ!!もあります。

マップだけでなく、
自身の大容量コモンイベントのように
編集保存の仕方によってはクラッシュします。

さて、ここで…
クラッシュがまずしない…
いや、するけどもあまりしないのは…VXVXAce!!

VXAceの方はVX機能追加版のようなもので
買うならVXAceのがオススメ!!

MVと比べると機能性に欠けるものの、
まだスクリプト・プラグインに慣れてない初心者なら
VXAceならクラッシュ率低ブラウザでやったとしても
わりと動きやすい!

ただ、VXAceも言えること
同じ場所同じマップで大量にイベントを作れば
ブラウザでやると特にユーザー側の負荷が激しく
カクカクしたりして動きにくい

イベント内容が多くなるなら
一部はコモンイベントで呼び出すことで
負荷は少しは減ります。

MVMZの場合の負荷が大きいのは
どちらかと言えば作り手側
意外とマップ内に多くのイベントをやっても
パソコンやスマホなどの容量によっては
あまりカクカクしないのだが、
作り手側
制作時のゲーム編集データからバックアップデータ
素材(画像・動画・音楽・プラグインなど)データが
もろに乗っかるために
作り手側の負荷はゲームテストで見ても
ユーザーよりも実は負荷が多い…。

だから、ゲームテスト時に
「この場所は負荷が大きいからえらいカクカクする…」
というのがユーザー側は
「ちょっと重いかな?」程度だったりも。
ただ、これもパソコンやスマホの容量による!!

自身の場合はパソコン2台用意して
1台は初期化済みパソコン、
もう1台を編集として使ってるために
ユーザー側目線も見れたりするが、
パソコン2台や3台での作業は
あまり理想とは言えないだろう…。

結果…
プログラム未経験初心者ならVXAce
プログラム経験者 または ある程度知識ある かつ
クラッシュ未経験ならMV
高性能なパソコンそれなりのプログラム知識
バックアップ準備できてるなら
MZがオススメ…じゃないかな?(゜-゜)

販売までいかず個人利用の趣味程度
軽く触ってみる程度ならVXAceのがマジでいいよ。

どのツクールシリーズでも言えるのは
挫折か中途完成か作品として完成したか…。

ちなみにわが身はRPG自体を挫折して
勉学クイズゲームシリーズを製作したという…
これが現実です。(´・ω・`)

さらに現実はバックアップ忘れて
最初からを経験した挫折です。(´・ω・`)
(これでもデバッガー経験者…(;^_^A )

自身もアリがちなのは
「スマホゲーム軽くやって息抜きするかー」
…で、製作進むのだいぶ遅くなって
3年以上かけて製作することになったりとか。

一人で作ると年単位で製作になるから
サークルでやるのが多いんよね。
(自身はフリーで一人作業・個人事業者だけども。)

まず、MVMZ説明書自体がペラッペラだから
はっきり言って初心者には優しくない!!

ソフトを買って説明を理解するならVXAce
説明書はペラッペラクラッシュ過多だけど
編集の場所ごとに説明が表示されるのはMZ
VXAce経験したら次に進むのがMVとも言えるのかもしれない。

まぁ…VXAceの欠点は…
今や素材を借りてくるための
VXAve素材屋さんがかなり減ったことですが…(;^_^A

MZは実はMVの機能改修版と言えるので
ただ、クラッシュ率超高ではあるが…
MVの素材が使えたりするという事実もあるが、
ものによってはサイズを変えないといけなかったり。


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

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なのかも分かりやすくなるかも?

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

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


$gameParty.hasItem($dataItems[1]) >= 1 が反応しない原因解明

2023年12月15日 02時28分24秒 | ツクール日記

ふっ…ついさっき原因が分かってしまった…。

$gameParty.hasItem($dataItems[1]) は反応するのに
$gameParty.hasItem($dataItems[1]) >= 1 は反応しないのは
このアイテムをパーティー内で持ってるかの判別であって
いくつ所持してるかまで特定していない

いや~バカだった…
これは~を持っている(have、has)であって
パーティー内で何を持ってるかの判別なだけなのだよ!

ってことは、MVでも反応してない可能性が!(;^_^A

そう…だったら、個数を調べればいいこと!!

チャート関数を調べたらね…
文字列と数値の両方を持つデュアル値を返すという
NUMの存在を忘れていたのだよ!!(うわっバカだ~

hasItemじゃ、片方しか特定してないわけだから
複数所持としてで、以上・以下しても認識しないわけで
NUMさん使えば良かったんだよ!!

ってことはhasItemsにしてたとこをnumItemsにすれば
以上・以下が設定できる!

あれ?文字列と数値の両方を持つデュアル値ってことはさ?
区切りつけなきゃループしね?

いや、でも
セミコロンつけなくても区切りつくはずだし、
エラーにはならんはずだし、
略せた気はする…。

でも、省くべきではないとされるけども…(゜-゜)

ってことはだ…
$gameParty.hasItem($dataItems[1]) >= 1 にしてたとこをさ、
$gameParty.numItems($dataItems[1]) >= 1 でよくね?

多分、これでいける!
時間的にも明日試す!!
きっとこれでいけるはず!!

となると、
$gameParty.numItems($dataItems[1]) >= 1 && $gameParty.numItems($dataItems[2]) >= 1
という形なら条件分岐としていける…はず!

セミコロンがいるならば
最後につければいいよねっ!(ぉぃ


$gameParty.hasItem($dataItems[1]) >= 1 などではツクールMZでは認識しない!?

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

RPGツクールMVにて使っていた処理として
$gameParty.hasItem($dataItems[1]) >= 1 のように
パーティー内でアイテム1を1個以上持っているという条件を
スクリプトを出してたのですが、
なんと!MVでは認識してたのにMZでは認識してない!!Σ(・□・;)

原因は分からないが…
うーむ…もしや、この定義がMZにはないのかも…(;^_^A

JSファイル内のものを探ってまた新しい定義を探さないと
パーティー内でアイテムを~個以上持ってる時…
などの処理ができないではないか!!

そもそもがgameParty処理が反応しないのか…?
それともhasItem($dataItems[])処理ではないのか…?(゜-゜)

MVではできるのに…な~ぜ~?(゜-゜)

MZデータ…やり直して探ってみます!(''◇'')ゞ


アイテムを持っているかの複数条件で思ったこと

2023年12月14日 01時22分33秒 | ツクール日記

条件分岐でこのアイテムを持っている という処理で
それを複数やる場合ってその下に重ねたりしますよね?

ツクール初心者で条件分岐で複数やる方法が分からない!
条件分岐で変数使い過ぎて分からなくなる!
条件分岐で何重にも重ねてわけわからんくなる!
条件分岐が多くなる分、処理も多くなる!

・・・手間じゃね?

まず、条件分岐の重ねって…MVでは超重くなるんよね。

さてと…まず、初心者向けに…
~と同じ== 』、
~以上>= 』、~以下<= 』、
~より上> 』、~より下未満)『 <

ちなみに我も演算を独学し始めたのが最近で
少しだけ簡単な処理のメニュー系プラグインを
作れるようになったくらいのド素人よ。

ツクール初心者よりは演算は理解してるとは思う…多分。

いくつかプラグイン作れてやっと中級者かなーと思ってる。
だからまだ我は初心者というよりはド素人。

そのうち、左シフト<<=』とか右シフト>>=』とか使えたら
すごい確率のガチャができるんでは?と思ってる。

一番はべき乗**』の代入…べき乗代入**=』で
ガチャの確率がすごくなりそう。

まぁ、この時じゃないと出ないなんて確率のキャラだとしたら…
うっわ!めっさ課金することになるじゃん!!

まぁ…すごいことになるからアイテムの所持と仮定して
例えば左シフトでアイテム1が1個持ってる時で
次がアイテム1を10個の時としたいなら
…『<<= 1』とすると$gameParty.hasItem($dataItems[1]) <<= 1
これで左シフトするから…いや、これだとエラるな。

not functionになりそうだ。(゜-゜)

以上、以下とは違ってシフトさせるわけだから
1からこれで10になるのは間違いないがまず、式が足りない…
変数の算術演算…『let』が必要になるんでは…?(゜-゜)

・・・さて、
例えば変数を『変数1』が『同じ…同値』で『変数2』が『同値』の時なら
($gameVariables.value(1) == 1) && ($gameVariables.value(2) == 1)
『~以上』であって『~以下』にしたい場合、
これも条件分岐作った下に条件分岐…でやらなくても
($gameVariables.value(1) >= 1) && ($gameVariables.value(2) <= 1)
となるわけで
『変数1』と『変数2』が『同値』で
そのどちらかが条件となるようにしたいなら

($gameVariables.value(1) == 1) || ($gameVariables.value(2) == 1)
となるように
&&』は『…アンド』…『それと』、『かつ
||』は『または』となるので『どちらかの条件』に。

これ、&&とか2つ重ねてるから
バイナリー論理演算子』ってやつじゃないかな?

&一つだけなら、『ビット論理積』かな?(゜-゜)

ま、ツクール製作初心者は特に
「そんなんどうでもいいから複数処理方法とか知りたいんじゃー!」
が大半でしょうがね。

いや…ツクールで条件分岐する時に変数1を+1する処理だってね…
+=』って『代入演算子』やってるわけでして
これを理解すると複数処理が楽になるということでしてね…
これ、&一つだけ…とか+だけ…とかしちゃう人いて、
エラー原因分からず…もあるんすよ。

&& とか += とか これつけずに
エラーか反応しないか変な動作するとか聞くんすよね。

で、理解するようになれば ++ で
インクリメント演算子』とか使ったりで…。

まぁ、はいはい…でしょうがね。

まぁ、インクリメント演算子が分かれば
変数1を足す』というのも『++』でできちゃうわけで…。

さて…
ってことはだ…
『アイテム1を持っている時』は
$gameParty.numItems($dataItems[1])
になるわけだから
まず繋げるなら数式としては()がいる…
というわけで『アイテム1をもっている』かつ『アイテム2を持っている』
いわば両方持ってる状態にしたい…
となると、
($gameParty.numItems($dataItems[1])) && ($gameParty.numItems($dataItems[2]))
で、いいんではないだろうか?

さらにいうとだ…
『アイテム1が10個以上の時かつアイテム2が20個以上の時』
といった処理をしたいとしよう…
これさ、条件分岐そのままでやると
条件分岐2つでさらに変数2個使うからメンドくね?

以前書いた『アイテムを所持してない時の分岐方法』
これでは『$gameParty.hasItem($dataItems[1]) <= 0』としてました。

そう…てことはだ…
こいつは『<=』…『以下』になってるだけだから
『>=』…『以上』にしちゃって複数分岐しちゃえばよくね?

はい、ってことで
($gameParty.hasItem($dataItems[1]) >= 10) && ($gameParty.hasItem($dataItems[2]) >= 20)

はい、分かりやすく太字にしてこんな感じ。

これなら、条件分岐のスクリプトってとこで
この1行で済むってわけだ!

これならクエストの条件とか組む時に楽だよね!

さらに複数で
アイテム1が10個、アイテム2が15個、アイテム3が5個としよう…

ならばこうなるだろう…
($gameParty.hasItem($dataItems[1]) >= 10) && ($gameParty.hasItem($dataItems[2]) >= 15) && ($gameParty.hasItem($dataItems[3]) >= 5)

さらに&&でただ繋げただけで出来上がり。

条件分岐内容が多くなろうが、&&で繋げていきゃ、1行や!

これで1行で済む!!
1行で処理することにこだわりたいんじゃ!!(`・ω・´)

ただ、MVと違ってMZの条件分岐スクリプト…
枠が1本線になったから、
どこまでいけるのか分からんとですよ(´・ω・`)

ちなみにどこまでいけるかでは
必要アイテム5個の条件分岐スクリプトとしてで
&&は試したけど、それはいけたが、限界は知らん!

ってか、アイテムを所持してない時の演算…
今思えば否定文にしや、良かったんじゃね?
!』で『NOT』文になるから
『アイテム1が1個以上でない時』、
>= !1』として処理すればよかった気がする…

いや、まぁどっちでもいいんすけどね。

この論理演算子『!』の覚え方は
ビックリするくらい数(アイテム数)を否定する

って覚えてますね。

しかし…いや、あれか…
!=』で『不等値演算子』になるわw

いやでも、『!=』だと『2つ否定』しないといけないか…。

なら、『厳密不等価演算子』である『!==』なら…いや、変わらんな。

これだと、アイテム1 != 1つ の時、; // False
アイテム1 !== 1つの時、 ; // True
と返さなければならないから、行が2つで手間になってしまうな。

ま、そんなことより
でもって、これはアイテム1かつアイテム2と
両方持ってないといけない形なので

アイテム1が10個かアイテム2が10個…どっちでもいいよーって処理は
($gameParty.hasItem($dataItems[1]) >= 10) || ($gameParty.hasItem($dataItems[2]) >= 10)
になるんじゃないかな?

さらに逆の処理としてこのアイテムがない時…
アイテム1かつアイテム2を全く持ってない時なら
($gameParty.hasItem($dataItems[1]) <= 0) && ($gameParty.hasItem($dataItems[2]) <= 0)
とするか、

($gameParty.hasItem($dataItems[1]) < !1) && ($gameParty.hasItem($dataItems[2]) < !1)
でもいい気がするが、

0以下か1未満(いわば0以下)にした方のが分かりやすい気はするな。

これ、MZでの演算式ですが、MVだと
($gameParty.hasItem($dataItems[1]) >= 10) && ($gameParty.hasItem($dataItems[2]) >= 10)
じゃなくて
$gameParty.hasItem($dataItems[1]) >= 10) && ($gameParty.hasItem($dataItems[2]) >= 10
というように()がいらなかったりしてね…。

いや、試せよ!って話ですが…
自身製作のゲームが重すぎて新規でゲーム編集データ作ると
データが死ぬかもしれないから、別のパソコンが必要になるんよ…(´・ω・`)

まだ別のパソコンは修理中だから検証できません!( ー`дー´)キリッ

大丈夫大丈夫…
こんなことでエラーになっても
条件分岐として反映されずに何もなく終わるか

エラーでの処理落ちだけだからー(ぉぃ

いや、演算式…勉強したから大丈夫なはずよ…?
独学だけどw

ちょっと思うのは『!』は論理否定演算子だけど
~』っていうビット否定演算子が使えるのかどうか。

まぁ、ビットなんでまず使いませんけどね。

まぁ、最初にも言ったことで
何ならアイテム処理で意味分からんことにExcelでも使える
『~の~乗』っていうような『べき乗』…『^』を使って
アイテム処理をするとややこしい感じで面白いかも…
いや、これ使うならガチャとしての処理は面白そうだな。

^』はツクールでは使えなかったはずなので
乗算演算子』を重ねれば『乗』じゃね?

ってことで、『**』だと思う。

ただ、Javaだとあいまいな記述ができないからエラー飛びやすく
これはやらない方のがいいかもしれない。

ツクールで『^』を使うと『ビット排他的論理和』じゃないかな?

ちなみにVX・VXAceのスクリプトはJavaではないし…
RGSS…分かりません!(ぉぃ

MV・MZスクリプトとは似てるけど、
()がいらなかったり…な感じな気はする…多分!


ツクールMZの欠点について2

2023年11月16日 16時23分58秒 | ツクール日記

さて、またもツクールMZにて発覚した欠点が。

保存どころか
RPGツクールMZを開いても
すぐに閉じられる不具合が実はあるようです。

それは
パソコン自体のメモリ・容量が足りないと強制終了してしまうこと!

それだけでなく、
保存を押した際にパソコンの容量が足りない
データ保存されずに保存中状態から強制終了
最悪、一部データクラッシュ!!

今回のRPGツクールMZは
ちょっとのことでも負荷が高いので
事務レベルのパソコンで作業するなら
確実にSD、HDD、SSD、USB必須!!

編集中のパソコン
動画観ながらや音楽聴きながらでの作業
データ保存ほぼ確実に強制終了くらいやすく、
最悪の場合、データクラッシュ!!

MVの場合は音楽聴きながらでも正直できました…
MVの負荷ゲームデータの一点にデカい容量になってる場合
そのデータの部分が重くなってクラッシュしやすいのと、
全体的に動作が遅くなるという負荷でしたが、
MZはパソコン自体の負荷に大きく影響するので
ゲームデータが1GB未満だから大丈夫…じゃないんです!

逆にMZの利点としては
MVと比べて編集中の動作の重さが感じにくい
ただ、重さが感じにくいために
保存した際にクラッシュもあり得る

ゲームテストもMVではコモンイベントに格納すれば
負荷を感じにくくテスト時は軽く感じれたのですが、
MZはパソコン2台とネットカフェのパソコン1台、
スマホ2台で検証したところ、
その相手のパソコンやスマホの残り容量に依存するよう…。

これを考えると
容量の高いゲームをツクったとして
スマホゲーとしてまともに機能するか…?というのと
ウェブゲーだとしても負荷はウェブとして抑えれても
スマホの容量でもつのかどうか。

MZでのもう一つの検証はバカに増やしたアイコンで
実際にゲームをすると表示されるのかどうか。

これは容量やスペックの低いパソコンやスマホで遊戯すると
アイコン部分が何をとっても真っ黒になって
アイコンが正常に表示されないこと。

RPGツクールMZの場合、
例え1GB未満のゲームをツクってたとしても
ゲームデータ保存をする度に蓄積して負荷も与えるし、
パソコン自体に負荷を与えていく
ゲームデータ開こうとして瞬間的に強制終了とか出たり、
保存中に保存できずに強制終了もあり得るので
最低でもバックアップとして
たとえ上等なパソコンであっても
確実にSD、HDD、SSD、USB必須!!

単純に…
プラグインでのバックアップデータを作るものを入れたとすると
1GBのゲームならバックアップで+1GB
パソコンの内部記憶などもあるので
ゲームデータ編集画面を確実に開けること、
保存データクラッシュ率を抑えることを考えると
この場合は念のため、
パソコンの容量が4GB必要と見積もる方がいい。

さらに調べものでウェブ開いてたり、
音楽を聴きながら作業するなら
タスクマネージャーを開いて
そのウェブや音楽プレーヤーのメモリが何MB~何GBか、
CPU・GPUが何%で動いてるか確認して
パソコンの負荷的に大丈夫か確認してから
ゲームデータ編集作業がオススメだろう。

たとえばマイクロソフトのEdgeを開いただけで
平均285MBとまぁまぁかかってる。
理由はニュースも表示されるからだろう。

これが2窓・3窓などとなれば音楽並みどころか
場合によっては動画並みになるかも?(゜-゜)

ゲームデータ編集中
YouTubeなどプレーヤーでの動画視聴しながら
ゲームデータ編集ははっきり言ってオススメしない。

容量的に大丈夫…と思ってたら
動画ってループしたりするととんでもなく重くなるし、
最近のウェブ系の動画は広告が入るので
広告など予期しない分の負荷もあるのでとんでもなく危険!!

プレーヤーで動画聴きながらゲーム制作して保存したら
全データクラッシュ…一度くらったので。

まとめ…
全体的負荷を気にせず
プラグインなどの高機能をあまり使わず
パソコン向けでツクるならVXAce
一点集中的な大容量マップ
大量のコモンイベントさえツクらなければ MV
パソコンのスペックや動作・容量に左右される
場合によっては高機能で容量のデカいゲームがツクれるのはMZ
といったところかな?(-ω-;)ウーン


RPGツクールMZの欠点

2023年11月09日 02時18分06秒 | ツクール日記

さて、お久しぶりです。

人生ごと色々ありましてねー放置気味で申し訳ない。

 

RPGツクールVXAceは

データ破損してもrvproj2のみが死ぬくらいなので

破損には強いのが利点だが

プラグインなどの高度なものはあまりできないのが欠点。

RPGツクールMVはだいぶプラグインが充実してきた利点はあれど

スマホ対応に劣ることと

VXAce以前では起きなかったデータ破損が起きる欠点はありますね。

ただ、それほど重くなければ

MVはまだ比較的デカいクラッシュではありませんが…。

 

今までRPGツクールMVの欠点は言ってましたが

RPGツクールMZ…スマホ対応しやすい利点と

最初はMVから引き継いで起動もあまり重くはないこと、

高度なプラグインが使えることと

プラグインが分かりやすくなったことで

初心者向きともいえる利点はあれど、

大きな欠点もあるんです。

まぁ、仕様書がペラペラで内容も薄っぺらいのはMVからですが…

そんなことよりも…

それは “すべてにおいて大きな負荷となる” こと!!

どういうことかというと、

MVまでは音楽を入れただけでは

開くくらいでは負荷にならなかった…が、

MZでは音楽を少しでも多く入れただけでも負荷に!!( ̄▽ ̄;)

(MVでは音楽大量、画像大量でもそこまで気にしなかったのに!)

 

そう…それだけじゃない…

画像データすらもゲーム編集起動で負荷になるし、

音楽の量が多ければ多いほど

サウンドテストからイベントエディターでの

BGMやSE追加で開くのも負荷でかつ

場合によっては.jsonファイル破損も!!Σ(・□・;)

 

今までと違ってすべてが負荷となるので

素材の量・マップの量・イベント数・コモンイベント数・

スイッチ数・セルフスイッチ数・プラグイン数や負荷の大きさ・

アクターやアイテムなどの最大数量…

これらすべてが負荷となると言えるので

実はクラッシュ度はMVよりもクラッシュしやすいので

毎度の予備データは必須…

さらにいうとMVの時と違って

MZは他のブラウザを開いてやってることだけでも

非常に負荷が大きく

ゲーム編集中は他のブラウザを起動せずに

動作を軽くすることも必要…(;´・ω・)

 

MVでも保存クラッシュは多々ありましたが

MV・MZ同様、

保存を繰り返せば保存したという

記録データをどこかに格納してる感じで

保存を繰り返すごとに重くなるので

MZの場合は

バックアップを作るプラグインをしてる場合、

欠点としてその分の負荷のことも考えるべきかもしれない…。

単純に言うとバックアップデータを作るため、

すべての.jsonファイルが作られるために容量がのしかかる。

(ただバックアッププラグインは必要よね…)

 

MZで行う場合では、イベント量が多い場合は

必ず二重起動しておくことがオススメ。

(オンラインゲームでの多重起動みたいなもん…ではないけども…)

 

自身の場合はクエストを作るとイベント量が多くなるので

あらかじめ片方のMZ編集でキャラクエストなど作って

もう一つはただ起動しただけのMZ編集画面を用意。

 

場合によっては

すでにデータ量が多くて編集したキャラクエストが多いと

その一つのイベントチップだけでクラッシュもあり得るので

イベントチップ一つだけをコピーして

起動しただけのMZ編集画面に配置したいマップへ

イベントチップをペーストしたらすぐ保存!

 

MVではいくらイベントチップ作っても

データ破損まではいかなかったんだけどね…(´・ω・`)

 

MZの負荷はコモンイベントだけでなく

全体にかかる負荷のが大きいようで

正直、何やってもクラッシュの素になるので

自身は動画を入れることは今回は断念したくらい…(´・ω・`)

(まぁ今での自身の原因は一部のプラグインデータのデータ量だろな…)

 

動画入れるなら

MVかツクール以外のゲーム制作ソフトかな…(゜_゜>)

 

このMZでやるなら

当時の自身の制作ゲームで動画を含めた26GBという

異常なデータ量のゲームを作ること自体が無謀で不可能に近い。

 

他にも負荷…重さの原因としてはオートセーブ

オートセーブ場所移動が入るとセーブされる仕組み

例えば家の中にドアを作って

一度ドアを開けて場所移動させる仕組みを何か所も作ったとすると

ドアに出たり入ったりするだけで

何度もセーブを繰り返したことに!!(-"-;A ...アセアセ

 

これによってゲームテストした時に

オートセーブが繰り返され過ぎると

グルグルで待ち状態が続く状態…

はい、フリーズです。

 

可能性的には

セーブデータが複数作られるよりも負荷の可能性が!?

 

これも考えると

マップ.jsonが10000KB超えるところでは

オートセーブはわりと怖いかも…(◎_◎;)

 

MV同様に

コモンイベントのデータ分けはするべきなのと

全体の負荷も考えないと

MZの場合はMZ編集開いただけでも

強制閉じでデータクラッシュあり得るから

ここが要注意!!/)`;ω;´)

 

さらに怖いのが参照したプラグインから

そのプラグインのデータ量が多い場合、

これもイベントエディターから読み出した

プラグインですらすべて参照した形になるのか

ゲームテスト時に試すと

イベントでプラグインを発生させた時に動作が鈍くなる!

 

これだけならいいが、

MZ自体のメモリ格納がとんでもないために

新規でゲームデータを出して

RPGMZProjectindexpackage.json

これらも書き換えするのも手かもしれない。

1KBに騙されやすいけどね…

これを新規に換えるだけでも意外とね…。


本日からミニゲーム:すごろく 本実装致しました!

2019年05月01日 21時28分02秒 | ツクール日記

平素からクイズゲーム 東洋医学編を ご愛顧頂き、誠にありがとうございます。

本日からクイズゲーム東洋医学編 にて ミニゲーム:すごろく を本実装致しました。

遊んで学べる!ということで、
クイズ付のすごろくです!

栄養関係やご当地飯など料理などに関係した問題が出題されます!

・・・え?医療と関係ない・・・?
いえ、関係あるんです!
食療・薬膳というものがありまして、
食で治療するといった概念もあるんです!

冷え性には鶏肉!ダイエットには食べ合わせ・食の時間!
便秘・肌荒れにはセンナ!
といったように食も大事なんです!

東洋医学では特にクコの実やショウガなど一般的にある食としても薬としても用いる
生薬を用いた料理が多く、食で治療!という概念もあるんです!

難しい事は考えず…
ささ、基本無料ですので、どうぞどうぞ!

ゲーム本体(パソコン・スマホ対応 IE以外のブラウザ対応)

https://shilkamazezcreate-touyouigaku.jp/

 

動画は下記にて確認できます。

 

Twitter(ショート動画)

https://twitter.com/ShilkAmazez/status/1123555990366908417

Instagramインスタグラム

https://www.instagram.com/tv/Bw6xCZpngE9/?utm_source=ig_web_copy_link

ファンティア-ShilkAmazezCreate(フル動画)

https://fantia.jp/posts/153079

GOAL音声提供:武川楓 様

キャラボイス音声提供:※キャラ数が非常に多いため、ゲーム中エンディングにてご確認下さいませ。

 


Can not read property 'pages' of nullのエラー判別方法

2019年03月24日 01時27分30秒 | ツクール日記

このエラー、実はエラーをコンソールで見ると意外と簡単なんです。

何故なら、下記のようになっているからです。

rpg_managers.js:1949 TypeError: Cannot read property 'pages' of null
    at Game_Event.findProperPageIndex (rpg_objects.js:8611)
    at Game_Event.refresh (rpg_objects.js:8603)
    at Game_Event.refresh (EventInformation.js:181)
    at rpg_objects.js:5811
    at Array.forEach (<anonymous>)
    at Game_Map.refresh (rpg_objects.js:5810)
    at Game_Map.refresh (CustomizeConfigItem.js:381)
    at Game_Map.refreshIfNeeded (rpg_objects.js:5805)
    at Game_Map.update (rpg_objects.js:6020)
    at Game_Map.update (MouseWheel

・・・部分的に途中ですが、
これはすぐにエラー元が判別したために
途中でコンソールを観るのをやめたためです。

この'pages' of null
これの下をたどるとGame_Eventとなっているため、
イベントとして設置したものが関わっていることになります。

次にGame_Mapとこの二つが絡んでおり、
マップでのエラーとイベントでのエラーが窺え、
プラグイン・スクリプトのエラーではないと言えます。

まぁ、イベントで設定したものは
プラグインデータのような感じになるんですけどね。

その時に設定したのは出現条件のための変数の調整だったため、
イベント設定のこれが引っかかったんだろうと解釈できました。

このエラーの場合はテストプレイではエラーは発生しない場合もあり、
パソコンのブラウザかスマートフォンのブラウザで遊戯すると
発生することを確認しております。

出現条件でプラスでもマイナスでも
変数を異常な値になり過ぎないような設定をした方が良いですね。

という訳で…
判別するまでには遊戯で試すことで少し時間は掛かるけど、
割と判別するには簡単なエラーでした。


Can not read property 'pages' of nullのエラー原因について

2019年03月22日 01時02分33秒 | ツクール日記

いやー多忙過ぎてなかなか更新できずに申し訳ありません。m(__)m

さて、そんな中でゲーム更新後から
ユーザーから不具合を確認したと問い合わせで
「普段通りにロードしてゲームを行おうとしたところ、
 「Can not read property 'pages' of null」が表示されて遊戯できない!」
との問い合わせが。

はい、「なんぞや!?それ!?」ですね。

えぇ…まぁ、「Can not read property ' ' of null」となれば
このデータがないよーってことなので、
プラグインかデータ内を疑うのが普通かと思われますよね。

はい、この時は「スクリプトはいじりましたが、プラグインはいじってません!」。

ということで、スクリプトが問題だったんですね。

と、確認したところ、
ユーザーがキャラ解放条件のスイッチは起動されたものの、
キャラを変更するために必要なアイテムを獲得できていない不具合があったために
「$gameParty.hasItem($dataItems[(アイテムID)]) <= 0」の条件で
アイテムを得れるようにはしてましたが、
これは同じ条件が二重にあったとしても関係ないですね。

いやー、これは自分でもバカやってたなーと
一日で修正出来てエラーでヒヤヒヤしてたのが救われて幸いでしたが、
今では笑いごとですね。

この現象では
イベントの出現条件で変数値を「99999999の値」にすると出るようです。

何故かというと、
RPGツクールMVの変数最大値は「99999999まで」ですから!

「99999999以上」を行った場合、
何か限界突破プラグインか何かがない限り、
「それだけの変数値(ページ数)はないんだよ!!」と
プログラムがエラーとして訴えます。

これ…代入とか加算とかされたら、もうそれ以上の値はないですしね…。

えぇ…「めんどくせぇ!」と
出現条件を「99999999」にしたのが原因だったのです。

それ以上の値がある訳ないですから
「何考えてるの!!」ですよね。(;´Д`A ```

最新難易度の黄道十二級-甲(ANGELSMODE-Sephirothic Tree)を
ご遊戯してセーブしてしまった方には
大変お詫び申し上げます。m(__)m


もうそろそろ閲覧数合計150万!!

2019年02月26日 16時30分14秒 | ツクール日記

有り難い事に訪問者数合計30万突破!!
そして、もうそろそろ閲覧数150万回突破です!!

いやーありがとうございます!!

何気に本業であるShilkAmazezCreateの方は
閲覧数は低いんですけどね…(;・∀・)

本業であるShilkAmazezCreate - ファンティアでは
4月頃に月額有料支援者限定で
桜・花に関連したお菓子などや
アクセサリーのどちらかを選べる形で
お贈り致します!

3月下旬までに有料登録された方は対象となります!

基本的に支援額500円となってますが、
十分元が取れる…いや…元が取れる以上…かな?
プレゼント企画でお贈りしたりしています!

是非、ゲームに興味がない方でも
ファン登録をお待ちしております!!


[ツクールMVスクリプト] アイテムを所持していない時の条件分岐

2019年02月21日 15時43分32秒 | ツクール日記

さて、クイズゲーム東洋医学編でも
任務で獲得アイテムを後から追加しよう!ってことになって、
よくよく見たら…
「条件分岐に指定するアイテムがない時の条件分岐がないじゃん!」
ってなりました。

さぁ、ここからスクリプトです!!

なんと…これも検索してもヒットしなかったので…
あげてしまいましょうか。

アイテムの所持を考えると変数で割り出せば
確かに「指定アイテム0の時」という設定が可能ではあります。

しかし、そうすると変数を無駄に使ってしまいますよね。

オンラインゲームとするなら、やはり無駄に変数を使うのは避けたいです。

まず、スクリプトで考えるなら
アイテムはパーティー全員が共有してる必要がありますね。

という訳で…『$gameParty.』が絡んできますね。

次にアイテムを所持しているか?ということなので
持っていると英語で『have』。

複数のアイテムを持っているかの確認も考えると『hasItem』が成立します。

ここで!まだ指定するアイテムが謎です!!

『 ($dataItems[1]) 』にすると
アイテムID1のアイテムを指定したことになり、
これを繋げると『$gameParty.hasItem($dataItems[1])』。

はい、ここまではまだ
条件分岐中の『アイテムID1を持っているとき』と同じになります。

さぁ、ここからどうするのかというと…
以上や以下を設定するだけじゃないですかー!( ´∀` )

ってな訳で…アイテム所持を0の時にしたい場合は
『<= 0』という感じで割と簡単!!

日本語に直すと変な感じになりますが…
『アイテムID1を持っているときでそれは0以下のとき』
というような感じに…。
(うん…まともな日本語になってないが…)

これを全文繋げたスクリプトとしては
『$gameParty.hasItem($dataItems[1]) <= 0』となります。

これなら、無駄に変数は使いませんね!!

変数の場合なら
まず、変数の操作で
『変数ID1(アイテムの数) =(代入) アイテムID1(指定するアイテム)』
で変数を指定し、
条件分岐で
『変数ID1(アイテムの数)=0のとき』または
『変数ID1(アイテムの数)<=0のとき』とすれば可能ですが、
もし、変数の操作が複数あると、これがまともに機能しない場合があります。

そのため、
一つのイベントで複数の各アイテムを0の時に獲得できるようにしたい場合は
スクリプトがお勧めです。

スクリプトが分からなければ、
全文繋げたスクリプトの箇所をコピーして
条件分岐のスクリプトに貼り付けたら、
[1]の箇所を指定したいアイテムIDにするだけです!

ちなみに…

のようにすると、
何か任務が達成してスイッチがONになったときで
ID213のアイテムを所持していない時、
ID213のアイテムを獲得するという条件分岐となっています。

もし、アイテムをキャラごとでの所有なら…
『$gameActors.actor(1).hasItem($dataItems[1]) <= 0』
になるんじゃないでしょうかね?
(これは未確認ですが…)

この場合だと、
アクターID1を指定してる形で
アイテムID1が0以下所持してるときという指定になりますね。

以前あげた
指定レベルで任務達成させる条件分岐スクリプトの応用…?ですね。

ただ、ゲームアイテムはほぼ共有的なので
これでうまくいくかは分かりませんが…(・_・;)

自身はプラグインいじるのもまだ駆出しレベルなので
そこは手慣れている方がいつかは挙げてくれることを信じ…。
(おい!!)

ま…まぁ、スクリプトは割と英語さえ何となく分かれば
ある程度はいじくれます!!

プラグインは…どうでしょね…
翻訳しても分からないことも…(´-∀-`;)
(RGSS3まではある程度はいけたのですけどね…)

プラグインエラーは一番解釈し辛いとこですね…(´-∀-`;)
(競合してる箇所が割り出しにくかったりとかね…)