トップページgamedev
1001コメント411KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2006/10/10(火) 06:04:10ID:gTzd6sC4
ノベル製作ツール吉里吉里/KAGを使用している人達が雑談や質問をするスレッドです。
本家BBSで聞きづらい質問や初歩的な質問などでもよいのでわからないことがあればどうぞ。
自分のゲームの進行状況や製作ツール等についての話、TJS等の質問もお待ちしています。
マルチポストはやめましょう。個人叩きも禁止です。

8 http://pc8.2ch.net/test/read.cgi/gamedev/1147590108/
7 http://pc8.2ch.net/test/read.cgi/gamedev/1138099311/
6 http://pc8.2ch.net/test/read.cgi/gamedev/1116774771/
5 http://pc8.2ch.net/test/read.cgi/gamedev/1095183786/
4(タイトルは3) http://pc5.2ch.net/test/read.cgi/gamedev/1081199649/
3 http://pc5.2ch.net/test/read.cgi/gamedev/1067436686/
2(再利用) http://pc2.2ch.net/test/read.cgi/gamedev/1044256119/
1 http://pc2.2ch.net/test/read.cgi/gamedev/1021890648/

吉里吉里2/KAG3雑談質問スレ_過去ログ
http://www.geocities.jp/kirikiri_log/

【公式】
kikyou.info
http://kikyou.info/

吉里吉里ダウンロードページ
http://kikyou.info/tvp/
06426332006/12/01(金) 01:25:52ID:yp0WXRoh
>>634-635
これを試してみてください。first.ksにこれだけ記述すれば確認できます。
画像はTLG6形式でやりました。
---------------------
[cm]
[current layer="message0"]
[position layer="message0" frame="適当な画像" visible=true]
[style linespacing=36]
[nowait]
[link storage="aaa.ks"]test1[endlink][r]
[link storage="bbb.ks"]test2[endlink][r]
[nowait][s]
---------------------
↑のソースで、表示したあとに選択肢以外をクリックすると文字が消えます。
それ以前に [p]の時に出るアイコンが表示されてしまうのもおかしいです。

linespacingを消すか、frameを消すと正常に動作します。
0643名前は開発中のものです。2006/12/01(金) 01:34:32ID:yp0WXRoh
>>640
こういうことですか?

[cm]
;背景とテキスト表示
[image storage="../image/bg.tlg" layer="base"]
あああああ
[l]
;テキストフェードアウト
[backlay]
[layopt layer="message0" page="back" visible="false"]
[trans method="crossfade" time="1000"]
[wt]
;キャラ表示
[image storage="../image/chara_azusa.tlg" layer="0" visible="true"]
[l]
;テキストフェードイン
[backlay]
[layopt layer="message0" page="back" visible="true"]
[trans method="crossfade" time="1000"]
[wt]
06446332006/12/01(金) 01:43:40ID:yp0WXRoh
>>642
すいません、貼りつけたソースだと問題ありませんでした。
もう一度確認してきます。
06456332006/12/01(金) 01:50:03ID:yp0WXRoh
>>642
度々すいません。現象が発生する条件は下記の通りのようです。

・テキストレイヤーのフレーム画像がスクリーンサイズ以外であること。
・linespacing、もしくは locateによって表示位置を調節していること。

>>642 で示したソースで
・フレーム画像をスクリーンサイズ(640*480)にしたら問題ありませんでした。
・linespacingを削除したら問題ありませんでした。

皆さんの環境でも同様の現象は発生しますでしょうか?
0646名前は開発中のものです。2006/12/01(金) 02:04:09ID:PtlLLeFA
恐らく、行間を大きくしすぎてメッセージフレームからテキストがはみ出してるんじゃないかな。
0647名前は開発中のものです。2006/12/01(金) 02:15:39ID:PtlLLeFA
ちょっと訂正。
行間って言うより、最後の[r]が原因ぽいね。
あとKAG2互換モードにしてるなら\も忘れずに。
06486332006/12/01(金) 03:03:12ID:yp0WXRoh
>>646-647
反応ありがとうございます。
テキストはみ出しが原因だとしたら、「フレーム画像を無くすと正常に動作する」の説明がつかない気がします。
最後の[r]を消しても同じでした。

ちなみに KAG2互換モードではないので「\」は不要です。伝え忘れてすいません。
0649名前は開発中のものです。2006/12/01(金) 03:05:44ID:yp0WXRoh
設定画面を作る時に音量調整を加えたいのですが、
スライダコントロールのプラグインや、スクリプトなどを公開しているサイトはありますでしょうか?
少々検索してみたのですが見付かりませんでした。

