したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |
レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。

改造・制作スレ part8

1名無しさん@桜花爛漫:2016/05/21(土) 22:17:05 ID:1hw1nxVw
改造・オリシナ制作などはこちらで。
過去に似たような質問があるかもしれないので、極力調べてから質問しましょう。

ヴァーレントゥーガまとめ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/

556名無しさん@立夏:2017/07/28(金) 02:49:18 ID:???
領土を広げたAI勢力のマスターが孤立してアボン滅亡するのがちょっと嫌で、
マスター孤立アボンした勢力を復活させようとしているのですがうまくいきません。

if (isAlive(勢力A) == 0) {
    event(勢力復活)
}

event 勢力復活
{
    storePowerOfSpot(本拠spot, @文字変数)
    if (@文字変数 == @ ) {
        addPower(勢力A)
    }else {
        event(滅亡処理)
    }
}

勢力Aが滅亡した時、本拠spot(power構造体のmemberに記述)が空白地なら、addPowerで勢力Aを復活せようとしています。
しかし、addPower(勢力A)の後も勢力Aは復活しておらず、isAlive(勢力A)では0が返ります。
本拠spotも空白地のままです。

wikiのaddPowerの説明には『指定した勢力を出現させます。power構造体のmemberに列挙されてるspotが領地となりますがry』
と記述してあるのですが、一度滅亡したpower構造体の再利用は不可能なのでしょうか?

マスターは死亡していません。

557名無しさん@立夏:2017/07/28(金) 06:26:06 ID:???
同名の別勢力をつくらないとダメだったと思う

558名無しさん@立夏:2017/07/28(金) 18:45:30 ID:KigvTGxQ
>>556
滅亡時に滅亡するのではなく、アボンのエフェクトと滅亡ダイアログと同時に事前に決めたハイドスポットに逃がすってのはどうですか

復活自体は不可能です

559名無しさん@立夏:2017/07/28(金) 19:40:59 ID:???
>>557
>>558
ありがとうございます。
やっぱりPower構造体の再利用は不可能なんですね。
アボンのエフェクトと滅亡ダイアログはEXEが制御してるんでしょうか?ちょっと見つかりませんでした。
ちなみにVTではなく、LostTechnologyをベースに色々といじっています。

苦肉の策ですが、
storeSpotOfUnitでリーダーのいるspotを抽出し、isJoinで本拠地spotから途切れていたら、
リーダーを強制的に本拠地に飛ばす処理で滅亡を回避してみたいと思います。

かなり強引ですが・・・。

560名無しさん@立夏:2017/07/28(金) 20:51:57 ID:???
復活が駄目ならそもそも滅ぼされなければいいじゃない
やったことないが、戦闘開始前にchangeMasterでマスターを他の領地にいる人材に変更すればどうだろう

ただ戦闘中にマスター(元)のステータス確認されるとまずいが

561名無しさん@立夏:2017/07/28(金) 21:06:42 ID:???
>>559
エフェクトはskill spot_fireだったかな(?)でエフェクトそのものを処理してたはず
で、spotmarkの何番かでそれを指定の領地で発動させられます
ちなみにカチーンも可能


ということで、個人的な復帰というか擬似滅亡方法
イベントで滅亡する場合は勝手に国ごと逃せばおkで簡単なので割愛
条件は以下
1:滅亡条件が攻撃された場合
2:a:最後の1領地が取られる場合
  b:隣接する領地がなく、その領地を取られた場合
  c:隣接する領地がなく、Escape先がない場合
3:復活する想定がCPUである

2の条件を探すため事前に
a・領地数を数えて1の場合
b・storeSpotOfPower全領地を取って、whileで現在戦闘spotと隣接したspotが存在するかを調査
c・こればっかはもう事前に条件個別に作るしかない

このabcのいずれかが該当した時点で下のスクリプトへ



例として自シナのスクリプトを出しますがご容赦を
まずは戦闘開始時にイベント
//中立も条件にもしくは攻撃側で判定
☆呂蝉、高順、張遼、臧覇は自操作可能な味方で、こちら側が攻めた場合に敵にkahi_escp_spot という擬似撤退用スポットを領地に与え、spotつないで逃げ場を作ります☆
if(@atkpow == pkahi_ryosen|| @atkpow == pkahi_koujun || @atkpow == pkahi_choryo||@atkpow == pkahi_zouha&& zouha_ryuso != 1){
if(@defpow!=pkahi_moutoku){
addSpot( kahi_escp_spot , @defpow )
showSpot(kahi_escp_spot)
linkSpot(@batspot,kahi_escp_spot,0)
}
}

