したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |
レス数が900を超えています。1000を超えると投稿できなくなるよ。

改造・制作スレ part9

919名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2024/12/25(水) 07:49:45 ID:???
>>918
全然そういうのじゃないよ
こっちはヴィスクルムで確認したけどユニット数1000以上を超える戦闘だとバフやHP回復の表記がずっと残り続けたり、攻撃のエフェクトも消えずに残ったり、死んでも当たり判定だけ残るのかユニットが何も無い所へ接近攻撃を発動し続ける
nimizeの人もそうなったらしく最新版へ移行してないみたいだし

920名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2024/12/27(金) 01:52:13 ID:???
全然そういうのじゃなくてももっと優しい言い方してほしかった

921名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2024/12/28(土) 21:12:54 ID:???
>>919
なるほど、本家シナリオはユニット数が少ないから不具合が顕在しないのか。
最新版なのに問題があると移行しにくいですね。

私は最新版で部隊に旗が表示されるの、操作したら消えるとはいえ、ユニットが見にくくて微妙に嫌です。
人材プレイで旗揚げしたら部隊ごとに旗が違うのも不自然ですし。

922名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2024/12/28(土) 21:48:13 ID:???
部隊の旗表示といえばランダムシナリオ等で旗が表示されるのもおかしくなってるね
unit側にpower_flagが設定されてれば問題無いけど設定されてないと滅茶苦茶な旗が表示されるようになる

923名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2024/12/30(月) 02:59:56 ID:???
最新版は本当にななあしさん本人だったのかどうかも怪しいからなあ。特にアナウンスもなく、続く更新も無かったし

924名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2025/02/22(土) 04:52:17 ID:???
quickreloadとgun_delayの組み合わせで右手と左手と右肩と左肩の武器同時に撃つACみたいな挙動ができないかと半月ほど妄想していたんだけど(最近ロボシナリオがアツいし)
quickreload=onでの再行動時には「HP回復&MP回復値による回復」「そのスキル以外のgun_delayによるクールタイムを行動1回分消化」をしてしまうらしく
「gun_delay=右手武器*1、quickreload=on」「gun_delay=左手武器*1、quickreload=on」というスキルを実際持たせてみたところ
「右手武器を撃つと左手武器のクールタイムを消化→左手武器を撃つと右手武器のクールタイムを消化」の繰り返しでエンドレスで撃ち続けてしまう…
上手く調整すればいけなくもなさそうだけど難しそうだ

925名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2025/02/22(土) 05:11:06 ID:???
改善案1
gun_delayをquickreloadによる消化込みで成り立つ値に設定する。全部位が常時稼働していないと行動回数が減ってしまう(右手武器の射程が足りないだけで左手のクールタイムまで回らないとかが起こる)ので超射程で優先度の低い何もしないスキルを各部位に設定して持たせておく
→スキル欄がゴチャゴチャする、ハンドガンとスナイパーライフルでgun_delay変えたいとかなるとまたややこしいことになる
改善案2
quickreloadは諦める。gun_delayを4とかで各部位の武装を1回ずつ使ってくれるようにした上でスキルを持たせたロボを素早さがめちゃ高いユニットにする
→最初にやりたかったことと全然違うけどスマートな解決策ではある

926名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2025/02/22(土) 13:37:50 ID:???
ヴィスクルムでは武器腕系スキルや艦砲一斉射撃は複数のスキルを一まとめにした固有スキルで実装していたなあ
ただ、プレイヤー操作時限定で、機体によってはクールタイムが無いハンドガンやサブマシを撃ちたがってそれ以降のスキルを全然使ってくれない問題があるけど

927名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2025/02/23(日) 23:37:06 ID:AkVCkPE.
デフォシナでもプレイヤーとcpuで選択する戦術違いすぎてcpuだと弱い問題あるよねえ
吸血攻撃しないゾーマとか突撃しないスヴェステェンとか