>>648補足
ちなみに現在は背景画像サイズをスクリーンサイズにすることで対応しました。
透明部分がすごい無駄なことになっていますが、動作的に問題ないのでひとまずということで。
0650名前は開発中のものです。2006/12/01(金) 03:07:07ID:DcX5pN1Q
>642
>それ以前に [p]の時に出るアイコンが表示されてしまうのもおかしいです。
なんで▼がでるかというとテキストがメッセージレイヤと比べて長すぎて
一度に表示できないから。その場合初期設定だと[p]じゃなくても自動で差し込まれる。
0651名前は開発中のものです。2006/12/01(金) 03:10:34ID:yp0WXRoh
>>649
度々度々^^;
それっぽいの見付けました。すいません。
http://www.kirikiri.info/bbslog/view.cgi/004920
0652名前は開発中のものです。2006/12/01(金) 03:59:47ID:PtlLLeFA
>>648
ちゃんとフレーム画像の高さは108以上にしてるんだよな?
なら試しに、[r]を消した上でpositionにmargin="0"足してみ。
0653名前は開発中のものです。2006/12/01(金) 04:12:32ID:PtlLLeFA
あ…クリックで消えるってことは、字は納まってるわけか。
108云々は忘れてorz
0654名前は開発中のものです。2006/12/01(金) 04:16:15ID:DarVSICj
>>643
あああありがとうございます。前に同じので試した時になぜか
出来なかったんですが、上手くいけました。何が悪かったんだろう…。
ともかくありがとうございました。
0655名前は開発中のものです。2006/12/01(金) 04:20:19ID:MSJdjYqC
>>653
字は収まってても、最後の[r]で自動改ページ発動してる可能性は十分ある。
0656名前は開発中のものです。2006/12/01(金) 04:27:40ID:PtlLLeFA
うん、忘れて欲しいのは108のとこだけな。
[r]消しとmarginはやってみて。
0657名前は開発中のものです。2006/12/01(金) 07:09:11ID:hRR9ak9m
とりあえずID:yp0WXRohはもう少し落ち着いた方がいい。
0658名前は開発中のものです。2006/12/01(金) 07:27:59ID:ZpMVl0yH
こいつ上でアニメできないと騒いでたヤツじゃないのか?
0659名前は開発中のものです。2006/12/01(金) 09:31:35ID:UpWva+F3
ProjectLipsの吉里吉里講座も年内で終了か。
KAGと心中やプラグイン集も消えたし次スレはテンプレ大幅改変だな。
0660名前は開発中のものです。2006/12/01(金) 12:22:49ID:eoJsJE/b
OUTFOCUSのgutchie氏のwikiがそれに換わるものになるんじゃないか
0661名前は開発中のものです。2006/12/01(金) 12:50:15ID:9OgijW2X
mixiのコミュに新しい初心者向け講座来てたんではっとく

ttp://kagru.web.fc2.com/
0662名前は開発中のものです。2006/12/01(金) 13:37:43ID:yJwQpAEG
mixiで・・・本家のイミフ以上に相手にしたくないな。

続いてる吉里吉里のコミュニティーが減ってる今貴重だが
ユーザー数に対して情報を公開してる奴らが少ないな
0663名前は開発中のものです。2006/12/01(金) 17:38:29ID:KzybGId9
画面には出力しないけれど、履歴にだけ表示する(例えばイベント名とか)のに
良い方法ありませんか?

今は非表示のメッセージレイヤーを使っていますが、もっと良い方法がありそうで。
0664名前は開発中のものです。2006/12/01(金) 17:57:15ID:NCJ4JnzY
>>663

AfterInit.tjs に
-----------------------------------------------------
kag.tagHandlers.htext = function(elm) {
if(historyWriteEnabled) historyLayer.store(elm.text);
return 0;
} incontextof kag;
-----------------------------------------------------

