RPG製作情報など
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
スクリプトを詰め込みすぎた...
06/11/05記事で、『カウンター攻撃』スクリプトを公開したのだが、
今回は、これの拡張版?の公開って話し。
※ブログでは→半角の『¥』(『\』←バックスラッシュになってしまう)
を表示できないので、便宜上『¥』を使用している。
『Counter_Action vol.01』特徴
※仕様変更の為↑ vol.1.00はサポート外!08/10/11記事を参照してね!
ステートに例えば、『反撃¥A』みたいなのを作る。
¥←は必須の記述で、ABCみたくアルファベットの組み合わせで、
カウンター行動を指定する。(大文字、小文字どちらでも可)
反撃←の部分は適当でOK (※アルファベットのステート名だと不具合が...)
一応、カウンターの発生は、ダメージを受けた場合のみで、
『防御』行動中や全体攻撃、行動できない場合は、発生しない。
----------------------------------------------------------------------
ダメージを受ける→カウンター発生→カウンター発動(実際に行動)
①カウンター発生条件
P50 = 発生確率(数値はカウンター成功率)
※指定しない場合は100%成功
J0 = ダメージの種類による発生条件(数値0~2)
0=全てのダメージ 1=物理ダメージ(攻撃力F>魔力F) 2=(スキルダメージ攻撃力F<魔力F)
※指定しない場合は0 = 全てのダメージ
H25 = 残りHP条件(数値は残りHP%)
一応、残りHP25%以下になると、HPが紫色になる(瀕死?)ので、
瀕死カウンターとか?
H0 = 死亡カウンター(ファイナルアタック?)
H0の場合、HPが0になるダメージを受けた場合、カウンターを発動後に戦闘不能になる。
※H0D と指定する必要がある。Dの解説はのちほど...
H0DG = 戦闘不能の回避(某RPGの『ガッツ』←知ってる?)
HPが0になるダメージを受けた場合、残りHP1で耐える。(HP1以外の場合で固定)
※指定しない場合は、残りHPの条件は無効。
Z = 属性条件を許可するフラグ
例えば、ステート名が、反撃¥AZ ならば、同じ名前の属性攻撃(武器、スキル、アイテム)
の場合のみ、カウンターが発生する。
※上記の場合、反撃¥AZ ステートと、反撃¥AZ 属性をデータベースで作る必要がある。
②カウンター発動行動の種類
A = 通常攻撃 S1 = スキル(数値はID) I1 = アイテム(数値はID)
G = 行動無し(回避) R = 受けた行動と同じ
※ASIGRの5つの内どれか1つだけ指定する。
③カウンターが発動した場合の相手
E1 = エネミー(数値はトループで追加した順番1~8)
U1 = アクター(数値はトループで追加した順番1~4)
※E0 U0 の場合、自分自身を指定
EX = Xの場合、自分を含むランダムなエネミー
EY = Yの場合、自分以外のランダムなエネミー
UX = Xの場合、自分を含むランダムなアクター
UY = Yの場合、自分以外のランダムなアクター
T1 = ターゲットを使用者側に変更(数値は順番)
※カウンター行動を行なうバトラーがアクターならば、アクターに、
エネミーならば、エネミーに変更
O1 = ターゲットを逆転(数値は順番)
※カウンター行動を行なうバトラーがアクターならば、エネミーに、
エネミーならば、アクターに変更
※EUTOの4つの内どれか1つだけ指定する。
指定しない場合は、攻撃してきたバトラーに固定される。
※EUの場合、ターゲットを固定するので、通常は、TOを使用したほうが良いかな。
・・・長くなったので続く!
06/11/05記事で、『カウンター攻撃』スクリプトを公開したのだが、
今回は、これの拡張版?の公開って話し。
※ブログでは→半角の『¥』(『\』←バックスラッシュになってしまう)
を表示できないので、便宜上『¥』を使用している。
『Counter_Action vol.01』特徴
※仕様変更の為↑ vol.1.00はサポート外!08/10/11記事を参照してね!
ステートに例えば、『反撃¥A』みたいなのを作る。
¥←は必須の記述で、ABCみたくアルファベットの組み合わせで、
カウンター行動を指定する。(大文字、小文字どちらでも可)
反撃←の部分は適当でOK (※アルファベットのステート名だと不具合が...)
一応、カウンターの発生は、ダメージを受けた場合のみで、
『防御』行動中や全体攻撃、行動できない場合は、発生しない。
----------------------------------------------------------------------
ダメージを受ける→カウンター発生→カウンター発動(実際に行動)
①カウンター発生条件
P50 = 発生確率(数値はカウンター成功率)
※指定しない場合は100%成功
J0 = ダメージの種類による発生条件(数値0~2)
0=全てのダメージ 1=物理ダメージ(攻撃力F>魔力F) 2=(スキルダメージ攻撃力F<魔力F)
※指定しない場合は0 = 全てのダメージ
H25 = 残りHP条件(数値は残りHP%)
一応、残りHP25%以下になると、HPが紫色になる(瀕死?)ので、
瀕死カウンターとか?
H0 = 死亡カウンター(ファイナルアタック?)
H0の場合、HPが0になるダメージを受けた場合、カウンターを発動後に戦闘不能になる。
※H0D と指定する必要がある。Dの解説はのちほど...
H0DG = 戦闘不能の回避(某RPGの『ガッツ』←知ってる?)
HPが0になるダメージを受けた場合、残りHP1で耐える。(HP1以外の場合で固定)
※指定しない場合は、残りHPの条件は無効。
Z = 属性条件を許可するフラグ
例えば、ステート名が、反撃¥AZ ならば、同じ名前の属性攻撃(武器、スキル、アイテム)
の場合のみ、カウンターが発生する。
※上記の場合、反撃¥AZ ステートと、反撃¥AZ 属性をデータベースで作る必要がある。
②カウンター発動行動の種類
A = 通常攻撃 S1 = スキル(数値はID) I1 = アイテム(数値はID)
G = 行動無し(回避) R = 受けた行動と同じ
※ASIGRの5つの内どれか1つだけ指定する。
③カウンターが発動した場合の相手
E1 = エネミー(数値はトループで追加した順番1~8)
U1 = アクター(数値はトループで追加した順番1~4)
※E0 U0 の場合、自分自身を指定
EX = Xの場合、自分を含むランダムなエネミー
EY = Yの場合、自分以外のランダムなエネミー
UX = Xの場合、自分を含むランダムなアクター
UY = Yの場合、自分以外のランダムなアクター
T1 = ターゲットを使用者側に変更(数値は順番)
※カウンター行動を行なうバトラーがアクターならば、アクターに、
エネミーならば、エネミーに変更
O1 = ターゲットを逆転(数値は順番)
※カウンター行動を行なうバトラーがアクターならば、エネミーに、
エネミーならば、アクターに変更
※EUTOの4つの内どれか1つだけ指定する。
指定しない場合は、攻撃してきたバトラーに固定される。
※EUの場合、ターゲットを固定するので、通常は、TOを使用したほうが良いかな。
・・・長くなったので続く!
PR
以前、フラットなトループは気に入らない!ってネタを公開したのだが、
今回は、どうせなら直接、XY座標を指定してしまおう!ってことで、
『Troop_Ex』スクリプトを公開してみた。
※07/02/05のOpen_text を導入しているので、設定は簡単かな?
バトルで戦うことになるエネミー達(トループ)は、データベースの
トループで設定できるのだが、手動でXY位置を設定すると、
どうしても、キッチリ揃わない。(怒) ※コレとか手動じゃキツイし...
デフォルトの整頓は、X座標が画面中心(320)位置を基点にして、
均等割り?配置がなされているため、中央に寄り気味の配置となっている。
トループ数が2~3の場合(幅の小さい奴ね)、縮こまった感じで気に入らない。
そこで、X座標(位置)は、エネミーとエネミーの間が均等になるように改造してみた。↓
興味のある方は、Game_Enemy の真下にスクリプトを挿入してね。
今回は、どうせなら直接、XY座標を指定してしまおう!ってことで、
『Troop_Ex』スクリプトを公開してみた。
※07/02/05のOpen_text を導入しているので、設定は簡単かな?
バトルで戦うことになるエネミー達(トループ)は、データベースの
トループで設定できるのだが、手動でXY位置を設定すると、
どうしても、キッチリ揃わない。(怒) ※コレとか手動じゃキツイし...
デフォルトの整頓は、X座標が画面中心(320)位置を基点にして、
均等割り?配置がなされているため、中央に寄り気味の配置となっている。
トループ数が2~3の場合(幅の小さい奴ね)、縮こまった感じで気に入らない。
そこで、X座標(位置)は、エネミーとエネミーの間が均等になるように改造してみた。↓
↑デフォルトのX座標 | ↑改造後のX座標 |
興味のある方は、Game_Enemy の真下にスクリプトを挿入してね。
07/01/31記事の 『仲間をたくさん呼びつつABCvol.03』で、
変な記述をしていたので、修正してみた。
スクリプト内の↓部分なのだが、
# □戦闘中、隠れフラグがONの場合、戦闘不能を付加
self.add_state(0)
そもそも、xxx.exist?ってのは、存在判定で、! xxx.exist?(not xxx.exist? )は、
戦闘不能もしくは、隠れ状態の場合と同意なので、
隠れ状態の場合に、わざわざ、戦闘不能を付加する必要はなかったのだ...
しかも、xxx.add_state(ID)ってのは、ステートを付加する命令なのだが、
IDの部分が、0なので、全く意味のない命令になっていたのだ!
とりあえず、今回は↑部分の削除と、呼び出し(仲間を呼ぶ)が成功した場合に、
何かしらの、処理を追加できるように、call_end(user,target)を追記してみた。
例えば、『分裂』するエネミーを再現する場合、
処理的には、『仲間を呼ぶ』なのだが、使用者と対象のHP/SPを50%にする処理を
追加すれば、それっぽく見える? ってことで追加してみた。
変な記述をしていたので、修正してみた。
スクリプト内の↓部分なのだが、
# □戦闘中、隠れフラグがONの場合、戦闘不能を付加
self.add_state(0)
そもそも、xxx.exist?ってのは、存在判定で、! xxx.exist?(not xxx.exist? )は、
戦闘不能もしくは、隠れ状態の場合と同意なので、
隠れ状態の場合に、わざわざ、戦闘不能を付加する必要はなかったのだ...
しかも、xxx.add_state(ID)ってのは、ステートを付加する命令なのだが、
IDの部分が、0なので、全く意味のない命令になっていたのだ!
とりあえず、今回は↑部分の削除と、呼び出し(仲間を呼ぶ)が成功した場合に、
何かしらの、処理を追加できるように、call_end(user,target)を追記してみた。
例えば、『分裂』するエネミーを再現する場合、
処理的には、『仲間を呼ぶ』なのだが、使用者と対象のHP/SPを50%にする処理を
追加すれば、それっぽく見える? ってことで追加してみた。
前回、『Enemy_Ex01』を公開したのだが、その中に
class Open_text ~ の記述があるはずだ。
これは、RGSSスクリプトをWindowsのテキスト(Notepad(.text))に、
出力するネタなのだ。
hideの作った『Enemy_Ex01』の設定(記述)は、けっこうメンドウなので、
その雛形をテキストで出力して、コピー&ペーストで済ませようってネタ。
使い方は、
①イベントの作成で、てきとうなイベントを作る。 ※ツボとかにすれば解り安いかな
②トリガーは、決定ボタン...
③イベントコマンドのスクリプトに、↓2行を貼り付ける。
a = Open_text.new
a.create_enemy_text
④テストプレーでそのイベントを実行(※ツボに決定キー)
⑤ゲームフォルダ(Project)の中に、enemy.textって名前のテキストが出力される。
⑥enemy.textを開いて、内容をコピー
⑦『Enemy_Ex01』内の↓に貼り付け(ペースト)
# ■ここから下に、Open_textで出力されたデータ(enemy.text)を貼り付ける
-------------------------------------------------------------------
ツクールスクリプトの世界では、既出なので、詳しく解説しないけど...
テキスト出力のスクリプトをチョットだけ解説
①クラスを作る→ class Open_text ※Open_textは適当な感じで...
②def メソッドを作る→ def create_enemy_text ※create_enemy_textは適当な感じで...
③テキストを開く命令→ f = File.open("enemy.text", "w")
f ←適当で "enemy.text" のenemy ←適当で .text ←テキストの拡張子なので必須!
"w" ← 書き込みの種類!(必須)
④テキストに出力する内容を設定→ text = ""
text = "" ←ここに記述した物をテキストに出力!
" もしくは ' で囲むと文字として認識される! ※ text = "こんな感じ!"
"\n" (※¥n) ← は改行命令! .to_s ←数値を文字化する命令!(※123 = "123")
⑤text の内容を書き込む命令!→ f.write(text)
⑥テキストを閉じる命令→ f.close
class Open_text ~ の記述があるはずだ。
これは、RGSSスクリプトをWindowsのテキスト(Notepad(.text))に、
出力するネタなのだ。
hideの作った『Enemy_Ex01』の設定(記述)は、けっこうメンドウなので、
その雛形をテキストで出力して、コピー&ペーストで済ませようってネタ。
使い方は、
①イベントの作成で、てきとうなイベントを作る。 ※ツボとかにすれば解り安いかな
②トリガーは、決定ボタン...
③イベントコマンドのスクリプトに、↓2行を貼り付ける。
a = Open_text.new
a.create_enemy_text
④テストプレーでそのイベントを実行(※ツボに決定キー)
⑤ゲームフォルダ(Project)の中に、enemy.textって名前のテキストが出力される。
⑥enemy.textを開いて、内容をコピー
⑦『Enemy_Ex01』内の↓に貼り付け(ペースト)
# ■ここから下に、Open_textで出力されたデータ(enemy.text)を貼り付ける
-------------------------------------------------------------------
ツクールスクリプトの世界では、既出なので、詳しく解説しないけど...
テキスト出力のスクリプトをチョットだけ解説
①クラスを作る→ class Open_text ※Open_textは適当な感じで...
②def メソッドを作る→ def create_enemy_text ※create_enemy_textは適当な感じで...
③テキストを開く命令→ f = File.open("enemy.text", "w")
f ←適当で "enemy.text" のenemy ←適当で .text ←テキストの拡張子なので必須!
"w" ← 書き込みの種類!(必須)
④テキストに出力する内容を設定→ text = ""
text = "" ←ここに記述した物をテキストに出力!
" もしくは ' で囲むと文字として認識される! ※ text = "こんな感じ!"
"\n" (※¥n) ← は改行命令! .to_s ←数値を文字化する命令!(※123 = "123")
⑤text の内容を書き込む命令!→ f.write(text)
⑥テキストを閉じる命令→ f.close
カレンダー
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)
カウンター
忍者アナライズ