トップページgamedev
1002コメント407KB

■吉里吉里/KAG/TJS雑談質問スレ■その29

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。 転載ダメ2015/06/05(金) 01:50:10.83ID:r78FM0BY
ノベルゲーム製作ツール吉里吉里/KAGのユーザーが雑談・質問をするスレです。
自作ゲームの進行状況や製作ツールについての話、TJS等の話題もどうぞ。
マルチポストはやめましょう。個人叩きも禁止です。

※スレで質問をするときは※
KAG/TJS/吉里吉里ドキュメント、スレの過去ログ、公式掲示板のログ、
FAQ、Google等で調べてからにしましょう。
努力の形跡が見られないとスルーされがちです。初心者?でも頑張れ!

吉里吉里スレ過去ログ倉庫
ttp://bbs.bokunatu.com/krkr/
吉里吉里2/KAG3雑談質問スレ_過去ログ
ttp://www.geocities.jp/kirikiri_log/

吉里吉里ダウンロードページ
ttp://kikyou.info/tvp/
ダウンロードしたアーカイブに含まれる「KAG System リファレンス」は
初心者にとって最も頼もしい教科書です。何度も繰り返し読みましょう。
■タグリファレンス … KAGの機能が網羅的、辞書的に載っています。
大よその機能(KAGでどんなことが出来るか)は把握しておきましょう。
■Tips/その他 … 陥り易いミスやより高度な使い方への足掛かりになる
数々のTipsが記載されています。
■TJSをもっと使うために
ゲームのインターフェイスをカスタマイズしたい、また
KAGの命令に無いことをしたくなったらまずここを読んでみよう。

必要に応じて>>3-5の公式掲示板や講座等を併用してください。
(併用に、紙媒体の参考本が欲しい人は、ダウンロードページにリストがあります)

前スレ
■吉里吉里/KAG/TJS雑談質問スレ■その28
http://peace.2ch.net/test/read.cgi/gamedev/1391503520/
0048名前は開発中のものです。2015/06/12(金) 23:57:45.58ID:W4AL3wN/
>>46
KAGParserは、KAGスクリプトを解析してタグを返したり、マクロ定義したり、[if]とか[jump]とかの制御構文を実行したりするもの。
画像に(というかLayerクラスに)属性追加したりはしないよ。
コレ↓ね。
ttp://devdoc.kikyou.info/tvp/docs/kr2doc/contents/f_KAGParser.html
0049名前は開発中のものです。2015/06/13(土) 06:39:10.92ID:nsFt3I7H
>>41
タグの属性の=の前後に空白を入れても認識するようにして欲しいっす。
こんな感じで。

[call target = *subroutine]
0050名前は開発中のものです。2015/06/13(土) 07:04:46.37ID:fUsuZWZa
>>47
KAG拡張にはすでに
KAGEXがある

もしそれと衝突する場合
そうとう便利じゃないと普及しないと思う

どれくらいの規模の物を
配布しようとしてるか分からないけど
0051名前は開発中のものです。2015/06/13(土) 07:09:56.65ID:fUsuZWZa
>>47
あとKAGの守備範囲かどうか考えてないけど
思いついた欲しい機能挙げていい?

ネットのブラウザみたいに
スクロールバーで上下スクロールして
読むタイプのメッセージウィンドウ
クリックで改ページするんじゃなくて
0052名前は開発中のものです。2015/06/13(土) 11:56:44.46ID:jU1VifUF
>>50
既にあるもので満足してるならそれを使えばいい。
そっちには無くて、でも欲しい便利機能などがあれば知りたい。
普及させるのが目的じゃなくて、俺(やみんな)が楽にゲーム作れるようになるのが目的。

>>49
それは簡単に対応できるけど、それ嬉しいかな…?ちょっと考えてみる。

>>51
KAGParserの範囲じゃなくて、メッセージレイヤの拡張だね。
メッセージレイヤ結構書き換える必要があってオオゴトだけど、確かにそういうの欲しいとは思う。
0053名前は開発中のものです。2015/06/13(土) 13:06:35.34ID:fUsuZWZa
>>52
何が一番欲しいか考えたんだけど

「ソースが整理されてドキュメントが追加されて
 クリーンで改造しやすくなったKAG」かな

それで欲しい機能は各自で実装するようにすれば
仕様が肥大化せず最もスマートな形だと思う

最近できた吉里吉里ZのKAG版みたいな感じ
イメージとしては「KAGZ」みたいな?
0054名前は開発中のものです。2015/06/13(土) 13:07:07.35ID:fUsuZWZa
>>53
補足すると

KAG本体の話になっちゃったけど
KAGParser限定の話だとしても
吉里吉里ZではDLLによる
プラグイン仕様になったことだし
改造しやすくという要望は同じ
0055名前は開発中のものです。2015/06/13(土) 13:24:05.93ID:wg6/weJ7
parserの部分がどこまでなのか知らないので適当に不便だなと思ったあたりを・・・

@マクロ限定でもいいんだけど、[char,1,1,3,4]とか[wait,1000]みたいに引数をカンマで渡したい。
$_とか$1みたいな形で引き出せると嬉しいにゃイコール撃ちたくない・・・[cus_wait w1000]みたいなのだと複数割り当てられないし。