と足して、あとは KAG から
-------------
[htext text="ヒストリに出力"]
[hr]
-------------
とかこんなかんじで
0665名前は開発中のものです。2006/12/01(金) 18:23:26ID:KzybGId9
>>664
ありがとうございます。
無事、出来ました。
0666名前は開発中のものです。2006/12/01(金) 20:38:03ID:QhPbskLQ
>662
苦労して覚えた知識を簡単に教えてたまるかって奴もいるかもしれないが
講座サイトが少ないのはプログラムとはまた別の才能が必要だから。
名選手(プログラマー)が名監督(講座サイト)とは限らないってやつだな。
体系立てて分かりやすくまとめるには文系の能力がかなり必要になる。
理系の奴が理系の書き方しても自分と同レベル以上の人間にしか読めないものになる。
0667名前は開発中のものです。2006/12/01(金) 21:06:22ID:4tRnWELa
情報公開するのは思ってるよりめちゃくちゃ手間掛かるぞ
実作業時間やそれに伴う思考時間を合わせるとね
週末がそれで潰れてしまう事もある
0668名前は開発中のものです。2006/12/01(金) 21:16:41ID:elRrIqFC
さらに質問にも答えるとなると…
0669名前は開発中のものです。2006/12/01(金) 21:21:18ID:P8MZKX7/
>666
そもそもリファレンスすら読めないので講座作るレベルじゃないって問題があると思うんだ


TJSって他の言語やってれば新たに覚えるのはcontextof演算子位だから簡単な方なのにな。
KAGも一番複雑なパーサがネイティブ実装されてて実装は隠されてるから難しいのは文字を描画する際の計算位だし、
あれ位なら読めるだろう。

他の言語から簡単にADVが作りたくて吉里吉里に手出したのって少ないのか?
それとも、そういう連中にとっては吉里吉里は講座で解説する程じゃないのか・・・

KAG・Nスクと並ぶがNスクの方が講座も書籍も多いのはなぜだろうな。

>名選手(プログラマー)が名監督(講座サイト)とは限らないってやつだな
C++とかJAVAの本見ると名監督がコード書けるとは限らんからな。実際にKAGでゲーム作った所が本出すと売れそうだな
0670名前は開発中のものです。2006/12/01(金) 21:50:04ID:1l/Ygd0F
>669
確かになぜか吉里吉里よりもNスクの方がユーザーコミュニティが
発展しているような気がする。
最近は公認サイトが消えたり、講座サイトでも途中で止まっているところばっかで
なんか活気がないというか何というか。
0671名前は開発中のものです。2006/12/01(金) 22:45:55ID:yp0WXRoh
>>656
ありがとうございます。
margint、marginbを指定したら上手くいきました。
無指定=0 というわけではないのですね。

>>658
何が言いたいのかわかりかねますが、とりあえず違う方だと思います。
0672名前は開発中のものです。2006/12/01(金) 22:58:06ID:KFUmQIe8
なんだか吉里吉里の各所に厨が増えてきましたね
0673名前は開発中のものです。2006/12/01(金) 23:14:09ID:ukKT5twe
TJSなんかの応用テクに関することならともかく
KAGのリファレンスも読んでないのが丸判りな質問連発してる奴は
ライブメーカーとかコミックメーカーに行けと言いたくなる。
こんなの相手にしてるであろう講座サイト運営してる人達を素直に尊敬するよ。
俺は人間小さいから絶対無理。
0674名前は開発中のものです。2006/12/01(金) 23:25:56ID:QhPbskLQ
[image]を説明するだけでもかなり大変だぞ。
page=foreってなに?それはトランジションで〜〜
トランジションってなに? それは画面の切り替えで〜
画面の切り替えって何? クロスフェードとスクロールとユニバーサルがあって〜
ユニバーサルってなに? それはルール画像があって〜
ルール画像ってなに? PNG形式で作られた〜
PNG形式ってなに? 
って感じで「image]だけを説明しようとしても他の要素がどんどん絡んできてる。
かといって[image]の前にトランジションの解説から始めることも出来ない。
pageはpageなんだよ!黙ってろ!ってんじゃ解説になってない。
0675名前は開発中のものです。2006/12/01(金) 23:28:58ID:xnrVMOZO
なんか子供とおっさんが二人で漫才するように説明してたサイトあったよね?
気づいたら閉鎖してたけど
あそこわかりやすかったと思うんだけど、何で閉鎖したの?
0676名前は開発中のものです。2006/12/02(土) 00:24:47ID:MczNsBiN
>>673-674
「KAGリファレンスを参照して下さい」
もしくは
「質問の意図が掴めないのでKAGリファレンスのどの部分が分からないのか明示して下さい」
ってレスすればおk。
俺は厨の質問にはそう答える
0677名前は開発中のものです。2006/12/02(土) 01:04:16ID:jIXuGP8H
>673
俺も無理だなぁ。
リファレンスどころかレスすら読まない奴もいるからな。
何しに来たんだと言いたい。
0678名前は開発中のものです。2006/12/02(土) 01:06:38ID:OFIHRq5t
厨な質問へのレスの仕方じゃなくて
筋道を立てて分かりやすく講座を構築するのは難しいって話でしょ
0679名前は開発中のものです。2006/12/02(土) 01:11:12ID:Pp+y0ayd
ちょっと待て、なんでお前らにそんな質問が来るんだ?
0680名前は開発中のものです。2006/12/02(土) 01:19:04ID:T5d/7SwD
>671
違うなら断片だけで状況判断して説明してる人に詳しくもないのに
「その理由は違うと思う」とか言い出してる失礼なヤツが増えてるって事だ。
しかもそれ以外考えられない状況なのに。
0681名前は開発中のものです。2006/12/02(土) 01:23:14ID:+A1+6GD/
簡単にADVを作りたい、でもいろんな機能がついてるのがいいよね
そんな人がいきなり吉里吉里に手を出すんだろうね
0682名前は開発中のものです。2006/12/02(土) 01:49:34ID:e79Nerln
>680
661の講座鵜呑みにしてたのかもな
ちょっと覗いて見たんだが、
こっちも[endlink][r][s]こうなってる
0683名前は開発中のものです。2006/12/02(土) 03:47:09ID:BXdkmTi/
>そんな人がいきなり吉里吉里に手を出すんだろうね
ここら辺頑張ってTJS書いてる奴は良いがKAGの既存のコード書き変えてる奴とか質問にそういう答え方する奴とかは
KAG本体にパッチ当てちゃうと実装変わって動かなくなるかもってのは考えないんだろうか?

