■吉里吉里/KAG/TJS雑談質問スレ■その30 [無断転載禁止]©2ch.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-6の公式掲示板や講座等を併用してください。
(併用に、紙媒体の参考本が欲しい人は、ダウンロードページにリストがあります)
前スレ
■吉里吉里/KAG/TJS雑談質問スレ■その29
http://echo.2ch.net/test/read.cgi/gamedev/1433436610/ 素人まるだしな質問で恐縮ですが、
コンフィグファイルのSystem.titleに
タイトル+バージョンで設定しているのですが、
ロードと共に元に戻ってしまいます。
Systemフォルダの中を色々みたのですが、何処でロード時に設定してるか
わかりませんでした。
何となくですが、ロード時に設定してる場所を特定し、
コメントアウト出来れば問題が解決できると思っているのですが
どこで設定しているか教えて頂けませんか? そりゃそうだろ
ロードして過去のを読めばシステムフラグじゃないんだから戻るだろ System.titleはタスクバーに表示されるタイトルで
Window.captionはそのウィンドウのタイトルバーに表示されるタイトルだな
KAG3なら「ウィンドウキャプション」でgrepすればセーブデータに保存・復帰してる場所がわかる >>102
MainWindow.tjsのrestoreFlags()の最後でcaptionを再設定すればおk 久しぶりに吉里吉里のゲーム製作再開したんだけど公式サイト死んでねーか?
今までわからないとこググッて公式のリファレンス読んで解決してたから
これだともう製作出来ないんだけど…
http://kikyou.info/tvp/ 定期的に死ぬからリファレンスはダウンロードしておいたほうがいいよ ちゃんと復旧するのかな?
作者もう吉里吉里に対してやる気なさそうだしこのまま開発終了とかになりそうで怖い 君は吉里吉里で作ることもできるし、作らないこともできる むしろ良い意味でもう枯れてるからこそ
安心して開発できると思うけど
開発中の新しいツールなんかだと
開発終了でお手上げだろう 必要なページや詰まりそうな部分だけ保存してるけど、サイト丸ごととなると専用ソフトが必要になるからやってないんですが
簡単に保存できる方法ってありますか?
違法じゃないやり方で プレイ中の画面のサイズの縮小ってどうやればいいの?
よくあるプレイ中に複数の解像度からユーザーが好きに選んで変更できるやつ
1280x960から800x600に変えたくて下の2つのタグでやってみたけど画面の枠だけしか縮小されない…
ちなみにウィンドウサイズをドラッグで変えるプラグインのWindowResizableは
他のプラグインと干渉してるのか使用してるとバグってゲームが落ちるので
それ以外の方法があれば教えて下さい
[eval exp="kag.setSize(800, 600)"]
[eval exp="kag.setInnerSize(800, 600)"] >>113-114
知りませんでした
>>113は自分には少し難しそうです
調べてみよう、情報ありがとうございます ありゃ、切れちゃった。
>>115
kag.setZoom(kag.innerWidth,kag.scWidth)
で内側の表示サイズが変わる。
WindowResizableが動かないなら、作者の人に聞いてみたらどう?
前聞いたら、びっくりするくらい親切に教えてくれたよ。 >>118
おー!一発で画面の縮小出来ました!ありがとうございます
なぜ落ちるのかわかりませんがWindowResizableの作者の方には一応報告してみます 吉里吉里本家は枯れてるのに関連サイトは親切な人多いよな。
自分もその作者さんに助けてもらったわ
このスレでも度々助けてもらってるし、本当に有難い Android版吉里吉里はサクサク動くならそこそこ使われるでしょ
あとはHTML5版の未来がどうなるか
環境が整って吉里吉里HTML5が良い感じになれば小ネタを
やるのに便利って人はいそう
でも色々鑑みて最低3年後かな 完全に詰まりました。
変数の『仮ポイント』が520だとすると、
[eval exp="f.仮ポイント = f.仮ポイント + 5"]
とすると、結果が何故か、『5205』になります。何故だ……??
今まで、こんな事無かったのに……。
ちなみに、[eval exp="f.仮ポイント = f.仮ポイント - -5"]
とすると、何故か525と正常に表示されます。
とりあえず、出来るからいいんだけど……加算だけ出来ないとか、
訳が分からない。。。 どこかの数字を''で囲んでない?
いい例
[eval exp="f.仮ポイント = 520"]
[eval exp="f.仮ポイント = f.仮ポイント + 5"]
[emb exp="f.仮ポイント"]
ダメな例
[eval exp="f.仮ポイント = '520'"]
[eval exp="f.仮ポイント = f.仮ポイント + 5"]
[emb exp="f.仮ポイント"] >>125
文字列から数字を引こうとする
→吉里吉里「できるだけないだろ! いい加減にしろ! まあ多分数字から数字を引きたかったんやろから配慮したるわ」
文字列に数字を足そうとする
→吉里吉里「文字列に数字を繋いで長い文字列にしたかったんやな、わかるで」 つまり
f.仮ポイント
じゃなくて
+f.仮ポイント
って書けばいいんだよ
…って誰か書いてやれよ。 皆様、レスありがとうございます!
やっぱり、文字列になっちゃってるんですね。。。
その後色々試したのですが、その変数から減算したら、何故か5200(5205-5)と普通に処理出来てたり…w
しかも、その式をコピペで違うksファイルに移動したら、今度は何故か正常に出来てたりとか……w
+ +5にしてみたら、やっぱりダメでしたw
とりあえずは、マイナスの減算でゴリ押ししようと思います。
ありがとうございました! たしか
ins(f.仮ポイント)
で、整数になったんじゃなかったっけ?(もちろんevalの中で)
もうずいぶん使ってないからわからんけど まあそもそも途中で文字列になっちゃうようなコード書くなっていうのはある
おおかたeditタグで入力させて、それを変換せずにそのまま文字列として
使っちゃってるとかじゃないの? 配列の中に入れた文字列をソートしたいのですがこれってぱっと見で間違ってますか?
途中までは上手くソート出来るのですが15個目くらいからソートがおかしくなります
■ [emb exp="sf.num[0][1]"] [r]
■ [emb exp="sf.num[0][2]"] [r]
■ [emb exp="sf.num[0][3]"] [r]
■ [emb exp="sf.num[0][4]"] [r]
■ [emb exp="sf.num[0][5]"] [r]
■ [emb exp="sf.num[0][6]"] [r]
■ [emb exp="sf.num[0][7]"] [r]
■ [emb exp="sf.num[0][8]"] [r]
■ [emb exp="sf.num[0][9]"] [r]
■ [emb exp="sf.num[0][10]"] [r]
■ [emb exp="sf.num[0][11]"] [r]
■ [emb exp="sf.num[0][12]"] [r]
■ [emb exp="sf.num[0][13]"] [r]
■ [emb exp="sf.num[0][14]"] [r]
■ [emb exp="sf.num[0][15]"] [r]
■ [emb exp="sf.num[0][16]"] [r]
■ [emb exp="sf.num[0][17]"] [r]
■ [emb exp="sf.num[0][18]"] [r]
■ [emb exp="sf.num[0][19]"] [r]
■ [emb exp="sf.num[0][20]"] [r]
[iscript]
sf.num[0].sort();
[endscript] 文字列ソートしたいなら引数を指定しなきゃいかんのでは
構文 : sort(<ソート順='+'>, <安定ソートを行うか=false>)
ソート順は以下の文字列のどれかです。昇順では小さい物から大きい物へと並び替えられ、降順はその逆です。省略すると '+' を指定されたと見なされます。
"+" : 昇順 (通常の < 演算子での比較)
"-" : 降順
"0" : 数値による昇順 ( 10,2,1 は 1,2,10 に並び替えられます )
"9" : 数値による降順
"a" : 文字列による昇順 ( "a","c","b" は "a","b","c" に並び替えられます )
"z" : 文字列による降順 >>134
ありがとうございます
sf.num[0].sort('a');で数が増えてもソート出来るようになりました
数が少ないと動作してたから自動的に数字じゃない場合は文字列でソートしてくれてるものだと思いこんでました…… kikyou.infoまだ落ちてるのね
fstat.dllとかaddFontのreadmeってどっかミラーあります? 自己解決、二次配布ページでtrunk見つけました。 kagでならそこそこ作れるレベルなんですけどtjsって今からでも勉強した方がいいですか?
今からtjs勉強するくらいならティラノスクリプトに移行してJavaScript覚えたほうがいいような気もするし >>136
もう遅いですが、今見たら復旧してましたよ
よかった >>138
PCのプラットフォームに残るのであれば
ADV系では今でも吉里吉里が拡張性で最強だから
「今からでも勉強した方がいい」
スマホアプリに移行するつもりなら
「JavaScript覚えたほうがいい」 >>140
tjsは覚えても他に一切応用が効かないから今後の事を考えると
今更覚えるのもどうなんだろうと思ってましたが
まぁJavaScript覚えながらtjsにも手をつけてみます 誰かJavascript→tjs変換器創って
そうするといろんな言語の→Javascript変換器があるからデュフフ 吉里吉里が吉里吉里VMを捨ててLLVMとかWebAssemblyで動くようになればいいのかも
吉里吉里Zの人がWebAssemblyがどうこう言ってた気がする 正直、tjsだろうがjsだろうが必要になったらその都度移行したり調べたり対応するくらいの意思がないと何やっても続かんと思う jsは比較すると動き遅いから期待はあまりしない方がいい 簡単手頃なところが売り
c#でマルチプラットフォーム版だったらよかった それでもpcプラットフォームよりは遅いだろうしtjsは使えないだろうな チェックボックスを設置するところまでは上手く行ったのですが
チェックボックスに入れる変数ってどこに書くんですか?
キャラ1 [checkbox name=0][r]
キャラ2 [checkbox name=0][r]
キャラ3 [checkbox name=0][r]
キャラ4 [checkbox name=0][r]
1番目のチェックボックスがチェックされたらf.sentaku1=1
2番目ならf.sentaku2=1〜って感じで変数入れてcommitタグとか言うやつで
一気に確定させたいんですけど javascriptより早いスクリプト言語ってあったっけ? つーか今はスクリプト言語かどうかあんま関係ない感じがする
特にWebでも中間言語を実行させるような雰囲気になってくるとね [if exp="tf.x == 1"][eval exp="tf.y = 1"][jump target=*1]
[elsif exp="tf.x == 2"][eval exp="tf.y = 2"][jump target=*2]
[endif]
こういう書き方ってやっちゃダメですかね?
これって[endif]通過せずにジャンプしてます? 別にいいけど、endifは通過しないわな
jumpした時点でそこまでのifとかはなかったことにされるから
「飛んだ先にendifがないぞゴラァ」とかは言われない callとreturnみたいにきっかり数合わせなきゃまずいのかと思って
全部書き直そうかと思ってました
大丈夫なら気にせずに放っておきます ttp://homepage1.nifty.com/gutchie/kirikiri_kag2/faq_tjs003.html
このサイトを参考にcsvファイルの読み込みには成功したのですが、ファイル名を変数にする方法はありますか?
; data.csvを読み込む
[eval exp= 切れてしまったので
; data.csvを読み込む [eval exp="tf.arr.load('data.csv')"]
↓
[eval exp="tf.arr.load('f.data.csv')"]
ステージ1ならf.dataに1を代入、ステージ5なら5を代入等
対応したステージ数.csvのファイルを読み込みたいのですが tf.arr.load('data'+f.data+'.csv')
とか
tf.arr.load('data%d.csv'.sprintf(f.data))
とか最終的に文字列になってれば良いのではないかと。
上記の例だと用意するファイルはdata1.csvとかdata5.csvとかね。 >>154
[eval exp="&@'tf.arr.load(¥'${f.data}.csv¥')'"]
kagリファレンスの「エンティティ」
tjsリファレンスの「@つき文字列即値」
を参照するよろし ぐ、ばけた
¥ は、エスケープ用の円記号ね ありがとうございます!おかげで動かせるようになりました! すみません、連続して質問失礼します。キーボードの上下左右を押した際、
グラフィカルボタンにマウスカーソルが勝手に乗るのを回避する手段はありますでしょうか?
上下左右のキーを使ってマップチップ上を移動するゲームを造っているのですが、
グラフィカルボタンを設置した結果キャラクタを動かす度に別のボタンがクリックされる形になってしまい、
グラフィカルボタンにはキーボードが影響を与えないようにしたいのですが…… んなことなくて、[locklink]したまま使うとか
systembutton.ksとかのプラグインでボタン表示するとか
方法はいくらでもあるんじゃね? あ、[locklink]したら表示したボタンを押せなくなるな。すまん
どうしても[button]タグのボタン使うならメッセージレイヤの
focusableをfalseにするとかかなあ。試したおことないけど。
まあそれよか適当なプラグインでボタン表示する方法をお勧めする >>161
>>162
ありがとうございます!おかげさまで
『押しても何も起こらないボタンを用意し、上下左右キーが押されたらそのボタンにフォーカスように設定する』
方法を思い付いたのですが、無理でした。
kag.fore.messages[2].links[0].object.focus();
kag.current.setFocusToLink(0, false);
これらを使ったのですが、どうしても1クリック程度なら変化なしなのですが、少しでも連打を早くしたり、押しっぱなしにするとフォーカスが別ボタンに飛んでしまいます。
プラグインでボタンを造るとキー操作を受け付けない物出来るのでしょうか? というかそもそも上下左右キーはどうやってとってる?
kag.ketDownHookにコールバック登録してtrue返せば
フォーカス移動の前に処理して移動を抑制できると思うけど?
ttp://devdoc.kikyou.info/tvp/docs/kag3doc/contents/TJSTips.html#id275 kag.keyDownHookだった。typo失礼。
function myKeyDownHook(key, shift) {
if (key == VK_LEFT) {
// なんか処理
return true;
}
}
kag.keyDownHook.add(myKeyDownHook);
みたいな。 >>165
ほぼほぼ同じ形です。
//なんか処理 の所に
kag.process( '', '*keydown_left' ); return true;
といったものが入りますが、押しっぱなしにするとすごい勢いでフォーカスが移ってしまいます。
ttp://fast-uploader.com/file/7032479198301/
パスはkirikiriです 様々教えていただいたキーワードで検索した結果。意味もよくわからないまま
f.myKeyDownHook_lock=false;
を入れていたのが原因とわかり、解決しました
ありがとうございます コード見たけどf.myKeyDownHook_lock=trueになってる間に次の入力が来るからでそ
この仕様で対応するならmyKeyDownHook内においてf.myKeyDownHook_enabledが真なら
VK_{LEFT/RIGHT/UP/DOWN}が来たら常にtrueを返さないといけない。
ただしkag.processをするのはf.myKeyDownHook_lockが偽だった時のみ
var myMoveTable = %[
VK_LEFT => "*keydown_left";
VK_UP => "*keydown_up";
VK_RIGHT => "*keydown_right";
VK_DOWN => "*keydown_down";
];
function myKeyDownHook(key ,shift) {
if(!f.myKeyDownHook_enabled) return;
var target = myMoveTable[key];
if (target != "") {
if (!f.myKeyDownHook_lock) {
f.myKeyDownHook_lock = true;
if (shift & ssCtrl) target += "2";
kag.process('', target);
}
return true;
}
}
動作確認してないけど。あくまで一例で。 >>167
というかよく見たら >>84 のコピペか。
意味わからずコード使うのは危険だぞ
f.myKeyDownHook_enabledはtrueならキーフック機能を有効にする
f.myKeyDownHook_lockはtrueならkag.processを無効にするフラグだ。
んで
// ■キーロック時は無視 returnだけのがいいかも。自分で検証して
これ検証してreturn;だけにしたのかもしらんけど
return truenの方が正解だな。
returnだけだと素通ししてメッセージレイヤのキーフォーカスが動いてしまう。 >>169
ありがとうございます
tjs等わからないのにノリと勢いでゲームを作ろうとした結果、何度も質問をしてしまう形になってしまいました ゲームを作ってEXEで出力したのですが、他の人に配布して起動してもらうと、
OS搭載のソフト「windows smart screen」が危険ソフトと認識して妨害します。
プロパティから解除すれば問題なく遊べるのですが、こちら側でそれを回避する方法はないでしょうか?
いちおう、制作ではKKDE2.0αを使用しています。 よく解んないですけど、回避できたらセキュリティホールになりませんか? データをxp3ファイルに書き出せば回避できるかな?と想像
exeとして出力すると全く新しいexeファイルが流通することになるから
そのexeファイルの安全性が評価されていなくて警告が出る JVNがtype-moonとあかべぇそふとの作品をウィルス扱いして以来
吉里吉里は危険ソフト扱いなんだよ >>172-174
新しいexeファイルと認識して、ヤバいかもしれんから止めとけって警告を出しているのですね。
ありがとうございます。 最近のWindowsではインターネットからダウンロードした
未署名のexeを実行しようとすると警告が出るので吉里吉里云々は関係ないね。
根本的に解決するにはコードサイニングするしかない。
それにはめっちゃ金がかかるので同人向きではないって話なので、
結局ユーザー側で回避してもらうしかないのよね 横からですが、自分も気になってたのでありがたい質問と回答でした
>ウイルスソフトの警告 win7アップデートでKKDE起動できなくなったんだが
システム復元以外の解決方法わかるエスパーいませんか? out focusさんが見られなくなってる
あああ・・・ niftyだったから、なくなっちゃったのね。そういうことってあるんだなぁ。 他にも講座等で有名だったけど
今はもうつながらないか繋がっても吉里吉里系は何もないサイトさん増えたよね
時代の流れかな out focusさんのwikiあった
DLが上手くいってなかったのか、ヘルプの内容部分が白紙になって見られなくて困っていました
ここに書くのもおかしいですが、復活してくださってありがとうございます >>183
outfocus wiki 吉里吉里
urlを貼っていいかわからないので、上記の単語で検索してください >>184
サンクス
wikiwikiのが生き残ってたのか ふつうに貼っとこう
スレ移行のときにテンプレ書き換えよろしく
OUTFOCUS Wiki*
ttp://wikiwiki.jp/gutchie/ 吉里吉里で画面のフルスクリーンが出来ない(右上のボタンもロックされてしまった)のですが、
これを修正する方法はありますでしょうか?
1280*720で作ってしまった為、ノートPCだと画面サイズが足りない事があると判明したのですが、
フルスクリーンモード時に画面に合わせ縮小するというのも可能なのでしょうか?
アスペクト比変わらずフルスクリーンにする方法を探しているのですが、何か方法はあるのでしょうか すみません、質問なのですが。
マクロの構文なのですが、これは正しいのでしょうか?
この構文だとパラメータ”立ちキャラ”に何か入っていても、立ちキャラを設定しなくても処理Aに行くと思うのですが。。。。
処理Bに行く条件ってどんなものになるのでしょうか?
[if exp='%立ちキャラ|false']
;処理A
[else]
;処理B
[endif] >>188
その記述だと立ちキャラパラメーターなければ処理Bだろ >>190
そうとも限らなくね? まぁ通る値は極々一部だろうけど [macro name=testA]
[nowait]
[emb exp=mp.hoge]
<
[if exp="%hoge|false"]
1
[else]
0
[endif]
>
[endnowait]
を試した結果↓
https://gyazo.com/4223bc4499c92a3b380a49d2742bb389
何故こうなるのかわからないなら "%"とか "|false" は使わないほうが良いと思うニダ それって実用性はあるんだろうか
どんな時に使うのかよくわからん >>192
ちょっと「ん?」となったけどわかりやすいなこれ OUT FOCAUSさんの wiki見ましたが、もぐら叩きとかタイピングゲームとか、その他の小ネタのやつは削除されてるのでしょうか
もし見かけた方おられましたら情報いただきたいです
よろしくお願いします イヴの日にまでエロゲ開発とか、死にたくならないの? 動画ファイルって●とか▲みたいな複雑なマスクってかけれる? >>198
KAGEXならclipにマスク用の画像設定すればできる
@image layer=動画レイヤ movie=move.mpg clip=マスク画像 最近のパソコンの標準のペイントのサイズが640x480でないから困った いくらなんでも今はペイント用のフリーソフト使おうよ ■ このスレッドは過去ログ倉庫に格納されています