RPG製作情報など
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
RPGにおいて、重要な要素である宝箱。
町や洞窟に置かれていて、開けると中から、お金やアイテムが出てくる奴。
一口に宝箱と言っても様々で、例えば『ツボ』だったり『タンス』、
何も目印は無いけど、『怪しい場所』ってのも宝箱と言えるだろう。
前置きはさておき、今回は『Make_Party_Events 』を公開って話。
※スクリプトは、Interpreter 7より下、Mainより上に挿入してね。
--------------------------------------------------------
■『Make_Party_Events vol.01』特徴
某RPG(ド○クエ)の「このフロアには、あと3個宝箱があるようだ!」って、
教えてくれるアレ。とうぞくのはな
あとは、宝箱の回収率とか...
①準備・・・↑前置きにも書いた『宝箱』イベントの
イベントページ1(1ページ目)、
実行内容の1行目(1番最初)に、
イベントコマンド『注釈』を挿入して、
内容を 宝箱 と記入する。↓こうなるハズ
◆注釈:宝箱
◆ ※
※の位置が2行目なので、ここから下にイベントを組む
多分、こんな感じかな?↓
◆注釈:宝箱
◆移動ルートの設定:このイベント
:180度回転
◆文章:ポーションを手に入れた!
◆アイテムの増減:ポーション+1
◆セルフスイッチの操作:A=ON
◆
↑何度も開けられるのを禁止するため、スイッチをONにするハズだ。
※この場合は、セルフスイッチA=ON
スイッチをONにする前に、イベントコマンド『スクリプト』に
gain_treasur(MapID,EventID,true) ←を記入して挿入。
◆アイテムの増減:ポーション+1
◆スクリプト:gain_treasur(MapID,EventID,KEY)
◆セルフスイッチの操作:A=ON
◆
MapIDは、宝箱を置いたマップIDを記入。
※Mapの設定-ID:001 ←ならば1
EventIDは、宝箱のイベントIDを記入。
※EV001 ←ならば1
KEYは、trueを記入(true=開けた false=開けていない)
基本的に宝箱イベントは、決定キーで開始するのがセオリーなので、
"このイベント"の場合は、(MapID,EventID,KEY)を省略することが可能!
※内部で、MapID=現在のMapID、EventID=このイベントID、KEY=true、としている為
◆スクリプト:gain_treasur ←コレだけでOK
②値の取得・・・
『Make_Party_Events vol.01』スクリプト内の、
class Game_Partyを参照。
・ゲーム全体の宝箱数を取得
$game_party.game_total_number
・現在のMapで既に開けている宝箱の数を取得
$game_party.map_open_number
etc...
長くなったので続く!
町や洞窟に置かれていて、開けると中から、お金やアイテムが出てくる奴。
一口に宝箱と言っても様々で、例えば『ツボ』だったり『タンス』、
何も目印は無いけど、『怪しい場所』ってのも宝箱と言えるだろう。
前置きはさておき、今回は『Make_Party_Events 』を公開って話。
※スクリプトは、Interpreter 7より下、Mainより上に挿入してね。
--------------------------------------------------------
■『Make_Party_Events vol.01』特徴
某RPG(ド○クエ)の「このフロアには、あと3個宝箱があるようだ!」って、
教えてくれるアレ。
あとは、宝箱の回収率とか...
①準備・・・↑前置きにも書いた『宝箱』イベントの
イベントページ1(1ページ目)、
実行内容の1行目(1番最初)に、
イベントコマンド『注釈』を挿入して、
内容を 宝箱 と記入する。↓こうなるハズ
◆注釈:宝箱
◆ ※
※の位置が2行目なので、ここから下にイベントを組む
多分、こんな感じかな?↓
◆注釈:宝箱
◆移動ルートの設定:このイベント
:180度回転
◆文章:ポーションを手に入れた!
◆アイテムの増減:ポーション+1
◆セルフスイッチの操作:A=ON
◆
↑何度も開けられるのを禁止するため、スイッチをONにするハズだ。
※この場合は、セルフスイッチA=ON
スイッチをONにする前に、イベントコマンド『スクリプト』に
gain_treasur(MapID,EventID,true) ←を記入して挿入。
◆アイテムの増減:ポーション+1
◆スクリプト:gain_treasur(MapID,EventID,KEY)
◆セルフスイッチの操作:A=ON
◆
MapIDは、宝箱を置いたマップIDを記入。
※Mapの設定-ID:001 ←ならば1
EventIDは、宝箱のイベントIDを記入。
※EV001 ←ならば1
KEYは、trueを記入(true=開けた false=開けていない)
基本的に宝箱イベントは、決定キーで開始するのがセオリーなので、
"このイベント"の場合は、(MapID,EventID,KEY)を省略することが可能!
※内部で、MapID=現在のMapID、EventID=このイベントID、KEY=true、としている為
◆スクリプト:gain_treasur ←コレだけでOK
②値の取得・・・
『Make_Party_Events vol.01』スクリプト内の、
class Game_Partyを参照。
・ゲーム全体の宝箱数を取得
$game_party.game_total_number
・現在のMapで既に開けている宝箱の数を取得
$game_party.map_open_number
etc...
長くなったので続く!
PR
ツクールXPのデフォルトスクリプトには、Window_Command というものがある。
これは、タイトルの選択肢や、バトルのコマンドなどに使われているスクリプトで、
縦1列の選択肢を表示するのに特化したスクリプトである。
今回は、コレを改造して、選択中の文字色を変えて、点滅させようってネタ。
※『点滅コマンド』スクリプトを、Window_Commandの真下に挿入してね。
※仕様変更の為↑バージョンは、使用不可。07/09/09記事を参照してね。
Window_Commandが使われている場所は、
タイトル、メニュー、ゲーム終了、バトルコマンドの4箇所だけなので、実用性は低いのだが...
※タイトルならば、『ニューゲーム、コンテニュー、シャットダウン』←の文字
←こんな感じ
内部のスクリプトネタは、
↓みたく、横にずらして、文字色を変えたものを描画しているのだ。
ニューゲーム
コンテニュー
シャットダウン
これだと、コンテニューとシャットダウンの文字がはみだすのでは?
って思う方は、↓を読もう!
----------------------------------------------------------------------------------------
画面に何か(画像や文字)を描画する場合、Spriteを作成して、
その中にBitmapを作ることで、描画することができる。
文字や画像は、このBitmapに"表示する命令"をする訳だが、
このままでは、コンテニューとシャットダウンの文字も、表示されてしまい困る。
ここで登場するのが、Viewportという奴だ。
これは、表示するBitmapの範囲を指定できるというもので、例えるなら
Sprite箱の中に、Viewport箱を入れて、その中にBitmap箱を入れる。
さらに、Bitmap箱の中に文字や画像を入れると言うこと。
ただしViewport箱には、Bitmap箱がViewport箱より大きな箱の場合でも、
中に入れることができる!という特徴がある。
では、Bitmap箱が、はみ出す部分は? というと、"透明"になるのだ。
↓図で言うならば、黄色の範囲は全て透明になる。
※ちなみにoxは、Bitmapの横移動で、oyは、縦移動。
ox,oyの値を変化させることで、表示/非表示の命令を行なっているのだ。
oxをマイナスして、『abcdef』文字がViewportの外側にでれば、
『abcdef』が消えて(透明)になり、今度は、『hijklmn』文字が、
Viewportの内側に入り、表示されるってこと!
これは、タイトルの選択肢や、バトルのコマンドなどに使われているスクリプトで、
縦1列の選択肢を表示するのに特化したスクリプトである。
今回は、コレを改造して、選択中の文字色を変えて、点滅させようってネタ。
※『
※仕様変更の為↑バージョンは、使用不可。07/09/09記事を参照してね。
Window_Commandが使われている場所は、
タイトル、メニュー、ゲーム終了、バトルコマンドの4箇所だけなので、実用性は低いのだが...
※タイトルならば、『ニューゲーム、コンテニュー、シャットダウン』←の文字
内部のスクリプトネタは、
↓みたく、横にずらして、文字色を変えたものを描画しているのだ。
ニューゲーム
コンテニュー
シャットダウン
これだと、コンテニューとシャットダウンの文字がはみだすのでは?
って思う方は、↓を読もう!
----------------------------------------------------------------------------------------
画面に何か(画像や文字)を描画する場合、Spriteを作成して、
その中にBitmapを作ることで、描画することができる。
文字や画像は、このBitmapに"表示する命令"をする訳だが、
このままでは、コンテニューとシャットダウンの文字も、表示されてしまい困る。
ここで登場するのが、Viewportという奴だ。
これは、表示するBitmapの範囲を指定できるというもので、例えるなら
Sprite箱の中に、Viewport箱を入れて、その中にBitmap箱を入れる。
さらに、Bitmap箱の中に文字や画像を入れると言うこと。
ただしViewport箱には、Bitmap箱がViewport箱より大きな箱の場合でも、
中に入れることができる!という特徴がある。
では、Bitmap箱が、はみ出す部分は? というと、"透明"になるのだ。
↓図で言うならば、黄色の範囲は全て透明になる。
※ちなみにoxは、Bitmapの横移動で、oyは、縦移動。
ox,oyの値を変化させることで、表示/非表示の命令を行なっているのだ。
oxをマイナスして、『abcdef』文字がViewportの外側にでれば、
『abcdef』が消えて(透明)になり、今度は、『hijklmn』文字が、
Viewportの内側に入り、表示されるってこと!
スクリプトを詰め込みすぎた...
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を使用したほうが良いかな。
・・・長くなったので続く!
以前、フラットなトループは気に入らない!ってネタを公開したのだが、
今回は、どうせなら直接、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 の真下にスクリプトを挿入してね。
カレンダー
02 | 2025/03 | 04 |
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 | 29 |
30 | 31 |
最新コメント
[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)
カウンター
忍者アナライズ