何のためにわざわざAfterInit.tjsがあるのかと・・・
実際初めからイジル気満々の奴はあんなもん使わずに必要な部分をサブクラス化しちゃうのに。
その場合良くてブートストラップ的な使い方しかしないからなきゃ無いで良いし。

KAGの設計がdeeたんの意図している使われ方とズレてるのかもな。
MainWindow.tjsはパッチ当て過ぎでリファクタリング出来たもんじゃないし
MainWindowとは明らかに関係無い処理が含まれてたり別クラスかもせんと。

KAG3もいままで頑張ったよな。そろそろソース捨てる時期だw
MainWindow.tjsさえ捨てれば何とかなるがそれやると根本から設計やり直しな罠orz
MainWindow.tjsをリファクタリングしようと思ってソース読んだ瞬間挫折した奴は居るはずだぞw

#KAG4の開発はメーリングリストちょっと出て以来音沙汰なしだな
0684名前は開発中のものです。2006/12/02(土) 04:05:13ID:P5CvhrtV
>MainWindow.tjsをリファクタリングしようと思ってソース読んだ瞬間挫折した奴は居るはずだぞw


まあ数年前の話だがな。
0685名前は開発中のものです。2006/12/02(土) 04:15:16ID:szGQHOpM
Fateが吉里吉里/KAGで作られてるって聞いて飛びついた俺が来ましたよ。
実際にやってみたり、Fateのソース見て甘くはないなぁと思う今日この頃。
パクる気も失せるほど膨大だったので普通にイチから勉強してる。
まぁわからんままコピペしても虫取りの時泣くだけだしね。

