1 :名前は開発中のものです。 転載ダメ:2015/06/05(金) 01:50:10.83 ID:r78FM0BY.net
ノベルゲーム製作ツール吉里吉里/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/

11 :名前は開発中のものです。:2015/06/06(土) 20:23:04.19 ID:lVDsA1Tz.net
吉里吉里をTJSレベルまで元々使いこなしてた人は移らない(移れない)
KAGレベルしか使っていなかった人は移り始めていると思う

で、そういう人は吉里吉里Zに移行する必要もない

12 :名前は開発中のものです。:2015/06/06(土) 22:17:47.29 ID:8N7W3XCT.net
>>11
TJSでプラグインを書きまくってるしsystemフォルダのファイルもかなり弄ってるんだけど、
そっか、そのほうが移行しにくいのか。当たり前だよね。

今も開発が進んでいてVC++でビルドされているってのは魅力的なんだけどなあ。

15 :名前は開発中のものです。:2015/06/07(日) 17:33:15.12 ID:pd3hIik1.net
吉里吉里じゃ初歩的な質問かも知れないけど教えてほしい。

出来そうな気がするんだけど、文章を表示させつつ処理を続けるって出来るのかな?
文章が流れてる最中でクリックすると、次のメッセージじゃなくて行末まで表示する処理をしてしまうけど、
これを無視して次の文章や画像表示に移りたいんだけど、難しい?

コンフィグ画面作ってて、メッセージスピードのプレビューを表示させてたら、次のなんらかのボタンを押すためにはは
(クリック1回) プレビューの行末まで一気に表示
(クリック2回) ボタンを押下出来る
の2クリック必要なんだ。 これを1クリックでボタンを押せるようにメッセージ表示途中の処理待ちを無くしたいんだ。
mainwindowのどこかを弄れば出来そうな気もするんだけど、わかる人がいたら教えてほしい。

KAG-EXと吉里吉里Zの両バージョンで組んでる最中。

17 :名前は開発中のものです。:2015/06/07(日) 21:04:06.51 ID:hAPUa8ae.net
>>15
http://ayaemo.skr.jp/blog/2008/01/post-597.html#kirikiri_5_2_3
文字表示速度プレビューのサンプルだけど参考にならないかな

18 :名前は開発中のものです。:2015/06/08(月) 13:00:33.10 ID:CPBQop9Z.net
>>17
要はこのサンプルで、長文を流す>文字表示作度を弄る>まだ長文が流れてる最中にほかのボタン等(たとえば全画面とか)を反映させたいということなんだけど
通常の吉里吉里の仕様だと文章が流れている最中には、文末までの即時表示が優先されてほかの画面上の操作を受け付けてくれないと言う状態をなんとかしたいの
文章が流れている途中にクリックしたら即時停止(もしくはそのまま文章が流れつつ)ほかのボタンやスライダーを押下出来るっていうのがどこを弄るのか良くわからない……
アルテミスとかQLIEだとふつうにできるので、まさかこんなところでハマるとは思ってなかった

19 :名前は開発中のものです。:2015/06/08(月) 13:16:52.51 ID:JbF/8X3n.net
>>18
うーん……俺はこのサンプルほぼそのまま使ってできてるけどなあ
メッセージレイヤはプレビュー専用のものを確保してる?
他のボタンと同じレイヤにしてると駄目だよ

20 :名前は開発中のものです。:2015/06/08(月) 14:57:39.16 ID:CPBQop9Z.net
>>19
別レイヤーに書いて、メッセージを表示命令を出したら即別レイヤーに切り替えているけどダメみたい
>>17のサイドメニューのサンプルでも、長文を流しながらスピードシークバーを弄って
まだ文章が流れてる最中に全画面などのボタンを押そうとすると即時押せなかったりしてる(クリックはそっちのボタンに反映してるから、メッセージ表示には使われてないっぽいけど)
それとも、見てる場所を間違えてるのかな?


;//-------------------------------
;~message4がカレント メッセージスピード変更ボタンを押す

[position layer="message6" index=1012001 left="表示座標X" top="表示座標Y"続く~
~続き width=1280 height=720 opacity=255 marginl=0 margint=0 marginr=0 marginb=0 draggable=false visible=true cond="f.config_page ==0" visible=true opacity=0]
;↓メッセージレイヤーはindexセットできないようだから強制的に
[eval exp="kag.fore.messages[6].absolute=1012001"]
[current layer="message6" page=fore]

[locklink]
[endnowait]

メッセージスピードが変更されました。

[nowait]
[unlocklink]

[current layer="message4" page=fore]

;画面リフレッシュへjump
[s]

こんな感じで組んでる。 今は誤動作が起きるのでlocklinkを入れてる。
単にメッセージスピードを確認させるために表示したいだけなんだけど、表示終わるか1クリックして表示を終端まで行かせないと次のクリックが出来ないからはまってしまったの。

21 :名前は開発中のものです。:2015/06/08(月) 15:43:47.99 ID:JbF/8X3n.net
>>20
もしかしてここのをダウンロードして動かしてみたのかな?
http://ayaemo.skr.jp/blog/2008/01/kirikiri-professional01.html#samples
このダウンロードファイルの中には表示速度のプレビューのサンプルは入ってないよ

あとたぶんKAGだけで表示速度のプレビューは無理なんじゃないかな

22 :名前は開発中のものです。:2015/06/08(月) 16:06:04.81 ID:pnCSoteI.net
>>21
ダウンロードで試していたorz

やっぱり無理なのかね
ワムさんは実現してるっぽいからなんとかなりそうな気もするが、根本的に書き換えないといけないのかな

23 :名前は開発中のものです。:2015/06/08(月) 16:11:35.12 ID:JbF/8X3n.net
>>22
あれこれ考えるより、あのサンプル使うのが簡単だよ(経験者談)

20 :名前は開発中のものです。:2015/06/08(月) 14:57:39.16 ID:CPBQop9Z.net
>>19
別レイヤーに書いて、メッセージを表示命令を出したら即別レイヤーに切り替えているけどダメみたい
>>17のサイドメニューのサンプルでも、長文を流しながらスピードシークバーを弄って
まだ文章が流れてる最中に全画面などのボタンを押そうとすると即時押せなかったりしてる(クリックはそっちのボタンに反映してるから、メッセージ表示には使われてないっぽいけど)
それとも、見てる場所を間違えてるのかな?


;//-------------------------------
;~message4がカレント メッセージスピード変更ボタンを押す

[position layer="message6" index=1012001 left="表示座標X" top="表示座標Y"続く~
~続き width=1280 height=720 opacity=255 marginl=0 margint=0 marginr=0 marginb=0 draggable=false visible=true cond="f.config_page ==0" visible=true opacity=0]
;↓メッセージレイヤーはindexセットできないようだから強制的に
[eval exp="kag.fore.messages[6].absolute=1012001"]
[current layer="message6" page=fore]

[locklink]
[endnowait]

メッセージスピードが変更されました。

[nowait]
[unlocklink]

[current layer="message4" page=fore]

;画面リフレッシュへjump
[s]

こんな感じで組んでる。 今は誤動作が起きるのでlocklinkを入れてる。
単にメッセージスピードを確認させるために表示したいだけなんだけど、表示終わるか1クリックして表示を終端まで行かせないと次のクリックが出来ないからはまってしまったの。

21 :名前は開発中のものです。:2015/06/08(月) 15:43:47.99 ID:JbF/8X3n.net
>>20
もしかしてここのをダウンロードして動かしてみたのかな?
http://ayaemo.skr.jp/blog/2008/01/kirikiri-professional01.html#samples
このダウンロードファイルの中には表示速度のプレビューのサンプルは入ってないよ

あとたぶんKAGだけで表示速度のプレビューは無理なんじゃないかな

22 :名前は開発中のものです。:2015/06/08(月) 16:06:04.81 ID:pnCSoteI.net
>>21
ダウンロードで試していたorz

やっぱり無理なのかね
ワムさんは実現してるっぽいからなんとかなりそうな気もするが、根本的に書き換えないといけないのかな

23 :名前は開発中のものです。:2015/06/08(月) 16:11:35.12 ID:JbF/8X3n.net
>>22
あれこれ考えるより、あのサンプル使うのが簡単だよ(経験者談)

28 :名前は開発中のものです。:2015/06/10(水) 22:41:46.13 ID:2r7sfcDw.net
インストーラーについてはここではスレ違いですか?

31 :名前は開発中のものです。:2015/06/11(木) 01:28:05.88 ID:YHIG0Lhg.net
>>28
俺も良いインストーラーがあったら教えて欲しい。
Inno Setupを使おうか検討しているんだけど、あれってファイルを固めて
しまうみたいでそれが嫌なんだよな。

32 :名前は開発中のものです。:2015/06/11(木) 09:37:45.32 ID:pAlvB3Zf.net
inno setup使ってるけどexternalに設定すれば固めないよ

40 :名前は開発中のものです。:2015/06/12(金) 02:54:01.76 ID:kbUub75v.net
>>32
おお、固めない設定があったんだ。教えてくれてありがとー。

41 :名前は開発中のものです。:2015/06/12(金) 21:37:49.61 ID:W4AL3wN/.net
KAGParser拡張しようと思ってるんだけど、なんか要望ある?
できれば具体的だと嬉しい。

43 :名前は開発中のものです。:2015/06/12(金) 22:09:08.62 ID:aRk+Iyhj.net
>>41
要望ということは公開する予定があるのかな?

単発のタグを要望すると仕様が肥大化するので
マクロを強化してほしいかな

44 :名前は開発中のものです。:2015/06/12(金) 22:53:42.43 ID:W4AL3wN/.net
>>43
マクロのどんなところ?

マクロ定義で、使用時に省略した引数に初期値を使うようにするのは入れる予定。
[macro name=abc var=3]
[emb exp=mp.var]
[endmacro]
みたいなの。

