Vahren.exe ver 6.85v の更新詳細 (6月16日更新)

http://ux.getuploader.com/vahren_ency2/download/566/Vahren.zip
いろいろバグ修正してますので最新版をお使いください。



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

海外版windowsでは実行ファイル内のShiftJISコードが正しく変換されないので文字化けしておりました・・・。
今まで気付かずに本当に申し訳ありませんでした。
海外版windowsでもプレイできるようにするには以下のようにしてください。
+ ...
(クリックで開閉)

多言語化

  • scriptフォルダに「unicode.txt」という名前の空ファイルを入れるとUnicode読み込みになります。
+ ...
  • 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です。
+ ...
(クリックで表示)
  • 戦闘シーンのステータスウィンドウ最下段の状態異常欄はアイコンに出来ます。imageフォルダに該当画像ファイルを入れてください。拡張子はpng、jpg、bmpのどれかでOKです。
+ ...
(クリックで表示)

いろいろ

  • 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構造体の説明ページをご覧ください。

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

  • MapMakerを更新しました。以前は使い物にならなかったアンドゥ機能を改善しました。
  • デバッグモードにすると「戦場マップ確認モード」がタイトルから実行できます。
  • 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関数だと画面からはみ出ないように強制調整されます。
choiceTitle(テキスト)
選択肢ウィンドウのトップバーに文章を表示します。&と&で囲った変数表示もできます。
choiceTitle()引数無しだと文章を消します。
changePowerFix( 勢力 , キーワード)
COM勢力の思考に影響します。freezeでターン行動をとばせます。
off 普通に侵攻する
on 他国に侵攻しない
home home データに列挙された領地のみ侵攻する
hold 領内の部隊を動かさず、他国にも侵攻しない
warlike 兵力差に関係なく常に攻め込む
freeze ターン行動を完全スルーする