「EnDlEss DREamER」ブログ

最近はunity5メインで活動中。以前はツクールRGSSネタなど。

§ なかなかエディタを

拍手コメント:
難易度と面白さのテストって、自分で出来ないから困りますよね。私もヌルゲー嫌いなのでわかりますー。


拍手返事:
そうなんですよね~。
でも、フリーで公開する以上ザコで全滅したらゴミ箱行き・・・なんて恐れもありつつ
ボタン連打・最強魔法連打で簡単派手戦闘も好きじゃない。
今の人にリメイク前のファミコンゲーやったらどんな感想なんですかね?


いじれない。

今日も鍛冶屋システムの武器や装備周りの修正と「拡張装備画面改」で

変更装備選択ウィンドウの表示不具合について修正です。

当初、自分で構想していたスクリプトがいかに穴だらけか実感します。



改造スクリプトを始めとする装備系スクリプトががメタルマックスの影響を受けているのは

なんちゃってMMゲー「IRON MAIDEN」作った辺りからも~~なんだけど、

改造スクリプトは改造後のアイテムを宝箱で手に入れることが出来ないのが弱点。



で、久々に車について語ろうかと。

改造(チューニング)は純正タービンのアクチュエータを強化型に変えるとかが

スクリプトで言う「xxxx +1」みたいな感じ。

タービン丸ごと変えちゃうのは単に装備変更だけの話になる。

早い話が、装備変えた方が当然良い性能なのである。

限られた予算や好み&こだわりで現状装備で他の人よりも上に立ちたいとか

ひと味違う純正でいたいなどでチューニングする。

鍛冶屋システムの改造費用がまとめて改造した方がお得になるのは仕様です。

チューニングも同じで、いっぺんにやっちゃった方が工賃かからなくて済む。

代わりにお金がかなりかかる。



「REON」で出てくる「AS」という「特殊な鎧(詳しくは制作中のページでも興味があれば)」は

位置付けとして現代で言う所の「車」である。

絵心がないので単なる鎧キャラなんだけど、システム作りは頑張ろうかと。

武器なんかも一つの剣だけじゃなくて懐に短刀持ってるとか

背中に火器背負ってるとか、じゃあ武器も状況次第で使い分けたいとか。

で、攻撃されたら装備もボロボロにならないとおかしい。

ってことで装備破壊スクリプトだし、カスタム出来たら面白そうだとかで鍛冶屋システム。




戦闘が面白くなるようなゲームにしたいと思う。

それにはバランスとか装備品の特徴付けとかだよなぁ・・・・


続きを読む
2009/04/30/Thu 23:55:38  VX RGSS2/CM:0/TB:0/

§ 今日も鍛冶屋システム修正作業・・・

最近はすごい勢いで鍛冶屋システムの完成度が高まっている気がする・・・・

自分ではチェックしきれない故に報告を下さる方々のおかげですね♪

介護という仕事柄シフト制で時間が不定期なせいで、残業が今の職場にはないので

実は結構な時間をツクールに割くことが出来るんでUPの頻度も高いんだけど・・・・・



今日は昨日UPした洞窟ダンジョンのイベントとトラップ作り。

ダンジョンのトラップというか謎解きというかパズル的要素というかをどうするか悩む。

あるサイトを検索して見ていたんだけど

ダンジョンのトラップとはそもそも侵入者を排除することが目的。

トラップを解除するには盗賊のスキルが不可欠で・・・・

なんて書いてあったのを覚えている。

ファミコン版ドラクエ2とかの話も出ていて、ダンジョンにこれと言った要素は特にないんだけど

敵の強さのバランスが大事で、ダンジョンの最深部に到達するにはMPを温存して進まないといけない。

それには、ザコはどうやって戦っていくか?

途中で進めそうになかったら街へ戻ってレベル上げをしてやっと進めるようになる。

回復アイテムや回復魔法は限られているので、装備を充実させて敵を早く倒し、ダメージを少なくし

温存しながら進んでいく。



当時のファミコンゲームって今と違ってとってもシビアなバランスで、レベルが低いと

ザコ敵でも全滅なんてザラにあったし、ダンジョンなんてヒヤヒヤしながら進んだ記憶がある。

ドラクエ3のネクロゴンドの洞窟だったっけな?

あのダンジョンなんて中盤のくせにすんごく嫌なダンジョンだった。

ギラとか覚えた頃は便利で使いたいんだど、消費MPが4に対してMPが20ちょっとだったりする。

メラももったいないんで攻撃しかないんだけど、メタルスライム出る地域なら即「どくばり」装備で

1ずつダメージ与えて逃げられて・・・

FF2なんて一回目のプレイでクリアできたヤツ居るのか?って思う。

途中から上げ方覚えて、チェンジの魔法でゴブリンとチェンジして能力上げしたひとは多いはず。

HPとかバグってガイのHPが2万超えしたりとか、マリアのMPが2000超えてるとか。

で、「くろきし」とかの攻撃で「8かいヒット 6850」とか鬼のようなダメージ食らって

ラストダンジョンで大苦戦。主人公側の6倍以上のダメージ食らう。

実はあのゲームの最強武器が「ブラッドソード」で、くろきしとかがその攻撃を行うんだけど。

コカトリスの石化攻撃にも悩まされた。

誰も最初は「まほうかいひ」なんて見向きもしないし、普通にやっても上がらない能力。

魔法をくらい続けないと上がらないんだよな。

魔法回避がないと石化攻撃や「モルボル」の「くさいいき」を回避できない。

あの異常ステータスの鬼も当時は衝撃的だった。

しかもエスナじゃなくてストナ?でないと回復できない。



スーファミになってからはかなりヌルくなったな。

ロマサガ系はラスボスすら大した苦戦もせずクリアできたし、一番簡単だったのは2か。

冥の魔法とか覚えさせて軍師にクイックタイム。陣形は先制攻撃出来る陣形で

ラスボスを3ターンくらいで倒す始末。

