【ティラノスクリプト 交流掲示板】 2005719


HTML5ゲームエンジン、「ティラノスクリプト」に関する掲示板です

質問を書き込む前に

こんな機能ないかな?と思った時
ティラノスクリプトのタグリファレンス

ティラノWikiも確認
http://tyrano.wiki.fc2.com/

バグ報告や質問、要望などご自由にお使い下さい。


質問用スレッドPart3

1:シケモクMK :

2017/01/27 (Fri) 23:29:39


ティラノスクリプトに関するわからない事がありましたら、お気軽にどうぞ。
ティラノビルダーに関する質問はビルダー掲示板でお願いします→http://tyranobuilder.bbs.fc2.com/

■質問する前に
他のスレで解決していないかの確認をお願いします。

質問用スレッドpart1
http://tyrano.bbs.fc2.com/?act=reply&tid=6151309

質問用スレッドpart2
http://tyrano.bbs.fc2.com/?act=reply&tid=8375254

ティラノWiki や Googleでの調査も事前に確認をお願いします。

ティラノスクリプト 製作テクニックWiki
http://tyrano.wiki.fc2.com/

439:  :

2017/09/22 (Fri) 20:26:03

>>432
おおー本当ですね。
ゲームを閉じて、再起動すると
buf指定なしのseoptで設定した値は生きている。
buf指定ありのseoptで設定した値はなくなっている……という結果に。
buf指定とか全然使わないので全く気にしていませんでしたが……笑

seoptタグの中を見てみましたら、buf指定時は値をシステム変数に記録していないようです。
なんでだろう? 他の処理に影響ないのだったらbuf指定時もこの処理を入れてもいいと思いますが……。
フルボイスADV制作者には優しくない仕様ですね。
機能要望板にseoptタグの改善要望をお出しになったらいかがですか。

現状としては、buf指定ありのse音量を入れるシステム変数を自分で作って管理するといいと思います。
こんな感じ。これをfirst.ksかマクロをまとめたファイルの中に入れておいてください。
[macro name=seopt_buf]
[seopt volume=%volume buf=%buf|0 effect=%effect]
[iscript]
sf.se_vol_buf[mp.buf] = mp.volume;
[endscript]
[endmacro]

そしてコンフィグでbuf毎に調整したいならシナリオ内でもbuf指定なしでseoptしない。
もちろんconfig.ks内でも絶対してはいけません。
もしかしてbufなしでseoptすると設定済の全スロットにその値が入ってくれる……なんて思ってました?
(実は私がそう思ってました!笑 今回、調べてみるまでは)

実際は逆で、全スロットのvol値が吹っ飛ぶ仕様になっています。
ただ再生するだけなら全然困らないんですが、コンフィグで再生スロット毎に音量調整したいなら
エラー回避のための処理をconfig.ks内に書かなくてはならず、よろしくありません。
buf指定ありの[seopt]ならOKですが、変更した値をシステム変数に登録するのも1行でできますから
[seopt]ではなく[seopt_buf]を使うようにしてください。

あとはfirst.ksに使用する再生スロットの値を設定しておきます。
起動時にシステム変数に記録があればそれを参照し、なければ(初回起動時とか)[ ]に設定した初期値が入ります。
[iscript]
if (sf.se_vol_buf == null) {
this.kag.stat.map_se_volume = [ 60,60,60 ];
}else{
this.kag.stat.map_se_volume = sf.se_vol_buf;
}
[endscript]

これでゲームアプリをいったん落としても設定した各スロットのvol値は引き継がれるはずです。
ゲーム内で[clearsysvar]する場面がある時は、その時もclearした後に上記の処理を入れてください。

単純にコンフィグ画面を抜けてアプリを落とさず、再びコンフィグ画面に戻ると元に戻っている、という感じなら
上記の話とは別の問題で、多分なんかconfig.ks内の指定がおかしいんだと思います。
最初の方のiscriptタグ内で現在値からボタンの位置を決める処理が書かれていると思いますが
ここの変数指定がbufありse用に設定できていないのじゃないですかね。
どうカスタマイズしてるかわからないので推測ですけど……。
各bufの値はtyrano.plugin.kag.stat.map_se_volume に配列で入ってますよ。

  • 名前: E-mail(省略可):
  • 画像:

Copyright © 1999- FC2, inc All Rights Reserved.