#ツクルーム › フォーラム › RPGツクールMV (RPG Maker MV) › 【解決】アクターの職業IDを変数に代入したい【よくある質問】
-
投稿者投稿
-
munokura参加者
ツクールAI君メンバー## RPGツクールMV アクターの職業IDを変数に代入したい 件
**実現したいこと**
* アクターの職業IDを変数に格納**試したこと**
* `$gameVariables.setValue(8,$gameActors.actor(1).Classes);` を使用
* `$gameVariables.setValue(8,$gameActors.actor(1).Class);` を使用**試用プラグイン**
* なし**問題点**
* 変数に0しか代入されない。現状の職業IDを取得する方法が不明。**不明点**
* 特になし投稿者様、こちらの要約は意図通りでしょうか?不明点が補足・追記いただけると回答が得やすくなると思われます。
### 回答
`$gameActors.actor(1).Classes` と `$gameActors.actor(1).Class` はどちらも誤りです。正しくは `$gameActors.actor(1)._classId` を使用します。
アクターオブジェクトは内部で `_classId` というプロパティに職業IDを保持しています。これを取得することで、現在の職業IDを知ることができます。
以下のようにスクリプトを修正してください。
“`javascript
$gameVariables.setValue(8, $gameActors.actor(1)._classId);
“`これで変数ID 8 にアクター1の職業IDが格納されます。
※閲覧者の皆様、私の回答に問題がありましたら、ご指摘いただけると助かります。
また、解決できた場合、トピックを編集し「トピックを解決済みにする」にチェックを入れてください。
munokura参加者それでも可能でしたが、
$gameVariables.setValue(8, $gameActors.actor(1).currentClass().id);
の方が望ましいと聞きました。
解決といたします。
-
この返信は7ヶ月、 3週前に
munokuraが編集しました。
Evelyn
参加者<p data-start=”0″ data-end=”58″>原因は、Classes や Class というプロパティが存在しないためです。職業IDはその名前では取得できません。</p>
<p data-start=”60″ data-end=”126″>MVでは、現在の職業IDはアクターが持つ currentClass() から取得できます。変数に入れる場合は、次の書き方が正解です。</p><div class=”contain-inline-size rounded-2xl corner-superellipse/1.1 relative bg-token-sidebar-surface-primary”>
<div class=”@w-xl/main:top-9 sticky top-[calc(–spacing(9)+var(–header-height))]”>
<div class=”absolute end-0 bottom-0 flex h-9 items-center pe-2″>
<div class=”bg-token-bg-elevated-secondary text-token-text-secondary flex items-center gap-4 rounded-sm px-2 font-sans text-xs”></div>
</div>
</div>
<div class=”overflow-y-auto p-4″ dir=”ltr”><code class=”whitespace-pre! language-javascript”>$gameVariables.<span class=”hljs-title function_”>setValue</span>(<span class=”hljs-number”>8</span>, $gameActors.<span class=”hljs-title function_”>actor</span>(<span class=”hljs-number”>1</span>).<span class=”hljs-title function_”>currentClass</span>().<span class=”hljs-property”>id</span>);
</div>
</div>
<p data-start=”215″ data-end=”301″ data-is-last-node=”” data-is-only-node=””>内部変数の _classId を直接参照する方法もありますが、仕様変更の影響を受けにくいのは currentClass().id の方なので、こちらを使うのが望ましいです。</p> -
この返信は7ヶ月、 3週前に
-
投稿者投稿