こんな俺みたいな奴が大量発生してるだろうけど頑張って>>偉い人
ROMって肥やしにしてますよ〜
0686名前は開発中のものです。2006/12/02(土) 05:39:17ID:jzEb8c9Z
KAG4なんて要らないよ。
そんなもんはDeeたんじゃなくても作れるし、
吉里吉里3の開発に専念して欲しい。
KAG4開発は吉里吉里3に対応させる必要が出来てからで十分。
0687名前は開発中のものです。2006/12/02(土) 09:32:00ID:GV2z+npM
>>686
KAG4はW.Dee氏ではなくてsugi氏が担当(?)たった気がするが。
↓ソース
http://ml.kikyou.info/pipermail/kirikiri-dev/2005-October/000004.html
0688名前は開発中のものです。2006/12/02(土) 13:00:26ID:Nn9lkJ+C
キミキスの体験版とやらが吉里吉里製らしいと聞いてダウンしてみた
目パチとかどうやってんだろこれ
0689名前は開発中のものです。2006/12/02(土) 13:01:24ID:jWp0PAA6
URLキボン
0690名前は開発中のものです。2006/12/02(土) 13:17:21ID:Nn9lkJ+C
ほい
ttp://kimikiss.jp/tg/
0691名前は開発中のものです。2006/12/02(土) 13:18:47ID:jWp0PAA6
ありがとう
今は眠いのであとでやってみる
06923522006/12/02(土) 13:46:25ID:Nt06spb/
遅くなりましたがスレ352です。
ちょっと仕事で作るの遅くなったぽ(;´Д`)

ご許可頂けた方のサンプルを掲載いたしました。
何かミスありましたら、ここででもご連絡ください。
アドレスはこちら
ttp://akiba.geocities.jp/kirikiri_sp/index.html
06933522006/12/02(土) 13:50:19ID:Nt06spb/
連投失礼
前回の書き込み後、現在おさかなで公開されてる方からも
ご連絡とご許可を頂けましたが
既におさかなさんの方で全て公開されている事もあり、
当方では扱わない結論で進めました。
0694名前は開発中のものです。2006/12/02(土) 14:10:16ID:FRISUBqC
ご苦労様です!
私は落としてなかったので嬉しいです!
0695名前は開発中のものです。2006/12/02(土) 14:15:32ID:T5d/7SwD
>692
ルーレットプラグインDLしたら時間依存メッセージプラグインだったくさい。
06963522006/12/02(土) 14:19:09ID:Nt06spb/
うおマジだ。
修正しておきます。
0697名前は開発中のものです。2006/12/02(土) 14:30:36ID:+A1+6GD/
>>683
プログラミングできなくてもADVが作れるみたいに言われてるのを拡大解釈して
何も知らなくてもかっこいいのが作れるんだと勘違いしているのが多いんだろうて
0698名前は開発中のものです。2006/12/02(土) 15:34:49ID:4Ro95zGB
>692
おお、お疲れ様。
作りもシンプルで分かりやすいね。
0699名前は開発中のものです。2006/12/02(土) 15:41:28ID:43ZblYgw
>>685
ソースどうやって見るの?
0700名前は開発中のものです。2006/12/02(土) 15:43:13ID:QP8xuOEu
また沸いてきた…
0701名前は開発中のものです。2006/12/02(土) 16:15:23ID:F3exgbgP
独自暗号を簡単に導入できるようにすりゃ
汎用解析プログラムは意味なくなるんだがな

ゲーム配布側が暗号生成のキーを弄れば
独自暗号化できるというようなのは無理なんだろうか
0702名前は開発中のものです。2006/12/02(土) 16:46:01ID:RLmj8P3I
懇切丁寧に暗号化プラグインの作り方書いてあるだろ
0703名前は開発中のものです。2006/12/02(土) 18:42:34ID:szGQHOpM
これのことか
http://www.poringsoft.net/cnt/program/xp3filter.html
0704名前は開発中のものです。2006/12/02(土) 18:48:25ID:Pt+/Lyoj
また馬鹿が一人
0705名前は開発中のものです。2006/12/02(土) 18:52:53ID:RLmj8P3I
>>703
(;^ω^) Deeたんに氏んで侘びてください
0706名前は開発中のものです。2006/12/02(土) 19:27:51ID:5OEwpe3D
最近KAGを知って初めてのゲーム作りに挑戦してるんですが
あとから配列や辞書といった便利なのが出てきて
次々取りこんでいるうちスクリプトがごちゃごちゃしてきました。
それで一度
「最初にこれを使ってこれを設定しておくと楽」みたいな
ベテランの技を参考までに聞いておきたいなぁと思うのですが
よかったら聞かせていただけないでしょうか。
0707名前は開発中のものです。2006/12/02(土) 19:49:02ID:NlWQrbtL
>>686
>KAG4はW.Dee氏ではなくてsugi氏が担当(?)たった気がするが。
これに加えてKAG4って吉里吉里2対応じゃなかったか?


>>690
おkテックジャイアン買ってくる


>>697
それは拡大解釈じゃなくて御都合主義(ry)


>>699
見たところでfate用に作られてるんだから再利用性は低いし、あんなもん書ける奴には簡単に書ける。
NGChartEditorにfateで使ったプラグインのごく一部が付いてるから落としてみれば?
ライセンスは吉里吉里独自だから自由にいじれる


>>703
吉里吉里のソース読んでみろ

0708名前は開発中のものです。2006/12/02(土) 21:36:38ID:G6K+lp4F
[showhistory] に相当する処理を行うには [eval exp="kag.showHistory();"][waittrig name="history"] 
の2つが必要ですけど、この2つに相当する処理を TJS から直接行うことは可能ですか?
onClick などのイベントハンドラから上記操作を行おうとしても、Conductor に -2 を返せないので KAG が進行してしまう点が困っています。

当方が考えていることは、画面上のボタンを押すことで 「セーブ画面」「ロード画面」 などを出すことです。
callExtraConductor を使用して一度 KAG に戻れば上記の操作を行えるのですが……できれば TJS だけで行いたいなーと。
0709名前は開発中のものです。2006/12/02(土) 21:57:16ID:IJugM/wO
>>707

なら書いてみろと。

学歴なんて関係ないと東大出てからいってみたい、ってCM昔あったじゃん。
Fateなんて簡単だと それ以上のもん組んでから言ってみたいぜ俺は。
0710名前は開発中のものです。2006/12/02(土) 22:00:37ID:Ir0vKEV6
>>709にご意見無用。
0711名前は開発中のものです。2006/12/02(土) 22:08:52ID:oxNumxlU
>>708
要は[showhistory]をTJSでやりたいのだな?
MainWindow.tjsを見ると[showhistory]ではshowHistoryByScenario()
を使ってる。それだけではダメなのか?

もしくはkag.tagHandlers.showhistory()でタグ呼んでもできるはず
0712名前は開発中のものです。2006/12/02(土) 22:21:48ID:Nn9lkJ+C
TJSでやらなきゃダメな理由を教えていただければ解決策が見つけやすいかもしらん
0713名前は開発中のものです。2006/12/02(土) 22:22:41ID:G6K+lp4F
>>711
実は、そのどちらもダメなんです。
showhistory は、『showHistoryByScenario を呼び出し』 て 『Conductor に -2 を返す』 処理を行うんですけど、
停止に必要なのは後者の処理みたいなんです(というより、waiting の実体は後者)

だから単純に showHistoryByScenario を呼び出すだけでは停止しないっス…… (´・ω・`)

