太閤立志伝V イベコン・改造ツールスレ Ver4.00

このエントリーをはてなブックマークに追加
674名無し曰く、
 皆様に残念なお知らせです。

 昨年末、千階堂が予告していた、新年祝賀の引き出物代わりの
イベコンエキスパート講座は、中止とさせていただきます。

 というのも、千階堂本人が昨日より寝込んでしまっているのです。
昨日、遅い初詣に……まあ、仔細は省かせていただきます。

 せめてものお詫びに、千階堂が準備していた講義の草稿をその
まま掲載することで、講義の代わりに、とはいかないでしょうが、
勘弁願いたく思います。以下12レスほどあります。 by 万階堂
675名無し曰く、:2007/01/06(土) 00:03:56 ID:zxywtxtO
イベコンをレボリューションするつもりでサブジェク(ry
-その壱- 講師       千階堂

序文

イベコンはすばらしい。

が、配布されているイベコンは一部の機能が封印されており、開発者が使用している
イベコンに比べ、一部機能的に劣るということは、マニアならご存知であろう。

劣る分をアイデアで補えとばかり、凝りに凝った仕組を持ったすばらしいユーザー
イベントも存在するが、それらイベントの作者とて、制限されているよりは制限なしで
フル機能を駆使した方が、よりよいイベントを作れるであろうとは、容易に想像できる。

ミニゲーム、数値入力、主命を出す、主命解除、拠点改名、軍団解散、などのコマンド類
。人物クラスのライバル武将、野心など更新を禁止されたプロパティ。恨みフラグや
茶会経験値など参照すら禁止されたプロパティ。機能の制限は多岐にわたる。

我々ユーザーは、「イベコンでこれらの隠しコマンド、隠しプロパティには絶対に触れる
ことは出来ない」。これは事実である。ならば、絶対にユーザーイベントに、ミニゲーム
やら主命発生などのコマンドを組みこむことは出来ないのだろうか?

いや、そうではない。「ユーザーイベントに組みこむ方法は、ある」のだ。

すでに、プロセスメモリエディタを使用した、更新を禁止されたプロパティを強引に更新
可能にする、という方法は広く知れわたっている。それによく似た手法を使うことによっ
て、ユーザーイベントにおいて、ミニゲームをさせたり、主命を出したりできるのだ。

これらの方法が周知されれば、それはイベコンのレボリューションといえるのではないか
、イノベーションと言えるのではないか、モチ(ry

発売からはや数年たったが、イベコンのお陰でクソの新作などよりこちらの方を楽しん
でいる、という御仁も多いと存ずる。なれど、さすがにイベコンにもマンネリを感じたり
、ルサンチマンを感じ、立ち去る向きも、また多くなっているとも推察する。ここでひと
つ、イベコン界にカンフル剤を打つつもりで、イベントファイル改造講座を開講すること
にした。

次回から数回にわたり、ユーザーイベントにおいて、それら隠された……いや、「太閤
立志伝5イベント」が本来持つ自由な拡張性を駆使する方法について、難解に解説する。

676名無し曰く、:2007/01/06(土) 00:05:25 ID:zxywtxtO
イベコンをレボリューションするつもりでサブジェク(ry
−その弐− 講師 千階堂

さて、当講座が始まってから幾秒、早いもので、この講座もついに第弐回を迎えるにいた
った。スーパーピアノレッスンの視聴者に、深く感謝の意を表したい。

第壱回講座を見て胸を焦がしている読者諸子には冷水をぶっ掛けるようで悪いが、当講座
のテクニックを使用して作成されたイベントには、実は非常に重大な欠点がある。それは
、「この方法で作成されたイベントの配布は、とても難しい」ということである。イベン
ト交換や配布によってコミュニティが活発化することがイベコン配布=イベコン開発者の
アジェンダであるなら、テクニックを駆使して作成された配布しにくいイベントとは、
それに反する存在といっても過言ではない。鬼っ子といえるかもしれない。

未公開の私製イベントを大量に作成してムハムハプレイしたりしなかったりしている講師
のような人間には有益なテクニックであるが、作成したイベントを公開し、皆に楽しんで
もらいたい、と思っているような、優良イベントマイスターとでもいおうか、そういう人
々にとっては、厳しいものなのである。このことを念頭において、受講してほしい。

配布が難しい、厳しい、といっても、不可能ではないのも事実である。今後、なんらかの
容易な方法が発見されないとも限らない。まあ、とりあえずこの事は、ここに置いておこ
う。

当講座を履修することによって、最終的には、ユーザイベントでミニゲーム(算数とか2
1ゲームとか)を使うことができるようにすることを目的とする。是非、テクを駆使して
思う存分腕を振るえるような人間になって欲しい。

677名無し曰く、:2007/01/06(土) 00:10:08 ID:zxywtxtO
イベコンをレボリューションするつもりでサブジェク(ry
−その参− 講師 千階堂

能書きばかり続いた。反省している。さっそく、方法の解説に移ろう。
お題は、「主命を解除するイベント」だ。イベコンには主命を解除するコマンドがないこ
とは、みな承知のことだろう。

まず、必要なツールを列挙する。この三つを、最低限用意する必要がある。
・イベコン(必須)
・バイナリエディタ(バイトをビット分解可能な物推奨)
・テキストエディタ(ご使用の、イベントソース作成用の)

では、ひとつ、主命を解除するコマンドを利用するイベントの作成方法を例に、順に説明
していこう。新規にイベントソースファイルを作成して、下記のテキストをペーストしよ
う。

太閤立志伝5イベントソース
チャプター:{
イベント:仕組・OO式・仕事サボり{
属性:一度だけ|ひかえめ
発生契機:室内画面表示後(主人公拠点,自宅)
発生条件:{
調査:(主人公.主命状態)!=(主命なし)
調査:(主人公.主命状態)!=(終了)
調査:(主人公.実行主命)!=(主命::無効)
調査:(主人公.主命期限)>=(30)
調査:(イベントフラグ::仕組・OO式・仕事サボり)!=(成立)
調査:(主人公.所持金)>=(5)
}
スクリプト:{
更新:(イベントフラグ::仕組・OO式・仕事サボり)(成立)
ひとりごと:[[ううむ、こんどの主命は面倒くさい喃……]]
会話:(医者,主人公)[[(主人公.姓)さま……]]
ひとりごと:[[わっ! お、お主は……]]
会話:(医者,主人公)[[お加減が悪いと窺いましたが……\nううむ、なるほど\n顔色がよろしくありませんな]]
ひとりごと:[[う、うむ?]]
会話:(医者,主人公)[[そのような状態では、ご主命を果たすのは\nむつかしかろうと存じますな\n\n…五貫頂ければ、ご病状を記した\n診断書をお書きいたし\nご主君にお届けいたしますが……]]
ひとりごと選択:[[(ふむむ、仮病か……どうしよう)]]
選択:[[偽診断を頼む]][[止めておく]]
分岐:([[偽診断を頼む]]){
所持金変更:(-5)
ひとりごと:[[うむ! これではどうにもならぬ\n休んでいる方が、よほど忠だろう\n…殿に良しなに頼む]]
会話:(医者,主人公)[[ひひっ、お任せを……]]
画面効果:(フェードアウト)
画面効果:(フェードイン)
会話:(医者,主人公)[[ただいま、戻りました]]
ひとりごと:[[おお、それで、どうであった]]
会話:(医者,主人公)[[殿様は、養生せよ\nとのお言葉でございました]]
ひとりごと:[[そうであったか\nありがたいお言葉……\nお主にも世話になったな]]
会話:(医者,主人公)[[いえいえ、お役に立てて何より……\nどうか、ご自愛くださいますように\nそれでは、失礼します]]
ひとりごと:[[ふう、これでしばらく楽ができるな]]
所持金変更:(0)
}
分岐:([[止めておく]]){
ひとりごと:[[…誰が病だと?\nこの筍がっ!出ていけっ!]]
会話:(医者,主人公)[[ひえええっ!]]
}
}
}
}
678名無し曰く、:2007/01/06(土) 00:14:22 ID:zxywtxtO
イベコンをレボリューションするつもりでサブジェク(ry
−その四− 講師 千階堂

さてもさて、糞イベントだがご容赦を。さて、そのイベントソースファイルを「クソイベ
.txt」とリネームしていただこう。その後イベコンを立ち上げ、上記イベントを「ID追加
検索」と「コンバート」すると、所持金が5減るイベントが完成だ。ほかにはなにもない
。これだけなら、まさにクソイベントだ。

さて、エクスプローラで、イベコンをインストールしてあるフォルダを開いてくれ。「Ta
i5UEC.exe」が存在するフォルダだ。見つかったかな?見つかったな。その子フォルダに
「Script」というフォルダが存在するはずなので、そこを開いてみよう。すると、そこには
先ほど作成した「クソイベ.txt」があるはず。ついでに、「クソイベ.evm」とかいうファ
イルの存在を確認していただきたい。ここが味噌だ。

ここまで読んで、あとは何をするか分かったお主なら、以下の内容を容易に理解できるだ
ろうが、展開が見えない者には、この先少々辛いかも知れぬ。覚悟するように。

唐突に、「クソイベ.evm」をバイナリエディタで開く。バイナリの羅列が表示されたこと
と思う。その後、オフセット(キャレットの位置)を0x00000310あたりに移動してくれ。
すると、その辺に「47 00 00 00」というバイナリ列が見つかると思う。見つかるはずだ。
ということで、そこを「43 00 00 00」に書き換えるように。書き換えたな?ならば保存
するように。このたった一バイトの書き換えで、このイベントが様変わりするのだ。

次に、今一度、新規にイベントソースファイルを作成して、以下のテキストをペーストし
保存するように。

太閤立志伝5イベントソース
チャプター:{
イベント:ダミー00{
属性:一度だけ|ひかえめ
発生契機:ゲームスタート時
発生条件:{
調査:(1)==(2)
}
スクリプト:{
}
}
}

名前は、「ダミー.txt」がよろしい。イベコンを再起動し、「ダミー」のみにチェックを
入れ、「ID追加検索」と「コンバート」するように。ここが重要だが、『絶対に「クソイ
ベ」をコンバートしてはいけない』のだ。「ダミー」のコンバートが成功したなら、「Ec
f00001.te5」と「Ecf00001.ts5」を、「マイ ドキュメント」以下の例のフォルダにコピ
ーせよ。これは、いつもやってる通りでいい。

これで準備は整った。イベントのデバッグへ移る。

679名無し曰く、:2007/01/06(土) 00:16:15 ID:zxywtxtO
イベコンをレボリューションするつもりでサブジェク(ry
−その五− 講師 千階堂

適当な武家キャラで新規にシナリオを始めよう。その後、評定に出て、適当な仕事を受け
た後、自宅に帰ると、イベントが発動するはずだ。発動したな?そして、偽造診断書を
作成してもらうといい。すると、どうなったかな?

特段なにもおこらず、金だけ減ったという御仁はご愁傷様だ。だが、「それがいい」。
もし主命が解除されて、評定まで自由に過ごせるようになったならば、ぬしは運がよいの
か、青山忠成・通称アオヤマくんのファンか、いずれかなのだ。

そのとおり、このイベントを発動するには、主のリアル運が大きく左右する……わけでは
なく、改造によって作成されたこのイベントは、実は、青山忠成専用の主命解除イベント
なのだ。では、何も起こらなかった御仁も、アオヤマくんを主人公に選んでシナリオを開
始してから、再度テストしてみるといい。

「なんだ、このテクニックはアオヤマ専用かヴォケ!」と気分を害された御仁は、どうか
落ち着かれよ。今から改造した行為の詳細と謎のダミー、その結果について説明と検証を
行って、このイベントを全キャラクター用にグレードアップさせる手順も説明しよう。
どうか落ち着いてくれい。

ポイントは二つだ。
1.「クソイベ.evm」の、とある箇所の「47 00 00 00」を「43 00 00 00」に書き換えた。
2.「ダミー」をコンバートした。

まず、1について説明いたそう。その前に、イベコンについて、軽く解説しよう。
イベコンは、その名の通り、イベントソースファイルのテキスト(ソース)を、イベント
ファイルにコンバートする機能を持っている。「クソイベ.txt」のテキストを、「クソイ
ベ.evm」という、無機質なバイナリ列にコンバートしたわけだ。ゲームのエンジンは、人
間がぱっと読んでもなんとなく理解できるテキストのソースではなく、無機質なバイナリ
列を解釈し、ゲーム上でイベントを動作させる。これは、いろいろな理由があるのだろう
が、イベント番号やら、イベントフラグやら、動作速度やらの問題を解決するためなのだ
ろう。

漢和宮内。さて、バイナリ列だ。「47 00 00 00」という列は、何を意味しているのか。
これは、

所持金変更:(0)

というテキストに記されているコマンドを、イベコンがバイナリ列にコンバートした結果
なのだ。

では、「43 00 00 00」が意味するものはなんであろうか?これは、

主命解除:(青山忠成)

というテキストを、バイナリ列にコンバートした結果なのだ。多分。
「主命解除なんてコマンドはねえぞヴォケ!」と仰る御仁もいるだろう。その通りだ。
そのことには後で触れる。今はバイナリ列について説明しよう。バイナリ列の最初の一バ
イト、43だとか47だとかは、ここでは便宜上「オペコード」と呼ぶことにしよう。この数
値を解釈して、ゲームエンジンは、イベントのコマンドを実行する。たとえば、「12 00
00 00 b2 af 81 49 81 49 00 00 00 00」という長いバイナリ列があるとしよう。なにの
コマンドなのかは一見まったく分からないが、これは、

ひとりごと:[[あっ!!]]

というテキストを、バイナリ列にコンバートしたものだ。オペコードの12は、つまり「ひ
とりごと」コマンドのことである。同様に、43は「主命解除」、47は「所持金変更」を
示す「オペコード」ということになる。
680名無し曰く、:2007/01/06(土) 00:19:15 ID:zxywtxtO
イベコンをレボリューションするつもりでサブジェク(ry
−その六− 講師 千階堂

おそらく、開発者が使用しているイベコンでは、上の、

主命解除:(青山忠成)

というテキストのコマンドがコンバートできるはずだ。しかし、ユーザー用イベコンでは
「キーワードではない」などといわれて、コンバートが通らない。主命解除は、序文で触
れている、ユーザー用イベコンでは削除されたコマンドのひとつなのだ。主らは「知らぬ
が道理」というものだ。だが、拙者は知ってしまった。そして遥かなる海路を漕ぎだした
のだった……。

それはともかく、では公開されてはいないし、コンバートされないが、ゲームエンジンで
は定義されているコマンドを使用するにはどうしたらいいか。それを考えたとき、拙者が
思いついたのは、コンバートされたユーザー用イベコンで使用可能なコマンドのバイナリ
列を、イベコンでは使用できないコマンドを意味するバイナリ列に書き換えて強引に使用
する、というものであった。

ここまでの内容は、実は、ある程度知識があるものなら、誰でも考え付く事なのだ。が、
イベコンの動作がそれを行うことを阻んでいた、と思う。そのイベコンの動作を逆手に、
というか、利用したのが2.である。

一見意味不明な2.のプロセスであるが、実は改造イベントを使用する上でもっとも重要な
行動といってもいい。

またイベコンの仕組みの解説になるが、イベコンによって、テキストのソースからバイナ
リ列にコンバートされた結果が書き込まれるのが「.evm」ファイル。これは中間ファイル
とでも呼ぶのがふさわしいもので、このコンバートされたバイナリ列が書き込まれたファ
イルを「マイドキュ」下の例のフォルダに突っ込んだとしてもイベントは発動、発生しな
いことは、少々イベコンに入れ込んだ者なら経験済みの失敗といえるものだろう。

ゲームエンジンが読み込むイベントファイルというのは、「.TS5」「.TE5」の二つのファ
イルである。これは、複数の「.evm」ファイルを結合した後、符号化したものだと思うが
詳しくは知らぬ。ともかく、「.evm」を改造して、それを「マイドキュ」下に突っ込んだ
だけでは、その改造イベントが動作しないことは理解してもらおう。

イベコンでソースをコンバートするたびに、ソースに対応する「.evm」は、ソースからコ
ンバートされたものに更新されてしまい、根性でバイナリ列を書き換えた「.evm」の内容
は失われてしまう。

<<ここから13行ほど、内容が技術的な物に偏っていて、なぜ説明する必要がある
のか意図も不明なため、削除 by万階堂>>
681名無し曰く、:2007/01/06(土) 00:21:20 ID:zxywtxtO
イベコンをレボリューションするつもりでサブジェク(ry
−その七− 講師 千階堂

つまるところ、ダミーをコンバートすることによって、改造済みの「.evm」ファイルもろ
とも、ユーザー用イベントファイルを作成させることに成功するのだ。

ぶっちゃけて言うならば、

 主命解除→そんなんないよ→コンバート失敗

となるのを、
 所持金変更→コンバート成功→主命解除に書き換え→
ダミーコンバート→改造ファイル諸とも結合→目的達成
というプロセスを取ることによってイベコンを騙している、という表現がぴったりかもし
れぬな。

さて、一通りの説明が済んだところで次に参るぞ。アオヤマくん以外が主人公でも、主命
解除コマンドが実行されるようにするのを目指すのだったな。では、まず「クソイベ」を
コンバートいたそう。えっ?「せっかく改造した内容が失われると今さっき言ったばっか
りだろヴォケ!」だと?うむ。その通りだ。しかし、先ほど改造した内容を思い出してほ
しい。ただ一バイトであろう?失われて惜しい労力ではあるまい。とりあえず、元の通り
にリセットする意味で「コンバート」いたせ。そして、バイナリエディタで再度「クソイ
ベ.evm」を開きなおし、「47 00 00 00」のオフセットに移動するように。

先ほどはこのバイナリ列を「43 00 00 00」に改造し、ダミーコンバートを行ってゲーム
に発生させたところ、アオヤマくん専用イベントになってしまったのだったな。では、今
回は、「43 fe 07 00」としてみるがいい。そして、先ほどと同じように、保存して、ダ
ミーのみをコンバートし、「.TE5」「.TS5」のファイルを「マイドキュ」下にコ(ry
誰でもい、いやアオヤマくん以外がいいのだが、武家を主人公に選んで主命を受け(ry

どうであったかな?主命が解除されたであろう。

前々回において、「43 00 00 00」の先頭のバイト、「オペコード」について解説した。
今回は、「43 00 00 00」のうち、先頭以外の物について解説しよう。
「43 00 00 00」では、アオヤマくんだけが解除された。
「43 fe 07 00」では、だれでも解除された。
この違いは?

「43 00 00 00」の、先頭の一バイト、すなわち「オペコード」以外の部分を、ここでは
便宜上「引数」と呼ぶことにする。拙者の弟子はみな「いんすう」と読んでおる。
「43 00 00 00」は、主命解除:(青山忠成)がコンバートされたものだと前に言ったが、
「43 fe 07 00」は、主命解除:(主人公)がコンバートされたものだと思えばいい。
すなわち、主命解除コマンドは、引数に人物番号を持っているということになる。
イベコンヘルプ風に書けば、
■主命解除
コマンド
人物の主命を解除する。

主命解除:(解除人物)
解除人物:武将か汎用ライバル
という風になるであろう。試しに、「43 01 00 00」とすれば、人物番号1を持つ赤池長任
専用イベントになり、「43 1f 03 00」ならば、799を人物番号に持つ亘理元宗専用イベン
トになるのだ?「43 fe 07 00」とは2046のことであり、2046とは主人公という人物?の
人物番号ということになっている、らしい。すなわち、「01 00」とは1のことで、「1f
03」とは799のことで、「fe 07」とは2046を指している。これは16進数というやつなのだ
が、すでに承知のこととして詳細は省く。

682名無し曰く、:2007/01/06(土) 00:23:26 ID:zxywtxtO
イベコンをレボリューションするつもりでサブジェク(ry
−その八− 講師 千階堂

いよいよ本題に入ろう。ミニゲームを使用する改造だ。例のごとく、新規にイベントソー
スファイルを作成して、下記のテキストをペーストし、茶会暗殺とでも名づけ、保存し、
「ID追加検索」「コンバート」をいたせ。

太閤立志伝5イベントソース
チャプター:{
イベント:茶会暗殺00{
属性:一度だけ|ひかえめ
発生契機:人物会話時(無効)
発生条件:{
調査:(発生施設)!=(拠点内画面)
調査:(Rnd100)>=(1)
}
スクリプト:{
会話:(MP主人,主人公)[[おや、(主人公)殿では{ない}か]]
ひとりごと可否選択:[[(こやつ気に入らぬ……\n 一服盛るか?……)]]
分岐:(可){
会話:(主人公,MP主人):[[実は、茶を一服馳走しようかと\nいただいて{もらえない}{であろう}か?]]
会話:(MP主人,主人公)[[{おお}、そのような話なら喜んで]]
代入参考値:(0)
所持金変更:(0)
調査:(参考値)>=(95)
分岐:(真){
会話:(MP主人,主人公)[[(ずずっ)\n……ううっ!\nぐはぁっ!]]
ひとりごと:[[ふふっ……附子はよく利く{な}]]
武将死亡:(MP主人)
}
分岐:(偽){
ひとりごと:[[(し、しまったっ!)]]
会話:(MP主人,主人公)[[{おや}、どうか{した}か?]]
ひとりごと:[[い、いえ……]]
会話:(MP主人,主人公)[[(ずずっ)\n……結構なお手前で]]
ひとりごと:[[…………]]
}
}
分岐:(否){
会話:(MP主人,主人公)[[どうか{した}か?]]
ひとりごと:[[い、いや、なんでも{ない}]]
}
外に出す:
}
}
}

演出やセリフがしょぼいのは、行圧縮のためゆえ。誤解なきよう。さて、見たままなら、
例のごとくしょぼいイベントである。実際にイベントを起こしてもしょぼい結果が返って
くることであろう。すなわち、実行すれば、必ず暗殺は失敗する、意味なしイベントだと
いうことが分かるのだ。しかしながら、所持金変更:(0)のコマンドがミニゲーム:(茶会,
発生人物,4)という、技能レベル4、7個の茶器揃えの成否を問うコマンドに代わって、分
岐部分でミニゲームの結果によって暗殺の成否が決まるイベントになれば、多少はしょっ
ぱさも軽減されるというものだろう。早速手配いたそう。例のごとく、「茶会暗殺.evm」
をバイナリエディタで開き「43 00 00 00」という部分を探すべし。見つかったなら、そ
の部分を「46 06 f5 2F」に書き換えて保存、ダミーをコンバート後にファイルをコピー
。手順はわかっておろう。では、ゲームでしかと確かめてみよ。

みごと、ユーザーイベントでミニゲームを発生させることができたであろうか?
683名無し曰く、:2007/01/06(土) 00:26:37 ID:zxywtxtO
イベコンをレボリューションするつもりでサブジェク(ry
−その九− 講師 千階堂

では、今回の改造についての解説を。「46 06 f5 2f」、今まで教えたとおりに見るなら
、「オペコード」は「46」、「引数」は「06 f5 2f」ということになる。すなわち、46と
はミニゲームを意味するオペコードということになる。「46 06 f5 2F」をテキストのコ
マンドに戻すと、前述の

ミニゲーム:(茶会,発生人物,5)

という内容になると思われる。引数部分の解説に移る。

引数は「06 f5 2f」である。この前の「主命解除」の時に比べて、一バイト多いようだ。

引数最初の「06」が意味するのは、ミニゲームの種類である。人物に人物番号が振られて
いるように、ミニゲームにも、それぞれミニゲーム番号が振られておるのだ。茶器並べは
6、9は鉄砲射撃、11は算術穴埋め(茶器並べ以外はうろ覚えだが)。つまり、「46 0b f5
2f」とすれば、算術穴埋めレベル4のミニゲームが起こる、ということだ。

次の部分は少々ややこしい。「f5 2f」である。ここに二つめと三つ目の引数が含まれて
いるのだ。「なんだ、最初のが二つ目で、次のが三つ目だろヴォケ!」とお思いになられ
るかも知れぬがそう単純ではない。最初の「f5」は単純に、245=f5と思ってもいい。かと
いって、これが発生人物の人物番号ではない。245では、誰か知らぬがとにかく毎回決ま
った人物、人物番号245を持つ人物が茶器並べを主催することになるが、なんどか上のイ
ベントをテストしたら分かると思うが、発生人物、つまり、話しかけた相手が主催する。
発生人物の人物は、2037なのだ。2037=f5 07となる。f5は同じだからいいが、二つ目は07
と2fで、相違がある。ここで単純な減算をしよう。2f=47,47-07=40、つまり40が三つ目の
引数ということだ、思われるかもしれないが、実は全然違う。バイトよりややこしい、ビ
ットという問題が出てくる。数学やら、若い者は情報やらの授業を通じて、習ったことが
あるかもしれない。なら話は早いのだが。人物番号は、2つめの引数一バイト(8ビット)と
、3つ目の引数の下位3ビット、すなわち、11ビットで表されている。11ビットあれば、0
から2047までを表現できる。ゲームに登場する最大の人物番号は2047なので11ビットあれ
ば全ての人物番号を表現できることになる。「なら、レベルと修行は残りの5ビットに収
められてるんだろはよいけやヴォケ!」と仰る御仁は賢いので、もうこれ以上読み進める
必要はないだろう。その通りで、5ビット、つまり0から15までの範囲でレベルと修行が
定義されている。とりあえず、先ほどの2f=47を8で割った商を求めよう。商は5だ。
この5が今回のレベルと修行を表している。この数字が7以上なら修行フラグが付く。
今回は5なので修行はないということになる。さらにこの数値を6で割った余りがレベルと
なる。5÷6=0余りは5なので、レベルは5ということだ。つまり、レベル3修行なしにした
ければ、3×8=24=0x18つまり、0x18+人物番号の上位3ビット(0〜7)を足したものを引数の
3バイト目に入れればいいということになる。ミニゲーム:(茶会,発生人物,3、修行なし)
ならば、「46 06 f5 1f」、ミニゲーム:(茶会,発生人物,0、修行あり)ならば「46 06 f5
3e」になる。
<<不肖万階堂、このあたり理解不能です、識者の解説求む by 万階堂>>

つまり、こういうことになる。
一バイト目 二バイト目
XXXX:XXXX  ??&Y:YXXX
Xは人物番号、Yはレベル、&はレベルと修行フラグをあらわしていると思われる。

  f:5     2:f
1111:0101  0010:1111
つまり、人物番号2037、レベル5、修行なしの三つの要素が「f5 2f」に込められている。

684名無し曰く、:2007/01/06(土) 00:33:17 ID:zxywtxtO
イベコンをレボリューションするつもりでサブジェク(ry
−その十− 講師 千階堂

イベコンヘルプ風に書けば、
■ミニゲーム
結果値変更コマンド(参考値変更コマンド)
ミニゲームを発生させる。

ミニゲーム:(種類,発生人物,レベル,修行)
種類:ミニゲーム種類
発生人物:武将、汎用ライバル、イベント人物、町人
レベル:難易度
修行:修行か否か(修行の場合、引数レベルは無視されて、主人公の技能値が難易度に)

ミニゲーム、主命解除、ともに、引数含めて4バイトに収まっていた。が、前に出たひと
りごとなどは、4バイトどころではないことは承知だろう。それと同じように、未公開で
イベコンでは触れることができないがエンジンに定義されているコマンドには、たとえば
今回は解説していないが「主命を出す」コマンドなどは、12バイトを使用する。宿屋でと
まる日数などを入力する「数値入力」コマンドは、最低24バイト使用するなど、いろいろ
と奥が深い。もしエクスプローラー足らんとするなら、真の追求者となりたいなら、己が
力で知識を深めよ。

駆け足であったが、ユーザーイベント中間ファイルの改造の初歩から、ユーザーイベント
でミニゲームを使用する改造まで、一通りレクチャーしてきた。もしかすると、「ユーザ
ーイベントでミニゲームが使える」と聞いて胸躍らせていた諸氏のほとんどは、上記の内
容は難しいか、それともレクチャーの仕方に問題があってか、理解できなかったかもしれ
ない。国破れてサンガリアかもしれない。今は絶望に打ちひしがれるがいい。だがしかし
実はある御仁と協力して、完全版イベコンといえるようなソフトをユーザーイベコンとし
て作成し公開できないか、目下のところ研究中である。ソフトが完成するのか、今のとこ
ろはなんともいえないが、いつの日か、今イベコンを扱っているような手軽さでミニゲー
ムも使えるようになる、といいのだが。
<<2006年9月当時の発言のようですが、2007年年初となったつい先日まで、完成したとい
う話は聞いたことがありません。あるいは頓挫したのかもしれません。 by 万階堂>>

最後に、「改造イベントが最高の出来で皆にも配布したいんじゃヴォケ!」という御仁達
のために一言アドバイスをさせてもらおう。配布をする場合、「.evm」ファイルを配布す
るのはおすすめいたしかねる。拙者が薦めるのは、

・「イベコンソースファイル」(改造の元となる、所持金変更などで偽装されたソース)
・イベコンでコンバートされた「.evm」と改造「.evm」の「差分パッチファイル」

の二つ。これならば、渡された方はまずソースファイルを「ID追加検索」や「コンバー
ト」で準備と整えた後、生成された「.evm」に差分パッチをあてて改造「.evm」とした
後に「ダミー」をコンバートすれば導入できる。「.evm」を渡してイベントやイベントフ
ラグに問題を出すよりもスマートではないかな?

講座の内容は、一貫してギーク向きの内容で突っ走った。あくまで上級者向け、イベコン
にすら飽きた廃人向けの内容である。未来ある有望な若者は、決して修羅の道に足を踏み
入れてはならぬ。このこと、覚えておいてもらおう。それでは、よき太閤5人生を!
685名無し曰く、:2007/01/06(土) 00:38:13 ID:zxywtxtO
イベコンをレボリューションするつもりでサブジェク(ry
−その∞− 講師 千階堂

         ヽ:r‐'、  __
           〉‐r '´     `丶
         /:::ヽ         ヽ    
           ,':::::::::::ヽ.          '、    「以上が前スレの終焉に告知した奴である。
        l:::::::::::::::/ .,、z:ュ、,_.  ,、=,|    拙者は敵の大軍に驚いて尻餅をついた事はあっても
        l;:::::::::::/ ´ ,r'ユ、`' i'コノ ;|    女子や稚児の尻はもちろん、うそをついた事はない
        l ヽ::::::::l  ''`¨¨´   ヽ | < さよう心得られよ! 皆の衆、ひとまずおさらば!」
         ヽ ヽ::::::!      ,ィ _.  ', .l   by 千階堂
         ヽ_λ:i.     ' `'゙`'‐'i゙ ,'     
          l ヽ`'.   ヾー--ノ /   
        ,r<ヽ、 ヽ', '' ... "''.,/
       ,.イ  \.丶、`' .、,_`,.ィヽ、  

(了)

 以上が千階堂が行うはずだった講義の草稿になります。
誤字などは一部修正いたしましたが、内容には大きな変
化はないはずです。

 本来ならば、講義の後、千階堂と聴講者諸氏と質疑応
答が行われるはずなのですが、先述の通り本人は臥せっ
ております。不肖万階堂、上記の講義の通り行えば、千
階堂の言うとおりにイベントが改造できるのですが、な
ぜそうなるのか、などの深い部分に対する理解は心もと
ありません。皆様の質問に答えることはできません。申
し訳ありません。寝込んでいる千階堂に代わりまして、
深くお詫び申し上げます。

 本文で千階堂も言っているように、この改造イベント
は配布に難があります。いつか千階堂本人が立ち直って、
その問題を解決するかもしれませんし、そうでないかも
しれません。

 皆様が、改造イベントの利点難点を見極めた上で、太
閤立志伝5という作品と、イベコンという日本ゲーム史
に残るツールと、今後ともよい付き合いを行えるよう、
若輩者ながら千階堂に代わって、蔭ながらお祈り申し上
げます。かしこ。 By 万階堂