プレステに入り、FF7なんざ衝撃的にクソかと思った。

100時間以上は当時やったけど、チート的にパーティは強かった。

一回のダメージで4回斬って、4回魔法とか。

メテオ4回なんて16回攻撃。

ナイツオブラウンド乱れ打ちになると手の付けようもない。

スーファミ辺りからアイテム類はエリクサーとか以外は全部99個持っていて、まず死なない。





原点に戻って、ダンジョンの謎解き類はパズル的要素は無くしてやってみようか・・・

というより、そういうアイデア思いつかないしな。

でも、自分世代がシビアに感じるゲームってかなり難しかったりするんだよな。


2009/04/29/Wed 23:51:49  VX RGSS2/CM:0/TB:0/

§ 装備改造修正と・・・・・・

・改造時にまとめて数段階改造されないエラー修正。
・二刀流のアクターが防具を改造すると装備が変わるエラー修正。
・改造時にデータベースの「最大数の変更」も増加されるように修正。

が掲示板に報告あったので修正しました。

ついでに

15.プロジェクト内の「data」フォルダにある「Armors_ED_x」等のファイルを
   「Armors」とファイル名を変更してプロジェクトに読ませると
   データベースに改造アイテムが反映された状態で開ける。
   メモ欄もそのままに能力値が改造後の値となって反映されています。

の説明も追加されています。

出力したファイルの「_ED_x」(x は数字)を削除してプロジェクトに読み込ませると

改造後のデータベースを閲覧することも可能です。

自分でアイテム合成等で改造したい方は、テストプレイで全ての装備を最高まで改造すれば

あとはデータベースに残せるので、やりようによってはどうとでもなるかも。



洞窟


VX初の屋内ダンジョンということで、スクショをUP。

洞窟の何もない外壁というか天井というかの部分が塗ったくりでは寂しかったので

自然系マップに習って、天井の上に壁チップも使って立体感を出そうと必死・・・・・

えぐれているようにしか見えない気もするけど、真っ平らよりまマシかもとうことで。

ダンジョントラップとかどうしようか・・・・・




続きを読む
2009/04/29/Wed 01:18:06  VX RGSS2/CM:0/TB:0/

§ 大きな物はとりあえず修正

やっと「装備拡張:武器拡張追加」の修正が終わった。

・装備項目選択時に落ちるエラーを修正。
・装備種別表示関連修正。
・装備品能力値表示関連修正。
・「攻撃力取得形式」の項目追加。

が修正内容で、主に表示関係を修正しています。

元々の構想が「追加武器は個別に使いたい」という考えの元に作られたものなので

攻撃力取得関連ですんげぇ苦労した。

何とか表示は問題ないけど、スクリプトはカオスな記述と化している。

追加機能として、「拡張武器を含めた総攻撃力」でダメージ計算出来るように設定項目も追加。

あんまり追加項目が多いと最強の通常攻撃になるけど、

個別武器コマンドを使用することで、その辺はバランスが取れるはず。

個別武器関連でバトルレイアウト変更と戦闘キーアクション追加も修正しています。



「装備改造:鍛冶屋システム」についても修正しています。

「攻撃+防御+精神+敏捷×設定値」で一時的な価格を設定し、あとは従来通りに改造費設定で

改造値が算出される仕組みにしました。

価格ゼロアイテムはその能力値に応じて価格が上昇します。



残りの修正は「拡張装備画面改」のみ。

これがまた大変そうなんだけどさぁ・・・・・・


2009/04/27/Mon 19:24:07  VX RGSS2/CM:0/TB:0/

§ まだ修正中・・・

「装備拡張:武器拡張追加」の修正はまだ続いてるんス・・・・・・・

表示関連のエラーで、一応のエラーはなくなったものの、まだ修正作業は続いている。

なかなかに時間がかかって難しい所なのでまだまだ時間がかかりそう。

がむばれ、おれ。


2009/04/27/Mon 15:23:17  VX RGSS2/CM:0/TB:0/

§ スクリプト修正作業

掲示板にあった項目を現在修正しているところ。

「装備拡張:武器拡張追加」のスクリプトはまだまだ動作が不安定で迷惑をおかけして申し訳ないです。

自分で改造しておいて、自分でも分からない部分がかなりある。

今のところ、装備欄の表示関連と、追加武器の同項目の複数設定「サブが2つある」など

の設定での不具合が報告にあったのでそれを修正。

まだ、装備品リストが正しく表示されないバグを修正できていないので近日中にはUPします。


「装備改造:鍛冶屋システム」でのエラーとして報告されたのが、

貴重品扱いの武器防具は「価格が0」なのですが、価格が0だと簡単に改造出来てしまう

というものがあったので、その辺も修正します。

現在構想中の修正&設定として、貴重品扱いアイテムの場合は

総ステータス(atk def spi agi)の合計を二乗なりなんなりして値を出して

その設定%を改造費にしようという感じにしようかと思っとります。

武器防具なので、能力値の高い装備品ほど改造費が高くないといけないので

能力値を使った改造費算出方法がよいかと・・・・・




2009/04/25/Sat 11:37:32  VX RGSS2/CM:0/TB:0/

§ 「装備拡張:武器拡張追加」修正など

掲示板に報告下さった項目の修正作業に取りかかった。

拡張武器の項目設定や表示文字関連を修正ッス。

「鍛冶屋システム」リクエストの改造不可能部位設定も機能追加しました。

まだバグを修正していないのでUPはしてないけど。

鍛冶屋システムのバグも修正しUPしました。

今日は嫁が買った電動自転車の部品取り付けやら試乗やらで

REON制作の時間が無かったけど、これからまた再開していきたい。


2009/04/23/Thu 23:52:53  VX RGSS2/CM:0/TB:0/

§ 「装備改造・鍛冶屋システム」完成!!

つ~い~にぃ~~!!

出来ました!!!

完成ですっ!!!!

正式名称「装備改造・鍛冶屋システム」

