キャラクター動作指定について
|
「ジャンプの開始」「向き固定」「すり抜け開始」のコマンドを使う時はきちんと
最後に対応した終了コマンドを実行しないと正常にキャラが動作しない。
「グラフィック変更」は終了コマンドの後に入れないとキャラが変更されません。
イベントでキャラをジャンプさせて最後に消したい場合はこの辺を考えて動作指定のコマンドを入れないとスキップされて変になるので注意。
|
バトルイベント特技使用時文章表示
|
開始条件「主人公キャラのターン数1x」のページで「条件分岐」「主人公キャラ」「戦闘コマンド」選択時の条件でまず文章を表示。
次に開始条件「敵のHPが0〜10%の時」のページで「条件分岐」「主人公キャラ」「戦闘コマンド」選択時の条件で
「敵がターゲットの時」の分岐で文章表示・戦闘アニメ表示・敵の状態を「戦闘不能」に変更。
これでどうなるかというと・・・・・
特技発動前に
「なんたらかんたらどったらこったら」と呪文を詠唱し・・・・
普通に特技ダメージ後・・・・・
「逝っとけ!大霊界!!」と決めゼリフの後に戦闘アニメ。そして敵死亡。
の演出が可能となる。
ただし、「超必殺技」などの「戦闘コマンド」に「1つ」もしくは「同じ特技の威力強化バージョン」などでないといけないので実質一つの特技に対してしか使用できず、敵のターゲット指定も必要なのでボス戦などでしか使えない。
根気次第では通常の敵にも全て決めゼリフ付きで必殺できる特技となるが。
今回は文章表示だけだが、BGMを変更したり、色々と拡張性もある。
2008/2/24追記
MP消費取得テクを応用である特定の特技使用で決めゼリフ演出が可能。
バトルイベントで条件分岐「消費MP(特技別の値)」と「過去MP-現在MP=特技使用時の実際の消費MPの格納変数」が同値っていう分岐で条件満たせば演出。
つまりはキャラの行動前に取得したMPとキャラの行動後に取得したMPを引いた値と特技の消費MPが合えばイベント実行。
何言ってるか説明難しいけど、条件分岐一つで演出可能。
|
バトルイベント実行間隔5
|
「状態変化の効果を持つ特技使用後」はスイッチ開始条件のコマンドは実行されない。
つまり、開始条件「ターン数1x」で毎ターンキャラの動作前にMPを変数に代入し、開始条件「スイッチxxxON」でMP使用後の値を別の変数に代入し
キャラの特技使用前と使用後の差を出して消費MPを算出するということが状態変化系の特技では出来なくなる。
これを解決するには、状態変化の付加をやめる。イベントで状態変化させる、位しかない。
消費MPに限らず状態変化系特技使用後はスイッチによる開始条件のイベントページは無視されるのでイベント組みには注意!
|
バトルイベント実行間隔4
|
「主人公xxxのターン数[?x]」の条件の時、
仲間が居なければ実行されないように感じますが、実は仲間が居なくてもこっそりと実行されます。
1ターンでイベント全ページ分実行される。ということです。
つまり、バトルイベント主人公1〜主人公4まで設定をし、現在主人公1と2がパーティーにいる状態とします。
イベント内容は4人分設定済みで毎ターンある変数に「1を加算する」処理をする。
この場合「4」という結果がキャラ1人の1ターンで実行されます。
2人パーティーなのでこの場合仲間全員が1ターンずつ行動すると「8」という計算結果となります。
|
スイッチアイテムの隠れた「使用可能設定」
|
使用可能設定
つまり誰がアイテムを使用できるか?って設定がない「スイッチ発動」アイテムの使用可能設定方法。
データベース「アイテム」の「種別:スイッチ」の「使用可能設定方法」
作りたいスイッチアイテムをまず「種別」で「スイッチ以外」にする。つまり「武器」でも「薬」でも可能。
そして一回「適用」してデータベースの状態を保存。
その後に「種別」を「スイッチ」にすると、「適用前」の使用可能設定が反映されたまま「スイッチ発動アイテム」が完成。
スイッチ発動アイテムはイベントが絡むアイテムだが、あいつにはこのアイテムは使わせたくない!って時はこのテクでスイッチアイテムの使用人物を限定できる。
|
FF2式宿屋
|
宿賃をHP・SPの減り具合で変えようというシステム
やり方は簡単。条件分岐で仲間がいるかどうかの分岐を行った後で
現在HP・MPを格納する変数。MAXのHP・MPを格納する変数。MAX−現在の結果「合計金額」を格納する変数。
以上の3つを用意してそれぞれにキャラの能力を変数に代入。
「MAX−現在」の計算を「HP」→「MP」と計算・結果を「合計金額」に加算する。
これを仲間の数だけ処理を行う。
合計だけ残れば良いので仲間ごとに変数を作る必要はなく、仲間の能力も同じ変数に代入してやる。
あとは所持金を格納する変数で所持金が合計より多ければ所持金を減らして「宿賃0」で「宿屋の処理」をする。
|
リアルタイマー時計
|
タイマーを1分=60秒で加算させようと言うイベント
ただウェイトで600を指定するだけではタイマーが減っていくので・・・・・・
◆タイマー1の操作:作動開始
◆ウエイト:0.1秒
◆タイマー1の操作:値の設定, タイマー時間:分
◆変数の操作:タイマー時間:秒 加算, 1
◆条件分岐:タイマー時間:秒が600
◆注釈:ウェイト0.1秒なので60秒では600カウント
◆変数の操作:タイマー時間:秒代入, 0
◆変数の操作:タイマー時間:分加算, 1
◆タイマー1の操作:値の設定, タイマー時間:分
◆
:分岐終了
|
のようにウェイトは0.1として秒カウント変数で600=1分を指定し、
タイマー表示用の変数「タイマー時間:分」を加算するとタイマー表示も1分で切り替わりタイマーも減らない。
|
月齢システム
|
日付に「月齢」を加えてみようというネタ。
月の周期は「30日」で「15日目」が満月。30日で「0」となり「新月」となる。
約一年後の新月を出す時は・・・・・・
2006/9/24で「新月」
一年=365日 月齢30で計算すると30日×12ヶ月=360日
365-360=5日・・・・・・一年後で5日前が新月。
2007/9/19日が新月となる。
で、うるう年が2008年にあるのでうるう年を基準として4年後の新月で計算すると
一年の誤差5日×3年 + うるう年366日-360=6日の誤差 = 21日
がうるう年を含む4年周期の誤差である。
400年後であれば2100日誤差が出る。なので再度計算して指定年の日にちの新月をだす。
イベント組みは「テク02」の中の「1日の変化:朝昼晩」の条件分岐「1440より大きい」の後の処理の中に
「変数:「月齢」 を 1 加算処理」を行い、その後 「条件分岐 30 と同値 の条件分岐」で 「変数 0 代入処理」を行う。
あとは監視イベントの中に月齢いくらなら何をするの処理を入れれば完成である。
|
状態変化について
|
「状態変化」の「行動不能」に関するネタ。
戦闘中「行動不能」にしたい。だけど一人の時にゲームオーバーにしたくない。
という時は「治癒方法」のところに「最低999ターン持続」し「100%治る」と指定するとゲームオーバーにはなりません。
|
変数条件分岐定数指定に関するネタ
|
「条件分岐コマンド」の定数指定に関するネタ。
ツクール2003では変数は「7桁」まで指定可能ですが、条件分岐では「6桁」までしか指定できません。
つまり、100万以上の値を条件分岐させたい時は別途に分岐させたい値を変数に代入して変数で条件分岐させてやる
必要があると言うことになります。分岐が多いと面倒ですねぇ。
|
飛行船乗船中の戦闘について
|
FF6のデスゲイス戦のように飛行船乗船中のバトルに関する小ネタ。
戦闘中に先頭キャラを入れ替えてそのままバトル終了するとエラーによりフリーズします。
もしかしたら俺のゲームシステムの都合上かも分かりませんが、先頭キャラを変身し別キャラとし戦闘を終了するとフリーズしました。
解決策としてボスモンスターとして大抵登場させるので、敵HP残り10%を戦闘イベント開始条件として
戦闘アニメ等で派手に消滅アニメを表示させてその後変身したキャラを元に戻し敵を殺して戦闘を終了させるとうまく動作しました。
|
バトルイベントターン数指定
|

