ページ 11

【解決済み】メモ欄のタグで特定の文字が含まれているかどうかで分岐

Posted: 2018年2月19日(月) 17:52
by ぼた餅
こんにちは。
みなさんお力をお貸しください。

スキルのメモ欄に<TEST:abc>と書いてあるとします。
この時、このTESTタグに「b」が含まれているかどうかで分岐をしたいと思っております。
方法があれば教えていただけないでしょうか?


私がやりたいことは、イベントコマンド「変数の操作」のスクリプトにて、
「-(マイナス記号)」の有無で正の数か負の数かを判定し、正の数だったら代入する…といった感じです。

Re: メモ欄のタグで特定の文字が含まれているかどうかで分岐

Posted: 2018年2月19日(月) 18:01
by ぼた餅
(返信が来た以上紛らわしいので削除いたしました)

Re: メモ欄のタグで特定の文字が含まれているかどうかで分岐

Posted: 2018年2月20日(火) 04:58
by しぐれん
「JavaScrit 文字列」あたりで検索すると出てきますね。
ただ、この場合は文字列をチェックするより数値型へ変換してその内容で動かす方が良いのではないでしょうか?

コード: 全て選択

var num = Number(skill.meta.Test)
if(num >=0){
  //ここで変数への代入を書く
}

Re: メモ欄のタグで特定の文字が含まれているかどうかで分岐

Posted: 2018年2月20日(火) 09:32
by ぼた餅
しぐれんさん

返信ありがとうございます。
調べてもわからなかった…は通用しませんよね、精進します。


どうも私の説明不足でした。
スキル全体ではなく特定のスキルで判定する挙動を望んでおります。
提示されたコードを例にすると、スキルID1のタグが正の数かどうかで分岐…といった具合です。



念のため、以下にもっと細かな情報を記しておきます。

・スキルの使用効果で下記を記したコモンイベントを呼び出す
◆変数の操作:#0100 TP消費量 = $dataSkills[$gameVariables.value(1)].meta['tp'] * (1 - ($gameVariables.value(2) / 10))
◆TPの増減:スキルを使ったアクター, - {TP消費量}

そっくりそのまま持ってきているので見づらいですが解説です。
変数1 = これから使用するスキルのID
変数2 = 消費TP軽減率が入り、値は0~10まで
タグ<tp:xxx> = スキルの消費TP

変数1が3で変数2が5、タグ<tp:10>だとすると、
スキルID3の消費TP量が10ではなく5になります。

しかし、タグに<tp:-10>と書いていると、
-5となり、消費量軽減のはずが回復量まで軽減されることとなってしまいます。
なので負の数の場合は消費量軽減の処理が入らないように分岐したいと思い、質問させていただきました。

Re: メモ欄のタグで特定の文字が含まれているかどうかで分岐

Posted: 2018年2月21日(水) 10:10
by 剣崎 宗二
別の変数(101番など)にスクリプト代入で

コード: 全て選択

Number($dataSkills[$gameVariables.value(1)].meta['tp'])
を入れ、その変数の値が>0か否かで分岐しては如何でしょうか。

Re: 【解決済み】メモ欄のタグで特定の文字が含まれているかどうかで分岐

Posted: 2018年2月21日(水) 11:51
by ぼた餅
剣崎 宗二さん
返信ありがとうございます。

あぁ、おっしゃる通りです!
ずっと一行での記述ばかり考えていたせいで、そのような初歩的な方法を失念しておりました。
おかげさまで無事解決いたしました。感謝申し上げます!

(しかしバランス調整は楽しい反面とても難しいですね…)