【解決済み】VXace 星潟様の「サブ職業/転職関連システム」

しまたろう
記事: 6
登録日時: 2019年3月29日(金) 08:22

【解決済み】VXace 星潟様の「サブ職業/転職関連システム」

投稿記事by しまたろう » 2019年4月03日(水) 21:23

VXaceにて 星潟様の「サブ職業/転職関連システム」を使用しているのですが困った点があります。

データベース上でアクターAの特定の職業への転職を禁止し、途中でアクターAのその職業への転職を可能とするようにしたいのです。やり方を変えればスイッチで転職可能にはできるのですが、他のアクターも転職できるようになってしまうのです。

例 A、Bのアクターが存在するとし X、Yの職業があるとします。
  途中でAのみXの職業へ転職できるようになったりBのみYの職業へ転職できるようになる

アクターと職業が多くなるとイベントコマンドのスクリプトやスイッチだけでは対応できずに困っています。

どなたかスクリプトに詳しい方がいましたら、どうか解決策を宜しくお願い致します。
最後に編集したユーザー しまたろう on 2019年4月04日(木) 21:20 [ 編集 1 回目 ]

ぽんぽこねるそん
記事: 53
登録日時: 2018年10月26日(金) 12:24

Re: VXace 星潟様の「サブ職業/転職関連システム」

投稿記事by ぽんぽこねるそん » 2019年4月04日(木) 20:26

しまたろうさん、こんにちは。

Game_Actorにハッシュでも作るようにしてそれの要素の状態を
転職条件にすればアクター毎に転職できる職業を決められるようになると思います。

コード: 全て選択

class Game_Actor < Game_Battler
  attr_accessor :job_change_hash
  #--------------------------------------------------------------------------
  # ● セットアップ
  #--------------------------------------------------------------------------
  alias setup_job_change setup
  def setup(actor_id)
    @job_change_hash = {}
    setup_job_change(actor_id)
  end
end

こんな感じでハッシュを作って
職業のメモ欄に

コード: 全て選択

<転職条件:job_change_hash[n]>

こんな感じに記述して
([]の中は何でもいいですが職業のIDとか分かりやすいものにしておくのがおすすめです)
イベントコマンドのスクリプトで

コード: 全て選択

$game_actors[n].job_change_hash[m] = true

とやればn番のアクターが転職条件がjob_change_hash[m]の職業に
転職できるようになると思います。
しまたろう
記事: 6
登録日時: 2019年3月29日(金) 08:22

Re: VXace 星潟様の「サブ職業/転職関連システム」

投稿記事by しまたろう » 2019年4月04日(木) 21:18

ぽんぽこねるそん様、お返事ありがとうございます。

ぽんぽこねるそん様のおっしゃる通りにしてみた所、理想の転職条件切り替えができました!!

今回と前回で短期間に2回も助けていただき、ぽんぽこねるそん様には本当に感謝しております。
素晴らしい解決案を提供していただき、ありがとうございました!!

“VX / Ace:質問” へ戻る