Conductor に -2 が返されたときの処理を自前でやってしまえば良いような気もするんですが、
それだと現在実行中のシナリオに影響が出るかもしれないな……と不安でして…… orz
0714名前は開発中のものです。2006/12/02(土) 22:24:44ID:G6K+lp4F
>>712
要は、TJS からレイヤを色々操作している間、KAG スクリプトの進行を一時停止しておきたいんス (´・ω・`)
0715名前は開発中のものです。2006/12/02(土) 22:38:08ID:RLmj8P3I
>>713-714
何がやりたいのかさっぱり分からないけど
コンダクタのコンテキストで↓をやるんじゃ駄目ってこと?

timer.interval = 0;
inProcessing = false;
reentered = false;
0716名前は開発中のものです。2006/12/02(土) 22:40:16ID:G6K+lp4F
>>715
う、うん。それは考え付いたんだけど、それをやることで後々面倒なバグに悩まされるのは嫌だな、と (^-^;;
今 Conductor の中を眺めている最中ス
0717名前は開発中のものです。2006/12/02(土) 22:59:24ID:Nn9lkJ+C
waittrigをやりたいのなら、
kag.tagHandlers.waittrig(%[name=>'history');
かな?
まだ渡すべきものがあるかもしんない。
0718名前は開発中のものです。2006/12/02(土) 22:59:55ID:G6K+lp4F
>>715
……ごめん。ダメだった orz

[eval exp="kag.showHistoryByScenario(); window.conductor.sleep();"]

を実行しても、eval が返る時点で sleep() の変更が帳消しになってしまいます orz
eval を介さずに行ったとしても、その時点で実行していたタグが帳消しにしてしまう予感……


やりたいことはただ1つ

function onClick() {
    // ここで KAG を停止させる
    loadlayer.show();  // ロード画面表示
    window.conductor.wait(%[ my_config_close: function { /* ここで KAG を再開させる */ } incontextof this ]);
}

……これだけなんですけどね orz
素直に KAG 経由したほうが早い気がしてきた orz
0719名前は開発中のものです。2006/12/02(土) 23:00:38ID:Nn9lkJ+C
kag.tagHandlers.waittrig(%[name=>'history']);
後ろの]が抜けてた
0720名前は開発中のものです。2006/12/02(土) 23:03:24ID:G6K+lp4F
>>719
[eval exp="kag.showHistoryByScenario(); kag.tagHandlers.waittrig(%['name' => 'history']);"]

これ、止まらないんスよ orz
0721名前は開発中のものです。2006/12/02(土) 23:04:25ID:12krhiwF
>>716
経験上は

停止
mainConductor.interrupted = true;
extraConductor.interrupted = true;
setMenuAccessibleAll();

復帰
if (mainConductor.interrupted) { mainConductor.interrupted = false; }
if (extraConductor.interrupted) { extraConductor.interrupted = false; }
setMenuAccessibleAll();

が無難ぽい。interrupted は Conductor の機能としては組まれてるけど、KAG 本体では
全くつかわれてないようなので、こういった用途のために存在してるのだと認識してる。

setMenuAccessibleAll() は Conductor の制御そのものには関係ないけど
制御が流れなくなってるので念のためメニューの状態を手動補正ってことで。

0722名前は開発中のものです。2006/12/02(土) 23:10:52ID:12krhiwF
あ、ちなみに俺は、「終了しますか?」とかのダイアログとかをレイヤで処理する時に使ってる。

0723名前は開発中のものです。2006/12/02(土) 23:11:02ID:+A1+6GD/
そこまでして拘るのは何故なんだぜ
0724名前は開発中のものです。2006/12/02(土) 23:17:29ID:G6K+lp4F
>>721-722
[iscript]
function __my_stop() {
    kag.mainConductor.interrupted = true;
    kag.extraConductor.interrupted = true;
    kag.setMenuAccessibleAll();
}
[endscript]
[eval exp="__my_stop();"]
[l]

first.ks に↑だけ書いて実行しても、[l] が実行されてしまうのは何故なんだぜ? orz


>>723
もはや意地です。ごめんなさい。・゚・(ノД`)・゚・。
0725名前は開発中のものです。2006/12/02(土) 23:21:22ID:RLmj8P3I
ちゃんと呼んでなかったけど、
シナリオファイル内の任意の場所を進行中のコンダクタを止めたいってことだったのね。