A*chap01_0251|○○「ら、らめぇ
的なセーブラベル作るの大変。セーブラベル作成時に自動的に次の行の頭何文字か持ってくる/こないと選択式に出来ないだろうか

Bevalのコマンドをもう少し簡略化して欲しい。
*check_
{var char_name='童貞ちゃん'}
{var var1=0}
{static var VAR1MAX=10}
ドコにお宝あるかなぁ[s]
*check
[er]{&char_name}ちゃん!お疲れ様!いま{&var1++.'/'.&VAR1MAX}個だよ。あと{&VAR1MAX-&var1}個集めればクリアだよ![s]
的な呼び方KAGからできたら楽そうなんだけど・・・むり?[eval exp=""]っていちいち打つのだるい上に変数確認めんどひ
0056名前は開発中のものです。2015/06/13(土) 13:31:18.38ID:lI842xvk
とりあえず要望を言っていいのなら
本家版[quake]タグのwin8フルスク対処とか拡張欲しいです
今の[quake]は大雑把な縦揺れ、横揺れのみだと思うんだけど
自然で滑らかな揺れとか揺り戻しの設定が欲しいっていうか…
0057名前は開発中のものです。2015/06/13(土) 14:09:31.76ID:jU1VifUF
>>53
KAGParserはもうプラグイン化できてるから、その意味では既に各自が拡張できる下地はあると思うよ。
それ以外の仕組みで拡張を考えるのは難しいね…

>>55
@は面白いね。
デリミタとして(今は空白なのを)','も使えるようにして、マクロ側でmp["1"]に一つ目の引数(の名前)、mp["2"]で二つ目の引数(の名前)…を代入しとけば、マクロ中で%1, %2 とかで参照できそう。これは検討してみる。

Aは、|の後の見出し文字列のことだよね?確かにそれは便利そう。文法がはっきりすれば実装してみたい。たとえば、
 *label|+4
 良子「らめー」

 *label|良子「ら
 良子「らめー」
と同義ということでいい?

Bは[emb]のことかな。確かに面倒だ。{}で囲んだら[eval exp=""]と同等と考える、みたいなのはできると思うが、そうすると'{'が普通の文章中で使えなくなっちゃうんだよね…。
[&ABC]を[emb exp="ABC"]と同等にする、とかならアリかも。どうかな。

>>56
quakeの中の話はKAGParserじゃないんだけど、気持ちはわかる。
ただ、Win8対応は本家でKAGシステム側で対応中だから待つか、今のブランチを使うとか。
ttps://sv.kikyou.info/trac/kirikiri/browser/kirikiri2/branches/kag3_win8fix
あと、quakeの拡張はプラグインがいくつか既に公開されてるからそれも検討したらどうかな。コレとか。
ttp://koumei.rejec.net/html/exp_quake.html

実はExtKAGPerserの中の人に連絡とってみた。一緒に色々検討してみるつもり。
0058名前は開発中のものです。2015/06/13(土) 16:12:51.94ID:fUsuZWZa
>>57
>KAGParserはもうプラグイン化できてる
それはそうなんだけど

>それ以外の仕組みで拡張を考えるのは難しい
とは思わない

だって吉里吉里そのものがノベルゲームエンジンに
新しい拡張の仕組みを用意したわけじゃん

じゃあ具体的にどんな拡張の仕組みがあるかといえば
たとえばKAG(Parser)をプラグインで拡張できるみたいな

プラグインと称する仕組みもすでにあるんだけど
洗練されて使いやすいとは思えない
0059名前は開発中のものです。2015/06/13(土) 18:37:09.65ID:jU1VifUF
>>49
ソース見たら、今でもできるようになってたよ。

>>58
汎用的なプラグインの仕組みかー。それは今の俺の力では無理なんで、今回はスキップさせてくれ…。
どっちかというと美しいインターフェースの設計みたいな、そういう力が必要だなぁ。できる人、頼む。
0060名前は開発中のものです。2015/06/13(土) 22:21:56.11ID:BIoiqeMa
背景画像のループとか簡単に出来ると嬉しい
ってデザインとか演出やってて思います……
KAGだけでループ処理出来たら楽だなあ
0061名前は開発中のものです。2015/06/13(土) 23:41:47.53ID:Ranj/2kb
希望だけ言っていいならlayerexbtoa.dllをkagで簡単に使えるようになったらいいなぁって
0062562015/06/14(日) 01:11:48.04ID:YLdvyjMe
>>57
お疲れさまです
KAGPerserはシナリオ部分ですね失礼しました

[s]タグやラベル通過だけでなく
[l]タグ直前までの既読判定もできるような何かが欲しいんですが
これはKAGParser、KAGParser.onLabel範疇でしょうか?

商業PCゲーみたいに既読文章の文字の色を変える機能を
実装しようとしたんですが既読判定は[s]タグかラベル通過のみで
[l]タグで止まってる状態でセーブして、それをロードしてもうまくいかないというか…
0063名前は開発中のものです。2015/06/14(日) 01:13:42.33ID:rxbnTFoL
>商業PCゲーみたいに既読文章の文字の色を変える機能