手軽に装備を改造するというコンセプトで、使用方法はスクリプト挿入のみ!

あとはデータベースの項目最大数を武器・防具共に余裕もって設定して頂けるといい。

余裕がないと末尾番号の武器防具が改造されない。


custom001.jpg
custom002.jpg


今日はかなり頑張って修正作業。

朝から始めてUPが今なんだけど、最後らへんにドンデン返しがあった。

これで完成だ!!やったぁ~~!!!

と思ったら、アクター1人分しか処理されていないオチ。

小一時間程度で何とかなったけど、一時はゾッとした(+_+)

ウィンドウは純正形式で落ち着いたけど、ウィンドウクラスはそれほどいじってないので

知識のある方は、色々いじって独自のメニュー画面を作って下さい。

KGC様「装備拡張」には非対応です。うちの改変「武器追加」には対応です。

メソッド取得関連でなにかと面倒だったので・・・・・・

個人的には「バトルレイアウト変更」に次ぐ作品です♪


2009/04/21/Tue 15:28:33  VX RGSS2/CM:0/TB:0/

§ 装備改造その7

二刀流の問題は何とか解決した。

装備項目複数設定の問題は「装飾品」の改造を不可能にすることで

装飾品は複数設定可能としたが、「鎧」など装飾品以外の項目の複数設定については

対応しない方向で。

一つの項目につき1種類が原則。

あんまり無いと期待しよう。盾2つや兜2つみたいな設定ってそうそうしないと思うけど。

基本システムは完成。

見た目系や操作系も既存のものの流用で8割完成。

作っていて悩みまくったスクリプトなのでしばらくベータ版として近々UP予定♪

やっと完成の目処が立ったよ~~!!


2009/04/21/Tue 04:14:16  VX RGSS2/CM:0/TB:0/

§ 装備改造その6

段々出来上がってきたこのスクリプト。

今日はデータベース保存関連。

ゲーム中に各種変数を変更するとゲーム内では反映される。

しかし、ロードすると装備がおかしい。

で、思いつくのはセーブ時にデータベースファイル「Weapons.rvdata」など変更データベースを書き出すこと。

ロード時に変更したファイルを読み込むこと。

セーブデータの数だけ用意しなきゃいけない。

これは「Scene_file」クラスをいじることで解決。

ファイルのセーブやロード関係は文字列を扱っているので、既存のファイル名に

セーブやロードのインデックスを加えて書き出すことで意外と難なく解決した。

容量の増加を気にしたが扱っているファイルサイズは「一桁KB単位」なので

ファイル数は増加するが速度的には大した問題ではなさそう。

これを解決すると、少しの修正で昨日の防具の問題も解決した。



で、新たな問題。

二刀流や「装備拡張」で同じ項目が複数存在する時に装備がずれる。

実用段階に近づきつつあるがまだベータ版としても出せない。




大好きな車もいじることが出来ないので、こうして暇な時間はずっとスクリプト制作に時間を

たっぷり使っているわけだけど・・・・・ヒマ人だなぁ・・・・・・・・・


2009/04/19/Sun 12:03:02  VX RGSS2/CM:0/TB:0/

§ 装備改造その5

拍手返事:
試したのですが、ネオメモ様の素材では戦闘時に見慣れないエラーが出るので容易ではなさそうです。
ネオメモ様素材も戦闘方式自体を変更した上での対応ATB素材のようなので・・・・


なぜか「全力坂」の木村拓也スペシャルを見てこんな時間になってしまった。

北海道じゃ全力坂やってないんで。

いつだか若槻千夏が言っていたのを覚えていて見てしまった(--;)

さて、装備拡張だけど、昨日言っていた問題は何とか解決しそうな感じになってきた。

武器の方は、多分解決した。

防具はまだだけど、なぜ装備が勝手に変わったかというと

データベースのアイテムでIDの変更は問題なかったが、アクター側の装備IDを格納している

インスタンス変数が変更されていなかった為に、起きてしまった現象である。

これを解決することで基本システムはほぼ完成になるのでは?

と期待している。

細かい所はまだまだ煮詰めなきゃいけないだろうけど

ウィンドウ関係なので基本システムに比べたら難易度は低いと思う。

さて、寝るか。


2009/04/19/Sun 02:29:01  VX RGSS2/CM:0/TB:0/

§ バトルレイアウト変更のアクティブタイムバトル

4/18:拍手コメント(長文により一部を抜粋)
バトルレイアウトをネオメモさんのウェイトゲージバトルと併用できませんでしょうか?



拍手返事:残念ながらネオメモ様の「ウェイトゲージバトル」は専用の「バトルレイアウト」スクリプト素材専用のようなので、こちらの「バトルレイアウト変更」素材との併用を試してみましたが出来ませんでした。


と、返事はこんなんで終わってしまったのでは俺もリクエストくれた方も悲しい(@_@)

なので、ATB・・・アクティブタイムバトルのRGSS2素材を探してみた。

探したのは3カ所ほど。



まずはリクエストにあったネオメモ様。

一時、サイトページが消えていたような気がしたのですが、ちゃんとありました。

RGSS2スクリプト素材を扱っているサイト様はだいたい「お気に入り」に入っていたりします。

拍手返事で書いたとおり、専用素材のようで原因不明のエラーが出て挫折しました。



次にRPG探検隊様

サイト運営一時停止というのが非常に悲しいですね。

えぬ様のブログは楽しくて更新が楽しみだったのですが。

運営停止中に「帽子世界」が完成しているといいですね。

それはともかくとして、探検隊様のATBシステム。

これは探検隊様サイドビュー素材専用ということで、スクリプトを一通り見た段階で諦め。



探検隊様のサイドビュー素材を導入しようとして挫折した愚か者がかつてここにいました。
でも、カッコイイなぁ~と思い、半年後作ったのが「バトルレイアウト変更」
当初はサイドビューを目指しながらフロントビューのレイアウト変更のみだったのが
SFCスレイヤーズみたくしたいと表情変化が加わり、やっぱサイドビューもしたいと
サイドビュー機能を加え、様々な機能拡張を経て今に至る・・・・・・