何の為にそんなことしたいのか分からないけど、
正直言ってあまりお勧めしない。かなり不安定な動作になるよ。
タイマ止めたところで、
すでにTimerCallBack()を処理中だった場合はそのタグを
外から止めることなんて出来ないし、oneshotトリガ引かれちゃったらそれで台無し。
無闇にinterruptedなんてしちゃった時にはシナリオ進行がそこで止まっちゃう恐れがある。

何かもうConductorの実装方針ガン無視だね。
0726名前は開発中のものです。2006/12/02(土) 23:23:58ID:12krhiwF
ああ、流れよんでなかった。すまん。処理に割り込みかけたいなら以下のテクニックを。

(1) kag.tagHandlers に処理起動のため独自タグを登録しておく

kag.tagHandlers.myfunc = function(elm) {
myfuncstart(); // じぶんの必要な機能を起動
return waitTrigger(%[ name : "myfuncend"]); // 適当なキーワードでトリガ待ちさせる
} incontextof kag;

(2) 処理を行いたくなった時点でそれを conductor に割り込み登録する

function onClick() {
kag.conductor.pendings.insert(0, %[ tagname : "myfunc" ]);
}

これで KAG がその処理を最優先で呼び出して合法的に停止してくれる

(3) 必要な処理がおわったら kag.trigger("myfuncend"); でトリガを送って KAGを起こす

0727名前は開発中のものです。2006/12/02(土) 23:25:05ID:G6K+lp4F
OK 姉さん。interrupt() 使って main と extra の両方を止めたらちゃんと止まりました。・゚・(ノД`)・゚・。

>>725
了解……です orz
0728名前は開発中のものです。2006/12/02(土) 23:27:41ID:G6K+lp4F
>>726
その手があったか!!
それを使います。本当にありがとうございました m(_ _;)m
0729名前は開発中のものです。2006/12/02(土) 23:37:55ID:RLmj8P3I
KAGから操作するのは駄目で
pendingに直接insertはOKってどういう基準なんだよ。
むしろ逆だろうと。

混乱して頭痛くなってきた(つД`) タスケテ・・・
0730名前は開発中のものです。2006/12/02(土) 23:38:35ID:YeQzs6uY
>>692
乙ですー。
これから盛り上がっていくといいねー。

あーメルアド公開にしちゃったんだ。
まあ別にいいんだけど

BBSとかは置かないの?
0731名前は開発中のものです。2006/12/02(土) 23:45:41ID:12krhiwF
KAGの中で eval で処理しても Conductor に決して -2 は帰らないからね。
waitTrigger で情報を登録した上で -2 を Conductor に返せないと処理としては意味を成さない。
あ、次回のなにかしらの wait処理で登録した情報が有効になっちゃてバグの原因になるね(笑)
pending にタグとして登録して実行させることで、waitTriggerして、さらに -2を返すことができるわけ。

