[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
基本的に、hideが製作しているRPGの為に作成しているものだ。
ゆえに、バグを見つける(報告する)のもhideだし、修正するのもhideなのだ。
これは、利用者が居ないって事で、けっこう悲しい...
スクリプト公開も、このブログも、全て自己満足なで、別に良いのだが...
戯言は、これくらいにして、
今回は07/02/03記事『Original_Act01』、07/03/31記事『点滅コマンド』を修正したよ!って話し。
■『Original_Act01 vol.1.02』1の修正内容
・・・変化スキルが成功した場合にエラーを吐く・・・致命的!を修正。
■『Blink_Window_Command vol.1.20』の修正内容
・・・ウィンドウがアクティブではない場合(self.active=false)
カーソル点滅文字色を透明度250に固定。
・・・無駄記述の削除
-------------------------------------------------------------------------------------------
←前回、公開した画像の、高さを間違えていた...(修正済み)
ミニゲームで手に入れる景品は、本編に必ず必要という訳ではないが、
レアなアイテムや、強力な武具などを取得できる場合が多く、
本編を盛り上げる意味合いもあるようだ。
ただ、独りよがりに成りがちで、実際ツマラナイものも多い(笑
せっかく作って、その評価では悲しいので、今回は、無難なスロットゲーム
『
※仕様変更の為↑バージョンは、使用不可。07/09/12記事を参照してね。
一応スクリプト素材なので、Scene_Mapより下に挿入してね。
←こんな感じの画面
----------------------------------------------------------------------------------------
■スロットマシーン解説
①コインを獲得
↓を実行するとコインを獲得。(イベントコマンド『スクリプト』に記入しても有効)
$game_party.gain_coin(n)
※n=獲得するコインの枚数。
$game_party.lose_coin(n) ←減らす場合
②スロットマシーンで遊ぶ(実行イベントを作る)
↓をイベントコマンド『スクリプト』に記入。
make_slot(0,0)
■スロットマシーンのキー操作
上キーでコイン投入、下キーで投入したコインを減らす。
決定キーで開始&スロット停止、キャンセルで終了!
『Charactersフォルダ』に↓画像をインポート(2種類作ったので好きな方を)
③スロットのタイプを指定
スロットタイプとは、例えば、100枚賭けのスロットマシーン、10枚賭け、1枚賭け
みたいに、賭けるコイン枚数と当たりコイン数を設定する!ってこと。
※『Slot_Machine vol.1.00』内の『■スロットタイプの設定』を参照
④スロットの絵柄パターンを設定
※『Slot_Machine vol.1.00』内の『■スロットの絵柄パターンを設定』を参照
⑤画像を準備
↓画像を『Windowskinsフォルダ』にインポート(フリー素材)
slot_background.png(640x480) |
|
slot_back.png(400x240) |
|
slot_hit.png(147x160) |
|
slot_icon.png(40x80) |
|
slot_pattern(160x320) |
|
slot_switch.png(128x256) |
『
何故、3個のスクリプトかと言うと・・・記述が長くなったので、分割しただけ。
一応、スクリプトの追加順は、上から i→ii→iii の順。
※『Message_Ex vol.1.00』は、『MESSAGE_i』に名称を変更!(内容も更新)
※仕様の変更の為↑バージョンは使用不可。07/10/07を参照してね。
------------------------------------------------------------------------------------------------------
■追加した機能
①・・・文章の制御文字を追加
\pos[n] ←表示する文章の揃え
n=0 左揃え n=1 中央揃え n=2 右揃え
例えば、\pos[1]を記入した行は、ウィンドウの幅に対して、文字を中央に表示するってこと。
※1行目は、中央揃え、2行目は、左揃えとかできる。
\text[n] ←登録した文字を表示。
文字置換するだけなら、制御文字を\Pだの\Dだの追加するのは億劫なので、
自分が必要なものだけ、自分で設定したら?ってことで追加。
※一応、サンプルとして、↓を作ってみた。
n=0 ・・・所持金+通貨単位(システム)
※100G
n=1 ・・・プレイ時間
※00時間00分01秒
n=2 ・・・現在のMapの上位Map名+現在のMap名
※コレだけチョット説明。
"マップの設定"で作成したMapのフォルダが、
ツリー状になっているハズ。↓
・フロアAにいるならば、 |
\word(id)[n] ←登録した文字を表示(アクター別)。
『Message_Ex vol.1.00』では、アクターIDは先頭のアクターに固定!だったのだが、
(id)にアクターIDを指定することができるように変更。
\word[n] ←(id)を省略すると、先頭のアクター。
\word2[n] ←アクターIID2のアクター
※一応、サンプルとして
n=6
装備中の武器アイコン+装備中の武器名
n=7
装備中の盾アイコン+装備中の盾名
②・・・ポーズサインの位置(0=左、1=中央、2=右)
イベントコマンドの『スクリプト』に例えば、
a = message_window?
a.pause = 0
↑ならば、ポーズサインを左に表示。
※記述詳細は、07/05/27参照
③バグ修正
・・・ \c[n]などデフォルトの制御文字を使うと、ウィンドウの幅が正しく補正されないバグ。
・・・ \gでゴールドウィンドウを表示中、所持金Max(9999999)を超える、
お金を獲得した場合の、回転数値の動作不良。
・・・ バトル開始直後、稀にViewportの取得エラー。
←こんな感じ(合成してます...)
その続きを…
--------------------------------------------------------
②値の取得・・・
『Make_Party_Events vol.01』スクリプト内の、
class Game_Partyを参照。
↓特に解説することないか…
・ゲーム全体にある、宝箱の回収率(%)を返す(全Map)
$game_party.game_percent
・ゲーム全体にある、宝箱の数を返す(全Map)
$game_party.game_total_number
・ゲーム全体で、既に開けている宝箱の数を返す(全Map)
$game_party.game_open_number
・Mapの宝箱数を返す(現在のMap)
$game_party.map_total_number
・Mapで、既に開けている宝箱の数を返す(現在のMap)
$game_party.map_open_number
・Mapで、開けていない宝箱の数を返す(現在のMap)
$game_party.map_closes_number
↑の値を『文章』に表示したい場合は、チョット面倒。
ヘルプにも有るが、\V[1] ←は文章に『変数』を表示する命令だ。
コレを利用して、表示することになる。
適当な『変数』を用意する…とりあえず、0001:番(1番)
イベントのスクリプトに↓を記入
a = $game_party.game_percent
$game_variables[1] = a
※$game_variablesってのが、変数で[1]は、0001:番(1番)ってこと。
・使用例…
◆スクリプト:a = $game_party.game_percent
:$game_variables[1] = a
◆文章:宝箱の回収率は\V[1]%だ!
--------------------------------------------------------
↓コレだけ、チョット特別なので…
・Mapデータを変更した場合、再構築(MapInfos.rxdataの追加に対応)
$game_party.make_events
宝箱のデータ(ON=開けている/OFF=開けていない)は、ゲーム開始時に格納される。
その為、一度セーブして、そのセーブデータから開始する場合に問題がある。
それは、セーブ後に追加した宝箱のデータは、セーブデータに反映されないってこと。
ゲームを作成している段階では、関係ないのだが、
例えば、完成したゲームを公開したとする。
その後、追加シナリオで、新Map(宝箱イベント)を含むファイルを配布した場合、
新Mapの宝箱データはセーブデータに反映されない。
その為、追加以前のセーブデータでは、回収率や全Mapのデータが正しい値にならない。
そこで、$game_party.make_eventsを実行させれば、
既に開けた宝箱はONのままで、新たに追加した宝箱をOFFで追加できるのだ。
・改造とかに興味のある方は読んでね↓
--------------------------------------------------------
そもそも、改造次第では、宝箱の数だけでなく、
特定のイベントカテゴリーも格納できるので、↓を参考に…
class Make_Party_Eventsに、attr_accessor:tekitou みたいに追加して、
if (/宝箱/.match(text))~end の下に、
if (/適当/.match(text))
@tekitou[map_id][event.id] = "適当" って具合に追加。
end
$game_party.events.tekitou ←で参照する。
※event.pages[0].list[0].code == 108では無く、event.nameとかでも良いかな?
・ネタ…
@treasur_map[map_id][event.id] = [map_id,event.x,event.y]格納して、
宝の地図…「南に3歩、西に6歩に宝が眠っているようだ!」とか。
イベントの配置は、ランダムだろうな…
--------------------------------------------------------
PS.
今回のスクリプトも『Open_text』を作成しているので、
興味のある方は、07/01/05記事を参照してね。
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 |