こんにちは。何回か試行錯誤してうまくいかなかったので質問させてください。
自作ゲームで忍者やモグラのような「(敵側から見て)自分のターンにスキルで隠れ、攻撃時に姿を現す」
という敵を作っているのですが、どうしても自分の思う動作をするスキルをイベントで作れません。
具体的には
①敵は複数で出現する(忍者A、忍者B、忍者Cのようなパターン)
②それぞれの敵がランダムでスキル「隠れる」を使用し、その間は敵は無敵状態。
ただし、味方の特殊攻撃スキル(例えば「忍び殺し」)を使うとダメージを与える事ができる。
③敵は敵ターン時「隠れたまま」「姿を現し攻撃」「隠れたまま攻撃」のスキルを使い、
姿を現す場合以前に与えたダメージは蓄積したまま姿を現す。また、隠れたまま攻撃を受け
HP0になれば通常通り戦闘不能
のようなものです。
「隠れる」という状態を別の敵キャラ扱いにすると出現、隠れるを繰り返すごとに忍者D、E、F・・・
のような別アルファベットの敵が出現することになり、HPの同期も出来ません。
また状態異常として「隠れた状態」を設定するとモンスターが出現隠れるを繰り返すごとに
グラフィック(エネミー画像)が意図したものと違うことになります。
出来ればスキルとして「隠れる」「出現する」などを作り、また隠れたエネミーと出現したエネミーの
同期(HP継続、忍者A→隠れた忍者A→忍者A→隠れた忍者A・・・をA,B,C個別に行う)を行いたいのですが、
スキルや「忍者」、「隠れ忍者」それぞれのエネミー設定欄をどうすればいいか教えてください。
よろしくお願いいたします。
【解決済み】隠れる、出現するスキルを繰り返す敵の作り方(VX Ace)
【解決済み】隠れる、出現するスキルを繰り返す敵の作り方(VX Ace)
最後に編集したユーザー kuro [ 2017年4月25日(火) 21:47 ], 累計 1 回
Re: 隠れる、出現するスキルを繰り返す敵の作り方(VX Ace)
こんな感じですか?
「隠れる」ステートを作成して、そのステートIDを「State」の中に入れて下さい
(隠れる前に付与された毒などは普通に通ります)
「忍び殺し」はスキルのメモ欄に「<忍び殺し>」と入れれば、
そのスキルだけ通るようになります
ただし、隠れてる間も普通に見えてます
コード: 全て選択
module TOMO
module HideState
# 「隠れる」ステートのID
State = [30, 31]
end
end
class Game_Battler < Game_BattlerBase
#--------------------------------------------------------------------------
# ● ダメージ計算
#--------------------------------------------------------------------------
alias tomo_hide_state_make_damage_value make_damage_value
def make_damage_value(user, item)
if TOMO::HideState::State.any?{|s| state?(s) } &&
!item.note.include?("<忍び殺し>")
@result.make_damage(0, item)
else
tomo_hide_state_make_damage_value(user, item)
end
end
end
(隠れる前に付与された毒などは普通に通ります)
「忍び殺し」はスキルのメモ欄に「<忍び殺し>」と入れれば、
そのスキルだけ通るようになります
ただし、隠れてる間も普通に見えてます
現在サポート終了中
Re: 隠れる、出現するスキルを繰り返す敵の作り方(VX Ace)
遅くなりましたがTOMOさん、ありがとうございます。
ただ、やはり隠れてる状態なのに姿がそのままなのは
違和感が・・・。
隠れステート時のみ、姿を自分で用意した透明エネミー画像に
変更する方法はないのでしょうか?
以前試みた時も、この透明エネミー変更方法がうまくいかず
エネミーの連番がずれたりしたものですから。
お手数おかけしますがよろしければご教示ください。
ただ、やはり隠れてる状態なのに姿がそのままなのは
違和感が・・・。
隠れステート時のみ、姿を自分で用意した透明エネミー画像に
変更する方法はないのでしょうか?
以前試みた時も、この透明エネミー変更方法がうまくいかず
エネミーの連番がずれたりしたものですから。
お手数おかけしますがよろしければご教示ください。
Re: 隠れる、出現するスキルを繰り返す敵の作り方(VX Ace)
試してないけど多分これで出来ます
「Bitmap」に、隠れてる間の画像名を入れて下さい
コード: 全て選択
module TOMO
module HideState
# 「隠れる」ステートのID
State = [30, 31]
# 隠れてる間の画像名
Bitmap = ""
end
end
class Game_Battler < Game_BattlerBase
#--------------------------------------------------------------------------
# ● ダメージ計算
#--------------------------------------------------------------------------
alias tomo_hide_state_make_damage_value make_damage_value
def make_damage_value(user, item)
if TOMO::HideState::State.any?{|s| state?(s) } &&
!item.note.include?("<忍び殺し>")
@result.make_damage(0, item)
else
tomo_hide_state_make_damage_value(user, item)
end
end
end
class Sprite_Battler < Sprite_Base
#--------------------------------------------------------------------------
# ● 転送元ビットマップの更新
#--------------------------------------------------------------------------
alias tomo_hide_state_update_bitmap update_bitmap
def update_bitmap
if TOMO::HideState::State.any?{|s| @battler.state?(s) }
new_bitmap = Cache.battler(TOMO::HideState::Bitmap, @battler.battler_hue)
if bitmap != new_bitmap
self.bitmap = new_bitmap
init_visibility
end
else
tomo_hide_state_update_bitmap
end
end
end
現在サポート終了中
Re: 【解決済み】隠れる、出現するスキルを繰り返す敵の作り方(VX Ace)
TOMOさん、ありがとうございました。
無事成功しましたので解決済みとさせていただきます。
無事成功しましたので解決済みとさせていただきます。