928名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2025/03/18(火) 18:55:35 ID:???
今だとみんなスクリプトもAIとか使ってやってるの?

929名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2025/03/20(木) 19:03:13 ID:???
>>928
AIは使ってないというか、学習元データがないから使えない

930名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2025/03/25(火) 11:43:10 ID:hYsqbtyQ
一般のメッセージとかイベントでのガヤとか作るのには使えるかも

931名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2025/05/05(月) 03:10:32 ID:???
中立領地にaddUnitした時に追加した順に並ばなかったり攻め込んで占領に失敗するとなぜか順番が入れ替わったりとか変な現象があったんだけど自己解決できた
中立領地所属ユニットは戦功値がないように見えても内部的にはあって(addMeritsで増減もできて戦闘中ならカーソルオーバーで見れる)部隊は戦功順に並んでる
よって1部隊ずつ追加しながら戦功の大小を作ってやればその順に並んでくれるし
順番を維持したければとりあえず1戦闘で順番が入れ替わらないように段階を万単位の刻みとかにしてからイベントで毎ターン調整してやればいい

932名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2025/05/08(木) 14:13:52 ID:???
あげ

933名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2025/05/08(木) 14:14:30 ID:8RCLREOY
あげ

934名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2025/05/09(金) 12:31:37 ID:???
>>931
勉強になる

935名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2025/05/15(木) 21:37:56 ID:???
今までの叡智の積み重ねがwikiにまとめられていないのは悲しいね
part1と3以外はアーカイブも残ってないみたいだし

936名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2025/05/16(金) 18:11:25 ID:???
event内でmsgを用いた会話中に、話しているユニットの立ち絵が右側に表示されますが
これ次話すユニットの立ち絵を左に表示して、二人が並んで会話してるみたいのするので出来ましたっけ?

937名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2025/05/25(日) 22:53:51 ID:???
次に立てるときはこっちに書き換えた方が良さそう

改造・制作スレ
http://jbbs.shitaraba.net/bbs/read.cgi/computer/42292/1250722590/
改造・制作スレ part2
http://jbbs.shitaraba.net/bbs/read.cgi/computer/42292/1282244590/
改造・制作スレ part3
http://jbbs.shitaraba.net/bbs/read.cgi/computer/42292/1305281909/
改造・制作スレ part4
http://jbbs.shitaraba.net/bbs/read.cgi/computer/42292/1331214703/
改造・制作スレ part5
http://jbbs.shitaraba.net/bbs/read.cgi/computer/42292/1350187379/
改造・制作スレ part6
http://jbbs.shitaraba.net/bbs/read.cgi/computer/42292/1372172557/
改造・制作スレ part7
http://jbbs.shitaraba.net/bbs/read.cgi/computer/42292/1396009373/
改造・制作スレ part8
http://jbbs.shitaraba.net/bbs/read.cgi/computer/42292/1463836625/
改造・制作スレ part9
https://jbbs.shitaraba.net/bbs/read.cgi/computer/42292/1537276030/

938名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2025/05/26(月) 07:13:31 ID:D9oqcEbA
質問途中ですみません。一回の戦闘の味方の死者数をカウントする方法って思いつきますでしょうか?
過去ログ見る限りPushDeathがそうなのかなと思ったり…

939名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2025/05/28(水) 12:10:51 ID:WBSWIqaQ
>>936
今まで気にしたことなかった……。
案外、image/face/picture(ファイル名, x座標, y座標)から指定した方が早いかも。

>>938
戦闘前の味方ユニット数から戦闘後の味方ユニット数を引くというのはどうだろう(召喚ユニットは計算外になるが)。
『鋼の時代』の鹵獲システムは、戦闘開始時に世界中のアイテムスキルの総数を数えて、
戦闘終了時にもう一回数えて、プレイヤーが勝ったとき差額をゲットする仕組みだったはず。
参考になるかも。

