レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。
改造・制作スレ part6
改造・オリシナ制作などはこちらで。
過去に似たような質問があるかもしれないので、極力調べてから質問しましょう。
ヴァーレントゥーガまとめ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/
単純にプレイヤーターン以外には発生しないって条件付けにしたらいいんじゃないの?
>>975
ありがとうございます
k_helf_at_1の部分は自分も試したのですが、center=onで大きさを倍にすることで修正可能でした
ただし後ろ側にも当たってしまう弱点があるのでなんとも言いづらい部分がありますが・・・
後、索敵時の振り回し速度があまりにも早いと、索敵ミスが出てくる可能性があるところかな。
まあこうしておくと、特定のCOMが別のCOMを滅ぼした時とか、
滅ぼしてはないが侵攻をかけたときなどにも使えて便利ではある。
どうもありがとうございます。
勉強なりましたstoreNowPowerとかどう使うのかまるでわかりませんでした。
bgについて質問です
bgでworldとは違うワールドマップを表示するのですが、セーブしてロードした場合そのbgが適用されません。
変数1の場合だけbg表示をするという手もあるのですが、それをすると非常に重くなってしまいます
ロード後1度だけbgの表示をするという手はないでしょうか?
自己解決しました。
撃破された側のbreakに入れて、トドメを入れた敵ユニットにだけ飛来するスキルって可能ですか?
お聞きしたいんですが小数点の扱いはどうなってるんでしょうか
multiの上昇数値が計算式とずれているようで・・・
>>985 たしか小数点は切り上げられるはず。
>>986
助かりました。再計算してみます。
addLevelをすると、一部の必殺スキルを覚えないことがあります。
その他のスキルはきちんと覚えているのですが、必殺スキルだけ綺麗に覚えてくれません。
removeSkill等も、必殺だけlearn時に覚え直しをしないことがあります。
fkeyも調べたのですが、不備はありませんでした。
考えられる原因があれば、是非ご助言お願いします。
一応動作としては
人材ユニットです
Lv15で必殺 Lv22で通常を覚えます。覚えるスキルにfkey関連の不備はありません(そもそもfkey関係ないスキルなので)
Lv10でクラスチェンジ Lv20でクラスチェンジをするクラスです
初期レベルは10です。プレイヤーの選択次第で開始時に20レベル上がります(尚、他にも同時に一般も含めた180ユニット程上がります)
その際にLv22の通常スキルは覚えるのですが、必殺スキルは覚えてくれません。その180ユニットの同様の条件を持った人材ユニットも必殺を覚えません。
どういった原因が考えられますか?
失礼しました。 Lv22の通常は元々持っているスキルのfkey*2です。
試しにLv22のスキルをlearnから外してみたところ、Lv15の必殺を覚えました。
当然Lv22のスキルは覚えませんが・・・
それを確認の後、Lv22のスキルを再度付与したところ、Lv15の必殺を覚えません。
次にLv15で覚えるスキルを、同時にLv22で覚えるようにしたところ、今度は両方覚えました。
次に必殺をLv23で覚えるようにして、通常を通常通りLv22で覚えるようにしたところ、両方覚えました。
どうやら必殺を先(同時はセーフ)に覚える場合のみ、その必殺をすっ飛ばして後の通常のみを覚えるという現象が起きています。
これはVT側のバグでしょうか?同様の現象が起きる方はいらっしゃいませんか?
learnの使い方がまちがってるんではないだろうか。
レベル上昇で覚えるスキルは、その都度全て列挙しなければいけない。
詳しくは講座を読みなおしてほしい
直接の解決法じゃないけど、一気に20レベル上げるんじゃなくて、
一旦15レベルにして、該当スキルを覚えてるかの確認はした?
そこでちゃんと覚えてるなら22レベルの方の書き方を間違ってる
今回のに限らず、意図しない動作が起きたときは
細かく区切って確認していけばどこで誤動作が起きてるのかわかりやすいよ
すでにやってるなら失礼しました
バグ報告です
context構造体のbtl_lineshiftが機能していません
数字を変えても常に前衛と後衛が等間隔になります
まともにシナリオを作ることが出来ません
story tyakkutyakku
{
friend = sc1
fight = on
if(inBattle(tyakku)){
msg(イベントtyakkucallを読み込みます)
battleEvent(tyakkucall) or event(tyakkucall) or call(tyakkucall) ←ここ
}
}
event tyakkucall
{
set(i,0)
msg(イベントtyakkucallを読み込みました)
rif(getTime() > 1000 && i == 0){
msg(100秒経ちました)
storeAliveUnit(goblin, @gnumber)
pushv(@gnumber, n)
msg(ゴブリンの数は&n&体です)
set(i,n)
}
}
質問です
戦闘開始から100秒後のユニットの数を調べる上のスクリプトを作りました
battleEvent(tyakkucall)の場合、msg(イベントtyakkucallを読み込みました)は表示されませんでしたが100秒後にちゃんと数えてくれました
event(tyakkucall)の場合、msg(イベントtyakkucallを読み込みました)が戦闘開始直後に表示され100秒経っても数を数えません
call(tyakkucall)の場合、msg(イベントtyakkucallを読み込みます)以降には進まないようです
これらの違いはイベント関数の中で使える関数に制限があるといことですか?
またこれとまったく同じスクリプトを使ってもbattleEvent(tyakkucall)すらmsg(イベントtyakkucallを読み込みます)以降に進まない場合があります
それはなぜですか?
992ですけど
配置時は常に部隊メンバー数で間隔が一定になることが判明しました
バグではなかったようです
btl_lineshiftで、配置時も間隔を指定できる仕様になると
開きすぎが起こらなくなって良くなると思いました
>>993
戦闘シーンでのevent()は戦闘終了後に処理されるそうで、call()は、まあちょっと放置された関数ですし……
で、battleEvent()でのイベント呼び出しなんですが基本if文とrif文のみ取り出すもんと覚悟したほうがいいみたいです。
なので
event tyakkucall
{
if(isEvent()){
set(i,0)
msg(イベントtyakkucallを読み込みました)
}
rif(getTime() > 1000 && i == 0){
msg(100秒経ちました)
storeAliveUnit(goblin, @gnumber)
pushv(@gnumber, n)
msg(ゴブリンの数は&n&体です)
set(i,n)
}
}
みたいな書き換えはいかがでしょう
あと2段落目ですが、event tyakkucallの1,2行目が読み込まれず変数iに何らかの理由で0以外が入っていた場合
rif文は読んでても無反応に見えるんじゃないかな、と想像します。
>>995
ありがとうございます
うまくいくようになりました
最後のbattleEvent()が進まない場合があるのを調べてみると
どうやら戦闘する場所によって起こるが起こらないかが決まるようです
上のスクリプトはむなしい努力で使っているのですが、zone0 = s2, s3, s4, s5, s6, s7で指定された雪国では戦闘中battleEventが読み込まれません
ここ以外では正常に機能しました
魔法攻撃ユニットに積極的に前衛させるにはどうスクリプト弄ればいいか教えてください
>>998
自己解決しました
>>997
試してみましたが当方のむなしい努力では問題スポットでも動きました。
問題の再現ができないので想像なんですが、数値変数に0代入したときなぜか動かなくなるケースがあるんですよね。
なので
event tyakkucall
{
if(isEvent()){
set(i,1)
msg(イベントtyakkucallを読み込みました)
}
rif(getTime() > 1000 && i == 1){
msg(100秒経ちました)
storeAliveUnit(goblin, @gnumber)
pushv(@gnumber, n)
msg(ゴブリンの数は&n&体です)
set(i,2)
}
}
といった0使わない形に変えて一度試してみてはいかがでしょう。
なおiにnが入ってないため余所で使ってる場合はまた書き換えが必要になってしまいますが……
フワッとした説明で申し訳ない
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板