これ俺も欲しい
吉里吉里でなんかいい方法ないかな
0064名前は開発中のものです。2015/06/14(日) 01:40:51.63ID:NsU85ftu
>>63
パッと思いついたすぐできそうな方法では
既読情報のフラグで色を変える
色分けはラベル単位になるけど
0065名前は開発中のものです。2015/06/14(日) 02:30:29.31ID:iBGAIxhB
>>60
>>61
どっちもKAGParserではないなぁ…。誰かよろしく。
背景の無限ループは、どっかにプラグインがあったよ確か。

>>62
既読判定はKAGParserではなくて system/MainWindow.tjs なんだよね…。だから今回は対象外。

MainWindow.tjsのgetCurrentRead()を見るよろし。
簡単に言えば「セーブされてるラベル群中に現在のラベルがあるかどうか」をチェックしている。
だから、[l]で止まってセーブした時にそこまで読んだことにするには、仕組み上[l]の部分に(画面途中だからセーブ不能な)ラベルを配置するしかない。
うーん、たとえば、セーブポイントからの既読行数を覚えるようにすれば、たとえページの途中でも既読判定は可能だろう。でも、そうすると今度はセーブ・ロード間でのシナリオ変更に弱くなってしまうというデメリットも生まれてしまう。
なかなか難しいね。いい考えある人挙手を!というか作って!

>>63
既読部分の色を変えるのもやっぱりMainWindow.tjsをつつく。ch : function()... のあたりで、既読なら色変えるとかする。
でも、たとえば時々メッセージのテキスト色を変えて表示しているゲームの場合、既読の時にその色をどうするか、みたいな問題があるよ。
0066名前は開発中のものです。2015/06/14(日) 10:03:06.81ID:KERsBEYc
吉里吉里でこんなの欲しい
既読部分に絡むけど文字の縁取りとグラデ
過去スレに同じ話題があったけどkagで全部に反映される方法が吉里吉里初心者には難しいや
0067名前は開発中のものです。2015/06/14(日) 13:06:56.12ID:TM/zeG/D
>>66
MessageLayer.tjsを魔改造していいのなら、今こんなの作ってます(宣伝)。
https://github.com/sayonogami/fadech_grad
0068名前は開発中のものです。2015/06/14(日) 13:09:51.72ID:Kz0kyUKV
KAGのタグを途中で改行できるようにしてほしい
属性が多いとスクリプトが横長になって可読性が落ちてくるので
0069名前は開発中のものです。2015/06/14(日) 13:40:33.68ID:iBGAIxhB
>>66 もKAGParserじゃないなぁ。
>>67 はイイね!そのまま使えそう。

>>68
ExtKAGParserで既に実装されてるよ。
0070名前は開発中のものです。2015/06/14(日) 13:43:31.24ID:KERsBEYc
>>67
おーすごい!起動させてもらったよ、これで問題なくいけるんじゃないか
まだ作りかけって書いてるけど既にテキストにグラデだけなら問題なさそうな
正式公開楽しみにしてる
0071名前は開発中のものです。2015/06/14(日) 13:51:22.89ID:KERsBEYc
KAGParserでやれることっていうのがいまいち解ってないからトンチンカンな事言ってそうごめん

あと単純に吉里吉里で欲しいなって思ったのはボタン押したときに画像がトランジション出現消去はするんだけど
ゲーム自体は止まらず進行してる奴かな文字描画ではプラグインあるの見たんだけどね
自分でTJSで組んで描画まではいったんだがトランジションで積んだ
0072名前は開発中のものです。2015/06/14(日) 15:22:20.66ID:iBGAIxhB
>>71
これもKAGParserとはちがうけれど、
表示する画面を「一番前」に不透明で表示すれば、後ろの画面が動いていてもなんとでもなるよ。
右クリックルーチンは多くがそうなってたはず。
0073622015/06/14(日) 16:12:06.79ID:YLdvyjMe
>>64
おっしゃる通りラベル単位での実装は可能ですね。
一画面3行程度で[l]を使わず、すぐ次のラベルに行けるゲームなら問題ないと思います。
ただ一画面に10行テキストとかだと可読性のため[l]を使わざるを得ないのが困り物です。


>>65重ね重ねありがとうございます。
提案されたものを考えてみたら昔、配布されていた
どこでもセーブプラグインがそういう考え方の仕様だったと思います。
あのプラグインでも文字数の変化をしてしまうと
ラベル自体に変化があるのかロード不可が生じるんですよね…
見当違いのこと言ってましたのに丁寧に答えて下さって、ありがとうございます。
0074名前は開発中のものです。2015/06/14(日) 16:27:59.24ID:KERsBEYc
>>72
画面がというよりクリックで読み進めてても、画面の端で動いて出て消えてるというかな
読み進めてるんだけどゲーム中流れるBGMのタイトルが左上に独自レイヤ動作でさっと出るような
自分が知らないだけかもしれないんだけど吉里吉里内では上手くできなくて