940名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2025/05/28(水) 14:44:10 ID:???
>>938 >>939
死者数カウントは銃魔がすでにやってるな
あっちは禁呪の仕様のためにゲーム開始からの累積・
社会不安値のためにユニット1体ごとに値の変更もやってるから、
どれがそうなのかはちょっと分かりにくいかも知れんが…

941名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2025/05/28(水) 20:46:12 ID:zDw2zzk2
>>939>>940
既存であったのですね!召喚ユニットは対象外でいいのでさっそく参考にしてみます。
ありがとうございます。

942名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2025/05/31(土) 13:41:24 ID:???
>>941
銃魔でやっているけどpushDeathでカウントしているから参考にならない
dead_system.datのbattle_resultがそうだけど、他でやるのは無理だと思う

943名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2025/05/31(土) 17:48:03 ID:???
なぜ新規仕様をななあし神に作ってもらっておいて、情報をwikiに残していないのか?
これが分からない

944名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2025/05/31(土) 18:15:28 ID:???
もう編集履歴からも見れないけど最新版の更新詳細ページに解説載ってた時期があったはず
消す時シナリオ製作講座ページに移すとかは「たぶんななあし氏がやってくれるやろ…」(むしろ勝手にやる方がまずそう)とかみんな思ってたらなんかいつの間にか消えてた

945名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2025/05/31(土) 18:47:57 ID:???
そんなことあったんだ
当時の関係者で仕様知ってる人、追記してくれんかねぇ

946名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2025/05/31(土) 19:13:10 ID:???
WIKIのバックアップ見たら最も古いバックアップで0.685だけは残ってた
全体から見るとほんのわずかとはいえ、ここだけでも回収しといたら?

947名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2025/06/02(月) 07:03:41 ID:tMpx3x.6
>>938です。
>>942
見てみましたが、確かに参考にさせていただくのは難しい感じでした。
ご返答ありがとうございます。
敵/味方の死者数を数えるのがこんなに大変だとは思いませんでした。
getRedCount()
getBlueCount()
はif文の中でしか使えないんですもんね。
妙案あったら教えてください。

948名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2025/06/02(月) 10:40:12 ID:???
>>947
Ver7使うならdeadeventが使えるから

1)戦闘開始時にプレイヤーが攻撃側か防御側かを記憶
2)ユニットが戦闘不能になったとき、そのユニットが自陣側かを判断
3)自陣側の場合、死亡カウント数に+1する
だけでできる気はする。

ただ注意、問題点として
・召喚ユニットをカウントしたくない場合、召喚ユニットは別の召喚用ユニット構造体を設ける必要がある
・クラス構造体にdeadeventは使えない可能性がある
っていうのがあるかもしれない。

949名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2025/06/02(月) 11:01:02 ID:???
戦闘開始前と戦闘開始後の駐留数も参考にするのも、ありかもと思う。

戦闘開始前に自勢力全領土のユニット数をカウント、保存しておいて
戦闘終了後に、また自勢力内の全領土のユニットをカウントし
保存しておいたものとの差を求めるのが一番軽くて効率的で、システムも小さいから楽でいい。

物によっては多少の誤差が出るとは思うが、許容範囲だろう。
これならNPC勢力の方も気軽にカウントできるから、NPCにも適用できるな。

▼システム全般と流れ
1)戦闘開始前に、カウントする勢力の勢力名を文字変数Aに格納
2)確保した勢力が持つすべての領土を文字変数配列Aに格納
3)確保した領土のすべてのユニットを文字変数配列Bに格納
4)文字変数配列Bの要素数を数値変数Aに格納
5)戦闘を行う
6)戦闘終了後、該当する勢力に対し1〜3を繰り返す
7)戦闘終了後に更新した文字変数配列Bの要素数を数値変数Bに格納
8)数値変数AとBの差を求める。
9)その差を死亡カウント用の変数に加算

メソッド15行もいかんなこれなら。