45 :名前は開発中のものです。:2015/06/12(金) 23:24:18.80 ID:aRk+Iyhj.net
>>44
不満は組んでるときに出てくるので
急に聞かれても個別例はパッと出てこないけど
全体的に思うのはKAGとTJSを
行ったり来たりしなくて済むようにしてほしい

具体的にはたとえばマクロだとできないから
サブルーチンに飛んでループ処理するとか
だから要望としてはマクロでもどこでも
KAGでループできるようにしてほしい

47 :名前は開発中のものです。:2015/06/12(金) 23:54:17.32 ID:W4AL3wN/.net
>>45
KAGでのループは、既にExtKAGParserというのがあって、そっちで
できるようになってるんだよね。実は 44 のも実装されてた。
ttp://www.geocities.jp/keep_creating/krkrplugins/ExtKAGParser/ExtKAGParser.txt
これで不足してたら教えて。

今回探してみて思ったけど、「こんなの欲しいなぁ」ってだけの情報でも、
どっかに書いてあるとあとから見て役に立つね。

50 :名前は開発中のものです。:2015/06/13(土) 07:04:46.37 ID:fUsuZWZa.net
>>47
KAG拡張にはすでに
KAGEXがある

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

どれくらいの規模の物を
配布しようとしてるか分からないけど

52 :名前は開発中のものです。:2015/06/13(土) 11:56:44.46 ID:jU1VifUF.net
>>50
既にあるもので満足してるならそれを使えばいい。
そっちには無くて、でも欲しい便利機能などがあれば知りたい。
普及させるのが目的じゃなくて、俺(やみんな)が楽にゲーム作れるようになるのが目的。

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

>>51
KAGParserの範囲じゃなくて、メッセージレイヤの拡張だね。
メッセージレイヤ結構書き換える必要があってオオゴトだけど、確かにそういうの欲しいとは思う。

53 :名前は開発中のものです。:2015/06/13(土) 13:06:35.34 ID:fUsuZWZa.net
>>52
何が一番欲しいか考えたんだけど

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

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

最近できた吉里吉里ZのKAG版みたいな感じ
イメージとしては「KAGZ」みたいな?

54 :名前は開発中のものです。:2015/06/13(土) 13:07:07.35 ID:fUsuZWZa.net
>>53
補足すると

KAG本体の話になっちゃったけど
KAGParser限定の話だとしても
吉里吉里ZではDLLによる
プラグイン仕様になったことだし
改造しやすくという要望は同じ

57 :名前は開発中のものです。:2015/06/13(土) 14:09:31.76 ID:jU1VifUF.net
>>53
KAGParserはもうプラグイン化できてるから、その意味では既に各自が拡張できる下地はあると思うよ。
それ以外の仕組みで拡張を考えるのは難しいね…

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

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

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