シナリオ内でいうなら他の人も書いてるけどemb他変数まわりかな
単語ひとつでこれは○○変数だよーできると楽になるような気はする
0075名前は開発中のものです。2015/06/14(日) 17:38:19.01ID:rxbnTFoL
>>65

なるほどなあ
一応mainwindowtjsやらいじってラベル単位では
やれるのは知ってたんだが
pタグ単位でとかになるとセーブロードあたりでやっぱり難しいんだな

parserに関係ないのに丁寧に回答くれてありがとう
0076名前は開発中のものです。2015/06/14(日) 20:11:19.93ID:NsU85ftu
>>73
>どこでもセーブプラグイン
セーブまわりの情報を動的に生成するのは
バグの温床だからなるべく避けたほうがいいと思う
ユーザから見て不便なのは分かるけど

個人的にはセーブポイントはシナリオ完成時に
スクリプトでいじらず完全に静的に固定したまま
シナリオに書いてある通りというのがオススメ
0077名前は開発中のものです。2015/06/14(日) 23:16:26.25ID:iBGAIxhB
>>73
正確には文字数の変化じゃなくて行数の変化だよ。制限厳しいのはその通りだけど。
変更に強いセーブの仕組みって何かないかなぁといつも考えてるけど、いいアイディアが浮かばないね…
やっぱりマメにラベル書くのが一番かなぁ。

>>76
俺もそう思う。なんとかしたいんだけどなぁ。

>>74
そういうのはやっぱりKAGPluginにして、ちゃんとonCopyLayer()とonExchangeForeBack()を実装するとうまく動くよ。
下の「レイヤコピーに対応する」「トランジションに対応する」が参考になるかも。
ttp://www.geocities.jp/keep_creating/DojinDOC/HowToWriteKAGPlugin.html

KAGParser、現在 [macroname arg1 arg2 arg3] でマクロを呼び出すと、マクロ内で %1でarg1を、%2でarg2を…のように参照できるところまでは実装した。
これから[&entity]で[emb eval="entity"]と等価にするのを実装する予定。
今のKAGParserって処理が上から流れてないからモノスゴ判りづらいね…少しずつ書き換えてるけどエンバグが怖い。
0078名前は開発中のものです。2015/06/15(月) 20:10:04.20ID:y8VQZHx1
ExtKAGParserの中の人です。

提案した機能を組み込んだ ExtKAGParser のbeta版を upload しました。
※正式リリース(0140の予定)の時はこれは消します。
ttp://www.geocities.jp/keep_creating/krkrplugins/ExtKAGParser/ExtKAGParser-0139.zip

提案あった以下を今のExtKAGParserにマージしました。
・新表記[&tjs式]を導入。[emb exp=tjs式]と同等
・マクロ側で引数の出現順に引数名を変数%1, %2, %3で使用できる
一方、「ラベルの指定方法によっては次の行の頭数文字をページ名として使用する」機能は、仕様が明確でないことと要望が少ないことから今は実装していません。

詳細は展開してできるExtKAGParser.dllと、testscript/data/scenario/first.ksにて。

これからいろんなものでテストしてみます。
皆様もテストしてもらえると嬉しいです。特に IgnoreCR=false のゲームでのテストを望みます。

とりあえず、自前のゲームと、PBPさんの「タリナイモノ」は動きました。「タリナイモノ」は[if][endif]の間にラベルがある箇所(文法違反)があって、その一箇所だけ変更する必要がありました。
エラーチェックを厳密化しているので、こういうことは起こりがちです。
0079名前は開発中のものです。2015/06/15(月) 20:36:20.10ID:is6up9fQ
昔作ったゲームがIgnoreCR=falseだからやってみたら
空欄?スペース?になってるところに\が異常に挿入されたり
セーブデータの読み込みでラベルが見つからなかったりした
0080名前は開発中のものです。2015/06/15(月) 21:23:47.93ID:2d9rWfYL
なにこれすごい・・・!ありがたやーヽ(^o^)丿whileとかも使えるし、引数の順番毎に取れるようになっ・・・たけど動かなくなった/(^o^)\

[macro name="macroA"]
[&tf.var1] #=>ok
[emb exp="%1"] #=>ok
[emb exp="%2"] #=>ok
[endmacro]

[macro name="macroB"]
[&%1] #=>ERROR
[emb exp="mp.asd"] #=>ERROR
[&mp.asd] #=>ERROR
[endmacro]

[macro name="macroC"]
[macroA *] #=>引数がないときエラー?
[endmacro]