950名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2025/06/05(木) 21:55:00 ID:???
なんなら戦闘前と後にstoreUnitOfPowerしてsubvで引くくらい簡略化してよくない?と思ったけど
元のユニットが死んだ後ユニットが入った文字変数がどうなるかようわからんのでやっぱ一旦数値変数に代入した方が無難そう

951名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2025/06/07(土) 14:26:43 ID:rIG5oHqM
>>949さん、ありがとうございます。
文面通りにやってみたのですが、不慣れで理解が追い付いていない部分があります。
問題点等ご指摘いただければ幸いです。
event battle_deadcount
{
1)勢力の勢力名を文字変数Aに格納
storePlayerPower(@base_power)
2)領土を文字変数配列Aに格納
storeSpotOfPower(@base_power, @base_area)
3)ユニットを文字変数配列Bに格納
storeUnitOfSpot(@base_area, @base_unit)
4)文字変数配列Bの要素数を数値変数Aに格納
pushv(@base_unit, base_unit_numA)
5)戦闘を行う&6)戦闘終了後、該当する勢力に対し1〜3を繰り返す(ここからが不明瞭)
while(inBattle(@base_power)){
storePlayerPower(@base_power)
storeSpotOfPower(@base_power, @base_area)
storeUnitOfSpot(@base_area, @base_unit)
pushv(@base_unit, base_unit_numA)  
}
7)戦闘終了後に更新した文字変数配列Bの要素数を数値変数Bに格納
pushv(@base_unit, base_unit_numB)
8)数値変数AとBの差を求める。
  sub(base_unit_numA, base_unit_numB)
set(base_unit_numA, dead_num)
}

952名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2025/06/07(土) 18:20:59 ID:???
横からだけどまず死者カウントに同盟勢力の援軍を考慮するかどうかでスクリプトの難度が変わって来ると思う
自勢力限定ならそもそも繰り返しがいらないので一発でOK。しかし今回はいらなくなるとはいえwhile文の使い方が間違ってるのでそこはちょっと気になる
援軍を考慮する場合、援軍で戦闘に参加した勢力を代入する関数は存在しないのでそれを判定する処理を自力で組み上げる必要がある

953名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2025/06/07(土) 23:37:15 ID:???
どーも>>949です

>>952さんが既に書いていますが、自勢力の戦死者数だけでいいならループ処理は不要です
(ループを用いるのは、「生存している全勢力」の戦死者数を、それぞれ数える場合のみ)


◇個人的な修正案(正直合ってる自信はない)
▼戦闘前に呼び出すイベント
event battle_deadcount_get
{
・まず戦闘前に、自勢力の全てのユニット数をカウントし、数値変数Aに保持する。
 1)プレイヤーの勢力を文字変数Aに格納
  (※可能であれば自勢力の文字変数格納は、ゲーム開始時に済ませておくと良い。)
  storePlayerPower(@base_power)
 2)自勢力が持つ全ての領土を、文字変数配列Aに格納
  storeSpotOfPower(@base_power, @base_area)
 3)文字変数配列A内の領土に居る、全てのユニットを文字変数配列Bに格納
  storeUnitOfSpot(@base_area, @base_unit)
 4)文字変数配列Bの要素数を数値変数Aに格納
  pushv(@base_unit, base_unit_numA)
}

 5)戦闘を行う

▼戦闘後に呼び出すイベント
event battle_deadcount_set
{
・戦闘終了後に、自勢力内の全てのユニット数を改めてカウントし、数値変数Bに保持する。

 6.1)プレイヤーの勢力を文字変数Aに格納
  →すでに(1)で獲得しているので、そちらを利用
 6.2)改めて自勢力が持つ全ての領土を、文字変数配列Aに格納。
  (※戦闘結果により、自勢力の所持領地数が変更されている可能性がある為)
  storeSpotOfPower(@base_power, @base_area)
 6.3)文字変数配列A内の領土に居る、全てのユニットを文字変数配列Bに格納
  storeUnitOfSpot(@base_area, @base_unit)

 7)戦闘終了後に更新した文字変数配列Bの要素数を数値変数Bに格納
  pushv(@base_unit, base_unit_numB)

 8)数値変数Aと数値変数Bの差を求める。
  sub(base_unit_numA, base_unit_numB)
 9)その差を死亡カウント用の変数に加算
  add(dead_num, base_unit_numA)
}