以下は戦闘イベントでなくワールドイベントで制御
storePowerOfSpot( kahi_escp_spot , @escp_now)
☆例として夏侯惇というユニットを使います☆
if(@escp_now != 0){
if(@escp_now==pkahi_kakouton){
if(count(@kakouton_spot)>=2 && has(@kakouton_spot,kahi_escp_spot)){
//守りきった場合、2つの領地を持ってる
     //とはいえ、このシナリオでは確実に1領地しか持てない縛りがあるため、通常のシナリオでは戦場になったspotを持っているかを条件にするのがいいかと
subv(@kakouton_spot, kahi_escp_spot)
storeLeaderOfSpot( kahi_escp_spot , @kakouton_escp_unit_now)
addUnit(@kakouton_escp_unit_now,@kakouton_spot)
//連結した逃げ場を削除
hideSpot(kahi_escp_spot)
removespot(kahi_escp_spot)

}else if(count(@kakouton_spot)==1){
//負けた場合、領地が逃げ場の1つになる
     //とはいえ、このシナリオでは確実に1領地しか持てない縛りがあるため、通常のシナリオでは戦場になったspotを持っているかを条件にするのがいいかと
storeLeaderOfSpot( kahi_escp_spot , @kakouton_escp_unit_now)
addSpot(kahi_kakouton_saihen_spot,pkahi_kakouton)
addUnit(@kakouton_escp_unit_now,kahi_kakouton_saihen_spot)
hideSpot(kahi_escp_spot)
//再編成用スポットkahi_kakouton_saihen_spotに逃がす
     //理由としては、今後同じspotを使う場合があるため、ここに残しておくと夏侯惇以外の勢力が逃げたときに困る
removespot(kahi_escp_spot)
add(kahi_gekiha_point,5)
}
}
}

あくまでもそういう方法もあるってのと、結構細かいところ省いているのと、もっといい方法あるかもって想定の上で参考にして頂ければ幸いです
spotmarkとかは下の負けたパターンの場合の最後にダイアログと共に出せば問題なく表示可能かと

562名無しさん@立夏:2017/07/28(金) 21:25:35 ID:???
質問者ではありませんが、大変参考になりました
ありがとうございます!

563名無しさん@立夏:2017/07/29(土) 22:54:42 ID:???
>>561
遅くなりましたがありがとうございます。

とりあえず、
storeSpotOfUnit(マスター名, 現在地spot)

if (isJoin(本拠地spot, 現在地spot) == 0) {
storePowerOfUnit(マスター名, 所属勢力)
storePowerOfSpot(本拠地spot, 本拠地支配勢力)
if (所属勢力 == 本拠地支配勢力) {
addUnit(マスター, 本拠地spot)
dialog(マスター名,マスター名が本拠地spotへ脱出しました。)
}
}

安易で強引ですが、これとchangePowerFixを使って孤立アボンの可能性を抑えたいと思います。

もう1つ質問なのですが、stealth = 100って機能してるでしょうか?
攻城戦で、城壁内の櫓などの防衛兵器を遠距離職が攻撃して無駄死にするのを避けたくて、
防衛兵器のclass構造体にstealth = 100を追加したのですが、近接ユニットが殴りかかりました。

564名無しさん@立夏:2017/07/29(土) 23:04:34 ID:???
stealthは遠隔は無視するけど近接は殴る筈

565名無しさん@立夏:2017/07/29(土) 23:26:30 ID:???
>>564
納得しました。ありがとうございます!

566名無しさん@立夏:2017/08/03(木) 17:31:35 ID:???
addstringって素晴らしいよね
文字列変数に対するaddintegerもあれば本当に良かったのに

他にも数値変数の配列とか欲しかったです

567名無しさん@立夏:2017/08/03(木) 17:51:35 ID:???
配列使わなきゃい困るような複雑な処理は書かないけど変数名付けるのがめんどいから配列欲しい
変数が増えるに連れてザ・ド素人みたいな長い変数名になっていく
実際ド素人だけども

568名無しさん@立夏:2017/08/03(木) 18:26:36 ID:???
長い変数名はしょうがない というかそれでいい
へたに短縮するとそっちのほうが駄目でしょう

