ググって調べたのですが、以下のようなスクリプトがでてきました。
if($gameActors.actor(1).isLearnedSkill(1)){
$gameSwitches.setValue(1,true)
}
しかし、なぜかこれでは判定されない(スイッチ1がONにならない)ようなのです。
初歩的すぎる質問かもしれませんが、解決方法をお教えいただけないでしょうか。
アクターがスキルを習得しているかどうかスクリプトで判定したいのですが……
Re: アクターがスキルを習得しているかどうかスクリプトで判定したいのですが……
スクリプト自体はそれで合っています。
多分スイッチがオンにならない原因は『攻撃はスキルとして覚えていないから』だと思います。
試しに職業の習得するスキルに『攻撃』を追加するか、isLearnedSkill(n)のnに覚えているスキルのIDをいれてください。
多分スイッチがオンにならない原因は『攻撃はスキルとして覚えていないから』だと思います。
試しに職業の習得するスキルに『攻撃』を追加するか、isLearnedSkill(n)のnに覚えているスキルのIDをいれてください。
Re: アクターがスキルを習得しているかどうかスクリプトで判定したいのですが……
ありがとうございます。
以下のように変えてみましたが、やはりスイッチ1001はONにならず……。
if($gameActors.actor(4).isLearnedSkill(4)){
$gameSwitches.setValue(1001,true)
}
条件分岐のアクター4がスキル4を習得しているでやると、スイッチ1001はonになります。
なぜ……。
以下のように変えてみましたが、やはりスイッチ1001はONにならず……。
if($gameActors.actor(4).isLearnedSkill(4)){
$gameSwitches.setValue(1001,true)
}
条件分岐のアクター4がスキル4を習得しているでやると、スイッチ1001はonになります。
なぜ……。
-
- 記事: 715
- 登録日時: 2018年12月23日(日) 13:55
Re: アクターがスキルを習得しているかどうかスクリプトで判定したいのですが……
こんばんは。
isLearnedSkill ではもう一つ、武器や防具、ステートで追加されるスキルは false が返るという仕様があります。
もし、武器や防具、ステートで追加したスキルをチェックしたいという場合は、
isLearnedSkill ではなく hasSkill を使用してチェックしてください。
(条件分岐のアクター4がスキル4を習得している のチェックは この hasSkill を使用してチェックしています)
攻撃や防御が実際にはアクターが習得していないので、isLearnedSkill で false が返ってしまうのは前述の通りですが、もぐたん さんが書きました:ありがとうございます。
以下のように変えてみましたが、やはりスイッチ1001はONにならず……。
if($gameActors.actor(4).isLearnedSkill(4)){
$gameSwitches.setValue(1001,true)
}
条件分岐のアクター4がスキル4を習得しているでやると、スイッチ1001はonになります。
なぜ……。
isLearnedSkill ではもう一つ、武器や防具、ステートで追加されるスキルは false が返るという仕様があります。
もし、武器や防具、ステートで追加したスキルをチェックしたいという場合は、
isLearnedSkill ではなく hasSkill を使用してチェックしてください。
(条件分岐のアクター4がスキル4を習得している のチェックは この hasSkill を使用してチェックしています)
Re: アクターがスキルを習得しているかどうかスクリプトで判定したいのですが……
すみません、こっちに直してください。このまま入れれば動くはずです
// 『== true』は条件を満たしている場合
if($gameActors.actor(4).isLearnedSkill(4) == true)
{$gameSwitches.setValue(1001,true)}
else //elseはそうで無ければ~の場合
{//ここのカッコ内は条件を満たさない場合の処理を書きます
$gameSwitches.setValue(1001, false)
}
詳しくはこちらのhttps://tkool.jp/mz/plugin/javascript/if.htmlを見てみてください。
// 『== true』は条件を満たしている場合
if($gameActors.actor(4).isLearnedSkill(4) == true)
{$gameSwitches.setValue(1001,true)}
else //elseはそうで無ければ~の場合
{//ここのカッコ内は条件を満たさない場合の処理を書きます
$gameSwitches.setValue(1001, false)
}
詳しくはこちらのhttps://tkool.jp/mz/plugin/javascript/if.htmlを見てみてください。
Re: アクターがスキルを習得しているかどうかスクリプトで判定したいのですが……
ecf5DTTzl6h6lJj02さん
やもりさん
ありがとうございました。
isLearnedSkillをhasSkillに変えたところ、 無事判定してくれました。
アクターの所でスキル追加していたのですが、どうやらそれはisLearnedSkillでは拾ってくれないようですね。
これで進めることが出来ます、ありがとうございました。
やもりさん
ありがとうございました。
isLearnedSkillをhasSkillに変えたところ、 無事判定してくれました。
アクターの所でスキル追加していたのですが、どうやらそれはisLearnedSkillでは拾ってくれないようですね。
これで進めることが出来ます、ありがとうございました。