Vahren.exe ver 7.01 の更新詳細(2018年5月1日更新)

http://ux.getuploader.com/vahren_ency2/download/617/Vahren.zip
いろいろバグ修正してますので最新版をお使いください。
御提供頂いた5枚の立ち絵を追加させて頂きました。
御提供頂いた詰めヴァーレンを追加させて頂きました。
ED時のスタッフロールを付けました。
このver 7.00が最終更新になります。
バグが見つかってそれを修正できた時のみ更新します。バグ修正のみです。

(注意)このバージョンにはダンジョン生成の乱数値にバグがあったので今までと違った迷路が出るようになってしまいました。ダンジョン部分が気になる人は前バージョンの実行ファイルを使ってください。

2009年4月末にドリルは漢のロマンだ様の方に「四国史」で公開してから9年間ありがとうございました。


海外版windowsでの多言語化(文字化けしない方法)

海外版windowsでは実行ファイル内のShiftJISコードが正しく変換されないので文字化けしておりました・・・。
今まで気付かずに本当に申し訳ありませんでした。
海外版windowsでもプレイできるようにするには以下のようにしてください。
+...
「Unicode」で保存されてる以下のファイルを
language.txt
language2.txt
language3.txt
language4.txt
language5.txt
language6.txt

「ANSI」で複製保存してこの名前にして同じ場所に置いてください(メモ帳で同じ内容のまま”名前を付けて保存”する)
@language.txt
@language2.txt
@language3.txt
@language4.txt
@language5.txt
@language6.txt

scriptフォルダの中身はこうなります。
@language.txt
@language2.txt
@language3.txt
@language4.txt
@language5.txt
@language6.txt
language.txt
language2.txt
language3.txt
language4.txt
language5.txt
language6.txt
(クリックで開閉)

多言語化

  • scriptフォルダに「unicode.txt」という名前の空ファイルを入れるとUnicode読み込みになります。
+...
  • 「unicode.txt」にforeignと記すと更に英文モードになります。
  • scriptフォルダに「english.txt」という名前の空ファイルを入れるとUnicode読み込み+英文モードになります。
  • 英文モードだとテキストが単語間の空白で自動改行されます。
  • 英文モードだとvoice構造体の台詞にも半角カンマが使えます。文章区切りのカンマは直後で改行してください。それで判別しています。
  • 英文モードだとmsg、talk, chat関数で半角記号が使えます。talk(KEN, test,,,test()()test)、msg(test,,(),,test)文章終了の閉じ括弧の判定は直後で改行してください。それで判別しています。なおmsgは引数1個、talkは引数2個、chatは引数3個で固定となります。
  • 英文モードだとdialog、dialogF, select関数で半角記号が使えます。文章終了の閉じ括弧の判定は直後に改行してください。なおdialogは引数1個、selectは引数2個、dialogFは引数2個(ユニット名とテキスト)で固定となります。
注意英文モードだとdialog関数は引数1個で固定になりますので引数2個の場合は、dialogF(ユニット, テキスト)としてください。

  • スクリプトをUnicodeにする事でおそらく全言語を表示できます。
  • language.txtもUnicode読み込みとなります(language.txtがShiftJISで保存されてると読まれません)
  • scriptフォルダにシステムメッセージ翻訳用のlanguage.txtを置いてください。
男性
=
male
  • 文章パーツは一行単位です。日本語オリジナルの下に=を記してその下に任意のテキストを記すとそれに置き換わります。
  • 空行を入れるのは自由です。行頭に//でコメント行になります。
  • 改行は$\nを用いてください。
  • $$$###は文字列代入位置。%%%&&&は数値代入位置です。
  • ほぼ全てのテキストやデータで半角空白を使えるようになりました。name = high witch kingmsg(here you are)
  • 戦闘シーンの部隊ウィンドウのボタンはアイコンに出来ます。imageフォルダに該当画像ファイルを入れてください。拡張子はpng、jpg、bmpのどれかでOKです。
+...
「標準」skillbtn_normal
「必殺」skillbtn_special
「禁止」skillbtn_hold
「剣」 skillbtn_sword
「弓」 skillbtn_bow
「魔」 skillbtn_magic
「治」 skillbtn_heal
「復」 skillbtn_cure
「増」 skillbtn_buff
「召」 skillbtn_summon
(クリックで表示)
  • 戦闘シーンのステータスウィンドウ最下段の状態異常欄はアイコンに出来ます。imageフォルダに該当画像ファイルを入れてください。拡張子はpng、jpg、bmpのどれかでOKです。
+...
「毒」 hp_poi
「麻痺」 hp_para
「幻覚」 hp_ill
「恐慌」 hp_fear 
「沈黙」 hp_sil
「混乱」 hp_conf
「石化」 hp_stone
(クリックで表示)

いろいろ

  • unit/class構造体のyorozuにキーワードを列挙するとユニットの各種設定が出来ます。
(例)yorozu = base, keep_direct, no_circle
base 城の防御ユニットに使います。配置高低を地形に合わせます
no_circle 足元のサークルが出ません
keep_direct 向きによるユニット画像の反転をしません
keep_color 状態異常で色が変化しません
  • context構造体にunit_lifebar_height = (0~100)でライフバーの位置を変更できます。デフォルトは50です。0で頭上、100で足元になります。
  • unit/class構造体に財政値を設定するfinance = 数値を追加しました。なお従来のcost=マイナス値を用いてるとcostの方が優先されてfinanceは無効になります。
  • unit/class構造体にno_regular = onとするとそのユニットが死亡してなくても戦闘終了します。防衛施設ユニットなどでお使いください。
  • field構造体のjointに複数隣接チップを指定できるようになりました。詳細はfield構造体の説明ページをご覧ください。