[macroA asd=1] #=> メンバasdはみつかりません
[macroA 'asd'=1] #=>タグ:不明( ←エラーの発生した前後の〜(行はこの行をさしてる)
[macroC 1 1] #=>ok
[macroC] #=>tf.var1の値が表示された後にERROR
[macroD 'asd'=1] #=>ok
0081名前は開発中のものです。2015/06/15(月) 21:40:13.40ID:2d9rWfYL
ごめんデバッグしてる間に中身が変わってしまっていた。ヽ(^o^)丿
;[macroD 'asd'=1] #=>ok←コレなし!
;[macroA 'asd'=1] #=>タグ:不明( ←エラーの発生した前後の〜(行はこの行をさしてる)←コレも無し
続き
[macro name="macroE"]
[emb exp="mp.asd"]
[endmacro]
[macro name="macroF"]
[emb exp="mp.asd"]
[emb exp="%1"]
[endmacro]
[macroE 'asd'=1] #=>エラーは無いが、表示されない
[macroF 'asd'=1] #=>asdと表示
[macroF] #=>タグ:不明( ←エラーの発生した前後の〜(行はこの行をさしてる)
マクロ呼び出し時引数がない時に%1を参照しようとするとエラーが出るみたい。
0082名前は開発中のものです。2015/06/15(月) 23:50:41.66ID:y8VQZHx1
皆様
テストありがとうございます。
>>79
ignoreCR周りはテスト環境が周りになくて…ちょっとさがして確認してみます。

>>81
引数名にシングルクォート付き 'asd' は文法エラーにすべきなので、後でそうします。
[emb exp="%1"] は [emb exp="asd"] なので、asd が変数として定義されていなければエラーになってしかるべきです。
[ch text=%1] なら希望通りになるはずです。
でも、他のテストも通ってないですね、ありがとうございます、確認します。

いい機会なので KAGParserを綺麗にしながら書き換えています。結構オオゴトです…。
0083名前は開発中のものです。2015/06/16(火) 00:46:36.85ID:JicPL6r2
>>81
多分これは全て想定どおりだと思う。
[emb exp="xxx"] で、xxx が void だと、エラーになる。これは通常のKAGParserでも同じ。
下のマクロ実行を普通のKAGParserで実行するとエラーになる。

[macro name=abc]
[emb exp=%arg]
[endmacro]

[abc]

一方、ignoreCR=falseの方は、確かにおかしな部分がぽろぽろあるね。頑張ってテストする…。
0084名前は開発中のものです。2015/06/16(火) 10:50:43.39ID:jk9qrMWp
すみません。吉里吉里の変数の扱いで質問なのですが、
例えばConfig.tjsで定義されている画面サイズなどの値を、
別のファイルに定義してある定数などを参照する事は可能ですか?
0085名前は開発中のものです。2015/06/16(火) 18:17:49.89ID:30N/bvmG
>>84
Config.tjs の仕組みは、そこで定義されてる関数を使って変数初期化してるだけなので、function KAGWindow_config() の中に適当に別のファイルから変数よみこんで設定する仕組みを足せばいいのではないかと
0086名前は開発中のものです。2015/06/16(火) 18:18:51.28ID:30N/bvmG
>>78
KagParserEx の pmacro 拡張が地味に便利なのでパクるのおすすめ
0087名前は開発中のものです。2015/06/16(火) 19:53:36.22ID:6rrvs82j
吉里吉里の
[macro name="macroA"]
[emb exp="mp.hikisuu1"]
[endmacro]
[macroA hikisuu1="string_abc"]
って >>78のやつでどうやって実装するん?
引数無いときもたしかvoidが入ってんだっけ?
0088名前は開発中のものです。2015/06/16(火) 20:16:13.68ID:JicPL6r2
>>86
@pmacro は中の人と検討したけど、今回は採用を見送った。
[macro]の「指定しなかった引数のデフォルト値」の方がモノとして綺麗だろうというところで。
多方面からの要望あれば実装するかもしれないので、希望者は中の人にメールだ!

>>87
[emb exp="mp.hikisuu1"] と同等の [&mp.hikisuu1]でどう?
マクロに引数を指定しないと、mp.*にはvoidが入っているから何も表示されなかったよ。
0089名前は開発中のものです。2015/06/16(火) 22:32:32.37ID:JicPL6r2
今後はudateは以下で行うとのこと。今のは前よりもかなりまともになったみたい。
ttp://www.geocities.jp/keep_creating/krkrplugins/ExtKAGParser/ExtKAGParser-0140beta.zip

あと、2chは(見てるけど)見る頻度が低いから、掲示板で色々言って貰えると嬉しいとのこと。
ttp://bbs7.aimix-z.com/mtpt.cgi?room=keepcrea&mode=view&no=8
0090名前は開発中のものです。2015/06/17(水) 00:22:54.42ID:XOOYOcl1
>>88
それはpmacroの用途を見誤ってるかな。デフォルト指定でカバーできない範囲で使うものなので

機能組み合わせごとにマクロ組んでしまうタイプの記述をする人にはメリットわかりづらいかな。多機能なタグと組み合わせると真価がでる機能
0091名前は開発中のものです。2015/06/17(水) 16:45:57.87ID:sDCCGSvS
む・・・マクロの中で変数に%1渡そうとしたらエラーがでる
渡し方悪いのかな

http://pastebin.com/mcs3gBEC

エラー:タグ : if ( ← エラーの発生した前後のタグを示している場合もあります )
文法エラーです(syntax error)
0092名前は開発中のものです。2015/06/17(水) 20:08:29.46ID:fxN6ScJE
>>91
[eval]や[emb]のように、与えられた文字列をTJS式として認識するものに %1 を渡すには、
mp['1']のように書くといいよ。
# mp.1 はダメなので注意。