569名無しさん@立夏:2017/08/04(金) 23:01:47 ID:???
Wikiの制作講座と最新版のDLと更新詳細にも書いていないような関数とかどこで知るの?
pushDeathとかここで初めて知ったんだけど

570名無しさん@立夏:2017/08/04(金) 23:39:27 ID:???
>>567
長い名前のがテキストエディタで置換しやすい場合もあるから問題ないんじゃ?
というか配列は存在してるし、どの程度を複雑というかはともかく複雑じゃなくても別に配列は使えると思うけど、どういう配列を考えてるんだろ
Listみたいな?

571名無しさん@立夏:2017/08/05(土) 17:56:18 ID:???
マップそのものをシナリオ中に変更することってできますか?
マップの画像ではなく、マップ全体の大きさを変えたいです

572名無しさん@立夏:2017/08/05(土) 18:59:28 ID:???
ワールドマップ?
それとも戦闘マップ?

573名無しさん@立夏:2017/08/05(土) 20:28:05 ID:???
>>572
ワールドマップ
マップの一部を加えるといった形ではなく、全く違う大きさで違う場所のマップに切り替える感じ
bgを使って裏の画像だけ変えることはできるものの、横幅縦幅のスクロールはどう頑張っても変えられない

本体そのものを切ってスクリプトでmapを変更すればできるんだけど、プレイヤーにそれを求めるわけにはいかないし、内政1発でマップ切り替えみたいなのを想定してます

574名無しさん@立夏:2017/08/05(土) 20:37:33 ID:???
逆に考えるんだ
最初のマップより大きいのを使えないと考えるんじゃない
使うはずの一番大きなマップに合わせて最初のマップを用意するんだ
無駄なスクロール領域ぐらいなら大丈夫だろう

575名無しさん@立夏:2017/08/05(土) 20:51:34 ID:???
それはつまり地上戦と空中戦に分けて二つのワールドマップで進めていくみたいな感じ?

576名無しさん@立夏:2017/08/05(土) 20:55:00 ID:???
>>574
無駄なスクロール領域が極端に大きくなるんで勘弁してください

>>575
2つではないですが大凡そんな感じです
1つが極端に大きいマップでそれと別に極端に小さなマップを使用するため、非常に難儀しています

577名無しさん@立夏:2017/08/05(土) 21:02:26 ID:???
そこは内政ユニットを使ってセンタリングさせれば2,3クリックぐらいで済むしね?

578名無しさん@立夏:2017/08/05(土) 21:15:30 ID:???
640*480を2枚(AとB)用意するのじゃなくて、1280*480(A+B)でmap作って、
A側相当/B側相当を部分表示しておいて、hideSpot/showSpotで切り替えて使うとか?
debugPaperで640*480表示に設定してあれば必要な部分だけ表示は出来る…かも?(フルスクリーンの時にどうなるかは知らないケド)

579名無しさん@立夏:2017/08/05(土) 21:46:35 ID:???
>>578
まあ2枚ならちょっと違和感はありますがそれも可能かな・・・とは
とはいえその方式でするなら1枚+49枚なのでちょっと現実的じゃないかも
1枚をA、49枚をB00からB48として、AとBを行ったり来たりする感じですね

なお、フルスクリーンでbgやるとbgの方は左上に集約されます
map=だと一応ちゃんと表示はされるかなってぐらい
一応それは想定していなくはないのですが、あくまでもやりたいのは1枚と49枚の行ったり来たりって感じですねー
あと、やり方間違ってたらごめんですけどスクロールできちゃわないですか?それは

580名無しさん@立夏:2017/08/05(土) 21:47:28 ID:???
>>577
センタリングの意味がちょっとわかりません
ごめんなさい

581名無しさん@立夏:2017/08/05(土) 22:21:20 ID:???
>>580
言葉足らずですまぬ

サイズ小マップ(100*100)
に対して
サイズ大マップ(9000*9000)
としたら元々サイズ大のスクロール移動は呆れるほど面倒くさいはず
だったら内政欄(国策とか社会契約とか禁呪とかのある欄)に『移動』という項目を設けてみてはどうか?
移動内政スポットに置いておいた内政人材でサイズ小マップの中央あたりに存在する領地にスクロールしてセンタリングしたり、サイズ大マップの端の方に移動したり出来るようにすればいいのでは?

