初めてのスクリプトなのだ。 | Aqua Shop Gonbe(SL)日記

初めてのスクリプトなのだ。

一歩進んでは二・三歩下がっているような今日このごろ・・・
アレコレアレコレと試行錯誤しながらも、進めているのですが、
やればやるほど、色々な事に気が付き、アレコレとできないだろうか?
等と時間を費やしています。(ノ_・。)

ザッと言うと、RPG定番的な、「開錠スキル」とか「罠はずしスキル」とか、「呪いを解くスキル」とかが欲しいな~。。。と思い始めたのが発端でした。

これらを定義するだけなら、簡単なのですが、「100%成功ってのも面白くないし・・・」とか「やっぱLvが高いと成功しやすい方が・・・」とか。。。
アレコレと考えてしまうのですよね。

そんで、イベントコマンドの組み合わせで、コモンイベントとして色々と試した結果、「やっぱスクリプトで処理しないと無理があるな・・・」と言う方向に進みだしました。

んで、アレコレやっていて、一番基本的な部分で、パーティー内に「開錠スキル」を持っている人が居るか?と言う判定方法に行き詰まったのでした。

イベントコマンドでは、「誰々がXXスキルを習得している場合」と言う指定は可能ですが、「パーティー内の誰かがXXスキルを習得している場合」と言う指定が無い。
今欲しいのは後者なので、それをスクリプトで対処できないか?
と始めたのでした。

多分スクリプトを分かる人なら、初歩的の初歩と言う程度の内容だと思いますが、俺にとっては未知の世界。
色々人のスクリプトを見て、とりあえずそれっぽいのを作ってみました。
こんな感じ↓

#=========================================================
# ■ Game_Interpreter
#=========================================================
class Game_Interpreter
  #--------------------------------------------------------
  # ○ スキル所持判定関数 
  #    指定スキル習得者がパーティー内に居ればTrue
  #--------------------------------------------------------
  def specified_skill(sk_id)#引数はスキル番号
@id=sk_id
$game_party.members.each do |actor|
return true if actor.skill_learn?($data_skills[@id])
end
return false
  end
end


こんな感じでイベント内で使うものですね。
引数はスキル番号で、パーティーメンバー内の誰かが、該当スキルを習得していればTRUEが戻り、誰も居なければFALSEが戻ると言う単純なものです。

つうことで、初歩の初歩ですが、ついにスクリプトに手を出してしまったのでした。
あ~。。。面倒だな。(-。-;)