したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |

改造・制作スレ part9

1名無しさん@寒露:2018/09/18(火) 22:07:10 ID:LFNePY52
改造・オリシナ制作などはこちらで。
過去に似たような質問があるかもしれないので、極力調べてから質問しましょう。

ヴァーレントゥーガまとめwiki シナリオ製作講座
http://www28.atwiki.jp/vahren_ency/pages/411.html


改造・制作スレ
http://jbbs.livedoor.jp/bbs/read.cgi/computer/42292/1250722590/l50
改造・制作スレ part2
http://jbbs.livedoor.jp/bbs/read.cgi/computer/42292/1282244590/l50
改造・制作スレ part3
http://jbbs.livedoor.jp/bbs/read.cgi/computer/42292/1305281909/l50
改造・制作スレ part4
http://jbbs.livedoor.jp/bbs/read.cgi/computer/42292/1331214703/
改造・制作スレ part5
http://jbbs.livedoor.jp/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/

430名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2020/02/09(日) 17:35:30 ID:???
>>429
「joint_skill = on」(center=on、next_last=on、damage=-3)だからでしょう。
damage=-3は pass と同じです。「damage = pass」は、敵にヒットせず、最大射程まで直進します。
スキル構造体の継承を止めるか、joint_skill = offにしたらどうでしょうか。

431名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2020/02/09(日) 20:13:05 ID:???
>>430
ありがとうございます!うまくいきました!
「joint_skill = on」の(center=on、next_last=on、damage=-3)は
「"joint_skill"は、こういう仕様にしないと仕事しませんよ?」ではなく
「"joint_skill"を指定すると、自動でこういう仕様になりますよ」という事だったのですね
勉強になりました。改めてお礼を申し上げます!

432名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2020/02/13(木) 21:47:56 ID:???
なんか時々CPUの騎兵が、スイス傭兵宜しく何もしないまま虐殺されるときがある
たぶん騎兵AIの設定が下手だからこうなってるとは思うんですけど、正直どれぐらいの数値が理想なのかよくわからない
誰かコツとか知りませんか?

433名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2020/02/15(土) 12:41:07 ID:???
戦闘で敵との戦力差が大きい場合、自動で退却を起こすイベントを作ったのですが、うまく反応しません
eventはしっかりscenarioで指定し、下ソースの一番上に描かれている"skillTroop"はしっかり動くのですが、下のrif文がまるで機能しません
(dialogが一度も出ません)
何がいけないんでしょうか

以下ソース
event fight
{



skillTroop(H_base_r, set_H_base)

rif(isInterval(1000) == 1)
{
storeRectUnit(red, 0, 0, 9999, 9999, f_red)
storeRectUnit(blue, 0, 0, 9999, 9999, f_blue)

pushv(@f_red, f_red_Co)
pushv(@f_blue, f_blue_Co)

div(f_red_Co, 5)

dialog(&f_red_Co&$&f_blue_Co&)

if(isDead(H_base_b)== 1 && f_blue_Co > f_red_Co)
{
storeDefensePower(f_Dpower)
if(isPower(f_Dpower) == 1)
{
dialog(防衛拠点本陣が破壊され、$加え戦力差が大きい為、退却します。)
}
retreatTroop(f_blue)
}
}



}

434名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2020/02/15(土) 12:52:34 ID:???
条件文が問題なんだと思うけど、
resetTimeを使うとそのカウントは0になる。
使ってないならわからないな。

435名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2020/02/15(土) 18:34:39 ID:???
>>434
使っていません。シナリオの戦闘に該当するイベントには、現状ここに載せた分しか記してません。

436名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2020/02/15(土) 22:54:58 ID:???
>>435
scenario構造体で指定するのは戦闘開始前イベントで、「戦闘中イベントはbattleEvent関数で発生させる」と
wikiの「戦闘中イベントの発生」というページに書いてます。
初めて戦闘イベントを記述したとなると、もしかすると、発生させたイベントの種類が違うのかも?

437名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2020/02/16(日) 04:45:53 ID:???
たぶん>>436が正解なのだ
 rif 戦闘実行中しか動作しない
 if 状況に関わらず動作する。ただし戦闘中は一回ヒットすると停止する
 それ以外 戦闘実行中はrif/if下に入れないと動作しない
skillTroopが動作したなら戦闘中になってない可能性があるのだ

battleEventは使ったことないんで俺は解説できませんが
使わない場合の基本的な形はこうです

event stage_event {
 title=自作戦闘
 handle=blue
 stage=stgファイル名(拡張子なし)
 :(ユニット配置とか)
 next()
 :(戦闘前の会話とか)
 battle {
  rif(勝利条件) {
   skillTroop(ユニット,スキル)
   talk(勝った!)
   win()
  }
  rif(敗北条件) {
   talk(負けた・・・)
   win()
  }
 }
 :(戦闘後の会話とか)
}