582名無しさん@立夏:2017/08/05(土) 22:24:00 ID:???
まあ、だだっ広い無駄領域がサイズ小マップに広がる事はこの案では避けられないが

583名無しさん@立夏:2017/08/06(日) 02:40:49 ID:???
>>571
シナリオ中に変更するのは無理
ゲーム中にsetUD(@scenario, @hogehoge)でシナリオ変更するのがいいと思う

584名無しさん@立夏:2017/08/06(日) 21:03:54 ID:???
>>583
シナリオ中にシナリオ変更できるのですか・・・?
いやもちろんシナリオ構造体からシナリオ構造体に移動できるのなら願ってもないのですが

585名無しさん@立夏:2017/08/07(月) 19:48:30 ID:???
NPCの新勢力旗揚げと陪臣雇用の両方をOFFする機能はありますが、
陪臣雇用だけをOFFするやり方ってありますか?

全人材に"loyal=自分"を指定するわけにもいかず、
compati_vassal_bdrを100以上にしてみましたが、100以上は認識していない感じでした。

586名無しさん@立夏:2017/08/08(火) 00:32:17 ID:???
開始時に

pushv(@freezepower,aaa)
msg(&aaa&)
set(idx,0)
while(idx<count(@freezepower)){
index(@freezepower,idx,@freezepower_get)
changePowerFix( @freezepower_get , freeze)
add(idx,1)
}

このような処理をしています
freezeに入っているのはプレイヤー勢力を除いた全勢力30勢力弱(aaaに入った数値)なのですが、プレイヤー勢力に終了を押した後再度プレイヤー勢力にターンが回ってくるまでに5秒ほどのタイムラグがあります
これはfreezeをせずともあるタイムラグと変わりません
どういった原因が考えられますか?

587名無しさん@立夏:2017/08/13(日) 20:50:28 ID:???
コンテキスト構造体で効果が分からない項目の仕様公開して欲しい
そこさえ改造できりゃ洋ゲー並みに戦えそうなのにもったいなすぎる

588名無しさん@立夏:2017/08/14(月) 00:28:29 ID:???
そもそも画像やスクリプトとかの暗号化の部分以外をオープンソースにして欲しい

589名無しさん@立夏:2017/08/14(月) 01:54:43 ID:???
まじかよ 更新されてら
でもバージョンは据え置きか

590名無しさん@立夏:2017/08/14(月) 09:29:40 ID:CPE73pgc
なんか素材に使えそうなのができたようなので共有
http://make.girls.moe/#/

591名無しさん@立夏:2017/08/14(月) 09:38:25 ID:???
いいね!
だけど作成した画像の使用規約が見当たらないけど、知ってる?

592名無しさん@立夏:2017/08/15(火) 13:39:08 ID:???
すみません
class構造体やunit構造体でmerceを設定できるのはしっているのですが、
シナリオの途中で人材のmerceに新たに追加したいのですが、どのようにすればよいのでしょうか

593名無しさん@立夏:2017/08/15(火) 16:57:37 ID:???
addMerceって機能しないんだっけ
新しいmerce設定した新クラス設定しといてそっちに強制クラスチェンジとかでも一応出来るよ

594名無しさん@立夏:2017/08/15(火) 18:09:25 ID:???
ありがとうございます
試してみましたが人材の場合delskillだのlearnだの設定してあるとスキルが失われたりして結構大変ですね
一般はこれでうまくいきました

595名無しさん@立夏:2017/08/16(水) 00:05:02 ID:???
多分addFriendと一緒にやるって話だと思うんだけど
merceだけ書いてもfriendにできないクラスだと結局雇えないはずだから
merceの方だけ最初から書いといてもいいかも

596名無しさん@立夏:2017/08/16(水) 00:39:45 ID:???
それは最初に考えたのですが
他のMODと簡単に共存できるようにMODを作っておりますので、そのシナリオのクラスやユニットに手を加えて互換性を捨てるのは難しかったのです

597名無しさん@立夏:2017/08/18(金) 17:31:57 ID:7VKZoPZQ
次のようなスクリプトを組んで任意のタイミングで発動させるとメモリーの使用量が増え続けていく現象を見つけたのですがVTの仕様なんでしょうか。
処理が終了したあとも開放されずに居座っている感じです。ESC押しでタイトルに戻った時も使用量が変化していません。
開発中のシナリオでは文字変数を使用してイベントの呼び出しをしている処理が1ターン巡るあいだに数千、数万回実行しているのでかなり困っています。