③は[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の中の人に連絡とってみた。一緒に色々検討してみるつもり。

58 :名前は開発中のものです。:2015/06/13(土) 16:12:51.94 ID:fUsuZWZa.net
>>57
>KAGParserはもうプラグイン化できてる
それはそうなんだけど

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

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

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

プラグインと称する仕組みもすでにあるんだけど
洗練されて使いやすいとは思えない

59 :名前は開発中のものです。:2015/06/13(土) 18:37:09.65 ID:jU1VifUF.net
>>49
ソース見たら、今でもできるようになってたよ。

>>58
汎用的なプラグインの仕組みかー。それは今の俺の力では無理なんで、今回はスキップさせてくれ…。
どっちかというと美しいインターフェースの設計みたいな、そういう力が必要だなぁ。できる人、頼む。

62 :56:2015/06/14(日) 01:11:48.04 ID:YLdvyjMe.net
>>57
お疲れさまです
KAGPerserはシナリオ部分ですね失礼しました

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

商業PCゲーみたいに既読文章の文字の色を変える機能を
実装しようとしたんですが既読判定は[s]タグかラベル通過のみで
[l]タグで止まってる状態でセーブして、それをロードしてもうまくいかないというか…

65 :名前は開発中のものです。:2015/06/14(日) 02:30:29.31 ID:iBGAIxhB.net
>>60
>>61
どっちもKAGParserではないなぁ…。誰かよろしく。
背景の無限ループは、どっかにプラグインがあったよ確か。

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

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

>>63
既読部分の色を変えるのもやっぱりMainWindow.tjsをつつく。ch : function()... のあたりで、既読なら色変えるとかする。
でも、たとえば時々メッセージのテキスト色を変えて表示しているゲームの場合、既読の時にその色をどうするか、みたいな問題があるよ。

73 :62:2015/06/14(日) 16:12:06.79 ID:YLdvyjMe.net
>>64
おっしゃる通りラベル単位での実装は可能ですね。
一画面3行程度で[l]を使わず、すぐ次のラベルに行けるゲームなら問題ないと思います。
ただ一画面に10行テキストとかだと可読性のため[l]を使わざるを得ないのが困り物です。


>>65重ね重ねありがとうございます。
提案されたものを考えてみたら昔、配布されていた
どこでもセーブプラグインがそういう考え方の仕様だったと思います。
あのプラグインでも文字数の変化をしてしまうと
ラベル自体に変化があるのかロード不可が生じるんですよね…
見当違いのこと言ってましたのに丁寧に答えて下さって、ありがとうございます。

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

個人的にはセーブポイントはシナリオ完成時に
スクリプトでいじらず完全に静的に固定したまま
シナリオに書いてある通りというのがオススメ

77 :名前は開発中のものです。:2015/06/14(日) 23:16:26.25 ID:iBGAIxhB.net
>>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って処理が上から流れてないからモノスゴ判りづらいね…少しずつ書き換えてるけどエンバグが怖い。

77 :名前は開発中のものです。:2015/06/14(日) 23:16:26.25 ID:iBGAIxhB.net
>>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って処理が上から流れてないからモノスゴ判りづらいね…少しずつ書き換えてるけどエンバグが怖い。

75 :名前は開発中のものです。:2015/06/14(日) 17:38:19.01 ID:rxbnTFoL.net
>>65

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

parserに関係ないのに丁寧に回答くれてありがとう

51 :名前は開発中のものです。:2015/06/13(土) 07:09:56.65 ID:fUsuZWZa.net
>>47
あとKAGの守備範囲かどうか考えてないけど
思いついた欲しい機能挙げていい?

ネットのブラウザみたいに
スクロールバーで上下スクロールして
読むタイプのメッセージウィンドウ
クリックで改ページするんじゃなくて

52 :名前は開発中のものです。:2015/06/13(土) 11:56:44.46 ID:jU1VifUF.net
>>50
既にあるもので満足してるならそれを使えばいい。
そっちには無くて、でも欲しい便利機能などがあれば知りたい。
普及させるのが目的じゃなくて、俺(やみんな)が楽にゲーム作れるようになるのが目的。

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

>>51
KAGParserの範囲じゃなくて、メッセージレイヤの拡張だね。
メッセージレイヤ結構書き換える必要があってオオゴトだけど、確かにそういうの欲しいとは思う。

53 :名前は開発中のものです。:2015/06/13(土) 13:06:35.34 ID:fUsuZWZa.net
>>52
何が一番欲しいか考えたんだけど

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

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

最近できた吉里吉里ZのKAG版みたいな感じ
イメージとしては「KAGZ」みたいな?

54 :名前は開発中のものです。:2015/06/13(土) 13:07:07.35 ID:fUsuZWZa.net
>>53
補足すると

KAG本体の話になっちゃったけど
KAGParser限定の話だとしても
吉里吉里ZではDLLによる
プラグイン仕様になったことだし
改造しやすくという要望は同じ

57 :名前は開発中のものです。:2015/06/13(土) 14:09:31.76 ID:jU1VifUF.net
>>53
KAGParserはもうプラグイン化できてるから、その意味では既に各自が拡張できる下地はあると思うよ。
それ以外の仕組みで拡張を考えるのは難しいね…

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

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

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

③は[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の中の人に連絡とってみた。一緒に色々検討してみるつもり。

58 :名前は開発中のものです。:2015/06/13(土) 16:12:51.94 ID:fUsuZWZa.net
>>57
>KAGParserはもうプラグイン化できてる
それはそうなんだけど

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

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

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

プラグインと称する仕組みもすでにあるんだけど
洗練されて使いやすいとは思えない

59 :名前は開発中のものです。:2015/06/13(土) 18:37:09.65 ID:jU1VifUF.net
>>49
ソース見たら、今でもできるようになってたよ。

>>58
汎用的なプラグインの仕組みかー。それは今の俺の力では無理なんで、今回はスキップさせてくれ…。
どっちかというと美しいインターフェースの設計みたいな、そういう力が必要だなぁ。できる人、頼む。

62 :56:2015/06/14(日) 01:11:48.04 ID:YLdvyjMe.net
>>57
お疲れさまです
KAGPerserはシナリオ部分ですね失礼しました

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

商業PCゲーみたいに既読文章の文字の色を変える機能を
実装しようとしたんですが既読判定は[s]タグかラベル通過のみで
[l]タグで止まってる状態でセーブして、それをロードしてもうまくいかないというか…

65 :名前は開発中のものです。:2015/06/14(日) 02:30:29.31 ID:iBGAIxhB.net
>>60
>>61
どっちもKAGParserではないなぁ…。誰かよろしく。
背景の無限ループは、どっかにプラグインがあったよ確か。

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

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

>>63
既読部分の色を変えるのもやっぱりMainWindow.tjsをつつく。ch : function()... のあたりで、既読なら色変えるとかする。
でも、たとえば時々メッセージのテキスト色を変えて表示しているゲームの場合、既読の時にその色をどうするか、みたいな問題があるよ。

73 :62:2015/06/14(日) 16:12:06.79 ID:YLdvyjMe.net
>>64
おっしゃる通りラベル単位での実装は可能ですね。
一画面3行程度で[l]を使わず、すぐ次のラベルに行けるゲームなら問題ないと思います。
ただ一画面に10行テキストとかだと可読性のため[l]を使わざるを得ないのが困り物です。


>>65重ね重ねありがとうございます。
提案されたものを考えてみたら昔、配布されていた
どこでもセーブプラグインがそういう考え方の仕様だったと思います。
あのプラグインでも文字数の変化をしてしまうと
ラベル自体に変化があるのかロード不可が生じるんですよね…
見当違いのこと言ってましたのに丁寧に答えて下さって、ありがとうございます。

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

個人的にはセーブポイントはシナリオ完成時に
スクリプトでいじらず完全に静的に固定したまま
シナリオに書いてある通りというのがオススメ

77 :名前は開発中のものです。:2015/06/14(日) 23:16:26.25 ID:iBGAIxhB.net
>>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って処理が上から流れてないからモノスゴ判りづらいね…少しずつ書き換えてるけどエンバグが怖い。

77 :名前は開発中のものです。:2015/06/14(日) 23:16:26.25 ID:iBGAIxhB.net
>>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って処理が上から流れてないからモノスゴ判りづらいね…少しずつ書き換えてるけどエンバグが怖い。

75 :名前は開発中のものです。:2015/06/14(日) 17:38:19.01 ID:rxbnTFoL.net
>>65

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

parserに関係ないのに丁寧に回答くれてありがとう

49 :名前は開発中のものです。:2015/06/13(土) 06:39:10.92 ID:nsFt3I7H.net
>>41
タグの属性の=の前後に空白を入れても認識するようにして欲しいっす。
こんな感じで。

[call target = *subroutine]

52 :名前は開発中のものです。:2015/06/13(土) 11:56:44.46 ID:jU1VifUF.net
>>50
既にあるもので満足してるならそれを使えばいい。
そっちには無くて、でも欲しい便利機能などがあれば知りたい。
普及させるのが目的じゃなくて、俺(やみんな)が楽にゲーム作れるようになるのが目的。

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

>>51
KAGParserの範囲じゃなくて、メッセージレイヤの拡張だね。
メッセージレイヤ結構書き換える必要があってオオゴトだけど、確かにそういうの欲しいとは思う。

53 :名前は開発中のものです。:2015/06/13(土) 13:06:35.34 ID:fUsuZWZa.net
>>52
何が一番欲しいか考えたんだけど

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

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

最近できた吉里吉里ZのKAG版みたいな感じ
イメージとしては「KAGZ」みたいな?

54 :名前は開発中のものです。:2015/06/13(土) 13:07:07.35 ID:fUsuZWZa.net
>>53
補足すると

KAG本体の話になっちゃったけど
KAGParser限定の話だとしても
吉里吉里ZではDLLによる
プラグイン仕様になったことだし
改造しやすくという要望は同じ

57 :名前は開発中のものです。:2015/06/13(土) 14:09:31.76 ID:jU1VifUF.net
>>53
KAGParserはもうプラグイン化できてるから、その意味では既に各自が拡張できる下地はあると思うよ。
それ以外の仕組みで拡張を考えるのは難しいね…

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

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

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

③は[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の中の人に連絡とってみた。一緒に色々検討してみるつもり。

58 :名前は開発中のものです。:2015/06/13(土) 16:12:51.94 ID:fUsuZWZa.net
>>57
>KAGParserはもうプラグイン化できてる
それはそうなんだけど

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

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

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

プラグインと称する仕組みもすでにあるんだけど
洗練されて使いやすいとは思えない

59 :名前は開発中のものです。:2015/06/13(土) 18:37:09.65 ID:jU1VifUF.net
>>49
ソース見たら、今でもできるようになってたよ。

>>58
汎用的なプラグインの仕組みかー。それは今の俺の力では無理なんで、今回はスキップさせてくれ…。
どっちかというと美しいインターフェースの設計みたいな、そういう力が必要だなぁ。できる人、頼む。

62 :56:2015/06/14(日) 01:11:48.04 ID:YLdvyjMe.net
>>57
お疲れさまです
KAGPerserはシナリオ部分ですね失礼しました

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

商業PCゲーみたいに既読文章の文字の色を変える機能を
実装しようとしたんですが既読判定は[s]タグかラベル通過のみで
[l]タグで止まってる状態でセーブして、それをロードしてもうまくいかないというか…

65 :名前は開発中のものです。:2015/06/14(日) 02:30:29.31 ID:iBGAIxhB.net
>>60
>>61
どっちもKAGParserではないなぁ…。誰かよろしく。
背景の無限ループは、どっかにプラグインがあったよ確か。

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

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

>>63
既読部分の色を変えるのもやっぱりMainWindow.tjsをつつく。ch : function()... のあたりで、既読なら色変えるとかする。
でも、たとえば時々メッセージのテキスト色を変えて表示しているゲームの場合、既読の時にその色をどうするか、みたいな問題があるよ。

73 :62:2015/06/14(日) 16:12:06.79 ID:YLdvyjMe.net
>>64
おっしゃる通りラベル単位での実装は可能ですね。
一画面3行程度で[l]を使わず、すぐ次のラベルに行けるゲームなら問題ないと思います。
ただ一画面に10行テキストとかだと可読性のため[l]を使わざるを得ないのが困り物です。


>>65重ね重ねありがとうございます。
提案されたものを考えてみたら昔、配布されていた
どこでもセーブプラグインがそういう考え方の仕様だったと思います。
あのプラグインでも文字数の変化をしてしまうと
ラベル自体に変化があるのかロード不可が生じるんですよね…
見当違いのこと言ってましたのに丁寧に答えて下さって、ありがとうございます。

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

個人的にはセーブポイントはシナリオ完成時に
スクリプトでいじらず完全に静的に固定したまま
シナリオに書いてある通りというのがオススメ

77 :名前は開発中のものです。:2015/06/14(日) 23:16:26.25 ID:iBGAIxhB.net
>>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って処理が上から流れてないからモノスゴ判りづらいね…少しずつ書き換えてるけどエンバグが怖い。

77 :名前は開発中のものです。:2015/06/14(日) 23:16:26.25 ID:iBGAIxhB.net
>>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って処理が上から流れてないからモノスゴ判りづらいね…少しずつ書き換えてるけどエンバグが怖い。

75 :名前は開発中のものです。:2015/06/14(日) 17:38:19.01 ID:rxbnTFoL.net
>>65

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

parserに関係ないのに丁寧に回答くれてありがとう

59 :名前は開発中のものです。:2015/06/13(土) 18:37:09.65 ID:jU1VifUF.net
>>49
ソース見たら、今でもできるようになってたよ。

>>58
汎用的なプラグインの仕組みかー。それは今の俺の力では無理なんで、今回はスキップさせてくれ…。
どっちかというと美しいインターフェースの設計みたいな、そういう力が必要だなぁ。できる人、頼む。

133 :名前は開発中のものです。:2015/06/28(日) 00:24:22.33 ID:UQP3l5XG.net
>>41>>78
中の人まだここ見てるかな。
マクロ中で[iscript]~[endscript]が使えるようになるとありがたいんだけど
無理でしょうか?

134 :名前は開発中のものです。:2015/06/28(日) 02:02:22.62 ID:jP/jmj01.net
>>133
ExtKAGParserの中の人への意見は、彼(彼女?)の掲示板にした方がいいよ。ここを見てるかどうかわかんないし。

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

タグ途中での改行が認められてるパーサを使うなら、[eval] で代用したらどう?

135 :名前は開発中のものです。:2015/06/28(日) 02:25:56.46 ID:UQP3l5XG.net
>>134
そっか、難しいんだ。

[eval]で代用すると面倒そうだから、今まで通りマクロからサブルーチンに飛ばすか
TJSで関数を作るかしてそこに書くわw

141 :名前は開発中のものです。:2015/06/29(月) 16:32:24.09 ID:zryDDUp8.net
>>133
ExtKAGParserは、マクロ中の[iscript]に対応したってさ。

142 :名前は開発中のものです。:2015/06/29(月) 22:58:25.28 ID:ZbpSAfdY.net
>>141
おお、ありがたいな。次の開発でぜひ使わせてもらおう。

46 :名前は開発中のものです。:2015/06/12(金) 23:50:47.49 ID:lSsB3PXY.net
(´・ω・`)・・・KAGParserって何だろうKAGの部分かな・・・TJSからマクロ呼んだり、KAGから読んだ画像にonClick?onMousedown?属性を付与させたりできるの?

48 :名前は開発中のものです。:2015/06/12(金) 23:57:45.58 ID:W4AL3wN/.net
>>46
KAGParserは、KAGスクリプトを解析してタグを返したり、マクロ定義したり、[if]とか[jump]とかの制御構文を実行したりするもの。
画像に(というかLayerクラスに)属性追加したりはしないよ。
コレ↓ね。
ttp://devdoc.kikyou.info/tvp/docs/kr2doc/contents/f_KAGParser.html

55 :名前は開発中のものです。:2015/06/13(土) 13:24:05.93 ID:wg6/weJ7.net
parserの部分がどこまでなのか知らないので適当に不便だなと思ったあたりを・・・

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

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

③evalのコマンドをもう少し簡略化して欲しい。
*check_
{var char_name='童貞ちゃん'}
{var var1=0}
{static var VAR1MAX=10}
ドコにお宝あるかなぁ[s]
*check
[er]{&char_name}ちゃん!お疲れ様!いま{&var1++.'/'.&VAR1MAX}個だよ。あと{&VAR1MAX-&var1}個集めればクリアだよ![s]
的な呼び方KAGからできたら楽そうなんだけど・・・むり?[eval exp=""]っていちいち打つのだるい上に変数確認めんどひ

57 :名前は開発中のものです。:2015/06/13(土) 14:09:31.76 ID:jU1VifUF.net
>>53
KAGParserはもうプラグイン化できてるから、その意味では既に各自が拡張できる下地はあると思うよ。
それ以外の仕組みで拡張を考えるのは難しいね…

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

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

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

③は[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の中の人に連絡とってみた。一緒に色々検討してみるつもり。

58 :名前は開発中のものです。:2015/06/13(土) 16:12:51.94 ID:fUsuZWZa.net
>>57
>KAGParserはもうプラグイン化できてる
それはそうなんだけど

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

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

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

プラグインと称する仕組みもすでにあるんだけど
洗練されて使いやすいとは思えない

59 :名前は開発中のものです。:2015/06/13(土) 18:37:09.65 ID:jU1VifUF.net
>>49
ソース見たら、今でもできるようになってたよ。

>>58
汎用的なプラグインの仕組みかー。それは今の俺の力では無理なんで、今回はスキップさせてくれ…。
どっちかというと美しいインターフェースの設計みたいな、そういう力が必要だなぁ。できる人、頼む。

62 :56:2015/06/14(日) 01:11:48.04 ID:YLdvyjMe.net
>>57
お疲れさまです
KAGPerserはシナリオ部分ですね失礼しました

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

商業PCゲーみたいに既読文章の文字の色を変える機能を
実装しようとしたんですが既読判定は[s]タグかラベル通過のみで
[l]タグで止まってる状態でセーブして、それをロードしてもうまくいかないというか…

65 :名前は開発中のものです。:2015/06/14(日) 02:30:29.31 ID:iBGAIxhB.net
>>60
>>61
どっちもKAGParserではないなぁ…。誰かよろしく。
背景の無限ループは、どっかにプラグインがあったよ確か。

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

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

>>63
既読部分の色を変えるのもやっぱりMainWindow.tjsをつつく。ch : function()... のあたりで、既読なら色変えるとかする。
でも、たとえば時々メッセージのテキスト色を変えて表示しているゲームの場合、既読の時にその色をどうするか、みたいな問題があるよ。

73 :62:2015/06/14(日) 16:12:06.79 ID:YLdvyjMe.net
>>64
おっしゃる通りラベル単位での実装は可能ですね。
一画面3行程度で[l]を使わず、すぐ次のラベルに行けるゲームなら問題ないと思います。
ただ一画面に10行テキストとかだと可読性のため[l]を使わざるを得ないのが困り物です。


>>65重ね重ねありがとうございます。
提案されたものを考えてみたら昔、配布されていた
どこでもセーブプラグインがそういう考え方の仕様だったと思います。
あのプラグインでも文字数の変化をしてしまうと
ラベル自体に変化があるのかロード不可が生じるんですよね…
見当違いのこと言ってましたのに丁寧に答えて下さって、ありがとうございます。

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

個人的にはセーブポイントはシナリオ完成時に
スクリプトでいじらず完全に静的に固定したまま
シナリオに書いてある通りというのがオススメ

77 :名前は開発中のものです。:2015/06/14(日) 23:16:26.25 ID:iBGAIxhB.net
>>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って処理が上から流れてないからモノスゴ判りづらいね…少しずつ書き換えてるけどエンバグが怖い。

77 :名前は開発中のものです。:2015/06/14(日) 23:16:26.25 ID:iBGAIxhB.net
>>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って処理が上から流れてないからモノスゴ判りづらいね…少しずつ書き換えてるけどエンバグが怖い。

75 :名前は開発中のものです。:2015/06/14(日) 17:38:19.01 ID:rxbnTFoL.net
>>65

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

parserに関係ないのに丁寧に回答くれてありがとう

56 :名前は開発中のものです。:2015/06/13(土) 13:31:18.38 ID:lI842xvk.net
とりあえず要望を言っていいのなら
本家版[quake]タグのwin8フルスク対処とか拡張欲しいです
今の[quake]は大雑把な縦揺れ、横揺れのみだと思うんだけど
自然で滑らかな揺れとか揺り戻しの設定が欲しいっていうか…

57 :名前は開発中のものです。:2015/06/13(土) 14:09:31.76 ID:jU1VifUF.net
>>53
KAGParserはもうプラグイン化できてるから、その意味では既に各自が拡張できる下地はあると思うよ。
それ以外の仕組みで拡張を考えるのは難しいね…

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

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

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

③は[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の中の人に連絡とってみた。一緒に色々検討してみるつもり。

58 :名前は開発中のものです。:2015/06/13(土) 16:12:51.94 ID:fUsuZWZa.net
>>57
>KAGParserはもうプラグイン化できてる
それはそうなんだけど

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

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

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

プラグインと称する仕組みもすでにあるんだけど
洗練されて使いやすいとは思えない

59 :名前は開発中のものです。:2015/06/13(土) 18:37:09.65 ID:jU1VifUF.net
>>49
ソース見たら、今でもできるようになってたよ。

>>58
汎用的なプラグインの仕組みかー。それは今の俺の力では無理なんで、今回はスキップさせてくれ…。
どっちかというと美しいインターフェースの設計みたいな、そういう力が必要だなぁ。できる人、頼む。

62 :56:2015/06/14(日) 01:11:48.04 ID:YLdvyjMe.net
>>57
お疲れさまです
KAGPerserはシナリオ部分ですね失礼しました

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

商業PCゲーみたいに既読文章の文字の色を変える機能を
実装しようとしたんですが既読判定は[s]タグかラベル通過のみで
[l]タグで止まってる状態でセーブして、それをロードしてもうまくいかないというか…

65 :名前は開発中のものです。:2015/06/14(日) 02:30:29.31 ID:iBGAIxhB.net
>>60
>>61
どっちもKAGParserではないなぁ…。誰かよろしく。
背景の無限ループは、どっかにプラグインがあったよ確か。

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

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

>>63
既読部分の色を変えるのもやっぱりMainWindow.tjsをつつく。ch : function()... のあたりで、既読なら色変えるとかする。
でも、たとえば時々メッセージのテキスト色を変えて表示しているゲームの場合、既読の時にその色をどうするか、みたいな問題があるよ。

73 :62:2015/06/14(日) 16:12:06.79 ID:YLdvyjMe.net
>>64
おっしゃる通りラベル単位での実装は可能ですね。
一画面3行程度で[l]を使わず、すぐ次のラベルに行けるゲームなら問題ないと思います。
ただ一画面に10行テキストとかだと可読性のため[l]を使わざるを得ないのが困り物です。


>>65重ね重ねありがとうございます。
提案されたものを考えてみたら昔、配布されていた
どこでもセーブプラグインがそういう考え方の仕様だったと思います。
あのプラグインでも文字数の変化をしてしまうと
ラベル自体に変化があるのかロード不可が生じるんですよね…
見当違いのこと言ってましたのに丁寧に答えて下さって、ありがとうございます。

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

個人的にはセーブポイントはシナリオ完成時に
スクリプトでいじらず完全に静的に固定したまま
シナリオに書いてある通りというのがオススメ

77 :名前は開発中のものです。:2015/06/14(日) 23:16:26.25 ID:iBGAIxhB.net
>>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って処理が上から流れてないからモノスゴ判りづらいね…少しずつ書き換えてるけどエンバグが怖い。

77 :名前は開発中のものです。:2015/06/14(日) 23:16:26.25 ID:iBGAIxhB.net
>>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って処理が上から流れてないからモノスゴ判りづらいね…少しずつ書き換えてるけどエンバグが怖い。

75 :名前は開発中のものです。:2015/06/14(日) 17:38:19.01 ID:rxbnTFoL.net
>>65

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

parserに関係ないのに丁寧に回答くれてありがとう

60 :名前は開発中のものです。:2015/06/13(土) 22:21:56.11 ID:BIoiqeMa.net
背景画像のループとか簡単に出来ると嬉しい
ってデザインとか演出やってて思います……
KAGだけでループ処理出来たら楽だなあ

65 :名前は開発中のものです。:2015/06/14(日) 02:30:29.31 ID:iBGAIxhB.net
>>60
>>61
どっちもKAGParserではないなぁ…。誰かよろしく。
背景の無限ループは、どっかにプラグインがあったよ確か。

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

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

>>63
既読部分の色を変えるのもやっぱりMainWindow.tjsをつつく。ch : function()... のあたりで、既読なら色変えるとかする。
でも、たとえば時々メッセージのテキスト色を変えて表示しているゲームの場合、既読の時にその色をどうするか、みたいな問題があるよ。

73 :62:2015/06/14(日) 16:12:06.79 ID:YLdvyjMe.net
>>64
おっしゃる通りラベル単位での実装は可能ですね。
一画面3行程度で[l]を使わず、すぐ次のラベルに行けるゲームなら問題ないと思います。
ただ一画面に10行テキストとかだと可読性のため[l]を使わざるを得ないのが困り物です。


>>65重ね重ねありがとうございます。
提案されたものを考えてみたら昔、配布されていた
どこでもセーブプラグインがそういう考え方の仕様だったと思います。
あのプラグインでも文字数の変化をしてしまうと
ラベル自体に変化があるのかロード不可が生じるんですよね…
見当違いのこと言ってましたのに丁寧に答えて下さって、ありがとうございます。

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

個人的にはセーブポイントはシナリオ完成時に
スクリプトでいじらず完全に静的に固定したまま
シナリオに書いてある通りというのがオススメ

77 :名前は開発中のものです。:2015/06/14(日) 23:16:26.25 ID:iBGAIxhB.net
>>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って処理が上から流れてないからモノスゴ判りづらいね…少しずつ書き換えてるけどエンバグが怖い。

77 :名前は開発中のものです。:2015/06/14(日) 23:16:26.25 ID:iBGAIxhB.net
>>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って処理が上から流れてないからモノスゴ判りづらいね…少しずつ書き換えてるけどエンバグが怖い。

75 :名前は開発中のものです。:2015/06/14(日) 17:38:19.01 ID:rxbnTFoL.net
>>65

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

parserに関係ないのに丁寧に回答くれてありがとう

61 :名前は開発中のものです。:2015/06/13(土) 23:41:47.53 ID:Ranj/2kb.net
希望だけ言っていいならlayerexbtoa.dllをkagで簡単に使えるようになったらいいなぁって

65 :名前は開発中のものです。:2015/06/14(日) 02:30:29.31 ID:iBGAIxhB.net
>>60
>>61
どっちもKAGParserではないなぁ…。誰かよろしく。
背景の無限ループは、どっかにプラグインがあったよ確か。

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

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

>>63
既読部分の色を変えるのもやっぱりMainWindow.tjsをつつく。ch : function()... のあたりで、既読なら色変えるとかする。
でも、たとえば時々メッセージのテキスト色を変えて表示しているゲームの場合、既読の時にその色をどうするか、みたいな問題があるよ。

73 :62:2015/06/14(日) 16:12:06.79 ID:YLdvyjMe.net
>>64
おっしゃる通りラベル単位での実装は可能ですね。
一画面3行程度で[l]を使わず、すぐ次のラベルに行けるゲームなら問題ないと思います。
ただ一画面に10行テキストとかだと可読性のため[l]を使わざるを得ないのが困り物です。


>>65重ね重ねありがとうございます。
提案されたものを考えてみたら昔、配布されていた
どこでもセーブプラグインがそういう考え方の仕様だったと思います。
あのプラグインでも文字数の変化をしてしまうと
ラベル自体に変化があるのかロード不可が生じるんですよね…
見当違いのこと言ってましたのに丁寧に答えて下さって、ありがとうございます。

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

個人的にはセーブポイントはシナリオ完成時に
スクリプトでいじらず完全に静的に固定したまま
シナリオに書いてある通りというのがオススメ

77 :名前は開発中のものです。:2015/06/14(日) 23:16:26.25 ID:iBGAIxhB.net
>>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って処理が上から流れてないからモノスゴ判りづらいね…少しずつ書き換えてるけどエンバグが怖い。

77 :名前は開発中のものです。:2015/06/14(日) 23:16:26.25 ID:iBGAIxhB.net
>>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って処理が上から流れてないからモノスゴ判りづらいね…少しずつ書き換えてるけどエンバグが怖い。

75 :名前は開発中のものです。:2015/06/14(日) 17:38:19.01 ID:rxbnTFoL.net
>>65

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

parserに関係ないのに丁寧に回答くれてありがとう

63 :名前は開発中のものです。:2015/06/14(日) 01:13:42.33 ID:rxbnTFoL.net
>商業PCゲーみたいに既読文章の文字の色を変える機能

これ俺も欲しい
吉里吉里でなんかいい方法ないかな

64 :名前は開発中のものです。:2015/06/14(日) 01:40:51.63 ID:NsU85ftu.net
>>63
パッと思いついたすぐできそうな方法では
既読情報のフラグで色を変える
色分けはラベル単位になるけど

73 :62:2015/06/14(日) 16:12:06.79 ID:YLdvyjMe.net
>>64
おっしゃる通りラベル単位での実装は可能ですね。
一画面3行程度で[l]を使わず、すぐ次のラベルに行けるゲームなら問題ないと思います。
ただ一画面に10行テキストとかだと可読性のため[l]を使わざるを得ないのが困り物です。


>>65重ね重ねありがとうございます。
提案されたものを考えてみたら昔、配布されていた
どこでもセーブプラグインがそういう考え方の仕様だったと思います。
あのプラグインでも文字数の変化をしてしまうと
ラベル自体に変化があるのかロード不可が生じるんですよね…
見当違いのこと言ってましたのに丁寧に答えて下さって、ありがとうございます。

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

個人的にはセーブポイントはシナリオ完成時に
スクリプトでいじらず完全に静的に固定したまま
シナリオに書いてある通りというのがオススメ

77 :名前は開発中のものです。:2015/06/14(日) 23:16:26.25 ID:iBGAIxhB.net
>>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って処理が上から流れてないからモノスゴ判りづらいね…少しずつ書き換えてるけどエンバグが怖い。

77 :名前は開発中のものです。:2015/06/14(日) 23:16:26.25 ID:iBGAIxhB.net
>>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って処理が上から流れてないからモノスゴ判りづらいね…少しずつ書き換えてるけどエンバグが怖い。

65 :名前は開発中のものです。:2015/06/14(日) 02:30:29.31 ID:iBGAIxhB.net
>>60
>>61
どっちもKAGParserではないなぁ…。誰かよろしく。
背景の無限ループは、どっかにプラグインがあったよ確か。

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

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

>>63
既読部分の色を変えるのもやっぱりMainWindow.tjsをつつく。ch : function()... のあたりで、既読なら色変えるとかする。
でも、たとえば時々メッセージのテキスト色を変えて表示しているゲームの場合、既読の時にその色をどうするか、みたいな問題があるよ。

73 :62:2015/06/14(日) 16:12:06.79 ID:YLdvyjMe.net
>>64
おっしゃる通りラベル単位での実装は可能ですね。
一画面3行程度で[l]を使わず、すぐ次のラベルに行けるゲームなら問題ないと思います。
ただ一画面に10行テキストとかだと可読性のため[l]を使わざるを得ないのが困り物です。


>>65重ね重ねありがとうございます。
提案されたものを考えてみたら昔、配布されていた
どこでもセーブプラグインがそういう考え方の仕様だったと思います。
あのプラグインでも文字数の変化をしてしまうと
ラベル自体に変化があるのかロード不可が生じるんですよね…
見当違いのこと言ってましたのに丁寧に答えて下さって、ありがとうございます。

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

個人的にはセーブポイントはシナリオ完成時に
スクリプトでいじらず完全に静的に固定したまま
シナリオに書いてある通りというのがオススメ

77 :名前は開発中のものです。:2015/06/14(日) 23:16:26.25 ID:iBGAIxhB.net
>>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って処理が上から流れてないからモノスゴ判りづらいね…少しずつ書き換えてるけどエンバグが怖い。

77 :名前は開発中のものです。:2015/06/14(日) 23:16:26.25 ID:iBGAIxhB.net
>>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って処理が上から流れてないからモノスゴ判りづらいね…少しずつ書き換えてるけどエンバグが怖い。

75 :名前は開発中のものです。:2015/06/14(日) 17:38:19.01 ID:rxbnTFoL.net
>>65

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

parserに関係ないのに丁寧に回答くれてありがとう

66 :名前は開発中のものです。:2015/06/14(日) 10:03:06.81 ID:KERsBEYc.net
吉里吉里でこんなの欲しい
既読部分に絡むけど文字の縁取りとグラデ
過去スレに同じ話題があったけどkagで全部に反映される方法が吉里吉里初心者には難しいや

67 :名前は開発中のものです。:2015/06/14(日) 13:06:56.12 ID:TM/zeG/D.net
>>66
MessageLayer.tjsを魔改造していいのなら、今こんなの作ってます(宣伝)。
https://github.com/sayonogami/fadech_grad

69 :名前は開発中のものです。:2015/06/14(日) 13:40:33.68 ID:iBGAIxhB.net
>>66 もKAGParserじゃないなぁ。
>>67 はイイね!そのまま使えそう。

>>68
ExtKAGParserで既に実装されてるよ。

70 :名前は開発中のものです。:2015/06/14(日) 13:43:31.24 ID:KERsBEYc.net
>>67
おーすごい!起動させてもらったよ、これで問題なくいけるんじゃないか
まだ作りかけって書いてるけど既にテキストにグラデだけなら問題なさそうな
正式公開楽しみにしてる

69 :名前は開発中のものです。:2015/06/14(日) 13:40:33.68 ID:iBGAIxhB.net
>>66 もKAGParserじゃないなぁ。
>>67 はイイね!そのまま使えそう。

>>68
ExtKAGParserで既に実装されてるよ。

68 :名前は開発中のものです。:2015/06/14(日) 13:09:51.72 ID:Kz0kyUKV.net
KAGのタグを途中で改行できるようにしてほしい
属性が多いとスクリプトが横長になって可読性が落ちてくるので

69 :名前は開発中のものです。:2015/06/14(日) 13:40:33.68 ID:iBGAIxhB.net
>>66 もKAGParserじゃないなぁ。
>>67 はイイね!そのまま使えそう。

>>68
ExtKAGParserで既に実装されてるよ。

71 :名前は開発中のものです。:2015/06/14(日) 13:51:22.89 ID:KERsBEYc.net
KAGParserでやれることっていうのがいまいち解ってないからトンチンカンな事言ってそうごめん

あと単純に吉里吉里で欲しいなって思ったのはボタン押したときに画像がトランジション出現消去はするんだけど
ゲーム自体は止まらず進行してる奴かな文字描画ではプラグインあるの見たんだけどね
自分でTJSで組んで描画まではいったんだがトランジションで積んだ

72 :名前は開発中のものです。:2015/06/14(日) 15:22:20.66 ID:iBGAIxhB.net
>>71
これもKAGParserとはちがうけれど、
表示する画面を「一番前」に不透明で表示すれば、後ろの画面が動いていてもなんとでもなるよ。
右クリックルーチンは多くがそうなってたはず。

74 :名前は開発中のものです。:2015/06/14(日) 16:27:59.24 ID:KERsBEYc.net
>>72
画面がというよりクリックで読み進めてても、画面の端で動いて出て消えてるというかな
読み進めてるんだけどゲーム中流れるBGMのタイトルが左上に独自レイヤ動作でさっと出るような
自分が知らないだけかもしれないんだけど吉里吉里内では上手くできなくて

シナリオ内でいうなら他の人も書いてるけどemb他変数まわりかな
単語ひとつでこれは○○変数だよーできると楽になるような気はする

77 :名前は開発中のものです。:2015/06/14(日) 23:16:26.25 ID:iBGAIxhB.net
>>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って処理が上から流れてないからモノスゴ判りづらいね…少しずつ書き換えてるけどエンバグが怖い。

78 :名前は開発中のものです。:2015/06/15(月) 20:10:04.20 ID:y8VQZHx1.net
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]の間にラベルがある箇所(文法違反)があって、その一箇所だけ変更する必要がありました。
エラーチェックを厳密化しているので、こういうことは起こりがちです。

86 :名前は開発中のものです。:2015/06/16(火) 18:18:51.28 ID:30N/bvmG.net
>>78
KagParserEx の pmacro 拡張が地味に便利なのでパクるのおすすめ

88 :名前は開発中のものです。:2015/06/16(火) 20:16:13.68 ID:JicPL6r2.net
>>86
@pmacro は中の人と検討したけど、今回は採用を見送った。
[macro]の「指定しなかった引数のデフォルト値」の方がモノとして綺麗だろうというところで。
多方面からの要望あれば実装するかもしれないので、希望者は中の人にメールだ!

>>87
[emb exp="mp.hikisuu1"] と同等の [&mp.hikisuu1]でどう?
マクロに引数を指定しないと、mp.*にはvoidが入っているから何も表示されなかったよ。

90 :名前は開発中のものです。:2015/06/17(水) 00:22:54.42 ID:XOOYOcl1.net
>>88
それはpmacroの用途を見誤ってるかな。デフォルト指定でカバーできない範囲で使うものなので

機能組み合わせごとにマクロ組んでしまうタイプの記述をする人にはメリットわかりづらいかな。多機能なタグと組み合わせると真価がでる機能

87 :名前は開発中のものです。:2015/06/16(火) 19:53:36.22 ID:6rrvs82j.net
吉里吉里の
[macro name="macroA"]
[emb exp="mp.hikisuu1"]
[endmacro]
[macroA hikisuu1="string_abc"]
って >>78のやつでどうやって実装するん?
引数無いときもたしかvoidが入ってんだっけ?

88 :名前は開発中のものです。:2015/06/16(火) 20:16:13.68 ID:JicPL6r2.net
>>86
@pmacro は中の人と検討したけど、今回は採用を見送った。
[macro]の「指定しなかった引数のデフォルト値」の方がモノとして綺麗だろうというところで。
多方面からの要望あれば実装するかもしれないので、希望者は中の人にメールだ!

>>87
[emb exp="mp.hikisuu1"] と同等の [&mp.hikisuu1]でどう?
マクロに引数を指定しないと、mp.*にはvoidが入っているから何も表示されなかったよ。

90 :名前は開発中のものです。:2015/06/17(水) 00:22:54.42 ID:XOOYOcl1.net
>>88
それはpmacroの用途を見誤ってるかな。デフォルト指定でカバーできない範囲で使うものなので

機能組み合わせごとにマクロ組んでしまうタイプの記述をする人にはメリットわかりづらいかな。多機能なタグと組み合わせると真価がでる機能

133 :名前は開発中のものです。:2015/06/28(日) 00:24:22.33 ID:UQP3l5XG.net
>>41>>78
中の人まだここ見てるかな。
マクロ中で[iscript]~[endscript]が使えるようになるとありがたいんだけど
無理でしょうか?

134 :名前は開発中のものです。:2015/06/28(日) 02:02:22.62 ID:jP/jmj01.net
>>133
ExtKAGParserの中の人への意見は、彼(彼女?)の掲示板にした方がいいよ。ここを見てるかどうかわかんないし。

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

タグ途中での改行が認められてるパーサを使うなら、[eval] で代用したらどう?

135 :名前は開発中のものです。:2015/06/28(日) 02:25:56.46 ID:UQP3l5XG.net
>>134
そっか、難しいんだ。

[eval]で代用すると面倒そうだから、今まで通りマクロからサブルーチンに飛ばすか
TJSで関数を作るかしてそこに書くわw

141 :名前は開発中のものです。:2015/06/29(月) 16:32:24.09 ID:zryDDUp8.net
>>133
ExtKAGParserは、マクロ中の[iscript]に対応したってさ。

142 :名前は開発中のものです。:2015/06/29(月) 22:58:25.28 ID:ZbpSAfdY.net
>>141
おお、ありがたいな。次の開発でぜひ使わせてもらおう。

79 :名前は開発中のものです。:2015/06/15(月) 20:36:20.10 ID:is6up9fQ.net
昔作ったゲームがIgnoreCR=falseだからやってみたら
空欄?スペース?になってるところに\が異常に挿入されたり
セーブデータの読み込みでラベルが見つからなかったりした

82 :名前は開発中のものです。:2015/06/15(月) 23:50:41.66 ID:y8VQZHx1.net
皆様
テストありがとうございます。
>>79
ignoreCR周りはテスト環境が周りになくて…ちょっとさがして確認してみます。

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

いい機会なので KAGParserを綺麗にしながら書き換えています。結構オオゴトです…。

81 :名前は開発中のものです。:2015/06/15(月) 21:40:13.40 ID:2d9rWfYL.net
ごめんデバッグしてる間に中身が変わってしまっていた。ヽ(^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を参照しようとするとエラーが出るみたい。

82 :名前は開発中のものです。:2015/06/15(月) 23:50:41.66 ID:y8VQZHx1.net
皆様
テストありがとうございます。
>>79
ignoreCR周りはテスト環境が周りになくて…ちょっとさがして確認してみます。

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

いい機会なので KAGParserを綺麗にしながら書き換えています。結構オオゴトです…。

83 :名前は開発中のものです。:2015/06/16(火) 00:46:36.85 ID:JicPL6r2.net
>>81
多分これは全て想定どおりだと思う。
[emb exp="xxx"] で、xxx が void だと、エラーになる。これは通常のKAGParserでも同じ。
下のマクロ実行を普通のKAGParserで実行するとエラーになる。

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

[abc]

一方、ignoreCR=falseの方は、確かにおかしな部分がぽろぽろあるね。頑張ってテストする…。

84 :名前は開発中のものです。:2015/06/16(火) 10:50:43.39 ID:jk9qrMWp.net
すみません。吉里吉里の変数の扱いで質問なのですが、
例えばConfig.tjsで定義されている画面サイズなどの値を、
別のファイルに定義してある定数などを参照する事は可能ですか?

85 :名前は開発中のものです。:2015/06/16(火) 18:17:49.89 ID:30N/bvmG.net
>>84
Config.tjs の仕組みは、そこで定義されてる関数を使って変数初期化してるだけなので、function KAGWindow_config() の中に適当に別のファイルから変数よみこんで設定する仕組みを足せばいいのではないかと

93 :名前は開発中のものです。:2015/06/18(木) 13:38:53.11 ID:14L1zqlH.net
>>85

丁寧にありがとうございます。
function KAGWindow_config() の中ですね・・・
とりあえず実装できる希望が持てたので試行錯誤してみます。

91 :名前は開発中のものです。:2015/06/17(水) 16:45:57.87 ID:sDCCGSvS.net
む・・・マクロの中で変数に%1渡そうとしたらエラーがでる
渡し方悪いのかな

http://pastebin.com/mcs3gBEC

エラー:タグ : if ( ← エラーの発生した前後のタグを示している場合もあります )
文法エラーです(syntax error)

92 :名前は開発中のものです。:2015/06/17(水) 20:08:29.46 ID:fxN6ScJE.net
>>91
[eval]や[emb]のように、与えられた文字列をTJS式として認識するものに %1 を渡すには、
mp['1']のように書くといいよ。
# mp.1 はダメなので注意。

[eval exp="tf.input = (string)%1"]
じゃなくて
[eval exp="tf.input = mp['1']"]
ね。

95 :名前は開発中のものです。:2015/06/21(日) 00:22:25.44 ID:QYJDfiW1.net
スペルミスしてるとかどっかで間違って変数書き換えてるとか
実は呼び出されてる順番が違うとかミスはいくらでもありうる

Shift + F4でコンソール表示して、細かく数値の変化追ってみろ

96 :名前は開発中のものです。:2015/06/21(日) 01:08:37.73 ID:X/KcvOsw.net
>>95
ジャンプタグと変数の位置がおかしかったためでした。

100 :名前は開発中のものです。:2015/06/21(日) 19:24:48.38 ID:G5Q2ZFe6.net
それが分かってるならcfファイルを直接変更するようにすればいいんじゃね

101 :名前は開発中のものです。:2015/06/21(日) 19:30:41.34 ID:Wp1JWW9r.net
>>100
cfファイルのアレを直接編集するのはユーザーには大変だと思うから、
とりあえずショートカットのコマンドラインで指定してもらうことにするわ。

102 :名前は開発中のものです。:2015/06/21(日) 19:56:23.65 ID:Wp1JWW9r.net
コマンドラインでパスに空白が入っていると吉里吉里が認識しない
面倒くさいのう ('A`)

107 :名前は開発中のものです。:2015/06/22(月) 20:35:33.95 ID:znMoRWzL.net
>>102 "-datapath=~"で囲めばいいんじゃないかな?
>>103
EXではautolabelの関係でcallはシナリオスクリプトでは使ってはいけない。
(セーブするタイミングなしですぐreturnするのであれば問題ない)

そもそも素のKAG3でもcall使っててパッチによるシナリオ修正が入ると
既存のcall先でのセーブデータの互換が取れなかった気がするので、
callは使わないでシナリオ書くのが普通だと思ってたけど、どうよ?

110 :名前は開発中のものです。:2015/06/22(月) 23:01:36.73 ID:WyoTw65c.net
>>102
囲んでもダメだったよ。
コマンドラインで指定すると起動時にエラーが出て終了しちゃう。

そもそも、空白のあるパスは-datapathには指定しないほうが良いみたい。
krkrconf.exeを使って""で囲んで設定してやれば起動もセーブもできるけど、
ログファイルが吐き出せなくなる現象を確認しました。

103 :名前は開発中のものです。:2015/06/22(月) 16:27:31.44 ID:cXM1rYRj.net
デフォのEXのセーブ関係を試していたんだけど、

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

として

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


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

returnタグがcallタグと対応していません。(returnタグが多い)と出てエラーになるんだけど、これってバグだよね?
メッセージウィンド上のボタンクリックでも、上部バーでも同じ結果なんだけど、対処方法は無いの?

107 :名前は開発中のものです。:2015/06/22(月) 20:35:33.95 ID:znMoRWzL.net
>>102 "-datapath=~"で囲めばいいんじゃないかな?
>>103
EXではautolabelの関係でcallはシナリオスクリプトでは使ってはいけない。
(セーブするタイミングなしですぐreturnするのであれば問題ない)

そもそも素のKAG3でもcall使っててパッチによるシナリオ修正が入ると
既存のcall先でのセーブデータの互換が取れなかった気がするので、
callは使わないでシナリオ書くのが普通だと思ってたけど、どうよ?

112 :名前は開発中のものです。:2015/06/23(火) 14:27:18.67 ID:DDeuK+5t.net
基本的にパスやファイルネームに半角スペースは入れないのは基本中の基本と思ってたんだが・・・・

116 :名前は開発中のものです。:2015/06/23(火) 21:06:27.99 ID:vFhv71ja.net
>>112
作る立場としては、半角スペースと日本語ファイル名で問題なく動作するのを確認するのが基本

119 :名前は開発中のものです。:2015/06/24(水) 00:47:58.02 ID:bIqVH8RZ.net
作る側が自分でゲームのフォルダやファイルに半角スペース入れるのはアホだが
半角スペース入りのフォルダにユーザーはデータを保存するな ってのはだめだろ

120 :名前は開発中のものです。:2015/06/24(水) 01:08:17.55 ID:IDVuiz0F.net
>>119
ツール開発するようになると、バグを未然に防ぐのにために、個人的なファイルは、はまりやすいファイル名をあえて使うようになるw

むろん人に渡すファイルでは避けるけどね

122 :名前は開発中のものです。:2015/06/25(木) 21:18:44.32 ID:GjmA1iAX.net
空白の入っているパスに対応できないこと自体がバグじゃね?

124 :名前は開発中のものです。:2015/06/26(金) 09:02:38.54 ID:pVdADokU.net
>>122
アンインストールする時に外のフォルダのファイルまで削除したり
傲慢なプログラマーは犯罪だな

129 :名前は開発中のものです。:2015/06/27(土) 22:43:38.81 ID:MJkPm1jz.net
オプションタブの「OggVorbisコードブック共有化」のチェックを外せばいいと思うよ
ttps://twitter.com/wdko/status/613860938249142272
xp3サイズをできる限り小さくしたいとかでなければ使わなくても大丈夫かと

130 :名前は開発中のものです。:2015/06/27(土) 23:01:49.76 ID:1hBOV+2t.net
>>129
あー、そのオプションを外せばいいのか。存在をすっかり忘れてたw
どうもありがとう!

ところで、そのツイッターのアカウントの人ってもしかして吉里吉里の真祖さん?w

136 :名前は開発中のものです。:2015/06/28(日) 08:43:25.91 ID:JuOgktVp.net
if文の深さというかそういうのって確認できるんですか?
callのdepthみたいなの

137 :名前は開発中のものです。:2015/06/28(日) 09:28:09.86 ID:jP/jmj01.net
>>136
KAGスクリプトの[if]タグのことでいい?
KAGスクリプト上からは確認できない。KAGParser中のローカル変数(=IfLevel)だから、KAGParser内では確認できるけど。
一応セーブデータには(call stack の一部として)残るけどね。
# [call]タグの深さは、kag.conductor.callStackDepth で確認できる。

TJSスクリプトのifも確認する方法はない。

138 :名前は開発中のものです。:2015/06/28(日) 09:50:44.95 ID:JuOgktVp.net
(´・ω・`)無理か・・・プラグインでよくif文終わらせずに処理進めてる奴があるのでチェックしたかったんだが・・・

139 :名前は開発中のものです。:2015/06/28(日) 11:12:04.86 ID:jP/jmj01.net
>>138
ちょくちょく出てるExtKAGParserはKAGの[if]のチェックを厳しくしてて、[if]中にラベルがあったり[if]なしに[endif]したりするとエラーにしてくれるみたい。

本来そういうチェックはユーザじゃなくてパーサがすべきなんだよね。ただ、デフォルトのKAGParserでチェックしてないのは、きっとガチガチにしてデバッグ時の柔軟性がなくなるのを回避するためだったんだと思うから、どっちのアプローチが正しいかは判らない。

156 :153:2015/07/02(木) 14:14:13.24 ID:ti4PrG41.net
問題の箇所は分かった

[ほげ子 zoom=150 time=500]の時に、ypos=適当な数字を入れると、何回かに一回おかしくなる
でも、一番面倒な演算してるところだな・・・・・・
ちょっと見た感じどこが問題かわからん・・・・・・助けて・・・・・・

158 :名前は開発中のものです。:2015/07/02(木) 14:49:36.79 ID:OKbVaAxz.net
>>156
なんかダミー画像でも使って最小内容のうpしたほうが
わかりやすいんじゃない?

159 :153:2015/07/02(木) 15:00:18.14 ID:ti4PrG41.net
>>158
ちょっと作ってみる
俺には複雑すぎてかなり混乱してきた・・・・・・
それと、探してて見つけたなんだけど
KAGEnvCharacter.tjsの
f.yoffset = yoffset if xoffset != 0;
f.xoffset = xoffset if yoffset != 0;
これxとy掛け違えてない?

162 :名前は開発中のものです。:2015/07/02(木) 17:36:49.91 ID:HD3x+sor.net
>>159
それ明らかにバグだね。直して問題ないかと。
ところで

[ほげ子 ypos=100:100 zoom=150 time=500]

みたいに「prop=to:from」書式使ってyposを固定にしても問題の現象発生する?

164 :153:2015/07/02(木) 22:37:49.35 ID:3lYXHePx.net
>>162
試してみたけどダメだった。
それで、まっさらなところから再構築したんだけど……
どうやら原因は俺の日記さんのところの修正箇所のどこかっぽい
50回試して、今のところちゃんと挙動してる
お騒がせして申し訳なかった orz

157 :名前は開発中のものです。:2015/07/02(木) 14:39:20.99 ID:vF5FHeHu.net
そんなに重要でないが、吉里吉里プラグインとかごった煮的配布場所にある『アニメーションボタンプラグイン』の動作で
ボタンを右クリックで押せてしまうのは仕様なのだろうか?
仕様だとしても押された時に設定したSEが鳴らないんだよなぁ

それと色々と使わせてもらっています
ありがとうございます

160 :名前は開発中のものです。:2015/07/02(木) 16:22:29.57 ID:a4nrtK1G.net
>>157
吉里吉里本体についてるシステムボタン独自改造して使ってるけど
右クリックで押せるから仕様っぽい
ちなみに音もちゃんとなるけど、例えばセーブボタン右クリックで押してもセーブ画面はでないね
ごった煮のは使ってないから解らないわ

163 :名前は開発中のものです。:2015/07/02(木) 18:27:09.08 ID:InNqtEUb.net
>>157
吉里吉里本体のButtonLayer.tjsに手を加えたらそっちも解決すると思う。
一回マウスダウンすると領域外でマウスアップしても押下として処理しちゃうとか
ボタンの動作としてはちょっと難があるんよね>標準ボタンクラス

167 :名前は開発中のものです。:2015/07/03(金) 15:48:04.78 ID:cg8HM+7M.net
var variable

170 :名前は開発中のものです。:2015/07/03(金) 17:15:31.04 ID:cg8HM+7M.net
>>167
質問書こうとして誤爆した
色々試してる間に解決してしまった。

169 :名前は開発中のものです。:2015/07/03(金) 17:03:32.83 ID:tPtlnNUO.net
KAGEXの話題が出てるから俺も便乗質問お願いしたい

スレ27のこれを参考に顔窓作ってみた
347 : 名前は開発中のものです。 : 2013/05/18(土) 15:57:22.50 ID:fzr5Sb8S

>>346
表情欄使うには普通のキャラクター定義+以下3つが必要
1.[position]でfaceleft, facetop, facewidth, faceheightを設定
2.envinit.tjsでfaceLevelNameを設定
3.envinit.tjsでpositionsの出, 立, 顔, 消, 無を設定

サンプル
http://www.mediafire.com/download.php?q505z8od3u7fvm4

しかしよく考えたらキャラ事に頭の位置は違うけどどう言う風に書けばいいんだろう

それと元のenvinitの該当箇所

"faceLevelName" => void,
//"faceArea" => %[ name:"顔領域レイヤ", center:true/*センターフラグ*/, xoffset:0, yoffset:0, width:200, height:160 ],
//"faceZoom" => 100,

"faceLevelName"はレイヤレベルだと思うが、nameの顔領域レイヤってなんだろう

172 :名前は開発中のものです。:2015/07/03(金) 20:19:58.94 ID:jrQzFhHD.net
>>169
poses定義内のimage/faceImageとは別に、msgImage/msgFaceImageを定義して、
顔窓専用の立ち絵ファイル(バストアップのみのデータ)を作るのが良いのでは?
そちらの画像の大きさを固定しておけばキャラごとの背の高さも調整できるかと

faceAreaはKAGEnvCharacterExで参照される定義なので
残念ながら~Exの立ち絵が作れない(ツールがない)現状では利用は難しい
ttps://twitter.com/taninon/status/167277432842366978
過去スレで解析して心が折れてる人がいたみたいね…

181 :名前は開発中のものです。:2015/07/04(土) 13:45:14.58 ID:APiBlECr.net
>>169
charactersの中で個別に設定したら、たしかできたんじゃなかったっけ?

171 :名前は開発中のものです。:2015/07/03(金) 18:03:15.25 ID:K13n05o4.net
吉里吉里3はもういいから
スマホ用吉里吉里出してくれ

173 :名前は開発中のものです。:2015/07/03(金) 21:15:19.70 ID:iUD14JN/.net
>>171
欲しいよな

174 :名前は開発中のものです。:2015/07/04(土) 01:41:13.18 ID:FjwF4QgO.net
>>171
ティラノスクリプトやジョーカースクリプトじゃいかんのけ?

176 :名前は開発中のものです。:2015/07/04(土) 07:05:20.73 ID:0iIBEPSF.net
吉里吉里使っていたんだけど、開発終わってしまったんですよね
吉里吉里での開発経験を活かしてPCとスマホでプレイできるゲームを作りたいんだけど
次はどんなスクリプト・言語を使うといいでしょう

179 :名前は開発中のものです。:2015/07/04(土) 07:40:38.78 ID:YpZiJS7B.net
>>176
ここで聞いてみるとか

ノベルツール選考スレ 4th KIND
http://peace.2ch.net/test/read.cgi/gamedev/1329043965/

182 :名前は開発中のものです。:2015/07/05(日) 12:56:00.70 ID:NTh54/Kv.net
プラグインの質問で悪いんだけど・・・ デバッグロード?するとシステムボタンが表示されなくなるんだけどなぜだろうか
[call storage="ExtSystemButton.ks" cond="typeof global['extsystembutton_obj'] == 'undefined'"]
[sysbutton_erase]
[sysbutton visible="false" name="auto" graphic="auto" top=810 left=1607 exp="SysBtn_onAutoReadButtonClick()"]

[sysbutton_setopt name="auto" page="fore" visible="true"]

183 :名前は開発中のものです。:2015/07/05(日) 13:19:21.23 ID:z1dVhZa1.net
ExtKAGParserの次のテストが始まってるね。
ソースコードのディレクトリに「助けて!不具合の原因がわからないの!」って文書があってワロタ
ちょっと見たけど、俺には何を言ってるのか全然わからないw

>>182
デバッグロードってなに?

184 :名前は開発中のものです。:2015/07/05(日) 13:22:49.49 ID:NTh54/Kv.net
メニューのデバッグ→シナリオの再読み込み
ごめん名前全然ちがったOTL

185 :名前は開発中のものです。:2015/07/05(日) 14:47:34.04 ID:z1dVhZa1.net
>>184
それKAICHOさんとこのプラグインだからKAICHOさんに聞いた方がいいよ。

といいつつ手前の環境で試した。そのスクリプトをfirst.ksに書いてメニューのデバッグ→シナリオ再読み込み実行したけど、ちゃんと表示されたよ。他が悪いんじゃない?

186 :名前は開発中のものです。:2015/07/05(日) 14:58:47.63 ID:iD3m3BeR.net
公開してくれてるだけ有り難いんだけど
KAICHOさんのプラグインは説明が解りにくいのと導入面倒くさいのが難点だ
あと他の人のプラグインとあわせるとエラーになったりする

189 :名前は開発中のものです。:2015/07/05(日) 19:31:35.37 ID:DyGT/zQI.net
>>186
俺はKAICHOさんのプラグインを頑張って導入&改造したおかげで
TJSとKAGの構造をスゲー理解できたよ。
大感謝してるわ。

190 :名前は開発中のものです。:2015/07/05(日) 20:24:24.10 ID:z1dVhZa1.net
>>188
それって実はこれ↓じゃないの?
ttp://www.geocities.jp/keep_creating/DojinDOC/kirikiriSmallTips.html#loadKAGPlugin
『KAGPluginを組み込む時は、first.ksの、「最初のセーブ可能ラベルより前」で 組み込むようにしよう。そうしないと色々不具合が起こるため。』
あそこのプラグインは最初から二重読み込みに対応してるはずなんで、自分で消したりしないほうがいいよ。

>>189
ホントあれ読むと勉強になるよね。感謝感謝。

202 :名前は開発中のものです。:2015/07/06(月) 23:41:23.16 ID:CbFvTUJb.net
>>190
それっぽい
セーブラベルより前に置いたほうがよかったのか

193 :名前は開発中のものです。:2015/07/06(月) 10:03:21.49 ID:XUng+MDK.net
>>186
最初はあの量の説明で「おおう……」と思ったがじっくりやっていくと
説明は詳しくて、ソースにコメントも書いてあってかなりいいと思う
さらに全部入りサンプルがあるからそれも参考にできるしね

187 :名前は開発中のものです。:2015/07/05(日) 15:26:08.78 ID:NTh54/Kv.net
まじか 環境が悪いのかな
プラグインコールした後にセーブラベル通せば問題なく動くんだけどセーブラベル通らずにシナリオ再読み込みするとなぜか表示されない・・・。
[if exp="typeof global['extsystembutton_obj'] != 'undefined'"]
[eval exp="kag.removePlugin(global['extsystembutton_obj']);"]
[eval exp="global['extsystembutton_obj'].finalize();"]
[eval exp="System.inform('removed!');"]
[endif]
こんな感じで一回消してみたけどだめぽだった。もう少し検証してみてダメそうなら作者さんにきいてみよう・・・

188 :名前は開発中のものです。:2015/07/05(日) 15:52:52.79 ID:NTh54/Kv.net
よかった凸らなくて・・・自己解決した。
エラーログ確認したらマクロが定義されてないってエラーが出てたので>>187のendifの前に
[eval exp="delete global['extsystembutton_obj'];"]
を追加したら問題なく再描画されました。お騒がせしました。

190 :名前は開発中のものです。:2015/07/05(日) 20:24:24.10 ID:z1dVhZa1.net
>>188
それって実はこれ↓じゃないの?
ttp://www.geocities.jp/keep_creating/DojinDOC/kirikiriSmallTips.html#loadKAGPlugin
『KAGPluginを組み込む時は、first.ksの、「最初のセーブ可能ラベルより前」で 組み込むようにしよう。そうしないと色々不具合が起こるため。』
あそこのプラグインは最初から二重読み込みに対応してるはずなんで、自分で消したりしないほうがいいよ。

>>189
ホントあれ読むと勉強になるよね。感謝感謝。

202 :名前は開発中のものです。:2015/07/06(月) 23:41:23.16 ID:CbFvTUJb.net
>>190
それっぽい
セーブラベルより前に置いたほうがよかったのか

194 :191:2015/07/06(月) 10:06:04.48 ID:K+aqZ53w.net
因みに、ごった煮的配布場所さんの「雪プラグイン改良版」を使用してみたところ
「file://./d/kkde_200a4/project/(プロジェクト名)/data/snow_5 について適切な拡張子を持ったファイルを見つけられませんでした」
というエラーメッセージが出てしまいました

雪の画像は雪プラグインの画像(0から4)をそのまま使っているのですが問題があるのでしょうか?
(使用しているのは吉里吉里2 2.32です)

195 :名前は開発中のものです。:2015/07/06(月) 10:26:59.39 ID:a0eFaZjn.net
>>194
ごった煮さんのは雪の画像が増えてる。
ごった煮さんところの「全部入りサンプル」を落として、中にある snow_0.png~snow_7.png を自分のプロジェクトのどこかにコピーしてからやってみ。

196 :191:2015/07/06(月) 11:13:02.84 ID:K+aqZ53w.net
>>195
サンプルを落として雪の画像を使ったところ無事プラグインが動作しました
おかげで立ち絵やメッセージレイヤの後ろに雪を降らせることができました

一人でてんぱっていたので助かりました
教えて頂き本当にありがとうございました!

197 :名前は開発中のものです。:2015/07/06(月) 12:43:00.34 ID:qG62lNu9.net
priority(absolute)を弄ると、雪の奥行きは自由自在

ttp://lightworks.blog137.fc2.com/blog-entry-15.html

198 :191:2015/07/06(月) 13:36:49.25 ID:K+aqZ53w.net
>>197
紹介して頂いた動画参考にさせて頂きました
ありがとうございました!

199 :名前は開発中のものです。:2015/07/06(月) 16:24:46.39 ID:xrY9IQ4B.net
選択肢からサブルーチンに飛ばしたいんですが、一々linkから他ラベル経由でcall、よりもっと手っ取り早い方法ってありますか?

200 :名前は開発中のものです。:2015/07/06(月) 20:27:13.66 ID:NlRkmyHb.net
>>199
kag.callExtraConductorを使いなされ
この単語でググれば講座も出て来るし
そこに詳しく書いてあるはず

201 :名前は開発中のものです。:2015/07/06(月) 20:35:12.27 ID:xrY9IQ4B.net
>>200
ありがとうございます!
調べてみます

203 :名前は開発中のものです。:2015/07/06(月) 23:46:08.89 ID:+151RMp4.net
linkタグのonenterやonleaveの処理にkag.callExtraConductor使うのっていいの?
たとえばそのリンクのexpがどっかにjumpにするような場合
onenterのサブルーチンのreturn時にエラーになりそうなんだが
それにサブルーチンで[wait]とかなんかの処理待ちがあった場合もcallとreturnが合わないエラーになりそう

206 :名前は開発中のものです。:2015/07/07(火) 06:36:44.63 ID:LrTuGv5S.net
>>203
うちはexpにkag.callExtraConductor使ってるよ
今の所、問題は特にない

207 :名前は開発中のものです。:2015/07/07(火) 07:03:19.15 ID:LrTuGv5S.net
>>203
連レスすまん
質問者の198が言う所の「選択肢からサブルーチンを呼ぶ」という動作なら
うちはexpでサブルーチン呼んで
必要に応じて[return storage="" target=""]で戻り先まで指定してるって話
202の条件で試したことない