そんなことはさておいて。



最後は「ストレイキャット」様の「アクティブタイムバトル 」

ここの素材は単品でも導入可能なものが結構あって重宝しております。

で、一番併用の動作を期待していたサイト様でもあります。

純正戦闘にATBだと大体動作しそうな気がしたもんで。

ファイルの場所がわかりにくいのですが「atbtest_v10.zip 」のファイル名を探してみましょう!

で、その結果ですが・・・・・・・



動作OK!!



スクリプトの改変も必要ナシにバトルレイアウト変更素材の下に導入するだけでOK!

他の他サイト様スキル系スクリプトとの併用は確認していませんが

動作は確認できました。

ちゃんと、魔法発動エフェクトや表情変化も大丈夫です。


でも、サイドビューはダメでした。


多分、スプライトクラスか何かが干渉していると思う。

バトルレイアウト変更はフロントビューのみATBが可能?

というのが現段階での推測です。





気が向いたら、簡易型ATBでも作るかも知れないけど現段階で予定はないです。

そういえば、エターなった「クライムすぺしゃる」では自作戦闘で簡易型ATB作ってたような気がする。

シミュレーションバトルRPG作りたかったんだろうね。

今は、装備改造の完成を優先として簡易汎用型ATBシステムでも作る可能性はある。

面倒は嫌いなので、使う方は無駄な設定なしに・・・をコンセプトにね♪


2009/04/18/Sat 20:22:23  VX RGSS2/CM:0/TB:0/

§ 今日の出来事

装備改造を相変わらずいじってるんだけど

先に改造した武器より前のIDの武器を改造すると先に改造した武器が

1つ前の武器に改造ごとに減ってゆく・・・・・・・

ここ最近は停滞期で、どんだけ時間かけても一向に進まない・解決しない。

まぁ、そのうちふと解決したりするんだけどさ。

やっぱ、データベースをいじるということは無謀なのか??

でも、ここまでやると後には引けないんで最後までやるしかないんだけどさ。

これを完成させると何か進みそうな気がする。


2009/04/18/Sat 00:15:22  VX RGSS2/CM:0/TB:0/

§ 装備改造その4

装備改造(鍛冶屋システム)のスクリプトをいじって5日。

風邪ひいたという理由で仕事を今日は休んだ。

3月頃から色々あって、仕事のモチベーションが全く無い。

それはともかくとして、仕事休んでやったおかげでやっと出口が見え始めた。

基本的な仕様として・・・・

1.データベース設定は普通に武器防具を作る。(レベルとか気にせずに普通に設定する。)

2.改造は「お金」のみ。アイテムでの改造は無し。

3.上昇能力は「ATK DEF SPI AGI」の4種類。その他、オプション機能などは元のまま継承。

4.能力上昇値や改造費を「%」指定で一律設定。

5.最大改造段階も設定可能。

6.データベースに追加する方式なので、イベントやスクリプトでのアクターへ装備は機能しなくなる。
 よって、ゲーム内での装備変更のみとなりそう。




6の仕様は、ゲーム内でデータベースに装備品を追加しているんで

なにをどれだけ改造したかでデータベースに追加されているアイテムも変わるので

アイテムのIDが変わっている可能性が大だから。とゆーことで。

仲間が揃うまで改造出来なくするとか、初期装備は全員裸とかするなど。



現段階では、挿入した改造装備品に対応すべく、所持品ハッシュ補正処理やデータベースのID変更

データベースの職業別装備可否の再設定などが多分、完成していて

改造時のアクター装備変更関係が怪しい動きをしている。

ウィンドウ関係も後回しにしているので、そっちもやらねばならん。



完成はまだまだだけど、出口は見えてきたんであともーちょいがんばるぞ。


2009/04/17/Fri 17:29:52  VX RGSS2/CM:0/TB:0/

§ 装備改造その3

どうやら武器や防具・アイテム類は単に「$data_xxxx」で管理されているのではなく

3カ所ほどのクラスで管理されているみたい。



一つは「$data_xxxx」


これは言うまでもなく、データベースから読まれたものを配列として管理している


第二に「actor.class.weapon_set」など

アクタークラスの「weapon_set」や「armor_set」でデータベースの職業で設定している

装備可能武器防具の配列を格納している。

装備可能なら配列に装備アイテムのIDが格納されている。



第三に「Game_Party」クラスの「@weapons」「@armors」「@items」のインスタンス変数。

この3つは所持アイテムで「ハッシュ」で管理されている。

ハッシュのキーが「アイテムID」で、ハッシュの値が「アイテムの個数」というハッシュ。

データベースにアイテムを追加しIDを変えても、所持アイテムでハッシュのキーを変えないと

変なアイテムが所持されるという現象が起こる。



装備改造スクリプトは多分、この3つをクリアしないと使えない。

今のところ2番目までクリアしていて、今はハッシュに苦戦している。

何とか改造アイテムを追加して装備までは可能となった。

これで所持アイテムがきちんと管理されていれば基本スクリプトはできあがりとなる。

まだ、問題がある。

データベースのファイルにも書き出すので、エディタを開けると改造したアイテムが

データベースに追加されるという仕様も出る。

書き出さないと、改造した物が読み込めないんで。

書き出さなくても良いような気もするけど、まだどうにも・・・・・・・

早く完成させたいなぁ。


2009/04/17/Fri 00:05:07  VX RGSS2/CM:0/TB:0/

§ RUBYでのディープコピー

RUBY では「dup」や「clone」メソッドがシャローコピーと言って

ウィンドウズなどで普通にやっているコピーとは違うらしい。

全く別のものが複製されるわけではないらしい。

そこで・・・・