[eval exp="tf.input = (string)%1"]
じゃなくて
[eval exp="tf.input = mp['1']"]
ね。
0093名前は開発中のものです。2015/06/18(木) 13:38:53.11ID:14L1zqlH
>>85

丁寧にありがとうございます。
function KAGWindow_config() の中ですね・・・
とりあえず実装できる希望が持てたので試行錯誤してみます。
0094名前は開発中のものです。2015/06/21(日) 00:04:56.25ID:X/KcvOsw
吉里吉里の変数について
宣言した吉里吉里の変数はほかファイルでも使えると思うのですが、どうも使えていないようです。

ファイルをまたいで使用する場合はなにかやることありますかね?

例えば、[eval exp="f.select=1"]
としてて、
別ファイルで

[if exp="f.select==1"]

[endif]

などとしても数値が読み込めていないためか正常に動作しません
0095名前は開発中のものです。2015/06/21(日) 00:22:25.44ID:QYJDfiW1
スペルミスしてるとかどっかで間違って変数書き換えてるとか
実は呼び出されてる順番が違うとかミスはいくらでもありうる

Shift + F4でコンソール表示して、細かく数値の変化追ってみろ
0096名前は開発中のものです。2015/06/21(日) 01:08:37.73ID:X/KcvOsw
>>95
ジャンプタグと変数の位置がおかしかったためでした。
0097名前は開発中のものです。2015/06/21(日) 18:01:25.02ID:Wp1JWW9r
ユーザーがセーブデータの場所を自由に設定できるようにしたいんだけど、
ユーザー用のエンジン設定でcfuファイルに?-datapathオプションを設定しても反映されない……。

これってもしかして吉里吉里の仕様なのかな?
それとも俺のやり方がどこか間違っているだけなんだろうか?
0098名前は開発中のものです。2015/06/21(日) 18:02:49.75ID:QYJDfiW1
その部分だけ引っこ抜いて晒してみたら?
0099名前は開発中のものです。2015/06/21(日) 18:36:10.85ID:Wp1JWW9r
いや、こんなの晒しても意味ないでしょw