0732名前は開発中のものです。2006/12/03(日) 00:10:28ID:R3i0aeWx
>>731
pendingに直接アクセスすることが好ましくないってことを
言いたいわけなんだが(;´Д`)
TJSはアクセス制限子ないからあれだが、
pendingは間違いなくprivateとして扱われるべき変数だろ。
変なバグを出さないためにもむやみに外部から参照すべきじゃないよ。
本来の実装方針無視してキモいコード書くことに何の意味があるのかと。
TJSのみこれからも使っていくんなら構わないかもしれんが、
おかしなコーディングばっかに慣れちまってどうする。

そもそも不満をこの際ぶちまけちまうと、シナリオファイルの中から
ところ構わずkagの関数に直接アクセスして中身書き換えたりが
ほとんど当然のようになっちゃってるあたりとか、
MainWindowクラスのごちゃごちゃっぷりとか、
Conductorの挙動とか、
kag自体の設計が何かおかしなことになっちゃってるよね
もう本当に捨て時なのかもしれない(´・ω・`)
0733名前は開発中のものです。2006/12/03(日) 00:12:06ID:mrQXZ4Lp
>>729
KAG から操作するにしても callExtraConductor っスから、
どっちもどっちって感じはしますけど……どうなんだろう。
0734名前は開発中のものです。2006/12/03(日) 00:34:13ID:bABO2Gal
まぁ、βでなくなった時から考えても2002年から4年以上に渡って切った貼ったされてきてるからなぁ…
2002年の段階で、数年後ここまで膨れ上がるとはdeeさん自身正直予想もしてなかったんじゃないだろうか。


0735名前は開発中のものです。2006/12/03(日) 00:54:01ID:mrQXZ4Lp
[eval exp="kag.callExtraConductor('first.ks', '*test');"]
サブルーチン実行中にこの文章は表示されないはず。
[s]
ここにはたどり着かないはず。

*test
callExtraConductor がちゃんとサブルーチンを呼び出せていれば、この文章は表示されるはず。
[waittrig name="testtest"]
waittrig でちゃんと停止していたら、この文章は表示されないはず。
[return]


……結果は、『サブルーチン実行中に〜』 と 『callExtraConductor が』 が表示されました orz
callExtraConductor 呼び出しても、元の KAG ファイルの進行は止まらないのですね orz
0736名前は開発中のものです。2006/12/03(日) 01:06:40ID:mrQXZ4Lp
えーっと、タグを挿入する >>726 方式だと、クリック待ちの状態では一度クリックしないと挿入したタグを実行できなくて、
それを回避しようよ kag.skipToStop2() を挿入……っと。
すると、処理からクリック待ちのところまで戻りたいのに、クリック待ちは既に終わっていて…… orz


吉里吉里って本当に難しいですね。・゚・(ノД`)・゚・。
0737名前は開発中のものです。2006/12/03(日) 01:12:52ID:7rEDI0H1
@call

kag.extraConductor

の違いくらい理解しとけ。リファレンスに書いてあるから。
何の為にExtraConductorがあるのかも調べておいで。
本当いい加減うざいよ。死ねばいいのに。
0738名前は開発中のものです。2006/12/03(日) 01:14:00ID:7rEDI0H1
kag.callExtraConductorでした。callが抜けていました。
ごめんなさい、俺も死んどきます。
0739名前は開発中のものです。2006/12/03(日) 01:20:42ID:cEddTvN0
まぁおいおい理解していけばいいんでないかい
とりあえず素直にKAGで処理したほうが無難だと思うがいかがか。
0740名前は開発中のものです。2006/12/03(日) 01:21:05ID:9ryZMjv/
>>732

んー、pendings はわりとさわっていい部類に入るとおもうけどなー。処理を割り込みする手順としては正当だし。
まあ、このへんは感覚の差として、もう設計がぐちゃぐちゃになっちゃってるのは同意ね。
現実問題として内部関数よばないと要件みたせないことが多いからね。

個人的にはKAGそのものを拡張してタグを増やす方向で対応してるよー。
というかそれ以外は基本的にコンダクタの処理を妨害するからだめですね。
0741名前は開発中のものです。2006/12/03(日) 01:31:01ID:mrQXZ4Lp
ごめんなさい。色々と迷惑をおかけしました orz

一応、色々と割り切ってみることにします。
完全停止しなくとも、スキップとか自動読みとかを表示前に切るだけで大分違うでしょうし……
お騒がせいたしました orz
■ このスレッドは過去ログ倉庫に格納されています