#--------------------------------------------------------------------------
# ● ディープコピーメソッド item : アイテム
#--------------------------------------------------------------------------
def item_copy(item)
@item = Marshal.load(Marshal.dump(item))
return @item
end


@itemやitemの名前は別になんだって良いんだけど、この「Marshal」を使って文字列として書き出して

再度読み込むとディープコピーが実現するとのこと。(参考書より)

これで「item_copy」にitemを複製した@itemの要素が返り値として返される。

「装備改造」はまだまだ完成しそうにない。

まだ、改造アイテムが複製されるけど全然思い通りの動作にはほど遠い。

肝心の改造アイテム複製&データベースへの挿入($data_xxxx配列への)がどうにも・・・・


2009/04/14/Tue 21:12:49  VX RGSS2/CM:0/TB:0/

§ 装備改造その2

だんだん形にはなってきた。

構成として「ベース」「ウィンドウ」「シーン」の3つに分けてみた。

バトルレイアウト変更でも「ベース」「スプライト」「シーン」とか分ければ良かったかな?

改造画面はとりあえず、装備画面とショップの機能を組み合わせたような感じで

装備を選択して、その装備の改造度を金かけて改造するような感じ。

改造の感じはスパロボみたいで、基本能力の「atl def spi agi」が0より大きければ

設定した%ずつ増加させる。

設定は、


最大改造度  改造時の能力上昇%  元の価格の%(改造費用)


として、改造画面表示まで行き着いた。

が!!

データベース設定なしにアイテムデータを追加すると言う面倒なスクリプトは

改造しても現在所持のアイテムまで全部改造後のアイテムに変更される始末。

一応、アイテムは追加される。

うーん・・・・・・・・挫折しそう・・・


2009/04/13/Mon 22:20:51  VX RGSS2/CM:0/TB:0/

§ 「装備改造」スクリプト作成中

よく、装備を改造して「xxxx + 5」とかそういうシステムのゲームってある。

でもって、どう作るかと言えばデータベースでいちいち設定しなければならない。

ちょこっとのイベントスクリプト記述で簡単に追加できたらなぁ~~~

なんて思いつきで今、スクリプト制作開始!

どういう風にすればいいか試行錯誤してるんだけど

問題は「データベース」に絡むこと。

多分、アイテムの追加はイベントスクリプトのみでの追加になって

イベントコマンドでは使用不能になるっぽい感じなんだけど

スクリプトのデータベース格納配列をいじくって改造アイテムを独自に追加する形になる。

当然、アクターの装備IDとかも追加した分だけズレるのでその辺の処理やらなにやら問題は山積。

ここ最近はKGC様改変物だったので、久々のオリジナルスクリプト制作!



やぁぁぁっってやるぜ!!


2009/04/12/Sun 13:11:41  VX RGSS2/CM:0/TB:0/

§ 久々にスクショ

ある村の中

夜に光るランプに注目!
KGC様の「昼夜変更」の恩恵ですね。
これに「ExAutoweather改」も入れて、天候・昼夜変更と昔のCRIME BREAKERのシステム再現!
マップをレクトール風にしているので、扉イベントで天候を停止したり再開したりします。
贅沢言うと、マップは家の中ならドラクエのあの「屋根の切り替わり」で中に入ったら
周りを暗くするあのシステムやりたいけど・・・・

ある村の温泉

このスクショでは、キャラや岩が水の中に浸かっています。
「タイルセット拡張改」の機能で、イベントに「茂み」効果が適用されます。
ここでは、「WIN32APIサウンド」スクリプト効果で、滝のBGSとカエルの鳴き声BGSが2重に鳴ります。
良く行く山の中の温泉ではカエルの合唱がずっと聞こえていたもんで(-.-)

戦闘画面:フロントビュー

うちの目玉商品「バトルレイアウト変更」の戦闘画面ですが、「ストレイキャット」様の
「ダメージポップアップ」が追加されています。
少しVXゲームやってて、このポップアップいいなぁ~♪と思ったので導入! ←パクリか!?
跳ね方変えてFF3っぽいポップアップとシンプルに一回跳ね。
フォントもシステム内と集めたフォントの中から選択してる。
数字と文字でフォントを変えています。欧文フォントは軽くていいわ♪
文章フォントも変更。




ステータス画面出してもどうかと思ったので画像はないが

今日修正したスクリプトを使って

「武器・サブ・スペシャル・防御・魔力・敏捷・物理耐性・魔法耐性」

の8項目がステータスとなります。

まぁ・・・・・装備で簡単に変わる数値だけど(--;)

KGC様「限界突破」&LOAD OVER様の「レベル差による経験値の増減」改変

「経験値一定化」スクリプトで次の経験値は「100」一定。

レベルは「999」まで。

TYPE74様素材「敵のレベル・・・・」で敵のレベル取得で敵のレベルで取得経験値が自動変更。





システム作りはそれなりだけど、マップや演出&イベントが課題。

ゲームの根幹が本当にむづかしい(@_@)


2009/04/09/Thu 23:27:44  ツクール製作日記/CM:0/TB:0/

§ スクリプト素材3点修正しました。

「魔法耐性・物理耐性パラメータ追加」「装備拡張:武器拡張追加」「拡張装備画面改」

の3点を武器別に攻撃力が表示されるように修正しました。

「個別武器コマンド」との併用で、どの武器がどれくらい攻撃力あるかというのが分かるようになりました。

今までやってなかったのも問題なんだけど、ようやくできました。




2009/04/09/Thu 13:27:03  VX RGSS2/CM:0/TB:0/

§ PCアップデートの悲劇!

頑張ってVISTAのSP1アップデートをやらずに頑張っていたけど、なぜかやってしまったのが悲劇の始まり。

ライセンス登録が消えてしまい、あと15日で・・・・なんて表示が出た。

なんで????

出先でもスクリプトを時間の合間を見てやって、メインPCで続きをなんて思ったら

今の今までメインPC復帰作業。

6時間以上もかかったけど、何とか復帰に成功!!