setv(@call,testevent)
set(idx,10000)
while(idx)
{
sub(idx,1)
routine(@call)
}

event testevent
{
set(a,1)
}

598名無しさん@立夏:2017/08/18(金) 18:02:59 ID:???
メモリ使用量とかは分からんけどループにroutine入れると重くない?

599名無しさん@立夏:2017/08/19(土) 00:06:34 ID:???
>>597
俺もメモリとかはわかんなくてタスクマネジャー見る程度なんですが
呼び出し先(testevent)の変数をその都度クリアしてみたところ
メモリが増えなくなったような気がします
event testevent
{
set(a,1)
set(a,0)
}
ただ素人なんで自信はないです。試したexeはv7.0(最新ではない)です

>>597
そうかな? 俺は感じないけど

600名無しさん@立夏:2017/08/19(土) 00:13:48 ID:???
ローカル変数機能さえアレばな―

601名無しさん@立夏:2017/08/19(土) 00:32:09 ID:DTLyxT1g
>>598
ストレスを感じる程度ではありませんね。
routine()ではなくてevent()で呼び出すと激重ですけど。

>>599
>俺もメモリとかはわかんなくてタスクマネジャー見る程度なんですが
当方もタスクマネージャーの詳細から使用量をモニタリングしていました。

>呼び出し先(testevent)の変数をその都度クリアしてみたところ
構造体変数の配列の代用として使っているのでそれができないです。

setv(@call, event_A)
routine(@call)
set(b, a)

event event_A
{
set(a,1)
}
event event_B
{
set(a,2)
}
etc...

という感じで値を参照するためにつかっているのでイベント構造体内での変数クリアができません。
文字型変数の場合はデータサイズが可変なのでクリアすることでメモリー使用量が変化するのは当たり前ですけど、
データサイズが固定である数値型変数はクリアしたところでメモリーの使用量には変化がないはずなんですけどどういうことなんでしょうね。

602名無しさん@立夏:2017/08/19(土) 07:22:38 ID:???
routineを何万回もやると重いのは俺環だったのか
もしかしてstoryをたくさん付けると重くなるのもうちだけか?
そのせいでstoryは全部一つにまとめてるしroutineも速さがさほど気にならない内政とかでしか使ってないんだけど

603599:2017/08/19(土) 13:26:44 ID:???
>>601
もしかしたら文字変数でイベント呼ぶと扱いが変わるのかもしれないですね
まあ俺にわかるのは「毎回クリアすれば増えないらしい」ってとこまでです

>>602
あ、ごめん、何万回も回したことはないからわかんない
シナリオの規模(イベント数とか)も影響してそうだし、事情が違うのかも

604名無しさん@立夏:2017/08/20(日) 18:46:40 ID:???
eventとかがあるのとないのとで確実に速さ違いますよ
100回ほど回るwhileにeventで100回回すのと、eventの中身をバラして入れたものだと後者のほうが圧倒的に速いです

605名無しさん@立夏:2017/08/21(月) 00:13:53 ID:ViqBZ/Oc
イベント構造体の呼び出しを多用するとメモリー使用量が増加していくのは仕様みたいですね。
幸運なことに開発中のシナリオで見にいく必要がある変数が文字変数だけなのでゲームの開始時に文字変数の配列に展開しておきますか。
つきあってくれてありがとう。

606名無しさん@立夏:2017/08/21(月) 07:20:18 ID:???
>>604
やっぱりそうだよね
良くないけど良かった

607599:2017/08/21(月) 22:58:45 ID:???
>>604
一応確認、event( event構造体名 )が遅いのは仕様ですよ?
https://www28.atwiki.jp/vahren_ency/pages/534.html
> routine( event構造体名 )
> event構造体を呼び出します。
> 戦場マップや背景画像を指定しないただのサブルーチンを呼び出すのはこちらを使ってください。
> routine呼び出しの方が高速です。

>>597の10000回ループもすぐ終わったし、
routine自体が重いってことはないと思いますが、何か条件があるのかも?

608名無しさん@立夏:2017/08/22(火) 06:41:52 ID:???
流れ的にevent「とか」ってのはroutineやstoryを含んでいるのだと思うが
何にせよオリシナやMOD公開するつもりならroutineループが重くなる環境が存在するということは頭に入れておいたほうがいいね