なお、本体v700あたりの話ですが
battle{}が生きてるとwhile,returnが機能しないという罠があるので注意!
(ななさんのtwitter見てなかったら絶対わからんかった・・・)
動作テストすることをお勧めします

438名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2020/02/16(日) 05:40:10 ID:???
>>437 補足
「基本的な形」といいましたが重要なこと言い忘れてました。rifが動作する状況は
1、スクリプトから戦闘を開始し、battle{}内で使う
2、シナリオ指定イベントからbattleEventでイベントを呼び、そのイベントの中で使う
とあって、>>437は1のサンプルです。これを言うの忘れてました

あなたのはおそらく2のbattleEventが必要なパターンじゃないかと思います
以上です

439名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2020/02/16(日) 10:33:57 ID:???
>>436様、>>437様 ご丁寧にありがとうございます
そして検証の結果完成しました! 完成したんですが

人材部隊長しか"retreatTroop"に従ってくれませんでした
一般クラス部隊長の部隊は、退却してくれません
折角のご助力をいただきながら誠に申し訳ないのですが、仕様を変更することにしました

ただ、助けていただけたうえで作ったのを、そのまま捨てるのはもったいないので
どこかに貼りたいのですが、作ったイベントスクリプトを張るスレッド立ててもよろしいでしょうか?

作ったけど没になったイベント、自作だが他の人にも役立つだろうと思うイベント、見てほしいスクリプトなど、

そういったものが集まる場所があったほうが、全体の開発がはかどるのではと思うのですが

440名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2020/02/16(日) 17:26:01 ID:???
>>437訂正
× stage=STGファイル名
○ map=mapファイル名
でした。すみません

>>439 それはよかった
スクリプト投稿用のスペースはwikiにもないっぽいですね
完成品置き場はあってもいいと思う

・・・書き込み修正できないので俺みたいなミスの問題はありますが

441名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2020/02/16(日) 22:35:05 ID:???
戦闘イベントを作ってるのですが、不具合が出て困ってます。
こちらは防衛側で城に籠っているのですが、
戦力差が劣勢なせいで敵のsleepTroopをした部隊が勝手に動いてしまいます。
味方にvalueをつけると回避出来るのですが、
味方優勢になると勝手に城門を全て開きます(そもそも自分で開けない)。

戦闘イベントは防衛側での戦闘を想定していないのでしょうか?
良い解決方法があれば教えてください。

442名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2020/02/17(月) 19:50:31 ID:???
>>441
実際に試してないのでアイデアだけを書きます。使えそうなら実験してみてください。
COM部隊を一時的に動かなくするなら、スキル使用時の減速で停止させればいいかも。
addSkillなら、イベント専用でない通常ユニットにも戦闘時にスキルを追加できます。
出現位置から届く発動距離で、クールタイムを戦闘時間よりも長くすれば、
最初に1回だけ停止スキルを使って、後は時間経過で普通に動けるようになります。
時間経過じゃなく、特定のタイミングで動きだすようにしたいなら、
戦闘中イベントで減速なしのスキルを使わせれば、停止が解除されるでしょう。

443名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2020/02/17(月) 22:50:08 ID:???
>>441
そういう制御はしたことないけど、篭城しない状態は経験ある
そのときはspotのyorozuが原因だった

> yorozu = (基底クラス, 基底クラス, ‥)
> 列挙された基底クラスが全ユニット数の一定の比率以上だと攻城戦モードがキャンセルされます。

これ篭城 し な い ユニットの指定なんだけど
未指定だと暴発することがあるようなので、1クラスは指定したほうがいい
なお「一定の値」ってのはcontextのbtl_nocastle_bdrらしいです

あとは、防衛側が中立勢力になってるとか
まずないだろうけど敵出現位置にトップレベルの曲輪(@0)が重なってるとか
思いつくのはこのぐらいかな

444名無しさん@穀雨 (*´∀`)【平成 → 令和】(´∀`*):2020/02/17(月) 23:22:53 ID:???
>>442
試してみましたが、slow_timeの仕様が複雑でちょっと扱いきれなさそうです。
それと今思いつきましたが、speedTroopで多分よさそうですね。
限定的になりそうですが、そのうち使ってみようと思います。
ご回答ありがとうございました。

>>443
すみません、戦闘イベントと書きましたが正確にはイベント戦闘です……。
(一応イベント戦闘用領地で試しましたが変化なし)
籠城で言えばcastle_battleを記述しても、マップデータに配置した自動の防衛部隊も
城門から飛び出してく(仕様としては今回は問題なし)ので、
そもそも籠城状態になってるのか、どうなのか……?


新着レスの表示


名前: E-mail(省略可)

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

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

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

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