またXPをクリーンインストールかと思いかけたけど、よかった・・・・・・

明日からメインPCでのツクール作業が出来るぜぇ!


2009/04/09/Thu 01:20:07  その他/CM:0/TB:0/

§ 装備拡張:武器拡張追加のステータス画面を

ここ数日全く更新してなかったな(-.-)

仕事だったり、プライベートで忙しかったりでブログまで手が回らなかったさ。

でも、ちゃんとやっております。

何をしていたかって言うと、イベントやOPを一気に無くしてみたり

ここ2日くらいはタイトル通りスクリプトをいじっている。

タイトル通り、ステータスや装備関係の「攻撃」の項目を何とかちゃんと表示しようと悪戦苦闘。

武器別に攻撃力を表示してまだエラーが出たり、配置に悩んだりでまだ修正に時間がかかる。

何種類かスクリプトを修正UPする予定。

UP出来れば、ステータス画面の項目が増える。

拡張装備画面改は後回しになるかも知れないが、タイトルのスクリプト関連は頑張ります。




やっぱ、スクリプト作りがやってていいな。

ゲーム作りはC級どころかE級以下だわ。

ま、やる以上はエターならずに完成は目指しまっす!


2009/04/09/Thu 00:36:29  VX RGSS2/CM:0/TB:0/

§ X-JAPAN

今日はYOSHIKIがテレビに出ていたのでニコニコでXの動画を集めてみた。

YOSHIKI伝説は嘘のような本当の話が面白いほどある。

「YOSHIKI伝説」のリンク先に伝説の一覧がある。

途中にVOCALOIDがあるのは「巡音ルカ」の英語曲に感動し、その流れで初音ミクのXへ行き

巡音ルカの英語ユーロビートへと至る。

初音ミクのXは「萌え」がプラスされている。

あの曲に萌えってのが最初は想像できない。














YOSHIKI伝説






2009/04/04/Sat 22:25:55  その他/CM:0/TB:0/

§ アンチヒーローもの

アンチヒーロー

すなわち、「正しくない」主人公やそれに準じる立場のキャラ。

ガンダムのシャア・アズナブルやスターウォーズのアナキン・スカイウォーカーことダーズベイダー

ゴルゴ13やDEATH・NOTEの夜神ライトなどもそう。

個人的にお気に入りな「バスタード」のダーク・シュナイダーなどもアンチヒーロー。

アナキン・スカイウォーカーやダーク・シュナイダーは「愛する者の為」には手段を選ばす系。

シャア・アズナブルや夜神ライトは目的の為には手段を選ばす系。

大抵の主人公は清く正しく世界の平和を取り戻す話が多い。

人殺しはダメ♪

とか言いながら、モンスターなどは皆殺し。

某、魔法少女改め魔砲少女は「話を聞いて!」とガンダムのSEがとってもお似合いの魔法で

「非殺傷設定」に疑問を抱くほどの砲撃を相手にお見舞いする。

これ絶対に死んでるやん・・・・・

みたいなツッコミ入れたくなる程のね。



多分、誰もが法律や道徳を遵守して生きているからこそ、そう言った制約を無視・度外視する

アンチヒーローという相反するキャラクターに惹かれる。




と思う。

不良やチンピラ・チーマーみたいな人間ではないのでそう言う人の心情が理解できないのだが。

でも、そういうアンチヒーローに人気があるのはそう言う信条があるんじゃないかと。







続きを読む
2009/04/03/Fri 23:25:02  思いつき/CM:0/TB:0/

§ 先ほどから数時間後・・・・・

バトルレイアウト変更で先ほど言っていた

「攻撃時のアクターIDを変数に取得」

の機能を追加してみました。

「スキル使用前コモン」の機能との兼ね合いも順調で、しっかりと変数にアクターIDを格納してくれてる。

プチ機能だけど、イベントに対応してるので拡張性は大きいかも。

ここからはスクリプトの話


続きを読む
2009/04/03/Fri 01:42:59  VX RGSS2/CM:0/TB:0/

§ 「個別武器コマンド」「ExAutoweather改」修正

今まで気付いていなかったんだけどKGC様の「装備品オプション追加」に

対応していなかった。

サブウェポンの攻撃回数が通常の武器に反映されてしまったりしていたので

とりあえず「n回攻撃」「MP転換率」「MP吸収率」の3つを対応。

天候変化スクリプトも変数に「現在の天候」を取得する箇所がうまく動作していないのを修正。




ニコニコのコメントとか見て、無駄に派手な効果音だってことでこの辺は色々と変更してみる

余地があるなぁ~とか思い、とりあえず1カ所修正してみたりする。

なんだかふと思ったりしてしまうのは、カットインとか入れれたらいいなぁなんて考えたりする。

「バトルレイアウト変更」では「スキル使用前コモン」なんてのもあるので、

SceneBattleクラスで「@active_battler」でアクターのIDとかを変数に格納したら、

アクター別にイベントコマンドを組むことが出来るのかな?

とか、コモンイベントでピクチャー使えば「なんちゃってカットイン」演出出来たりするかな?

とか、顔グラ使った文章表示とか夢は広がりそうな気がする。

当然、「スキル使用前コモン」機能は「スキル個別」に設定できるので

それぞれのスキルに応じてカットインが使い分けられる。



まぁ・・・・カットインなんて絵自体が俺にゃあ作れないんだけどさ。


2009/04/02/Thu 22:10:02  VX RGSS2/CM:0/TB:0/

§ RGSS講座03「オブジェクトの型」について

オブジェクトには様々な型があります。

文字列

a="ばか"

のように「""」で囲まれた範囲に文字を入れると「a」には「"ばか"」という文字が格納されます。

文字は「string」クラスに属します。

ヘルプを参照すると色々なメソッドがありますが、「a」は「string」クラスに属するので

「string」クラスのメソッドを使用することが出来ます。


数値


a=1

のように、数値を入れると「a」は「Numeric」クラスのオブジェクトとなります。