他のメーカーの作品いくつかで試してもダメだったし、理由は予想が付くわ。
cfuファイルはcfファイルで指定したセーブフォルダに存在しなくてはいけないから、
そのcfuファイルでさらにセーブフォルダを変えようってのが無理なんだな。
0100名前は開発中のものです。2015/06/21(日) 19:24:48.38ID:G5Q2ZFe6
それが分かってるならcfファイルを直接変更するようにすればいいんじゃね
0101名前は開発中のものです。2015/06/21(日) 19:30:41.34ID:Wp1JWW9r
>>100
cfファイルのアレを直接編集するのはユーザーには大変だと思うから、
とりあえずショートカットのコマンドラインで指定してもらうことにするわ。
0102名前は開発中のものです。2015/06/21(日) 19:56:23.65ID:Wp1JWW9r
コマンドラインでパスに空白が入っていると吉里吉里が認識しない
面倒くさいのう ('A`)
0103名前は開発中のものです。2015/06/22(月) 16:27:31.44ID:cXM1rYRj
デフォのEXのセーブ関係を試していたんだけど、

シナリオ上で、
[call strorage="call_test.ks"]

として

【call_test.ks】
*start
TEST[l]
TEST[l]
TEST[l]
[return]


このcall先でセーブしてロードすると、returnのところで

returnタグがcallタグと対応していません。(returnタグが多い)と出てエラーになるんだけど、これってバグだよね?
メッセージウィンド上のボタンクリックでも、上部バーでも同じ結果なんだけど、対処方法は無いの?
0104名前は開発中のものです。2015/06/22(月) 17:50:16.17ID:S/KGgujn
朝倉玲亜(水瀬玲亜):吉里吉里は手抜き同人レベル。CIRCUSは自社規格。
ttp://twitter.com/Reah_Asakura/statuses/187931191737987072
0105名前は開発中のものです。2015/06/22(月) 18:18:44.93ID:Fln2fxMZ
持ってくる話が古いんだよなあ
0106名前は開発中のものです。2015/06/22(月) 20:01:20.44ID:Y3xmKo2K
吉里吉里2は終わコン
0107名前は開発中のものです。2015/06/22(月) 20:35:33.95ID:znMoRWzL
>>102 "-datapath=〜"で囲めばいいんじゃないかな?
>>103
EXではautolabelの関係でcallはシナリオスクリプトでは使ってはいけない。
(セーブするタイミングなしですぐreturnするのであれば問題ない)

そもそも素のKAG3でもcall使っててパッチによるシナリオ修正が入ると
既存のcall先でのセーブデータの互換が取れなかった気がするので、
callは使わないでシナリオ書くのが普通だと思ってたけど、どうよ?
0108名前は開発中のものです。2015/06/22(月) 21:24:46.83ID:znMoRWzL
ttp://pastebin.com/3Fnf4GBv
call使うなーで終わるのも何なので、mycall/myreturnタグを作ってみた。(無保証)
戻り先を指定する必要があるのでcallより若干面倒だけど、使えないよりはマシってことで。
あとnextタグの実装があるKAGEXのみ対応だけど、該当箇所をkag.processに置き換えれば
KAGでも動くんじゃないかな…
あまり動作確認してないのでバグがあったらごめん。
0109名前は開発中のものです。2015/06/22(月) 22:28:13.04ID:F+MZZfBp
>>107-108
そうだったんだ・・・・・・知らなかった。勉強になったよ
シーン再生でcall使うから直さないとやばいと思ったけど、よく考えたらシーン再生中はセーブしないから不要だった
0110名前は開発中のものです。2015/06/22(月) 23:01:36.73ID:WyoTw65c
>>102
囲んでもダメだったよ。
コマンドラインで指定すると起動時にエラーが出て終了しちゃう。

そもそも、空白のあるパスは-datapathには指定しないほうが良いみたい。
krkrconf.exeを使って""で囲んで設定してやれば起動もセーブもできるけど、
ログファイルが吐き出せなくなる現象を確認しました。
01111102015/06/23(火) 00:49:09.48ID:kM5HYO4H
俺のスクリプトミスでした。ごめんなさいorz

特定の条件で起動時に自分自身の再起動を行うルーチンを入れているんだけど、
その際に-datapathの値を""を囲んでやれば上手く行きました。
0112名前は開発中のものです。2015/06/23(火) 14:27:18.67ID:DDeuK+5t
基本的にパスやファイルネームに半角スペースは入れないのは基本中の基本と思ってたんだが・・・・
0113名前は開発中のものです。2015/06/23(火) 14:31:00.20ID:sj8v5oNS
Program Files「おっ、そうだな」
0114名前は開発中のものです。2015/06/23(火) 15:00:44.32ID:uHYCeGce
メーカーがそうやって突き放したら面白いね
0115名前は開発中のものです。2015/06/23(火) 15:15:32.22ID:99EtGX9N
今時プログラミングの講義でhoge使うと人格疑ってくる学生も多い時代だ
自分の青春時代を基準に考えると色々と間違えるぞ
0116名前は開発中のものです。2015/06/23(火) 21:06:27.99ID:vFhv71ja
>>112
作る立場としては、半角スペースと日本語ファイル名で問題なく動作するのを確認するのが基本
0117名前は開発中のものです。2015/06/23(火) 21:07:02.00ID:zrFefULb
どんな基本だよ
0118名前は開発中のものです。2015/06/24(水) 00:45:31.16ID:/x1YhQta
青春菅家無いわw 全角はともかく半角スペースは入れないのが基本だろw
ツールがそれで誤認識する恐れがあるなら使わないのが基本
バグなんてのはだいたいそんな部分で出るんだから、そんなところでハマったらアホらしいだろ
ファイルネームにハイフン入れてくるアホとか勘弁してー
さすがに半角英数小文字8文字以内でやれとは言わんからさ
しかもoと0 1とlはどっちかしか使うなとは言わんからさ
頼むよホント
0119名前は開発中のものです。2015/06/24(水) 00:47:58.02ID:bIqVH8RZ
作る側が自分でゲームのフォルダやファイルに半角スペース入れるのはアホだが
半角スペース入りのフォルダにユーザーはデータを保存するな ってのはだめだろ
0120名前は開発中のものです。2015/06/24(水) 01:08:17.55ID:IDVuiz0F
>>119
ツール開発するようになると、バグを未然に防ぐのにために、個人的なファイルは、はまりやすいファイル名をあえて使うようになるw

むろん人に渡すファイルでは避けるけどね
0121名前は開発中のものです。2015/06/25(木) 11:58:59.68ID:ytwFUn16
マゾ的だなぁ
みんな、分かりきってるバグの元のためにわざわざそんな事するんだなぁ
0122名前は開発中のものです。2015/06/25(木) 21:18:44.32ID:GjmA1iAX
空白の入っているパスに対応できないこと自体がバグじゃね?
0123名前は開発中のものです。2015/06/25(木) 21:38:30.69ID:sSbod4qi
ドットドットファイルを送ってやろう!
0124名前は開発中のものです。2015/06/26(金) 09:02:38.54ID:pVdADokU
>>122
アンインストールする時に外のフォルダのファイルまで削除したり
傲慢なプログラマーは犯罪だな
0125名前は開発中のものです。2015/06/26(金) 11:29:20.96ID:s6AQtTBf
過去によほど嫌な思いをしたようだな
0126名前は開発中のものです。2015/06/26(金) 11:32:42.22ID:/esgv8XO
ムケていないようだな
0127名前は開発中のものです。2015/06/27(土) 20:09:44.64ID:1hBOV+2t
Releaserでxp3ファイルを作るときにOggファイルが入ってると
やたら時間が掛かるんだけどなんでなんだろう。
圧縮対象からは外しているんだけどな。
0128名前は開発中のものです。2015/06/27(土) 20:27:57.60ID:MJkPm1jz
ヘッダの統合してるからじゃろ
0129名前は開発中のものです。2015/06/27(土) 22:43:38.81ID:MJkPm1jz
オプションタブの「OggVorbisコードブック共有化」のチェックを外せばいいと思うよ
ttps://twitter.com/wdko/status/613860938249142272
xp3サイズをできる限り小さくしたいとかでなければ使わなくても大丈夫かと
0130名前は開発中のものです。2015/06/27(土) 23:01:49.76ID:1hBOV+2t
>>129
あー、そのオプションを外せばいいのか。存在をすっかり忘れてたw
どうもありがとう!

ところで、そのツイッターのアカウントの人ってもしかして吉里吉里の真祖さん?w
0131名前は開発中のものです。2015/06/27(土) 23:02:45.42ID:uCRV3NlE
ニーソ教の教祖さまだよ
0132名前は開発中のものです。2015/06/27(土) 23:41:48.41ID:Vgic/FKo
素人にはお勧め出来ない(フォロー)
0133名前は開発中のものです。2015/06/28(日) 00:24:22.33ID:UQP3l5XG
>>41>>78
中の人まだここ見てるかな。
マクロ中で[iscript]〜[endscript]が使えるようになるとありがたいんだけど
無理でしょうか?
0134名前は開発中のものです。2015/06/28(日) 02:02:22.62ID:jP/jmj01
>>133
ExtKAGParserの中の人への意見は、彼(彼女?)の掲示板にした方がいいよ。ここを見てるかどうかわかんないし。

マクロ中で[iscropt][endscript]実装するのは実は結構難しいんだよね。
割り切ってTJSの文字列中だろうがなんだろうが[endscript]が出てきたら何が何でも終わり!のように
実装するなら楽だけど。というか99%はそれで十分なんだろうけど。

タグ途中での改行が認められてるパーサを使うなら、[eval] で代用したらどう?
0135名前は開発中のものです。2015/06/28(日) 02:25:56.46ID:UQP3l5XG
>>134
そっか、難しいんだ。

[eval]で代用すると面倒そうだから、今まで通りマクロからサブルーチンに飛ばすか
TJSで関数を作るかしてそこに書くわw
0136名前は開発中のものです。2015/06/28(日) 08:43:25.91ID:JuOgktVp
if文の深さというかそういうのって確認できるんですか?
callのdepthみたいなの
0137名前は開発中のものです。2015/06/28(日) 09:28:09.86ID:jP/jmj01
>>136
KAGスクリプトの[if]タグのことでいい?
KAGスクリプト上からは確認できない。KAGParser中のローカル変数(=IfLevel)だから、KAGParser内では確認できるけど。
一応セーブデータには(call stack の一部として)残るけどね。
# [call]タグの深さは、kag.conductor.callStackDepth で確認できる。

TJSスクリプトのifも確認する方法はない。
0138名前は開発中のものです。2015/06/28(日) 09:50:44.95ID:JuOgktVp
(´・ω・`)無理か・・・プラグインでよくif文終わらせずに処理進めてる奴があるのでチェックしたかったんだが・・・
0139名前は開発中のものです。2015/06/28(日) 11:12:04.86ID:jP/jmj01
>>138
ちょくちょく出てるExtKAGParserはKAGの[if]のチェックを厳しくしてて、[if]中にラベルがあったり[if]なしに[endif]したりするとエラーにしてくれるみたい。

本来そういうチェックはユーザじゃなくてパーサがすべきなんだよね。ただ、デフォルトのKAGParserでチェックしてないのは、きっとガチガチにしてデバッグ時の柔軟性がなくなるのを回避するためだったんだと思うから、どっちのアプローチが正しいかは判らない。
0140名前は開発中のものです。2015/06/28(日) 19:39:14.01ID:6Ow19Evi
ぜろぜろななこちゃんwindows7じゃ動かん
0141名前は開発中のものです。2015/06/29(月) 16:32:24.09ID:zryDDUp8
>>133
ExtKAGParserは、マクロ中の[iscript]に対応したってさ。
0142名前は開発中のものです。2015/06/29(月) 22:58:25.28ID:ZbpSAfdY
>>141
おお、ありがたいな。次の開発でぜひ使わせてもらおう。
0143名前は開発中のものです。2015/06/30(火) 01:55:57.85ID:2MaKM3G2
http://homepage1.nifty.com/gutchie/kirikiri_kag3/game_dev.html
ここの右クリックサブルーチン借りたら、呼び出してから表示されるまでに5秒かかるんですが、なんとかして早くできませんかね?
0144名前は開発中のものです。2015/06/30(火) 01:57:12.22ID:2MaKM3G2
貼れてませんでした、こっちです
http://homepage1.nifty.com/gutchie/kirikiri_kag3/dev_r_click002.html
0145名前は開発中のものです。2015/06/30(火) 01:59:18.06ID:XkkuKzy1
どう見てもコードか環境のほうに問題があるんだから
「ホラこの無能なサブルーチンを改善する方法教えろよ」みたいな
晒し方しても誰も教えないだろ
0146名前は開発中のものです。2015/06/30(火) 02:28:17.72ID:NT+ZXKXF
Peggy使い…
まだ生き残ってたんか…
0147名前は開発中のものです。2015/06/30(火) 03:22:32.46ID:uSqaW6qw
Angel Beats!で割れ対策がされているらしいけど
吉里吉里でも似たようなことできないかな
■ このスレッドは過去ログ倉庫に格納されています