609602:2017/08/22(火) 07:10:31 ID:???
ただ確かに>>597は全然重くないな
重くなった奴貼りたいけどもう全く別のスクリプトに変貌してるから無理だわ
ちなみに>>602です

610名無しさん@立夏:2017/08/24(木) 23:56:53 ID:saFXE.yg
質問です。
power構造体のhome設定を後から変えたり、内容を取得する方法はありますか。

611名無しさん@立夏:2017/08/25(金) 12:02:12 ID:???
たしかないはずです

612名無しさん@立夏:2017/08/25(金) 19:27:32 ID:???
もう消えてるけどsetPowerHome(勢力,領地)がなかったっけ

613名無しさん@立夏:2017/08/25(金) 19:29:38 ID:???
一番簡単なのはwarlike使って線プッツンして狙いの方向に行かせるのが確実かと

614名無しさん@立夏:2017/08/25(金) 20:20:34 ID:???
>>612
少なくともwikiのログにはないけど

615名無しさん@立夏:2017/08/25(金) 20:37:53 ID:???
setPowerHomeは前スレでちょっとだけ出てたね
興味があったら試してみたらいいんじゃない?

616名無しさん@立夏:2017/08/26(土) 02:28:50 ID:???
更新のところにあるやつ、時々シナリオ製作のところに書かれずに流れちゃうことあるからねー

617名無しさん@立夏:2017/08/26(土) 02:52:20 ID:???
領地ウインドウを開いた時にイベントを発動させたいのですが、方法はないでしょうか?
また、領地を開いたり閉じたりする関数、開いている領地を取る変数、開いてる領地を条件にする・・・とかできれば助かるのですが・・・

618名無しさん@立夏:2017/08/26(土) 02:55:57 ID:???
もし仕様的にできないのであれば、ななあしさんに要望として目を通して頂ければとても助かります

619名無しさん@立夏:2017/08/26(土) 10:28:28 ID:???
もう機能追加はないと公式に宣言されてるで

620名無しさん@立夏:2017/08/26(土) 15:45:46 ID:???
公式に宣言されてるからといって完全に望みが絶たれたわけじゃないと思う。
少なくともmidiやoggのループ指定を組み込んでくれれば
RPGツクールやSRPGSTUDIOと同じくらいになるはずだから
それだけは是が非でも搭載してほしい。

621名無しさん@立夏:2017/08/26(土) 16:52:19 ID:???
変な数字入れるとバグって固まるとかでも全然いいんでAI設定の説明が欲しい

バグで思い出したけどスキルヘルプでアイコン出るようになったバージョンで何かスキルヘルプにバグあった気がしたけど
あれ直ったんだっけ?

622名無しさん@立夏:2017/08/26(土) 19:19:42 ID:???
スキルヘルプのバグなのか仕様なのかは分かりませんが、最新版でもそのままですね
ver7.00以降、func未指定の無効スキルのヘルプがスキルアイコンとスキル名が重なる
ワールド画面でユニットのスキルにオンマウスした時、
スキルヘルプ内にマウスカーソルが入っているとヘルプが開閉を繰り返す

623名無しさん@立夏:2017/08/27(日) 11:25:36 ID:???
>>621
このスレの過去ログにもある程度は出てくるけどそれ以外?
どの変数のことか書かにゃアドバイスしようがないと思う

624名無しさん@立夏:2017/08/31(木) 12:58:20 ID:???
scriptそのものが初心者な私に教えてください。

後々整理し易いように、作り始めた今のうちから先人のまとめかたを
参考にしたいんですけど、どの方のを参考にするのが皆さんオススメですか?

ヴァーレン派生のゲームで教えてください。
本家、むなしい努力、光の目は覗いてみました。
どれもすごいんでしょうけどわからなくて・・

625名無しさん@立夏:2017/08/31(木) 14:27:32 ID:???
整理しやすいまとめ方ってんならGreatEuropeWarとかスマブラ戦記とかかな
ジャンル別に細分化して個別にファイル作られてる
見やすいかどうかは別だけど

626名無しさん@立夏:2017/08/31(木) 14:44:14 ID:???
あと、もう使ってるかもだけど、サクラエディタ便利だよ
無いと何もできないレベル