数値には整数を扱う「Integer」と小数を扱う「Float」がありあす。

a = 1

b=Integer(a) # bは「1」という整数を返す

c=Float(a) # cは「1.0」という小数を返す


「Integer」や「Float」を先頭に「()」で数値やそれを格納した変数を囲んでやると

指定した型に変更されます。


配列


a=[0,1,"エロ"]
b=a[0] # bは「0」を返す
b=a[2] # bは「"エロ"」を返す


配列は一つのオブジェクトに複数の要素を格納できます。

配列は必ず「0」から始まります。

指定した配列の値を参照・変更するには「オブジェクト名[配列の番号]」で指定します。

また、配列を格納した配列も可能で

a=[[0,1,2,3],["バカ","アホ","マヌケ"]
b=a[0][3] #「3」を返す
c=a[1][2] #"マヌケ"を返す


のように複数の配列を型なども関係なく格納できます。

が、あまり複数の配列を入れると理解不能になるのでいい所3つの配列が限度ではないでしょうか。


その他


変数に格納できるのは「オブジェクト」なので、実際には何でも格納できます。

「Game_Actor」クラスなども「String」や「Numeric」と同様に「クラス」に属するオブジェクトで

そのクラスを丸ごと格納します。

だからこそ、前回講座のメソッドの実行で「オブジェクト.メソッド名」で実行できるのです。



詳しいことは「ヘルプ」にメソッドなどが解説されているのでそちらを参照すると良いでしょう。





2009/04/01/Wed 14:22:56  RGSS講座/CM:4/TB:0/

§ RGSS講座02「メソッド」について

さて、前回でクラスとメソッド・変数及びスコープについて何となく分かったということにして下さい。

今回は「メソッド」について詳しく説明していきます。

メソッドは非常に重要で、あるクラスの機能の一つがメソッドなのです。

そして、クラスはその機能をまとめたものと考えて下さい。

メソッドは「def xxxx」で始まり「end」で終わる事は前回やった通りです。


メソッドの実行方法


メソッドを実際に使うには

クラス名.メソッド名

または

オブジェクト名.メソッド名

で使います。

$game_party = Game_Party.new

この場合は「new」がメソッドで「Game_Party」がクラスで

「$game_party」というグローバル変数に「Game_Party」クラスを代入しています。

actor = $game_party.members

これは実際のRGSS内にある記述で「$game_party」というグローバル変数に格納された

「Game_Party」クラスの「members」メソッドの結果をローカル変数「actor」に代入しています。

上記の形式で実際にメソッドが実行されています。


アクセスメソッド


メソッドは他にも「引数」というものをメソッドに入れて定義することが出来ます。

def baka(i = 0)

end


ここで「(i = 0」というのが出てきました。

これは先のメソッド実行時にメソッドのあとに()に値を入れて指定します。

メソッドの定義時に()に値が指定されている場合は、メソッドに値を入れないで実行した場合

定義時に()の値が自動的に指定されます。


#--------------------------------------------------------------------------
# ● 経験値の獲得 (経験値 2 倍のオプションを考慮)
# exp : 経験値の増加量
# show : レベルアップ表示フラグ
#--------------------------------------------------------------------------
def gain_exp(exp, show)



このように実際に定義されています。

()内にカンマで区切ることで複数の引数を指定できます。

逆に、メソッドに代入するような形で「=」を使った引数も指定できます。


#--------------------------------------------------------------------------
# ● HP の変更
# hp : 新しい HP
#--------------------------------------------------------------------------
def hp=(hp)


のように定義時に「=()」を使って記述します。

@actor.hp = 1

一見するとただ変数に値を代入しているように感じますが

この一連の式がメソッドの引数を指定してメソッドのクラスでの変更しているのです。

この場合は、「1」を「Game_Actor」クラスを格納している「@actor」で「hp」メソッドにある

「@hp」というインスタンス変数の値を変更しています。

「Game_Actor」は「Game_Battler」を継承しているので、実際の「hp=」メソッドは

「Game_Battler」内に記述されています。

前述2つの「def xxxx()」が参照・「def xxxx=()」が変更。

これらのメソッドを一行で作ってしまう命令が

attr_accessor :xxxx

という命令です。これをアクセスメソッドと言います。

この1行の命令で「def xxxx()」と「def xxxx=()」更に「@xxxx」というインスタンス変数の3つを

定義したことになります。

「Game_Actor」クラスなどに「公開インスタンス変数」として書かれているのは全てこのアクセスメソッドです。


#--------------------------------------------------------------------------
# ● 公開インスタンス変数
#--------------------------------------------------------------------------


というものをスクリプト内で見たことがあると思います。



クラスの継承


前回にクラスの「継承」というものが出てきました。

そのクラスのメソッドやインスタンス変数を引き継ぐというもので、

「Game_Actor」や「Game_Enemy」クラスは「Game_Battler」クラスを継承しています。

つまり、「Game_Actor」クラスに「@hp」を定義したアクセスメソッドが無い場合でも

親(スーパークラスと言う)である「Game_Battler」には「hp」を定義したアクセスメソッドが

「公開インスタンス変数」として記述されています。

複雑なウィンドウクラスも考え方は同じで、「Windou_Equip」の記述が少ないのは

「Window_Selectable」を継承している為なのです。


エイリアス


よく、スクリプトの素材屋さんでは「def xxxx」の記述の上に「alias」と入れています。

alias 変更後のメソッド名「半角スペース」元のメソッド名
def 元のメソッド名
 変更後のメソッド名 #これはメソッドを実行している
 a = 1
end


という記述があります。

「alias」は既に存在するメソッドに別の名前を割り当てたい時に使います。

そして、メソッド内で「変更後のメソッド名」を使ってメソッドを実行することで

変更前のメソッドの命令を実行します。

例の場合は、変更前のメソッドを実行後に「a=1」を追加して実行しています。

こうすることによって、オリジナルのメソッドに機能を追加することが出来ます。

これを行わないで記述内容をコピーして変更した場合は

それがオリジナルとなって実行されてしまい、「競合」でエラーが出るなど

ややこやしいことになります。

が、このエイリアスも時と場合によって使い分けるので一概に何でも使えばいいと

いうものではありません。



恐らく、この解説単体だけでは難しいと思いますが、実際に記述されているスクリプトを

見ながら戦闘計算式の変更辺りからいじってみると少しずつ分かってくると思います。






2009/04/01/Wed 13:47:57  RGSS講座/CM:0/TB:0/

§ RGSS講座01「クラス・メソッド・変数」について

思いつきでやりますた、RGSS講座。

俺はVXでしかいじっていないのでXPでは若干違うかも分かりませんが同じくRUBYなので

基本的な考えは一緒かと思います。

実際のプロジェクトとヘルプを参照しながらこのつたない解説をご覧下さい。

クラス

クラスは「class Abc」のように記述し「end」で終わります。

必ず最初は大文字のアルファベットです。

class Abc

end


クラスには「継承」というものがあります。

先ほどの「Abc」クラスを継承して新たにクラスを作る例がこちらです。

class Defg < Abc

end


この継承というのは「Abc」の機能を受け継いで新たに「Defg」というクラスを作る。

ということです。

実際のRGSSでも「Game_Bttler」クラスを継承した「Game_Actor」や「Game_Enemy」クラス。

「Window_Base」クラスを継承した「Window_Selectable」クラスなど多種多様あります。

このクラスというのが一番外枠と考えて下さい。


メソッド

前述した「クラス」の次の枠が「メソッド」です。

メソッドとは「ある特定の命令を実行する」的なものです。

これには後述する「変数」が深く関わってきます。

ゲームを実行すると「No_Method_Error」とか出るのは「メソッドがありません」という意味です。

メソッドは「def abc」で始まり「end」で終わります。

def abc

end


「initialize」というメソッドがよく使われます。

これは、そのクラスで必ず「最初」に実行されるメソッドです。

詳しくは後述します。

変数(スコープについて)

ここでようやく変数の説明。

普通は一番先にやるものだけどあえて一番最後に説明。

変数は全て「小文字」で記述します。

そして変数には有効範囲があります。

・グローバル変数「$xxxx」   :ゲーム内のどこでも使える変数

・クラス変数「@@xxxx」     :クラス単位で保持される変数

・インスタンス変数「@xxxx」  :インスタンス(オブジェクト)ごとに保持される変数

・ローカル変数「xxxx」     :局所的な変数


の4種類が主にあります。

ローカル変数は前述した「メソッド」の中で使われたら、そのメソッドの中でしか働きません。

class Abc #クラス定義
def abc #メソッド定義
a = 0 #ローカル変数aに0が代入
end
a = 1 #メソッド内のaとここのaは全く別の変数
end



ここからが本題。

インスタンス変数について。

インスタンス(オブジェクト)とは、説明が難しいのですがアクターのHPがあります。

アクターは「Game_Actor」クラスに属しており、「HP」はGame_Actor内に「@hp」として記述されています。

アクターのHPはアクターごとに違う値が格納されています。

ラルフのHPとウルリカのHPが違うのは属する「オブジェクト(インスタンス)」が違うので

同じ@hpでも値が違うのです。

class Abc #クラス定義
@@rolita = 0 #クラス変数
 def initialize #そのクラスで最初に実行されるメソッド
  @a = 0
 end
 def hentai=(i =0)
  @a = i
 end
end

class Defg
 def initialize
  baka = Abc.New #これでAbcクラスの「initialize」メソッドが実行。
  aho = Abc.New #同じAbcクラスを作るが属するオブジェクト(インスタンス)が違う。
# bakaとahoでのクラス変数「@@rolita」はオブジェクトが違ってもクラスが同じで値は保持される。
  end
end


クラス「Abc」にはインスタンス変数「@a」があります。その上で・・・・

「Defg」クラスで「baka」というローカル変数に「Abc.New」というものが代入されています。

これはクラス「Abc」を実行するということです。それを「baka」に格納しているのです。

「aho」も「baka」と同じことを行っています。

この場合、「@a」の値は「baka」と「aho」では同じものではなく、「baka」の「@a」が変更された場合

「aho」の「@a」は変更されません。

それに対して「Abc」クラスには「@@rolita」というクラス変数があります。

これは「baka」で変更した場合「aho」でも変更が反映されます。

インスタンス変数はオブジェクトに属しているのに対して、クラス変数は「Abc」クラスに属しているので

同じクラスである「baka」と「aho」でも同じ値が共有されているのです。

これを変数の「スコープ」と言います。

RGSSでは「@xxxx」のインスタンス変数がたくさん使われているので重要です。

また、「$」で始まる変数として「$game_actor」などがありますが

これはクラスを超えてどこでも使用できます。

が、あまり使うことはないので省略します。

以上が、RUBY及びRGSSの基本的な説明でした。






2009/04/01/Wed 12:36:05  RGSS講座/CM:0/TB:0/

§ 「装備拡張:武器拡張追加」のパッシヴスキルとの併用について

本日、パッシヴスキル用の併用修正スクリプトを武器拡張スクリプト内にUPしたので

746~756行目の間に貼り付けて下さい。

これで、パッシヴスキルと武器拡張スクリプトを併用しても二刀流で拡張武器が装備できない

というバグが修正されます。



最近は改変モノのスクリプトが多いのですが、間違ってもオリジナルを配布してらっしゃる

サイトの管理人様に質問をすることのないようにお願いします。

そういう苦情が来ているということはないのですが、念のため。

以下はスクリプトの話


続きを読む
2009/04/01/Wed 11:28:09  VX RGSS2/CM:0/TB:0/
MAIN / NEXT
copyright © 2006 「EnDlEss DREamER」ブログ. All Rights Reserved.
Template by TAE-3rd☆テンプレート工房