実はツクールのヘルプ通りの指定ではうまく動作しません。上記画像の場合どのように動作するのかと言うと、 「10ターン後に0ターンごとに動作」という指定になります。つまり、10ターン目に動作して11ターン目からは動作しないと言うことです。 「0」を「1」に変えると10ターン目から動作して1ターンごとに実行されると言う動作になります。ったく、ヘルプに嘘を書くな!!
|
タイトルグラフィック簡単作成
|
様々な素材サイト様の遠景・背景画像にオリジナル文字入れから完成までワードとエクセルとその他フリーソフトで作ろうというこのテク。
使うソフトは「ワード」「エクセル」「ccclip」「xpadie」「フルカラー画像エディタ」の5つです。背景画像は素材サイトよりDLしてください。
ゲームタイトルとなる文字は、ワードのワードアートで文字を作っていきます。ワードによる素材作成法は「即使える素材の作り方」を参照。
次にエクセルで背景画像とワードで作った文字を呼び出して重ねて表示しタイトルっぽく見えるようにする。
その状態で 「ccclip」によって画面ごと保存する。次に保存した画像をフルカラーのエディタで余計な部分を削除。
「ccclip」は消さずに起動しておくと設定によっては自動的(???)に保存してることがあるので一応閉じないでおく。
こうして出来た画像を「xpadie」で減色。後はフリーのグラフィックエディタでPNGに保存すればOK!
何でこんな5個ものソフトを使うかというと、ちょっと手間だけどそれほど一つ一つのソフトについて覚える手間がなく
一番難関だったフルカラーグラフィックソフトの難しさも画像を切り抜くだけなので何とかなるものである。
HPの画像とかにも応用できると思うのでぜひ使ってみてください。
|
戦闘アニメその2
|
俺がマップ作りが苦手なように戦闘アニメ作るのが苦手という方に参考になるかどうか?俺流の作り方を紹介。
最初にどんなアクションをするかを想像する。FF6のアルテマみたいなアニメとかFF5のファイガがいい!とか、んな程度でも。
で、素材はどうするかというとRTPのグラフィックを様々組み合わせて改変して作ります。
爆発と打撃とか、あるグラフィックを左右対称に作り変えるとかRTPの改変だけでもかなりのアニメが作れます。
剣1の向きを垂直に作り変えると上から切り下ろすアニメが作れます。
爆発の半月っぽいグラフィックを対象複写してまん丸にすることでより使い方が増えます。
想像と素材が用意できたところで実際に作っていきます。
小技をここでもう一つ。画面を徐々に明るくしたいなどの効果を出したい場合は「画面のフラッシュ」で
「強さ」を「1フレームずつ」明るくすることで画面の色調変化っぽい効果を出せます。
で、アニメが無事完成したとします。が、ここで終わりではありません。
色調の変更とか効果音の変更。または作ったアニメの一部を取り出して別のアニメとして作る。などなど・・・・
これらの変更で最低2〜3の戦闘アニメが作り出せます。ちなみに俺はこういった作業でおよそ90個の戦闘アニメを作ってます。
戦闘アニメが出来上がるということはそれだけ特技の作成・設定も容易になってきます。良くも悪くもRTP改変なので
質は大した変化がないと思うのでドットで自作できない人は割りと役に立つと思います。
|
経験値とお金の設定
|
これに苦労している方は結構多いはず。俺流だけど参考程度にここで紹介しようと思います。
例として次のレベルまで必要な経験値を「1000」とします。それを「戦闘回数」で割ります。
「20」回として「1000÷20=50」で「50」が一回の戦闘の獲得経験値です。これを更に「出てくる敵の数」
で割ると「敵一体あたりの経験値」が算出できます。この値に「1.2」とか「0.8」とか適当な値を乗算して
「敵一体あたりのお金」を決定します。それに「敵の数」を乗算して「敵一グループのお金」を決定します。
それが決まると「敵一グループのお金」に適当な「戦闘回数」を乗算すると「何回の戦闘得られるお金」です。
武器防具の金額設定にこれを使うといちいち悩まなくても良くなります。後はテストプレーでやってきます。
武器と鎧は戦闘回数を多め、盾と兜は盾が少し少なめ。兜は割と少なめ。だといいかも。
エクセルでレベル別に表にするとストーリーの進行具合で設定する金額がさらに楽になります。
|
制御文字の小ネタ
|