627名無しさん@立夏:2017/08/31(木) 16:32:15 ID:???
自分がいちばん長く遊んだシナリオを読むのもいいよ
遊んで楽しいシナリオは自分の理想にも近い
ゲーム本体に詳しいほうがスクリプト読むのも楽しいし

628名無しさん@立夏:2017/08/31(木) 19:41:28 ID:???
vs codeの方がサクラより便利だよ

629名無しさん@立夏:2017/08/31(木) 22:01:07 ID:???
スクリプト覗くなら
本家ときのたけと銃魔と迫真は止めといたほうが良い

本家は作者がすっごいバラバラで書き方も統一されてない

きのたけと銃魔は国策関連が複雑過ぎて初心者には向かない
迫真はきのたけの流れを受けているから……

光の目は戦闘AIの書き方でいずれお世話になるが初心者にはどうだろう よくわからない

作者のコメントが多いのは祖国と銃と
むなしいも悪くない

630名無しさん@立夏:2017/08/31(木) 22:05:33 ID:???
まあ、こんなこと書いたけど一番良いのは>>627さんの書いた通りスクリプト書きたいと思ったきっかけの作品を見ることだね
一番好きな作品なら愛を持って取り組めるはず
きのたけについて悪く書いたけどこれでMOD作成に入門したから好きであることがやっぱり大事だと思う

631名無しさん@立夏:2017/08/31(木) 23:38:35 ID:???
まぁでも、何をしたいかによるよね
挙動イメージとか掴まないままに見たらどのシナでもきっと鼻血が出る

632名無しさん@立夏:2017/09/01(金) 00:18:13 ID:???
皆さん色々教えてくれてありがとうございます!
書いてもらえたこと全部試してみますね。

今日scriptの種類?とか色々あることを知ったんですけど、
ヴァーレン系のscriptフォルダ内にある.datのファイルって
javascriptで合ってますか?

633名無しさん@立夏:2017/09/01(金) 00:41:35 ID:???
>>632
スクリプトはjavaではなく独自の言語で書くけど
構造体のことかな?

634名無しさん@立夏:2017/09/03(日) 08:03:00 ID:???
そうです構造体です。
あれは独自の言語だったんですね!

続けて答えてくれて皆さんありがとうございました。

635名無しさん@立夏:2017/09/06(水) 16:31:24 ID:???
Visual StudioとC#使える人にしか使えない(デバッグモードで例外周辺の変数を覗いて問題のファイルの場所を特定する)ヴァーレンの構文チェッカー作っててそれなりーにはできたんだけど私以外に需要ある?

636名無しさん@立夏:2017/09/07(木) 10:53:35 ID:FbkupKD6
>>635
ありますあります

637名無しさん@立夏:2017/09/07(木) 22:24:52 ID:2nAU0q1o
Vの次はWだよね的なネーミングセンス

ヴァーレントゥーガ用構文チェッカー
Wahren ver0.0.0
ttps://ux.getuploader.com/vahren/download/4336

638名無しさん@立夏:2017/09/09(土) 18:43:13 ID:???
前にpushDeathの使い方wikiに載ってたような気がするんだけどなぁ
「なんか関数追加されたらしいけどよくわかんねーや」
→「銃魔ってシナリオが公開された、なるほどこう使うのか」
→「あれ、説明が消えてる」
みたいな感じだったと覚えてる
銃魔のために特注されたような関数だから時期としてはその前後だと思うんだけど
そのあたりを編集履歴やらアーカイブやらで探ってもさっぱりだ、あれは夢だったんだろうか

639名無しさん@立夏:2017/09/11(月) 19:54:05 ID:???
IFやWhileにも対応しました
実感としてかなりバグ取りが楽になりました
ttps://github.com/pCYSl5EDgo/Wahren

640名無しさん@立夏:2017/09/12(火) 10:42:54 ID:???
storememberofunit(test,@member)
storealltalent(@talent)
subv(@member,@talent)

上記のようにして人材以外の部隊メンバーに適用するイベントを作ろうとしたのですが人材が除かれませんでした
istalentでwhileループすれば除外できたのでこのイベント自体は問題ないのですが、storealltalentは他でも結構頻繁に使っているので使い方の認識を間違っているのだとしたら不安です
なぜ上の式では除外できなかったのでしょうか

641名無しさん@立夏:2017/09/12(火) 21:57:26 ID:???
>>639 すげえ