自勢力だけ数えるならこんな感じでいい。


以下補足、無視していい。

他勢力も数えたいなら、storePlayerPowerをstoreAllPowerに変えて、加えindex用いて
それぞれの領土獲得とそこのユニット獲得をして、それぞれの差を求めればよい
但し処理が重くなるし、ゲーム上の勢力数が安定しないなら、その為の数値変数枠を
あらかじめ作っておく必要や、数値変数と勢力を照合する必要がある為、正直おすすめしない

954名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2025/06/14(土) 11:06:37 ID:???
この場合簡易戦闘は別に考える必要があるな
普通の戦闘終了ならisWorld()でイベントを起こせばいいけど、
簡易戦闘中が終わったときのアプローチが存在しないからね
銃魔はその辺どうクリアしてるんだろ

955名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2025/06/14(土) 11:50:00 ID:???
あーまじですかー
確かに今ざっと調べてみたら、簡易戦闘前後だとアプローチ・トリガーがないなぁ

となるとdead_event活用する感じかなぁ
でもdead_eventって簡易戦闘でも機能するんだろうか?

956名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2025/06/14(土) 13:48:51 ID:???
「今簡易戦闘終了後のタイミングか」を判定する条件式がないだけでワールドイベントは読み込まれるから
戦闘イベントのどこかに
set(sentoushita,1)

ワールドイベント直下に
if(sentoushita==1)
{
/*
戦闘後イベント諸々
*/
set(sentoushita,0)
}
で引っ掛かるくない?

957名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2025/06/14(土) 16:21:36 ID:.tiauSWU
>>949
>>956
質問者です。いろいろとありがとうございます。
battle_deadcount_setはif(sentoushita==1)の時、でいけそうですね。
銃魔のレザネーションのスクリプトを確認したらbattle_resultを似た方法で起こしていました。

国語の問題で恐縮なのですが、
▼戦闘前に呼び出すイベント(event battle_deadcount_get)
の「戦闘前」は、isPlayerTurn()とisComTurn()と、それぞれ開始時に起こせば良いということでしょうか?

958名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2025/06/14(土) 22:03:54 ID:???
>>956さん
自分もそれぱっと思いついて
例えばdead_eventとの組み合わせで(過剰にはなるんだけど)兵士が死んだら
set(sentoushita,1)すればできそうだなって思ったんですけど
「ワールドイベントって簡易戦闘が終わった直後に読み込まれるのか?」って不安がありまして

ただ、>>957さんのを見た感じ行けそうですね
ワールドイベントって簡易戦闘直後に読み込まれるんですね勉強になる〜
でしたらまぁ全てのマップに開幕時即死亡するユニットをマップチップで置いて
deat_eventでset(~)すればいけるかな?


>>957さん
とりあえずおつかれさまです
戦闘前というのは、「マジで全ての戦闘が始まる」直前をさします
すなわち、「○○が侵攻しました」のダイアログが出て
ダダダダッと「自分またはCPU問わず何らかの勢力」が「どこぞの領地」に攻め込むたびに
イベントを起こしてほしいです

戦闘は攻撃戦だけでなく、防御戦、援軍戦もあります
もし「自勢力が攻める直前だけイベントを起こす」となると、攻める時は死亡数カウントされますが
攻め込まれたときや援軍に行ったときに、死んだ兵士をカウントし損ねます
ですので「あらゆる戦闘が始まる直前」に必ず、当該イベントを起こしてください


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板