信長の野望 天翔記 改造綜合スレ6 [無断転載禁止]©2ch.net
以下、自分で書いてて間違ってるのをあげ忘れてたので報告
>>101
の「武将の退避」はちょっと不足してますね。
武将を退避した後、「仮」とはいえ、誕生させているので、
少なくとも、
・p武将情報
・p武将戸籍情報
・p城情報
のバックアップしておく必要があります。
p城情報は絶対必須 (浪人が誕生すると、城情報が変化可能性があるので)
あまり「イケてるかイケてないか」ギリギリは狙わず、
https://u7.getuploader.com/nobu6/download/500
みたいに、「ガサガサ」っと武将・城・軍団・大名を退避しておいて、
「ンゴゴゴ」っと一気に戻す、みたいにした方が漏れがなくて安全。 北海度と東北の海をもっと広くしようと思ったけど
野戦マップ編集しんどくて断念したあああ
もっと海戦がしたいぉ 戦法決定アルゴリズム(仮)を作っているのですが、
更に良さそうな案はありそうでしょうか・・・
・既に30種類は決めていて、攻撃・回復・補助攻撃に分類。ID設定を行っている
・武将個人の追加セーブデータ枠に
「戦法01」「戦法02」「戦法03」・・・と組み込んでいて、
戦法01 = 7;(攻撃前に敵を混乱させる)
戦法02 = 4;(攻撃前に敵の士気を半減する)
戦法03 = 1;(敵へのダメージ2倍攻撃)
のように決めていく
・戦法は、void カスタム::On_被ダメージ時で実行することを想定
・補助や回復によってはターン変更時になることも 現在は
int 戦法ID = -1;
if(闘志が蓄積){//◆闘士もどこかで用意
if(ランダム ==1 ){
戦法ID = 戦法01
}else if(ランダム ==2 ){
戦法ID = 戦法02
}else{
戦法ID = 戦法03
}
}
//実際に戦法IDを元に決めていく
if(戦法ID == 1 ){
ダメージ兵数 *= 2;
}
else if(戦法ID == 2 ){
//敵の士気を減らす処理
}
見たいな感じでランダム決定していますが
戦法の数が今後50,100と増えることを考えるとこの形式には限界がありそうです
本人の性格(熟練度・義理・思考・職業他)で優先度を変えたり的確な判断ができるようする
(昔のドラクエではアルゴリズムがあったと思います?)可能性を考えると何かありそうな感じもしますが・・・ >>153-154
http://xn--rssu31gj1g.jp/?page=nobu_mod_the_tsmod_detail_job
既存の職業なしの人物の上に、色々表示しているみたい
おそらく、現時点ではスキルみたいなのは存在しない模様
(ScenarioModで職業データみたいなものを別途設定するのは可能。
隠密なら勢力下で内応中の人物を見つけ出す、などが作れる) >>155
ありがとうございます!
質問ばかりで申し訳ないですけど 明智光秀を1560年のシナリオで最初から登場させるにはどうすればいいでしょうか >>156
それは、簡単なようで簡単ではないです。
■ムズイりゆう@
もしも、1300人のデータが読み込まれている上で、
「この子は登場」「この子は待機」みたいな、データ管理になっているのであれば簡単なのですが、
天翔記の場合、
・このシナリオでは全員で何人待機しています(taikiというファイルにある)
・今、「先頭から」何人まで登場しました。(天翔記プレイ時のメモリとセーブデータにある)
という管理になっています。
・待機武将からCさんとFさん登場、とかではなくて、
先頭から何人登場という管理に過ぎないところが古いゲームらしいところです。
■やるとすれば
・明智光秀と同じデータ構成の武将でScenarioModで誕生。
ゲーム的にも、それは明智光秀と認識しますし、各種イベントも発生します。
しかし、ゲーム側本来の挙動となる待機武将から登場の明智光秀もまた登場してしまいます。
これを防ぐ手立てがScenarioMod層では難しいかと思います。 ScenarioMod ver3を策定中とtwitterにありましたが
それにより新たに出来そうな内容は何かありそうでしょうか? >>156
これは、なんとかなりそう。
基本的には、「Set_武将誕生(顔番号::明智光秀)」で産んでもらい、
能力値などを明智にした後、どこぞの大名家に帰属させてください。
その後、本来の「待機武将」からの流れをある程度制御できるように、
ScenarioModでしました。
(現在、実装概要は終えて、実際にScenarioModで記述した際に弊害が無いか確認する段階) >>158
ゲーム機能的には「追加は一切無い」です。
Modとしては「マルチスロット型」になります。
1つのScenarioMod2が複数のScenarioMod3を実行出来る形となります。
常にScenarioMod2が強化され、
そのままScenarioMod3として参照可能になる、
といった感じです。
現代のプログラミング技法(C#)に沿った
記述で書けるようにするための仕組みです。
(これまで通りの場所に、これまで通りC++/CLIで記述することも出来ます。) TSMod/ScnearioMod 更新
主に >> 156 のようなことを実現するため。
・(特定の)待機武将が登場するのを拒否などの実現
・待機武将や仮想武将が登場したタイミングで何か処理を実行できる場所として
http://天翔記.jp/?page=nobu_mod_the_snmod_update いつも楽しく利用させていただいております。少々気になる点を見つけましたので報告します
環境はTSMod ScenarioModともに最新バージョンです。
ScenarioMod v2.7.8.3 で追加された「Set_軍団独立」の関数を利用したところ、
1.独立はできるが家紋が本来と違う
2.家紋が設定されない事がある
3.1.2.には再現性がある
という症状が現れました。
具体的な状況は
1.シナリオ6関ヶ原前夜でニューゲーム
2.「Set_軍団独立」関数をゲーム内から呼び出す
※当方は「メニューアイテム追加」関数で追加したメニューから呼び出しました
int iGundanID = 選択軍団ダイアログ表示(Get_軍団番号リスト【配列用】(), カラム::軍団::軍団長);
Set_軍団独立(iGundanID);
実際はエラー処理やダイアログ表示などありますが、上のような処理をしています
3.1)徳川家第2軍団伊達正宗 独立 →家紋:南部家
2)徳川家第3軍団結城秀康 独立 →家紋:南部家
3)徳川家第4軍団福島正則 独立 →家紋:なし
4)徳川家第5軍団前田利長 独立 →家紋:津軽家
・・・
4.データロードして3.で独立させる軍団を変更しても1番目に独立する家紋は南部 2番目も南部…という状況はかわらず 当方で解決を図ったところ、該当箇所ではないかと思われる部分を発見しましたので一応報告しておきます。
ScenarioMod 軍団情報型.cppの770行目
p大名情報[iSelfDaimyoID].家紋 = p武将情報[iSelfDaimyoID].所属血筋;
770行目の真下に
if (p武将情報[iSelfDaimyoID].所属血筋 == 0xFF) {
p大名情報[iSelfDaimyoID].家紋 = 使用されていないランダムな家紋番号;//家紋最大数:159
}
というような処理を挟んだところ、少なくとも家紋が設定されないという事態は解消したと思います。
家紋が本来と違うという部分は未解決です。 もう1箇所不具合?を発見しましたので報告します。
症状:商人武将で交渉が100%成功しない
状況:1.ScenarioModから「Set_武将誕生」関数で新規武将を作成
2.作成した武将の 職業:商人 技能:弁舌を習得済み とそれぞれ設定
3.2.の武将で購入・売却どちらでも値切り・ふっかけが成功した会話が展開される
4.実際の数値の増減を見ると成功したり失敗したりしている
TSMod設定キットの機能 〜職業編〜には、
商人武将が、購入・売却をすると、「値切り」「ふっかけ」が100%成功する。
その際には、該当武将が「弁舌」の能力を持っている必要がない。
とあります。新規武将限定でそうなるのか弁舌がない場合はどうなるのかはまだ試していませんが、先に上記のみ報告します。 >>162-164
バグ報告ありがとうございます。
■家紋
「これ血縁そのまま代入するとヤバイなー」と思いながら「一旦デバッグとしてこれで」と
したままリリースしていましたw
武将→家紋への計算方法(もしくはデータのありか)
今のところ把握していないので、
適当な簡易版を用意して代用します。
本来天翔記で武将が独立した際の家紋の選びかたとは、
異なる選び方とはなってしまういます
ScenarioModの別更新とタイミングが被ったので、それと併せてリリースします。
■TSModの「商人属性が付いた武将」と「商人」との交渉の不具合
・交渉後、取引成功の会話内容なのに、突然怒り出すことがある
・交渉後、取引成功の会話内容なのに、商人有効度の上昇値としていない
の不具合を修正しました。 信長の野望天翔記 シャッフル
でおもしろ記事がヒットしたけど
DL出来ないのかなぁ >>168
TSMod/ScenarioMod 両方更新しました。
http://天翔記.jp/?page=nobu_mod_the_snmod_update ありがとうございます。環境が復活したのでScenarioMod確認しました
GitHubの方のTsmodソースコードがOn_シナリオデータ反映直後のものとなっていて
最新のもののではないみたいです >>171
GithubにTSModの最新のソースあげときました。
oniguruma部分がコンパイルしにくいような感じになっていたので
プロジェクトの位置関係とかを修正。
(配布ファイルからでは見えないプロジェクトを指し示していたっぽい)
oniguruma→TSModの順番でプロジェクトをReleaseコンパイルすれば
2013/2015/2017でコンパイル出来ると思われまする。 >>.jp様
>>169で修正されたはずの不具合を再度確認しましたので報告します
TSMod・ScenarioModともに最新Ver
ScenarioMod.dllは抜いて検証しました。試行回数が少ないのはご了承ください
シナリオ:桶狭間の合戦
使用武将:蛎崎季広
蛎崎家でニューゲームし、そのままセーブ
セーブデータエディッタを用いて職業を商人に変更
弁舌:無し
取引が終わるたびにセーブデータを読み込み、再度取引するという方法をとりました
-------------------------------------------------------------------------------------------------
取引内容:購入・米 値切る
米相場:1.5
購入数1028・普通に買った場合の金額1542
1回目:値切り成功 セリフ:「金1080しか持っておらんのだが何とかならんか」 商人好感度+1
2回目:値切り成功 商人好感度+1
3回目:値切り失敗 値切らず購入した場合と同じだけ金減少。会話は成功時と変わらず 商人好感度+1
4回目:値切り成功 商人好感度+1
5回目:値切り失敗 会話など3回目とまったく同じ 商人好感度+1
-------------------------------------------------------------------------------------------------
取引内容:売却・米 ふっかける
売却数1000・普通に売った場合の金額1125
1回目:ふっかけ成功 セリフ:「金1350で頼みたいのだがいかがであろう」 商人好感度+1
2回目:ふっかけ成功 商人好感度+1
3回目:ふっかけ成功 商人好感度+1
4回目:ふっかけ成功 商人好感度+1
5回目:ふっかけ失敗 普通に売却した場合と同じだけ金増加。会話は成功時と変わらず 商人好感度+1 セーブデータエディッタを用いて弁舌習得。その他条件は同じです
弁舌:有り
取引内容:購入・米 値切る
1回目:値切り失敗 値切らず購入した場合と同じだけ金減少。会話は成功時と変わらず 商人好感度+1
2回目:値切り成功 商人好感度+1
3回目:値切り成功 商人好感度+1
4回目:値切り成功 商人好感度+1
5回目:値切り失敗 商人好感度+1
取引内容:売却・米 ふっかける
1回目:ふっかけ成功 商人好感度+1
2回目:ふっかけ失敗 普通に売却した場合と同じだけ金増加。会話は成功時と変わらず 商人好感度+1
3回目:ふっかけ失敗 商人好感度+1
4回目:ふっかけ成功 商人好感度+1
5回目:ふっかけ成功 商人好感度+1
・交渉後、取引成功の会話内容なのに、突然怒り出すことがある の不具合は一度も発生しませんでした
ここには書きませんが、馬購入・鉄砲購入でも同様の症状を確認しました。
-------------------------------------------------------------------------------------------------
また、ScenarioModの「Set_武将誕生」関数で作成した「職業商人・弁舌あり・女武将」の場合において、
上記の症状とは別に「値切る・ふっかける」をした際に
・数値の増減が一切なく
・交渉にあたった武将が行動済みになる
・商人は怒っていない
という症状も確認しました。
検証が不十分かと思いますが、今までに遭遇した症状の報告になります。
.jp様の方でも確認していただければ幸甚です >> 178
バグ報告ありがとうございます。
たびたび商人武将の所バグっててすみません。
TSMod更新しました、ver 2 7.9.6
既存の実装ポイントではこねくり回してもバグが治らないので、
一番いいポイントとなる
・そもそも、この商取引は、「大成功、横ばい、失敗」のどれになるのか、
っていうサイコロの部分だけ上書きするようにしました。
綺麗に値が反映されると思います。 >>.jp様
いつも素早い対応をありがとうございます。
ささ、この乙をお受け取り下され 鈴木家で一家プレイ
親父が鉄砲Sになれば一勝引きこもれる
引きこもりに適した場所はどこだろう
そこを抑えておけば後ろの領土は荒らされないってのが理想 >>182
このスレ流に話題を変えるなら
・兵科C以上の鉄砲が戦闘中に使えなくても?(鉄砲使用不能)
・敵に鉄砲を叩き割られても?(兵科足軽化)
・本丸に固まりすぎると城下町を荒らされても?
天下創生だと籠城する敵をおびき出す為に、CPUが
領内の建物を焼いていたっけ 何とか鉄砲隊とかあるけどこれは名前だけ変えてるだけ?
あと槍持ち武将も攻撃力補正とかかかるの? >>188
「弓」と記載のある人以外は、名前変えてるだけ。
勢力(や血筋)・身分・能力・職業・兵態(兵科)・兵科適性
などのうち、特定の条件を満たす武将は、兵科名が変わる感じ。
弓ぐらいの追加仕様のインパクトないと、
少々能力補正かけても、
実践上の感触として得られなかったという… >>189
能力補正というよりは、自分の場合は
TsModをすこし調整して煽動の結果を忍者ごとに
特定のものが出やすいよう設定してみたりしました
能力補正の場合は攻撃判定の中に
・士気低下を起こさせる判定を数回ほど用意するとか
(15〜30%の確率で士気が2低下の判定が3回発生。最大9まで低下)
・弓攻撃の攻撃によっては技能や間接攻撃が数ターン使用不可能になる
(昔の任天堂とスクウェアの合作RPGであった様な…)
攻撃力補正とか、追加仕様とかは考えているだけでも飽きません
姫武者とかいう特性の在り方に疑念を抱いた故、
逆に「敵部隊が女性の場合、大ダメージを与える戦法」を考えたほどです
あまり過度に能力補正を勢力ごとに考えていくとゲーム性に偏り
歴史ゲームであることから逸脱しかねない可能性もありますが
「技術」コマンドを自作してやりくりすればまだ問題はないかと スレに直接は関係ないけど来月12日にサムライ・忍者フェスティバルあるのな
ところが、大変な事になっててさ
チラシの裏側を見てたら各地のおもてなし武将隊が集まるみたいで、その中に
徳川隠密隊
って書いて写真付きw
隠密なのに・・ スレには関係ないんだけど、と前置きするとスレチでもかまわないのか >>192
ごめん、書き込み少ないからなにかしら書こうかと。以後、控えます NHKにて
あけおめ!声優大集合「あなたの好きなアニメキャラ」投票開始!
けものフレンズ12.1話にも投票可能!
投票期間:10月20日(金)〜11月19日(日)午後11時59分
http://www.nhk.or.jp/anime/anime100/
サイト中段ベストアニメ100の「アニメ検索」をクリック
キーワードに「けものフレンズ」と入力して検索
TVアニメ けものフレンズ
その他 けものフレンズ12.1話
が表示される
5回投票できるので、
ばすてきに 博士 助手 アライさん フェネック
本編に好きなキャラで投票がおすすめだ
止まるんじゃねぇぞ
https://i.imgur.com/usa9I1W.png 本スレで上がっていた話題について
>cpuの戦仕掛をもう少し程々に
自己流の解決策なので何とも言えないが以下の方法があったり
@戦争に使う行動力を勢力ごとに変化させる
例)戦争行動力は30となっているとする。勢力Aのターンになると戦争行動力は50になる
(勢力Aのターン終了後に30に戻る)一方、勢力Bのターンになると戦争行動力は40になる(ターン終了後に30に戻る)
A大名家ごとに、ゲーム開始時に元の勇猛値をセーブデータ領域に保存させておき
現在の勇猛値は元の数値を1マイナスしたものとする。条件によって、勇猛値はプラマイしていく
>・武将の寝返り過ぎを修正
http://天翔記.jp/?page=nobu_mod_the_snmod_methodref_on_custom_syodan_result
捕虜の登用可否で変える事が可能
敵大名がアイテムを持っていると必ず登用できる・・・といったことも可能だったりする
>・騎馬隊をもう少し強く(烈風伝並の騎馬隊とまでは言わないが)
>・元服した武将がなかなか太刀打ち出来ないのをもう少し修正
http://天翔記.jp/?page=nobu_mod_the_snmod_methodref_on_battle_damaged
受けるダメージ量を替えてみたり、混乱発生率を高めてみたり
http://天翔記.jp/?page=nobu_mod_the_snmod_methodref_on_custom_totsugeki
適正が高い場合、兵が0だと死にやすくなるとか シンフォニック、ゲーマーズ2
いい感じに、少しだけアレンジ入った天翔記の曲が、オーケストラ演奏で流れてるねぇ。 ☆ 私たち日本人の、日本国憲法を改正しましょう。現在、
衆議員と参議院の両院で、改憲議員が3分の2を超えております。
総務省の、『憲法改正国民投票法』、でググってみてください。
国会の発議は可能です。お願い致します。☆☆ 側室制度ってどうなんだろう
天翔記にうまく流し込めるのかなあ
大志のデモ版を見て感じたり 今更ながら城MAP打ち直しスゲーな・・・
作者さんありがとう http://天翔記.jp/?page=nobu_mod_the_snmod_dotnet_04
天翔記の画面の上にレイヤー層を設け、画像を描く
というのがありますがここまで複雑ではない、
一枚絵を連続させるスプライト方式の感じのものも、同様の作り方で作れるのでしょうか?
それとももっと簡単に作れるのでしょうか?
(メッセージ表示時に顔グラフィック上に表示させることを想定させています)
(天下創世の捕縛・戦死時に出てきた効果グラフィックもスプライト方式でした) ゲーム描画面に直接描画するのは、
デバイスコンテキストがクリアされる・されないの問題を含むので、
ScenarioModの層でゲーム描画面に直接ってのは、
描画しても一瞬でクリアされて、
ちょっとムズイと思いますねぇ。
(TSModみたいにある程度デバイスコンテキストの描画が止まるタイミングの
コールバック関数を本体に対して多数打ち付けてたら別なんだけれども…)
ref class hGlobalMng {
public:
static System::Drawing::Graphics^ g;
static System::Drawing::Image^ img;
};
string カスタム::On_噴出メッセージ直前(string 武将名, string 元メッセージ, メッセージ関連情報型 メッセージ関連情報) {
HWND hWnd = FindWindow("Tenshouki95", NULL);
hGlobalMng::g = System::Drawing::Graphics::FromHwnd((IntPtr)hWnd);
IO::FileStream ^fs = gcnew IO::FileStream(L"a.png", IO::FileMode::Open, IO::FileAccess::Read);
hGlobalMng::img = System::Drawing::Image::FromStream(fs);
fs->Close();
// Draw rectangle to screen.
hGlobalMng::g->DrawImage(hGlobalMng::img, 30, 50, 64, 80);
if (武将名 == "真田幸隆") {
return "マジかよ…最悪だぉ!!";
}
// 変更しない場合""
return "";
}
とかすれば一瞬は描けるだろうけれども、すぐクリアされるはず。
となると、結局 http://天翔記.jp/?page=nobu_mod_the_snmod_dotnet_04 の方がコントロール効くだろうなぁとは思いますねぇ。
というか DrawMyImage() メソッド以外は
「天翔記のレイヤーの上にアクティブにならないウィンドウを作る、背景が(一見)透明なのでマウスが突き抜ける」
という部分なので仕方がないかと。
(むしろ、こんな短い行数でそんなこと出来るんでっかぐらいの勢いだと思います) 城のは、コツコツ城めぐりしてる方なんだろうなぁ、
という感じがあるねぇ。 >>204
ありがとうございます。見た限りでは
天下創世などの後作で発生した捕縛や戦死時の
エフェクトの発生は難しそうなのでしょうか(簡単な感じです)
https://youtu.be/oHf-6RO-FYU
天下創世のプレイ動画で9:11秒のエフェクトはスプライトだったと思います >>206
そうですねぇ。そんなには簡単に書けないですねぇ。
・様々な2D/3Dのコンポーネントオブジェクト的なものを、汎用的にGameObjectとして
みなせるところまでいっていたら簡単に出来るでしょうが、
それはゲーム制作特化型のエンジン級なので。
いくつか多分考え方はあります
・今のScenarioModの「画像ダイアログ(タイマー付きオプション指定)」で、
単純な表現なら出来ると思いますが、
pngのアニメーションに対応していないので、画像がいきなりペロッと出るだけになります。
pngではなく、gifファイルも多分表示できます、
それをうまくこしらえて代用するとか…
(透明色も出来るが、αチャンネルは1ビットしかないはず)
・ガチでやるなら、TSModのFuncImagePngDialog.cppの
StartPngDialog
EndPngDialog
_WaitPngDialog
の構成をまねて、「pngアニメーションファイル」に対応するのが一番簡単かな、と思います。
これはデバイスコンテキストに描画して、その間ゲーム進行&描画進行を止めるので、
比較的変なことにはなりにくい。
・Form系ではなく、WPFを上からレイヤーとして被せれば、グラフィカルなことやアニメーションは
結構やりやすくはなるでしょうが、天翔記本体との連動が(同じスレッドではなくなるので)
一層大変になるかと。 あー gifアニメは画像ダイアログ表示では、
アニメーションしない模様… >>207
メッセージ表示中以外にも、On_攻撃方法決定時《戦争画面》や
戦闘中のターン変更時にも使い可能性を考えると
pngアニメーションファイルに対応していくほうが自分でも良さそうと思います >>209の内容と関連するのですが
pngアニメーションファイルに対応した時も、画像ダイアログのようになるのでしょうか
連投すみません 私が対応実装するわけではないですが、
ちゃんと動作させようとすると
画像ダイアログ表示のような
モーダルな性質を持たさざるを得ないと思います。
(天翔記とtsmodがデバイスコンテキストへの描画を極めて頻繁に全部クリアする傾向があるので)
そしてそれは一般的には上に重ねて
マクロでは同期的だがミクロでは非同期のような表現とは
相性が良くないです。
普通に一からアプリ作るなら、
上みたいな表現は簡単な部類だけれども、
天翔記に乗せる上では
描画面縛り、消されてしまう対処
別の描画物がうわがいてくる対処
非アクティブ縛り、とかいろいろあるので
難度が跳ね上がってる感じですねぇ 思っていた以上に難しそうな感じですね…
描画を頻繁にクリアする必要性があるとなると負荷もかなりかかりそうですので…
一枚絵をフリーで見つけて、これで代用するのが無難という感じなのでしょうか
(昔の作品は全部こんなかんじだったかと)
他にも良さそうな方法はありませんでしょうか…(>>202のリンク先の内容を工夫して、戦闘アニメーション専用のレイヤーを作るとか) 何かをしたらクリアする必要がある、なので重くなる、といよりも、
現状ですでにクリアしています。
難しそうでいて、やったら一番早いだろうな、と思うのが、
やはり
TSModのFuncImagePngDialog.cppの
StartPngDialog
EndPngDialog
_WaitPngDialog
をコピッて、1枚のpngではなく、連番のpng(描画と消去をどんどん違うpngに対して行う)への対応から実験してみる、
(描画→消す→描画→消すを繰り返す)
というのが一番手堅いのではないかと。
結局、アニメーションpng再生関数などという汎用的なものは
この世には存在しておらず、
アニメーションpngを分析→各pngと分母時間と分子時間(ようするに表示時間)に
分けるという作業が入るだけなので、
まずは、連番pngで成立するのか、とか
あるいは、画像ダイアログ表示の関数に短い時間(100フレームとか)を指定して
切り替えていくとどうなってしまうのか、とか。
その辺から実験してみてください。 >>213
画像ダイヤログの関数を短くした所、
画像ダイヤログの関数のみでもアニメの表示自体はうまくいきましたが
(複数の絵を連続して短期間で表示することに成功)
https://img.atwikiimg.com/www19.atwiki.jp/nobu6/attach/37/3/kouryaku.gif
上のようなメッセージ画面での表示は難しいです(多分他のダイヤログが表示されているからです)
メッセージ画面での表示自体はレイヤーを使った方法によって出来ましたが、ゲーム自体が重くなる他
複数のレイヤーを必要とするのが欠点となってしまいました…
やはり難しいのでしょうかorz(最悪、レイヤー表示を工夫する方式でも良いので…) それは結局は、
顔の表示開始と終了のコールバック関数も必要といった話になります。
(そうしないと、顔が表示されてる間隔はマウスの押し具合や設定のメッセージスピードでも変わるので。)
天翔記のそこにちゃんと描画するのは易い話しではなく難度たかいかと。
(多分自分でないとちゃんとしたものは出来ない) あり得ないほどてきとうなつくりになるけれど、
同じプロセスではなく、全く違うプロセスプログラムとして作り、
topmostだがアクティブにならず、
(このへんはレイヤー版の考え方とおなじ)
とかでつくれば
難度はかなりさがる。
天翔記で会話が来たら、その外部プログラムを
引数でもつけて実行する とりあえず、c#でフォームを作成、
this.opacityは0.5とか
this.topmostはtrueとか
Timerを作り、3秒後に自動でフォームを閉じるようにする。
書いたことなくても、今までscenariomod書いてきてるなら
グクれば余裕でc#のフォームの基本程度は
見よう見真似で書けるので。
フォームがアクティブにならないとか、
天翔記のウィンドウに追従とかは後でいいので
で、それをscenariomodから呼び出す。
c++外部プログラムの実行とかでグクれば
いっぱいででくるので。
shellexecuteとか、もしくはProcessStartInfoてばらめた決めてProcess.Startか
自分は出先な上、明日49にちのモシユなので
もう寝ます。 >>214
とりあえず、の概要がわかるものだけ。
https://u7.getuploader.com/nobu6/download/503
これだとpng自身が持つ半透明要素が無視されてしまうので、
よくないのだけれども、217って何いってるの?ってのはわかるかと。 あとは、http://天翔記.jp/?page=nobu_mod_the_snmod_dotnet_05
219のをWPFで作った版なので、αチャンネルを含んだpngが重なっても
上手くいくかと。 >>219-220
出先の所、申し訳ありませんでした。
ありがとうございます。
一日かけて、formの作り方や、半透明化について
色々やってみて出来そうなところまで進めた上で、>>220の内容を
確認した所連続表示が可能になりました
利用法でとして下記のような方法もアリなのでしょうか。haru.pngを表示して閉じてから、
GlobalSpriteProcess1という全く同じものを作りharu1.pngという画像を連続して表示させる感じです
両方ともSpriteWPFTS95.exeから実行させています
(もしかしたらSpriteWPFTS95.exeの別名プログラムを準備して、
そこからGlobalSpriteProcess1を作りharu2.png実行した方がいいのかもしれませんが)
void カスタム::On_プレイヤ担当ターン《メイン画面》() {
if (p年情報.季節 == 季節::春) {
GlobalSpriteProcess::StartProcess("kisetu_haru", "haru.png", 200, 2000, 200);
GlobalSpriteProcess1::StartProcess("kisetu_haru", "haru2.png", 200, 2000, 200);
}
} >>221
SpriteWPFTS95.exe を複製する必要はありません。
(二重起動防止とかないので)
GlobalSpriteProcess1 などというのを作る必要もないです。
StartProcess( "***", "filename", .... ) の最初の文字列が
「識別文字列」 になります。
その文字列に対して1つプロセス( SpriteWPFTS95.exeの実行プロセス )が割り当てられます。
GlobalSpriteProcess::StartProcess("my_label1", "haru.png", 200, 1000, 100);
GlobalSpriteProcess::StartProcess("my_label2 ", "aki.png", 50, 2000, 300);
などで問題ありません。
(png自体が持つαもこみこみ、フェイドイン・フェイドアウトのαも込み込みで、
2つ並列で全て上手く重なる) あ、但し、どちらが上になるか、といったことは保証できないです。
どちらももっとも上に描画しようとするので、
後にProcessを「実際に起動した方」が上になるとは思いますが、
プログラム上で下に書いているからといってProcessが後に起動するとは限りません。 あ、表示して、閉じてから〜 ということであれば、
プロセス終了を待ってから、次のプロセスを起動する形となります。
並列でもあまり問題はないので、並列にした方がいいかも。 >>222-224
ありがとうございます
画像1枚ごとに、GlobalSpriteProcessを1つずつ作る…ということにならず安心しました
(それも別にヘッダーファイル化でいいかもしれませんがあまり大型化も…)
>>222のその方式でもう一度試してみた所、連続したアニメーションが表示されました
(テスト用の128*128画像を6枚を連続して使用)
他にも応用できそうな事がありそうなので色々、自分で試して判らない部分がありましたら
別途投稿します TSModの曲モード設定について質問です。
'environment_bgm_mode'にて、_inmm.ini指定の曲を流そうと、「2」に設定し、
38曲構成で行うとのことですが、分布表を見ると01、22、28については「−」となっており、
これはファイルと記述を設定しないということなのでしょうか。
例えば、「01 トラック1.wma」というファイルを指定の場所に置き、
_inmm.iniファイルの先頭に「(パス名)\01 トラック1.wma」と記述してあると、
ゲーム起動画面(ロゴの後)でオープニングの曲(01 トラック1.wma)は流れます。
けれども01の記述とファイルを削除すると別の曲が流れます。(ちなみに流れたのは9番目、山陽地方に設定した曲;09 トラック7.wma)
ということは01の記述とファイル設置は必要ということでしょうか
一番やりたいことは、「征夷大将軍就任後のBGM」を変更したいのですが、
これは「新幕府」で39番に指定されていますよね?
けれども記述もファイル設置を行っても音が鳴りません。他の曲は鳴ります。
一番変更したいことだけができていない状況です。一時間ほど格闘していますができません。知恵をお貸しくださいlol こうしたら、再生できるかも?39番目の曲が流れると思います(ScenarioMod導入を前提。導入しないのでしたらすみません)
(39曲再生みたいなのでなので
【if ( Get_TSMODTXT設定("environment_bgm_mode") == 2 ) { 】
は省略)
参考
http://天翔記.jp/?page=nobu_mod_the_snmod_methodref_on_bgm_play
int カスタム::On_音楽再生直前(int 再生予定番号) {
if (2 <= 再生予定番号 && 再生予定番号 <= 12) {
int iDaimyoID = pターン情報.現在のターン【大名番号】 - 1;
if (0 <= iDaimyoID && iDaimyoID < 最大数::大名情報::配列数) {
if (Is_プレイヤ担当大名(iDaimyoID) && Get_大名役職(iDaimyoID).役職 == 役職::征夷大将軍) {
return 39;
}
}
}
return -1;
} 39番ですが、征夷大将軍なだけではだめで、なんかもう2つぐらい条件があるかも。
京都(室町御所(二条))を支配下にしつつ、かつ、京都(室町御所)に居てはダメみたいな条件かな?
曲番号が(39)に変化しているのは、アセンブラ上でも確認できましたが、
上の条件をみたさないと、(37:京都)や、他の番号(対応する各地方の番号など)が再生されるみたいです。
(詳細まではしらべていませんが、ざっくりとは) >>227
>>228
アドバイスありがとうございます
教示いただいた方法や、もう少し色々試してみます
せめて安土城のように威厳のあるBGMだったら良かったのですが‥
最悪、征夷大将軍の推薦を受けないという方向も (^^; あと、他だと、_inmm.ini の方は、22と28に相当する部分は「空行」になっていますか?
┌ 38曲タイプの_inmmの例
https://u7.getuploader.com/nobu6/download/505 >>230
ありがとうございます、_inmm.iniで空行になっていなかったのを修正したら音が鳴りました。
征夷大将軍の推薦を受けたらちゃんと切り替わりました。
アドバイスを下さった◆dF/TZIT8Xwさんと.jpさんに感謝します
あと補足で‥「○○じゃ全国統一を成し遂げることなくこの世を去った‥」のときに流れていた切ないBGMがあったと思うのですが、
いつしか最後のED曲(歌あり)が流れるようになっていますが、
本来の死亡のBGMはPK番にもありましたっけ‥?BGMの方にしたいのですが。
一応ノーマル版天翔記CDもあるのですが 多分本来の天翔記のBGMは、効果音の
ID「19」、リソースID「620」のことを指していると思います。
リソースハッカー(http://www.angusj.com/resourcehacker/)など、
リソースファイルを内包するdllを編集することが出来るツールを利用して、
天翔記フォルダにある、n6pwav.dll を開き、
WAVE
620
1024 を右クリ等して、WAVEファイルに保存可能だと思います。
これを_inmmにて滅亡時の音楽として指定してください。 あ、もし Visual Studio が入っているのであれば、
Visual Studio を使って、リソースハッカーと同じことができます。
メニューから「ファイル」「開く」「ファイル」と進んで、n6pwav.dll を開き、
WAV→620 を右クリックして エキスポート。
ファイル名付ける際に、(.binではなく) a.wav などとすれば、
普通にwavファイルとして再生可能なものが取り出せます。 >>232
無事にwavファイルとして保存できました!
ありがとうございます。これでまた一層に天翔記を楽しめそうです (^^ フルカラー「汎用姫」顔キット入れてみたんだが、姫武将モードにするとなぜか改造前の顔になってしまう…
導入後に何かしなければいけないのか?非対応なだけなのか…? おや、ちょっと年末で見るの遅れました。
たしかに、対応出来てないですね。
セーブデータを見ると、各武将の顔番号には普通の顔が入っているので、
置換していないですね。
普通の武将の顔番号 ⇔ 姫の顔番号 というのが姫武将モードの時だけあるんでしょうね。
まぁ適当に対応してみようかなー。
なんとなく雰囲気で良いなら対応できるかもしれません。 瞬殺で出来るかと思ったら、「姫武将モード」だという情報がどこにあるのか
TSModで掴んでなかったので、また折をみてときにやっときます〜 顔合成で目と口を選んだあと、左の4×4の中から選ぶところの一番右下の顔を選ぶと顔が変わらない現象も起きています
町娘にも対応してほしいです よろしくお願いします あけましておめでとうございます。
今年もよろしくお願い致します。
(自作改造のアイディアを溜め込んだエクセルファイルがあるのでいつかうpしたい…) あけましておめでとうございます。
今年もよろしくお願いしますー。
>>239
4x4の一番右下の顔の件ですが、
選んだ瞬間は今後も上手く顔が変わらないかも。
(これは突然別の商人や全く別の男武将の顔が出てくるバグを抑えるため、
こうなってるので)
今は、メインの戦略画面に戻っても変わらないままなので、
顔編集を抜けて、メインの戦略画面に戻ったら
ちゃんと変わっるってことなら出来るかも。
「町娘対応」は番号の割当も無いので、今からだと難しそうです。 >>239
明けましておめでとう記念!
とりあえず、この4x4の一番右下を選んだ時に姫の顔がフルカラーにならん
ってのを中心に修正しました。
完璧ではないかもしれないけれども、エラーは各段に目立たなくなった…ハズ! 町娘は別グラで使うのですが、そこからも使う可能性もありますので
ありがとうございます
別スレで、勢力ごとに勝利条件を設定することについて考えてみたのですが
ゲームバランス的に、どうなのでしょうか?
(天下統一を目指さないとはまた違い、特定の勢力を複数滅ぼす、茶人中心の勢力を作り出すことを目標としている等) @値系
・金
・米
・騎馬
・鉄砲
・人口
・兵数
・石高
・商業
・城郭
・民忠
・家宝
・官位
・役職
・身分
・職業
・訓練
・士気
・兵態(兵科)
・大砲
・鉄甲船
・8種技能
・姫 or 妻
Aコストパフォーマンス的評価
・@の値の減少(投資)によって得た、成果(@の値の増加、城の増加)
B最終値の評価
・@の値のどれかについて、多数の城(もしくは武将)となっていることによる評価
などが中心になりますか、普通は。
C変わり種
「変わり種」にしたい場合は、複数回の反復プレイの方向ベクトルとは別軸となるので、
「PS4のトロフィー」、あるいは、「Steamの実績」みたいなものにしとくのが普通です。 >>244
ありがとうございます。
勢力ごとに、内政型を目指した勝利や軍事大国型、誰かと婚姻しなくてはならないという
条件といったことが出来そうであると感じました。
逆に、敵のコストパフォーマンス的評価が一定値まで下がった段階を評価とするのも
面白いと思いました(NPC限定で。PCがやってきたら面白くないかも)
NPC側に、そういった妨害を行うアルゴリズムをScenarioModで備えさせるというのは
ゲームシステム的にどうなのでしょうか?
(自分としては、特定の勢力・上位職の指導者に限るなら良いとは思っている)
NPCが何処の勢力がどの勝利条件を目指しているのか認知させるのは難しそうですが… 天翔記改造スレの過去ログを見ていて500人制限を解除した際の問題点を見ていましたが
(自分としては今迄の改造が1からリセットされるなら500人でも良いと思っています)
https://kohada.5ch.net/test/read.cgi/gamehis/1357649629/948
経済数値全体の見直しが要求されるとのことでしたが
ScenarioModを使って全般的に見直せばある程度はどうにかなりそうでは
ないかと感じました(逆に言うとこれを使わないと全く意味がない)
・特定拠点の支配による金銭収入の発生を実装する
(金山を支配していると収入がありますが、それの上位互換)
・各種相場を現状よりゆるやかな物にして少しでも、ハードルを下げる
・商人武将に「現役であるだけで収入が発生する」付加価値を付ける(現実的かどうか別として)
・海沿いがある地域からも、+50の兵糧収入が【毎ターン】自動で発生するようになる(漁村扱い)
・デフォルトの貿易港の収入に城の商業規模地を基にした追加の収入を足す
・(自動兵力回復を芯としたした)募兵システムを使い、徴兵にかかる金銭を減らす
あとは金山や港以外の付加要素を複数付けてそこから収入を付けてみるとか
外交収入として友好度が高い国があるとその分だけ収入が入ってくるとか
それでも、米や金の上限が60000だと国庫みたいなものを作って
常にプールしておかないとどうにもならない気も。。。。
このページに参考となる支出がありました
http://nb6.tsuchigumo.com/ sdkも提供してるし、結構なことは可能かと。
guiとか提供すると、出来ることが神パッチみたいに凄く少なくて広がりも無くなるので。