特定の変数に
「あるアクターが●番目に所持(習得)しているスキルのID」を代入するには
どうすればいいでしょうか?
調べてみて、下記を変数代入のスクリプトに入れてみたのですが
――――――――――――――――
$gameActors.actor(1).skills()
――――――――――――――――
次のエラーが出てしまいます。
[object,object][object,object]
スクリプトに弱いので、正しい書き方がわかる方
お願いします。
変数代入:アクターの●番目のスキルのID
Re: 変数代入:アクターの●番目のスキルのID
初心者&質問者 さんが書きました:特定の変数に
「あるアクターが●番目に所持(習得)しているスキルのID」を代入するには
どうすればいいでしょうか?
調べてみて、下記を変数代入のスクリプトに入れてみたのですが
――――――――――――――――
$gameActors.actor(1).skills()
――――――――――――――――
次のエラーが出てしまいます。
[object,object][object,object]
スクリプトに弱いので、正しい書き方がわかる方
お願いします。
こんばんは!
特定のアクターが現在所持しているスキルに対して「●番目のスキルIDを変数に代入する」、と言う解釈で
よろしいでしょうか?(覚えた順番ではありません)
もしそれでよろしければ…
コード: 全て選択
◆スクリプト:var actID = $gameActors.actor(1) //アクターID
: :var posseNO = 2 //●番目のスキル
: :var vID = 11 //代入する変数
: :
: :if (actID.skills().length >= posseNO){
: :$gameVariables.setValue(vID ,actID.skills()[posseNO - 1].id)
: :}
上3行の数値はご自分のゲームに合わせて変更して下さい。
ただ、上記のスクリプトですとスキルタイプの魔法、必殺技、また防御や逃げるなどのスキルを
習得している場合、それらも含めて全てのスキルから2番目に所持しているスキルIDを変数に
代入してしまいます。もしそれでもよろしければ良いのですが。
コード: 全て選択
◆スクリプト:var actID = $gameActors.actor(1) //アクターID
: :var posseNO = 2 //●番目のスキル
: :var vID = 11 //代入する変数
: :var type = 1 //スキルタイプ
: :
: :if (actID.skills().filter(function(item) {return item.stypeId==type;}).length >= posseNO){
: :$gameVariables.setValue(vID ,actID.skills().filter(function(item) {
: :return item.stypeId==type;})[posseNO - 1].id)
: :}
ツクールデフォルトですとスキルタイプ1が魔法で2が必殺技です。
上記ですと魔法、必殺技、また防御や逃げるなどのスキルを習得していてもあくまで
スキルタイプ1の魔法で所持している2番目のスキルIDが変数に代入されます。
以上になりますがいかがでしょうか。
Re: 変数代入:アクターの●番目のスキルのID
ありがとうございます!
1つ目に教えて頂いたスクリプトで試してみました。
無事、特定の番号のスクリプトIDを変数に代入する事ができました。
1つ目に教えて頂いたスクリプトで試してみました。
無事、特定の番号のスクリプトIDを変数に代入する事ができました。