>>640
subvかも
以前使ったとき動作がおかしかったような。定かじゃないけど

642名無しさん@立夏:2017/09/13(水) 00:06:24 ID:???
>>640
subvとかaddvは変数に格納されている内容の、一番頭の内容しか見ていないからじゃないかな?
(@talentに「あ、い、う、え、お」と格納されているとしたら最初の「あ」しか見ていない)
だからwhileループで@talentの中に格納されている内容を、一つずつ取り出してやらないと意図した動作にならないハズ

643名無しさん@立夏:2017/09/13(水) 06:49:14 ID:???
>>641
>>642
まじかよ…やべえよやべえよ
複数要素の文字変数でのsubvaddv使いまくってました
今まで特に問題なかったけど大幅な修正が必要そうですね
ありがとうございました

644名無しさん@立夏:2017/09/13(水) 08:22:36 ID:???
まじか
俺のも直さにゃ

645名無しさん@立夏:2017/09/13(水) 08:23:15 ID:???
最終的な動作だけじゃなくて間にmsg&@変数&やら挟んで中身みながら特定してみてもいいと思う
他でうまく回っていたのならそこだけ実はoh! spell miss!してる可能性とか

646名無しさん@立夏:2017/09/17(日) 22:29:25 ID:???
>>588
スクリプトの暗号化はexeだから無いけど
画像の暗号化はPicEncoder.jarっていうやつを使うんだ
jarファイルってのは実はzipと同じフォーマットになっているから解凍をすると中からImageChg.javaっていうソースが出てくる

>>そもそも画像やスクリプトとかの暗号化の部分以外をオープンソースにして欲しい
とのことだが、実は画像の暗号化部分はオープンソースだったんだ
喜べ!

647名無しさん@立夏:2017/09/18(月) 00:10:37 ID:???
>>646
済まないが知ってた

648名無しさん@立夏:2017/09/23(土) 02:50:55 ID:DX35SrLo
艦隊コレクションの二次創作ヴァーレンでやってくれないかな〜(/ω・\)チラッ
昔、海戦再現した派生シナリオなかったっけ?

649名無しさん@立夏:2017/09/23(土) 07:53:26 ID:???
「何これ」のことだな
そこの作者のれどめも書いてるけど艦これは二次創作をゲームで発表するのは公式からNG
なんか、艦これキャラの絵を描いたトランプを出すだけでも動いてきた事がとかあったとかなかったとかあった気がする

650名無しさん@立夏:2017/09/23(土) 13:32:39 ID:???
>>648
ゲーム性があったらアウトなんじゃなかったっけ
フリーだとどうなんだろ

651名無しさん@立夏:2017/09/23(土) 14:15:55 ID:???
艦これのゲーム化権はDMMが独占してるから、艦これの窓口の角川側で勝手に許可が出せない
が、例の騒動もファンが勝手に騒いで勝手に自粛しただけだから、刺されない限りやるのは自由
だ、が、近年のヴァーレン界隈はクリーンに行こうとしているので、たぶん横槍入れられまくると思う

652名無しさん@立夏:2017/09/23(土) 15:08:07 ID:???
何これの艦載機スキルは正直面白いと思ってた
でも、マップが海だけだと代わり映えしないのが難だねぇ

653名無しさん@立夏:2017/09/24(日) 15:23:29 ID:???
極限まで簡素化した提督の決断4みたいだったなあれは

654名無しさん@秋分:2017/09/25(月) 01:36:05 ID:g7jjOoSU
一例とした以下のような文字変数の要素数を数えて、その範囲内で乱数値を得る処理を実行していたのですが、特定の条件下で0ばかりが出力される現象に遭遇しました。
どんな原因が考えられるでしょうか。

setv(@str,a)
addv(@str,b)
addv(@str,c)
addv(@str,d)
addv(@str,e)
...etc(変数の要素数は可変です)

pushRand2(int1) ←ここは毎回乱数が出力されます。
pushv(@str, int2) ←ここも正しく取得されます。
mod(int1, int2) ←おそらくここで問題が発生します。なんで?

msg(&int1&)

655名無しさん@秋分:2017/09/25(月) 16:56:35 ID:???
結構前のバージョンの時にpushRand2について検証したことがあるんだけど、確かpushRand2で出力される乱数って必ず8の倍数だったはず
当時と仕様がが変わってなければ、それが関係しているんじゃないかな




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