IME辞書ツールを使ってツクールで文章入力時に楽をしようという小ネタです。
IMEのタスクバーより「ツール(ツールの絵)」から「辞書ツール」で上記画像の画面が出ます。
「読み」は制御文字なら「¥」で絵文字なら$」です。全角で入れます。
「語句」に入れたい制御文字等を入力します。品詞はよく分からないので独立語にしました。
ユーザーコメントにその制御文字の説明文を入れると分かりやすいですね。
「読み」と「語句」さえ入れればとりあえず使えます。これで半角に変換せずに
普通に文字を変換するのと同じ要領で制御文字を使えます。
ついでですが制御文字「\>\<」は「\<」で閉じなくても文章の頭に「\>」だけで瞬間表示されます。
選択肢を使う場合には文字数を節約できるのでいいです。
|
戦闘アニメの設定
|
戦闘アニメ作成画面で単体と全体があるが、戦闘アニメの設定で単体・特殊技能の範囲設定で全体
にすると実際の戦闘画面では敵が複数体いても一体ごと全てのキャラに戦闘アニメが表示される。
敵四体に単体火炎魔法の戦闘アニメで全体攻撃の特殊技能を使うと戦闘アニメは
四体の敵それぞれに単体火炎魔法のアニメ表示がされる。
|
マップの設定について
|
戦闘背景の設定「指定する」で背景を指定してもキャラの配置の設定が指定されないバグがある。
これを回避するにはマップごとにチップセットを作って地形IDで指定する必要がある。
|
バトルイベントの実行間隔
|
バトルイベントで開始条件を「〜のスイッチをON」の条件で戦闘中常に動作するようにイベントを組むとする。
しかし!スイッチがONの状態で「定期的に並列処理」の間隔では動作せず、誰かが行動後に処理を実行する
というクセがあるのだ!!効果音を戦闘中鳴らし続けたいイベントを作るとすると、上記の条件で「効果音を鳴らす」
だけにしておくと主人公が行動後に1回、敵が行動後に1回という感じで音がなる。
なので戦闘中の時間(リアルタイム)の取得等は無理ということである。
|
バトルイベントの実行間隔2
|
開始条件を「キャラが戦闘コマンドを選択」の開始条件の場合には
戦闘コマンドを決定した直後にイベントが実行されます。
|
バトルイベントの実行間隔3
|
ボスキャラの戦闘の時、倒して死ぬ直前に何か台詞を言わせたい時ありませんか?
やり方は、まずボスキャラのHPを設定値より10%程多く設定します。
複数パーティーで一人の攻撃で10%以上ダメージ与えるようなバランスは俺はしないので10%です。
その時点でのパーティーの強さの最強攻撃一回よりHPが多いように設定します。
1000で最初作ったなら1100にする。そしてバトルイベントで「敵キャラのHP何%以上何%以下」
で始まる開始条件で「0%以上10%以下」で始まるようにします。
後は台詞を言わせて、効果音を鳴らすで死んだ時の効果音を鳴らし
「敵キャラの状態を変化」のコマンドで「戦闘不能」にすればOKです。
ダメージのコマンドではダメージ表示が出るので必ず戦闘不能にします。
効果音の変わりにボスやられ用の「戦闘アニメ」を使ったらもっといいかも・・・
|
戦闘中の能力(ステータス)上昇
|
戦闘中に主人公を変身させて任意のステータスを上昇させたいなど、バトルイベントからコモンイベントを呼び出して
主人公のステータスを上昇させたいというときの注意点について。
普通はコモンイベント内で各種変数処理をして上昇または下げたい値を取得してから「能力の増減」で変数を指定
という感じでやってくのではないかと思う。
ところが、能力を上げ下げするその前の段階の変数の計算がバトルイベント内で呼び出したコモンイベントでやっていると
その後の「能力の増減」イベントが戦闘中では実行されないのである。
どうやって回避するかというと、戦闘前にあらかじめ増減させる値を計算しておき戦闘中は計算した値を
「能力の増減」で変数を指定するだけにしておくこと。すると嘘のようにうまく動作するのである。
他にも変数で経験値代入後のそれに関する変数の計算などうまくいかないことが多々ある。
|
変数によるマップ上の範囲取得
|
変数でマップ上の範囲を取得する方法。
四角形をマップ上の取得範囲とすると左上のX座標とY座標の値以上の条件を満たし
右下のX座標とY座標の値以下の条件を満たした状態の4つの条件分岐で
取得することが出来る。ちなみに使う変数は主人公の現在座標取得イベントでの
変数の指定でよい。主人公現在座標取得イベントは他のサイトで色々詳しくやってるので
ここではやりません。
応用としては自作エンカウントでフィールド上の指定範囲内でしか出現しない
敵を作る時など色々と使える。
|
|
ピクチャー表示座標指定について
|
ピクチャー関連のコマンドを使い慣れた方は不要と思いますがここは小ネタなので説明。
ピクチャーのコマンドで指定する座標は画像の中心座標であること。
つまり、100×100ドットの画像で表示座標を「20,20」とすると表示される現象としては
上に80ドット左に80ドット画像が消えるので注意すること。
画面の左上角に表示するなら「50,50」を中心座標としないといけない。
ちなみに・・・・・
画面サイズは320×240。
画面の左上を座標「0,0」
右に行くとX座標が+。下に行くとY座標が+
画面外の座標の最大は不明。−座標も指定できる。
ピクチャーサイズは640×480が最大。
2003ではピクチャー表示数50枚が限度。
管理人のピクチャーの使い方としては
最初に表示する座標にピクチャーの表示で「透明度を100%」にする。
表示したい時にピクチャーの移動で透明度だけを「0%」にする。
不要になったら同じく移動で「透明度100%」にする。
イベント終了時にピクチャーを消去する。
ってな感じです。
|