RPG製作情報など
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
『ぬすむ』・・・最近のRPGには必須とも言える技だ!
そこで、hideも『ぬすむ』スクリプトを作ってみた。
他所でも、使い古されたスクリプトなので、いまさら感は拭えないが...
hide流のアプローチで記述してみようと思う。(パクリとか言われるから?)
それともうひとつ、『へんか』って技も組み込んでみた。
『へんか』って技は、HP10%以下のモンスターを、
アイテムに変化させて倒す、って技(市販RPGには既に有るが...)
盗むアイテムを設定する場所って、エネミー名の後ろに記述するやり方もアリだけど、
module ってので、データベースを作る方が、たくさん設定を詰め込めるから。
スクリプト1 の中↓
module Enemy_Ex
#--------------------------------------------------------------------------
# Ex[エネミーID] = {1=>[盗むアイテム/盗むレア/変化アイテム]}
# "i(ID)" :アイテム "w(ID)" :武器 "a(ID)" :防具 "g(金額)" :お金 "" :無しの場合
#--------------------------------------------------------------------------
Ex = []
Ex[0] = {1=>["","",""]} # エネミーID未設定の場合
Ex[1] = {1=>["","g1000","a1"]} # ゴースト
Ex[2] = {1=>["i1","w1",""]} # バジリスク
エネミーID3の、サハギンなら、Ex[3] = {1=>["i1","w1",""]} ってのを、
Ex[2] = {1=>["i1","w1",""]} # バジリスク の真下に挿入していくって感じ♪
まとめ...
スキルの準備・・・名前:ぬすむ、へんか 効果範囲:敵単体
①『ぬすむ』・・・エネミー単体から、アイテムを盗む(ノーマル&レア)の2種類設定。
②『ぬすむ』・・・盗み確率は、器用さに依存、レアになる確率は10分の1に固定。
※装備品(装飾品)で盗む確率&レア率UP!
スクリプト2 の# ■装備品による補正 ってところで、アイテムの名前を指定する。
# 盗み確率UP!
if $data_armors[actor.armor4_id].name == "盗み確率UP" ←ココの名前(盗み確率UP)
④『へんか』・・・HP10%以下のエネミーをアイテム化(即死)
※装備品(装飾品)で残りHPが25%以下でも『へんか』が有効に!
⑤『へんか』・・・『へんか』したエネミーからは、お金、EXP、落とすアイテムは無し。
⑥共通・・・○○を盗んだ! っていうメッセージに、そのアイテムのアイコンを描画。
----------------------------------
例の如く、簡易版(バグ有り?版)を公開!って言うか、
自作RPGには、こんな機能があるよっていう紹介でした♪
今回は、長~いスクリプト!
興味のある方は、『スクリプト1』、『スクリプト2』、『スクリプト3』を
Main の真上に上から、1,2,3の順番で、挿入してね。
そこで、hideも『ぬすむ』スクリプトを作ってみた。
他所でも、使い古されたスクリプトなので、いまさら感は拭えないが...
hide流のアプローチで記述してみようと思う。(
それともうひとつ、『へんか』って技も組み込んでみた。
『へんか』って技は、HP10%以下のモンスターを、
アイテムに変化させて倒す、って技(市販RPGには既に有るが...)
盗むアイテムを設定する場所って、エネミー名の後ろに記述するやり方もアリだけど、
module ってので、データベースを作る方が、たくさん設定を詰め込めるから。
スクリプト1 の中↓
module Enemy_Ex
#--------------------------------------------------------------------------
# Ex[エネミーID] = {1=>[盗むアイテム/盗むレア/変化アイテム]}
# "i(ID)" :アイテム "w(ID)" :武器 "a(ID)" :防具 "g(金額)" :お金 "" :無しの場合
#--------------------------------------------------------------------------
Ex = []
Ex[0] = {1=>["","",""]} # エネミーID未設定の場合
Ex[1] = {1=>["","g1000","a1"]} # ゴースト
Ex[2] = {1=>["i1","w1",""]} # バジリスク
エネミーID3の、サハギンなら、Ex[3] = {1=>["i1","w1",""]} ってのを、
Ex[2] = {1=>["i1","w1",""]} # バジリスク の真下に挿入していくって感じ♪
まとめ...
スキルの準備・・・名前:ぬすむ、へんか 効果範囲:敵単体
①『ぬすむ』・・・エネミー単体から、アイテムを盗む(ノーマル&レア)の2種類設定。
②『ぬすむ』・・・盗み確率は、器用さに依存、レアになる確率は10分の1に固定。
※装備品(装飾品)で盗む確率&レア率UP!
スクリプト2 の# ■装備品による補正 ってところで、アイテムの名前を指定する。
# 盗み確率UP!
if $data_armors[actor.armor4_id].name == "盗み確率UP" ←ココの名前(盗み確率UP)
④『へんか』・・・HP10%以下のエネミーをアイテム化(即死)
※装備品(装飾品)で残りHPが25%以下でも『へんか』が有効に!
⑤『へんか』・・・『へんか』したエネミーからは、お金、EXP、落とすアイテムは無し。
⑥共通・・・○○を盗んだ! っていうメッセージに、そのアイテムのアイコンを描画。
----------------------------------
例の如く、簡易版(
自作RPGには、こんな機能があるよっていう紹介でした♪
今回は、長~いスクリプト!
興味のある方は、『スクリプト1』、『スクリプト2』、『スクリプト3』を
Main の真上に上から、1,2,3の順番で、挿入してね。
PR
ツクールXPで、バトル中に『仲間を呼ぶモンスター』を作るなら、一般的に、
①データベースのトループ→②イベントコマンド→③エネミーの出現 っていう流れだろう。
他には、スキルにコモンイベントを設定する ってパターンかな?
別にこれでも良いのだが、けっきょく、最大8体までしかエネミーを出現させられないので、
たくさん仲間を呼ぶ奴、を表現できないよね。
ドラ○エのマドバンドみたいな奴(ゴーレムは呼べないけど)
そこで、スクリプトを作ってみた!
今回は、alias とか使って、RGSS素材? っぽくしてみた♪
内容はズバリ!
①・・・エネミー専用のスキルを作り、バトルで使わせる(普通...)
スキル名を、 仲間を呼ぶ
効果範囲を、自分自身 に設定
②・・・途中から出現 にチェックの入ったエネミーを出現させる(普通...)
③・・・『戦闘不能』のエネミーも呼ぶ(蘇生の処理を、仲間を呼ぶっぽくする)
④・・・③で呼び出されたエネミーの、お金、EXP,落とすアイテムを獲得する
⑤・・・呼び出せるエネミーは、トループで設定したエネミーのみ
(途中から出現エネミー&通常エネミー)
⑥・・・ランダムに⑤からエネミーを決定、失敗もスクリプトに依存(スキルの命中率ではない)
⑦・・・『逃げる』と『仲間を呼ぶ』の両方を使うエネミーは、想定外
⑧・・・簡易版なので、バグるかも(使用は自己責任♪)
つまり、死んだ奴(戦闘不能)を、生き返らせて、
そいつの経験値も格納して、バトル勝利後に獲得するってこと。
一応、無限に呼び出しが可能(8体以上画面に現れることはできないが...)
↓の部分を全て、コメントアウトすると、無限呼び出しが可能!(初期設定では24体まで)
# 無限に仲間を呼ぶことを禁止(最大数24)
if $call_enemies.size >= 24
# 変数の初期化
user.enemy_call = [false,nil]
# 元の処理を呼び出し
hidesp_skill_effect(user, skill)
return
end
興味のある方は、『仲間を呼ぶ』スクリプトをコピーして、新規で作ったスクリプトに貼り付けて、
Main の真上に置いてみてね。
-----------------------------------------------------
自作RPGでは、呼び出すエネミーの種類とか、
個別にエネミーを設定できるバージョンを使用。
根本を改造しているのと、設定が面倒なので、公開は無理...
①データベースのトループ→②イベントコマンド→③エネミーの出現 っていう流れだろう。
他には、スキルにコモンイベントを設定する ってパターンかな?
別にこれでも良いのだが、けっきょく、最大8体までしかエネミーを出現させられないので、
たくさん仲間を呼ぶ奴、を表現できないよね。
そこで、スクリプトを作ってみた!
今回は、alias とか使って、RGSS素材? っぽくしてみた♪
内容はズバリ!
①・・・エネミー専用のスキルを作り、バトルで使わせる(普通...)
スキル名を、 仲間を呼ぶ
効果範囲を、自分自身 に設定
②・・・途中から出現 にチェックの入ったエネミーを出現させる(普通...)
③・・・『戦闘不能』のエネミーも呼ぶ(蘇生の処理を、仲間を呼ぶっぽくする)
④・・・③で呼び出されたエネミーの、お金、EXP,落とすアイテムを獲得する
⑤・・・呼び出せるエネミーは、トループで設定したエネミーのみ
(途中から出現エネミー&通常エネミー)
⑥・・・ランダムに⑤からエネミーを決定、失敗もスクリプトに依存(スキルの命中率ではない)
⑦・・・『逃げる』と『仲間を呼ぶ』の両方を使うエネミーは、想定外
⑧・・・簡易版なので、バグるかも(使用は自己責任♪)
つまり、死んだ奴(戦闘不能)を、生き返らせて、
そいつの経験値も格納して、バトル勝利後に獲得するってこと。
一応、無限に呼び出しが可能(8体以上画面に現れることはできないが...)
↓の部分を全て、コメントアウトすると、無限呼び出しが可能!(初期設定では24体まで)
# 無限に仲間を呼ぶことを禁止(最大数24)
if $call_enemies.size >= 24
# 変数の初期化
user.enemy_call = [false,nil]
# 元の処理を呼び出し
hidesp_skill_effect(user, skill)
return
end
興味のある方は、『仲間を呼ぶ』スクリプトをコピーして、新規で作ったスクリプトに貼り付けて、
Main の真上に置いてみてね。
-----------------------------------------------------
自作RPGでは、呼び出すエネミーの種類とか、
個別にエネミーを設定できるバージョンを使用。
根本を改造しているのと、設定が面倒なので、公開は無理...
デフォルトの設定では、バトル中にアクター達が、「逃げる」を選択すると、
成功、失敗にかかわらず、何事もなかったように過ぎ去る。
せめて、「逃げる」を失敗したときくらいは、何か表示して欲しいものだ。
「逃走失敗」 とか...
バトル中に文章を表示させるには、@help_window.set_text を使うわけだが、
「逃走失敗」の場合は簡単で、Scene_Battle 2 の 124行目の真下に、
↓スクリプトを挿入するだけ。
# □ヘルプウィンドウに描画
@help_window.set_text("逃走失敗", 1)
@wait_count = 20
「逃走成功」の場合は、面倒なのだ。
116行目に、”逃走失敗”を”逃走成功”に書き換えたものを、
挿入するだけでは、ダメだから...
なぜなら、@wait_count が機能しないからだ!
@wait_count ってのは、待ち時間のことで、これを設定しないと、
ウィンドウが一瞬で閉じちゃうから。
とりあえず、「逃走成功」の表示は、書くと長くなるので割愛! ←また?
興味のある方は、『逃走メッセージ表示』スクリプトをコピーして、
Scene_Battle 2 の真下に置いてみてね。
成功、失敗にかかわらず、何事もなかったように過ぎ去る。
せめて、「逃げる」を失敗したときくらいは、何か表示して欲しいものだ。
「逃走失敗」 とか...
バトル中に文章を表示させるには、@help_window.set_text を使うわけだが、
「逃走失敗」の場合は簡単で、Scene_Battle 2 の 124行目の真下に、
↓スクリプトを挿入するだけ。
# □ヘルプウィンドウに描画
@help_window.set_text("逃走失敗", 1)
@wait_count = 20
「逃走成功」の場合は、面倒なのだ。
116行目に、”逃走失敗”を”逃走成功”に書き換えたものを、
挿入するだけでは、ダメだから...
なぜなら、@wait_count が機能しないからだ!
@wait_count ってのは、待ち時間のことで、これを設定しないと、
ウィンドウが一瞬で閉じちゃうから。
とりあえず、「逃走成功」の表示は、書くと長くなるので割愛! ←また?
興味のある方は、『逃走メッセージ表示』スクリプトをコピーして、
Scene_Battle 2 の真下に置いてみてね。
スリップダメージってのは、”毒”に代表される、徐々にダメージという奴だ。
このスリップダメージを表示するタイミングって、おかしくない?
まず、①毒ステートになる→②次のターンになる→③本人が行動する、
スリップダメージの効果が現れる。
これだと、毒ステートのキャラが行動する前に、エネミーを全滅させたり、
毒ステートを治療したりすると、スリップダメージを受けなくなってしまう。
例の如く、気に入らない。
気に入らないⅠ...個別にエフェクト(アニメとか、ダメージ表示、HP減)がおこる
気に入らないⅡ...効果の現れるタイミング
スリップダメージのエフェクトは、 Scene_Battle 4 の129~133行目に記述してあるので、
全て#を頭に付けてコメントアウト!
# スリップダメージ
# if @active_battler.hp > 0 and @active_battler.slip_damage?
# @active_battler.slip_damage_effect
# @active_battler.damage_pop = true
# end
次に、↓のスクリプトをScene_Battle 4 の def start_phase4 37行目の
# エネミーアクション作成 の真上くらいに挿入。
# ■[スリップダメージ]の実行(アクター+エネミー)
for x in $game_troop.enemies + $game_party.actors
if x.hp > 0 && x.slip_damage?
x.slip_damage_effect
x.damage_pop = true
end
end
@status_window.refresh
これで、全アクターと全エネミーに対して、同時にスリップダメージのエフェクトを表示できるし、
効果の現れるタイミングは、ターンの最後(戦う、逃げるコマンドが出る前)にできるのだ。
ただ、def start_phase4 に挿入の場合、アクターの行動を決めた後にダメージなので、
行動前にHPが0で死んじゃうという、リスクがある。(バトル難易度UP!)
Scene_Battle 2 で def start_phase2 の真下に挿入ってのも有りで、
こちらは、アクターが毒ステートのままバトルに突入すると、いきなりダメージを受けるのだが、
アクターが行動を決める前なので、回復や治療などを効率良く行う事ができるかな?
このスリップダメージを表示するタイミングって、おかしくない?
まず、①毒ステートになる→②次のターンになる→③本人が行動する、
スリップダメージの効果が現れる。
これだと、毒ステートのキャラが行動する前に、エネミーを全滅させたり、
毒ステートを治療したりすると、スリップダメージを受けなくなってしまう。
例の如く、気に入らない。
気に入らないⅠ...個別にエフェクト(アニメとか、ダメージ表示、HP減)がおこる
気に入らないⅡ...効果の現れるタイミング
スリップダメージのエフェクトは、 Scene_Battle 4 の129~133行目に記述してあるので、
全て#を頭に付けてコメントアウト!
# スリップダメージ
# if @active_battler.hp > 0 and @active_battler.slip_damage?
# @active_battler.slip_damage_effect
# @active_battler.damage_pop = true
# end
次に、↓のスクリプトをScene_Battle 4 の def start_phase4 37行目の
# エネミーアクション作成 の真上くらいに挿入。
# ■[スリップダメージ]の実行(アクター+エネミー)
for x in $game_troop.enemies + $game_party.actors
if x.hp > 0 && x.slip_damage?
x.slip_damage_effect
x.damage_pop = true
end
end
@status_window.refresh
これで、全アクターと全エネミーに対して、同時にスリップダメージのエフェクトを表示できるし、
効果の現れるタイミングは、ターンの最後(戦う、逃げるコマンドが出る前)にできるのだ。
ただ、def start_phase4 に挿入の場合、アクターの行動を決めた後にダメージなので、
行動前にHPが0で死んじゃうという、リスクがある。(バトル難易度UP!)
Scene_Battle 2 で def start_phase2 の真下に挿入ってのも有りで、
こちらは、アクターが毒ステートのままバトルに突入すると、いきなりダメージを受けるのだが、
アクターが行動を決める前なので、回復や治療などを効率良く行う事ができるかな?
カレンダー
01 | 2025/02 | 03 |
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
最新コメント
[08/04 Faust]
[05/26 takku]
[11/12 ぱんだ]
[06/28 AntwerpBlue]
[06/28 AntwerpBlue]
[02/07 ジャリン]
[02/07 ジャリン]
[02/05 白豆]
[11/28 I・S]
[11/26 I・S]
ブログ内検索
最古記事
(09/12)
(09/15)
(09/15)
(09/15)
(09/16)
カウンター
忍者アナライズ