背景画像の大きさが制限されて表示されるようになりました(フルスクリーンでも画面全体に広がらない)
context構造体のevent_bg_size = 数値で変更できます(デフォルトは768)
bg(image.png, on)の様に第二引数にonとすると強制的に画面全体に広がります。

制作ツール、システム面など

  • MapMakerを更新しました。以前は使い物にならなかったアンドゥ機能を改善しました。
  • デバッグモードにすると「戦場マップ確認モード」がタイトルから実行できます。
  • ImageMakerを更新しました。半透明が有効になりました。半透明チップが使えます。
  • ImageMakerを更新しました。システムテキスト(毒や麻痺など)と同名の画像ファイルをimageフォルダに入れるとそれに置き換わります。ダメージ数値画像も変えれます。
  • debug_paper.txtにこの様に記すと任意サイズのウィンドウで起動できます。数値と文字列はくっつけてください。横幅数値を大きくしてもスクリーンサイズ以上にはならないように修正しました。
width1200
height600
  • midiの変音を軽減する機能を追加しました。debug_paper.txt
midi2
としてください。2は他の数値に出来ます。数値が大きいほど起動時間が長くなりますが変音が減ります。
  • debug_paper.txt
margin
と記すとテキストウィンドウが縦4行になります。

ボイスについて

  • voice構造体内の @ 以下のファイルはキャラ同士が重ならないよう順番待ちして再生されます(wav拡張子無しで指定)
  • unit構造体の dead、retreat のファイルはすぐに再生されます(wav拡張子無しで指定)
  • skill構造体内の msg のファイルもすぐに再生されます(wav拡張子無しで指定)
  • unit構造体のjoinでは@が文字送りの意味を持ってるので区別させる為にjoin = こんにちは@hello.wavのように@は一つにして音声ファイルは.wavをつけて一番最後に記してください。

グローバル変数

gread(任意のグローバル変数名, 数値変数名)
gread(任意のグローバル変数名, 数値変数名, 文字変数名)
グローバル変数(全ゲームプレイで使える共通データ)をそれぞれの変数に読み込みます。
gwrite(任意のグローバル変数名, 数値)
gwrite(任意のグローバル変数名, 数値, 文字列)
グローバル変数(全ゲームプレイで使える共通データ)を書き込みます。
グローバル変数の文字列は英数字だけです。全角文字は使えません。

グローバル変数の使用注意
gwrite(aaa, 5) と gwrite(@aaa, 5) では意味が異なります。
前者は「aaa」という識別名で5の数値が保存されますが、後者は空の識別名で保存されます。
事前にsetv(aaa, bbb)としてると gwrite(@aaa, 5)は「bbb」という識別名で5の数値が保存されます。
gread(aaa, var) と gread(@aaa, var) も同様です。この二つも意味が異なります。
引数の「任意のグローバル変数名」を青文字にしてるのはその為です。

グローバルデータに、
「show@シナリオ」「show@勢力」「show@ユニット」を1で書き込むと
enable_select = off 指定が外れて表示されるようになります。(0で非表示になる)
(例) gwrite(show@goto, 1) gwrite(show@scenario8, 1) gwrite(show@kingdom, 1)
「mark@ユニット」「mark@勢力」を1で書き込むと
開始時のキャラ選択時にimageフォルダにある文字列名の画像をマークとして付ける事が出来ます。
(例) gwrite(mark@goto, 1, nextmsg.png) gwrite(mark@p1, 1, nextmsg.png)

addstr(文字変数, 文字列)
文字変数内の文字列に、第二引数の文字列をつなげます。
(例)
set(aaa, mark@)
storePlayerUnit(bbb) ※ゴート3世がプレイヤー。文字変数bbbの中身は「goto」となる。
addstr(aaa, @bbb)   文字変数aaaの中身は「mark@goto」となる。
gwrite(@aaa, 1, nextmsg.png)  こうするとゴート3世のキャラ選択アイコンにマークが付く。

以前のいろいろ

  • scenario構造体に「save_name = 文字列」でセーブウィンドウでのシナリオ名を設定できます。
  • scenario構造体にno_autosave = onとするとそのシナリオは自動セーブしません。
  • event構造体にpersonal_battle = onとすると画面下の全部隊ウィンドウが人材プレイ時と同じになります。
  • unit/class構造体に、assist_skill = (スキル, スキル, ‥) を追加しました。メンバーからリーダーに付与できます。
  • leader_skill、assist_skill にスキルセット名が使えるようにしました。
  • attribute構造体に@dispel@ = 10の様にすると任意の数値を標準値にしてステータス欄から消せます。@と@で囲ってください。
  • skill構造体にground = on*数値のようにon指定すると地形に沿って進みます。数値は0でユニットと同じレイヤー(image.datに画像がある)、1でスキルと同じレイヤーです(image2.dat)。常にユニットより下にしたいなら-1としてください。
  • unit/class構造体のfriendにallraceとすると全種族を雇用できます。
  • picture2関数を追加しました。これは立ち絵が画面からはみ出て表示できます。picture関数だと画面からはみ出ないように強制調整されます。