NScripter Ver.15.00
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2009/02/17(火) 21:45:59ID:6iLGJeMhゲームエンジンNScripterについて語るスレです。
・本家
ttp://www.nscripter.com/
・うpろだ
ttp://nscruploader.hp.infoseek.co.jp/
0413名前は開発中のものです。
2009/04/10(金) 14:24:24ID:/jxxPW2L*lp
drawsp 0,0,255,20,20
drawsp 0,0,255,40,40
draw
delay 1
goto *lp
うちでは加算合成にはなってないっぽいのだけど、どんなスクリプト?
バグだろうから報告したらいいんじゃないかな。
0414名前は開発中のものです。
2009/04/10(金) 15:04:33ID:+pb7yD1i*define
game
*start
てすとですよ\
bg "test.jpg",1
for %0=10 to 50 step 10
drawbg2 320,240,100+%0,100+%0,0
draw
click
next
こんな感じ\
end
0415名前は開発中のものです。
2009/04/10(金) 16:31:05ID:/jxxPW2L前に減算ブレンディングとか追加してたからそのときにミスったんじゃないかね。
0416名前は開発中のものです。
2009/04/10(金) 17:55:21ID:1g+D2iGC一度にデータを読み込みすぎた時(文字変数にやたら長いものを代入してsplitで切り出しとか)に起こるんじゃないかという怪しすぎる結論しか出ない。
こういう状況でこうなるっていう最低限の再現性を作り出せないから報告も難しいしもう嫌だ俺のスクリプト。
なんとかはっきりした原因を見つけられればいいけど
0417名前は開発中のものです。
2009/04/10(金) 18:28:11ID:1g+D2iGCきっとメモリとかの深い場所に原因があるか俺の打ったのがどうしようもない代物だったかのどっちかだ。一つ前のバージョンで頑張ります。
0418名前は開発中のものです。
2009/04/10(金) 18:36:17ID:JCgTKAf80419名前は開発中のものです。
2009/04/10(金) 18:56:53ID:1g+D2iGCだけど同じ症例の人が出ない以上相当変な環境依存か単なるミスな気もする。
以前のバージョンでは動いたものがエラーを吐くようになったってのがよくわからない。本当はスクリプト自体が文法的にグレーだけど、以前のバージョンでは一応動いていたとか?
でも出るエラーの種類が変(普通にdefsubで飛んだ先でgosubとreturnが対応していないと言われたり、
ある場所からreturnしたらなぜか00.txtの8行目なんかに戻ってnumaliasを実行しようとしてエラー出したり、
numaliasで名前付けた変数を使ったら数値の来るべき場所に〜と言われたり)だし、具体的にどこかの行がおかしいって感じはあまりしない(横に長い行は原因かもしれないけど)。
むしろ量か横の長さ辺りに原因がありそうな気がする。でも俺がとんでもなく馬鹿なミスでもしてるのかもしれないし、うーん……
0420名前は開発中のものです。
2009/04/10(金) 19:06:17ID:/jxxPW2L見てもらえば一発で原因わかるかもよ
0421名前は開発中のものです。
2009/04/10(金) 19:07:28ID:+pb7yD1i動作的にはどう? 起動しない感じ? それとも起動後の動作不良?
俺もスタック作る為にsplitで何十個もやってるから同様かもしれん。
俺の方はセーブデータが異常になる。
0422名前は開発中のものです。
2009/04/10(金) 19:17:26ID:1g+D2iGC完全に原因不明の状態で長ったらしいスクリプトを送ったら迷惑じゃないかと思って。不具合だと決まってるならともかく俺がヘマしてただけなら悪い気がするし。もう少しだけ粘ってから最終手段として考えてみる。
>>421
起動はするんだけど、ある程度の場所を越えると挙動不審になったり突然エラーが出たりする。
例えば%X_Zahyouをテキストで表示しようとした時、ある場所から後だと(この「ある場所」ってのがいくら試してもいまいちはっきりしない。)エラーが出たりとか。
そういえば動きが怪しくなるのはsplitが関わる行を通ったあたりからな気もする。
0423名前は開発中のものです。
2009/04/10(金) 19:55:12ID:CXoaCmSA話見てく限りじゃそんな気がする
再現難しいって点も、何だかメモリ周りのエラーっぽい
0424名前は開発中のものです。
2009/04/10(金) 19:55:21ID:+pb7yD1iありがとう。
俺ももうちょっと粘ってみる。splitメインで検証してみるわ。
揃ってから上のdrawbg2と一緒に報告してみるつもり。
0425名前は開発中のものです。
2009/04/10(金) 19:56:39ID:+pb7yD1i0426名前は開発中のものです。
2009/04/10(金) 20:13:02ID:KEvzrpDeどこでオーバーフローしてるだろうか。
パーサでやっちゃうわけないから解釈ミスが不具合を誘発してるのだろうか。
ソースがありゃすぐ原因が分かるだろうけど・・・
(NScripterの文法定義ってどこに書いてある?)
0427名前は開発中のものです。
2009/04/10(金) 21:00:15ID:/jxxPW2L現象が起こるような長いsplitの例を一個作ってそれを送ったらすぐ直ると思う。
0428名前は開発中のものです。
2009/04/10(金) 21:32:22ID:iRprjuDBそんな簡単に再現できるような物なら、ここまで揉めないのでは?
0429名前は開発中のものです。
2009/04/10(金) 21:42:38ID:/jxxPW2Ladd $0,"あ(中略、300個くらい)ああ/100/"
next
split $0,$1,%1,$1,%1....(中略。300個くらい),$1,%1
これでものも言わずに落っこちた。多分、文字列の長さに限界があるんだな。
ちなみに文字列を短くすると無事動く。
0430名前は開発中のものです。
2009/04/10(金) 21:46:59ID:iRprjuDB簡単に再現されてた。
余計な事いってすみません草食って詫びます>>427
0431名前は開発中のものです。
2009/04/10(金) 21:55:00ID:fH32gO4/だったら画面からはみ出た時止まるのはいいけど、続行ボタンが欲しい気がする。
0432名前は開発中のものです。
2009/04/10(金) 22:26:45ID:+pb7yD1iだが最新版でもセーブデータが2KBにしかならない(旧来は48KB前後)
ってことはどっか俺のスクリプト変なんだろう。あー、見つからんorz
見つけたバグ。
textfield命令の利用でマウスポインタが変わるが、入力抜けても変わったまま。
一度画面外にマウスを動かさないと標準のポインタに戻らない。
0433名前は開発中のものです。
2009/04/10(金) 22:28:03ID:JCgTKAf80434名前は開発中のものです。
2009/04/10(金) 22:31:15ID:+pb7yD1i確かにそうだな。スマン。チラシの裏に報告リスト書く作業に戻るわ。
0435名前は開発中のものです。
2009/04/10(金) 22:40:34ID:iRprjuDBtexthideのバグもついでに直して欲しいって追加しといて
0436名前は開発中のものです。
2009/04/10(金) 23:30:25ID:1g+D2iGCあーメモリ関係か、ありそう
でも最新版で駄目だったし、スクリプトで何かやらかしてるかも
0437名前は開発中のものです。
2009/04/11(土) 01:06:20ID:uRuZAkiKちょっと訊いていい?
;value(数字)って使ってる?
0438名前は開発中のものです。
2009/04/11(土) 01:17:00ID:uRuZAkiK>変数番号は 0〜4095 まで指定できます。
ってあるけど、この説明が間違っているのかもしれない。
あまり大きい数値を指定すると動作がおかしくなる。具体的には俺の場合3800くらいから。
メモリ関連の問題だとしたら、ここらへんに原因があるんじゃないだろうか。
0439名前は開発中のものです。
2009/04/11(土) 01:26:08ID:uRuZAkiK;valueに大きい数値指定しちゃ駄目ってのが既出だったら本当にごめん。
0440名前は開発中のものです。
2009/04/11(土) 01:30:43ID:uRuZAkiK問題が出ている人はもし;value使ってるならちょっと試してみて。
0442名前は開発中のものです。
2009/04/11(土) 01:39:48ID:/BCOpILRvalue命令自体を削っても変わらない。
0443名前は開発中のものです。
2009/04/11(土) 01:40:09ID:DE5SHktH0444名前は開発中のものです。
2009/04/11(土) 01:42:09ID:Yqs5eVrmいいから公式に報告しろよ
ちょっと前に対応に困ると公式の掲示板で
高橋氏愚痴ってただろ
どんだけ話し聞いてないんだお前
0445名前は開発中のものです。
2009/04/11(土) 01:46:51ID:G91y1Hpyいやわかってるよ。
他の人の状況を少し確かめてから報告するつもりだった。>>442も頑張れ。
じゃあ報告してくる。
0446名前は開発中のものです。
2009/04/11(土) 01:48:58ID:/BCOpILR原因不明の状態で「何だか変です」だけ言われても高橋氏だってどうしようもないじゃん。
という考えで、纏まるまでは症例ここで集めてブレストしたいという心理もある。
取り敢えず、俺の症例の方は原因らしき部分絞り込めたらちゃんと報告する予定。
実際は全然絞り込めないから途方に暮れてるんだけどねw
0447名前は開発中のものです。
2009/04/11(土) 01:49:29ID:gmDxDaMw話は聞いていても理解してないよね。
高橋氏が言ってるのは、こっちだけに書かないで
ちゃんと公式BBSに報告して欲しいって事だろ。
最終的に公式に報告すればいいだけの話なんだから
そう目くじら立てることもないだろw
勘違い可能性も考慮して確認の意味でもここに書くこともあるだろうし
ここに書くこと自体はスレの方向性としても間違ったことではなく有益なものだしな。
0448名前は開発中のものです。
2009/04/11(土) 01:57:56ID:Yqs5eVrm目くじらとかw
最終的ってのは何時を差すんだ?
何だかんだ言って報告しないままで修正されてたりするの結構あるぞ
じゃなきゃ反感買うの目に見えてること
わざわざ言うワケないだろ
0449名前は開発中のものです。
2009/04/11(土) 02:04:34ID:G91y1Hpy;valueが原因だというはっきりした自信がなかったんだ。今は確認したし確信もって言えるけど、さっきはごちゃごちゃに展開してたから。もし勘違いだったら迷惑だしさ。
0450名前は開発中のものです。
2009/04/11(土) 02:25:08ID:FsX29Nmf0451名前は開発中のものです。
2009/04/11(土) 02:45:23ID:G91y1Hpy原因微妙な不具合が→探りつつスレで相談、同じ症例の人はいないか?→不具合の原因判明→公式に報告→公式スッキリ→みんな幸せに
普段はともかく、本体更新後のバグ取りはこれでいいんじゃない?
0452名前は開発中のものです。
2009/04/11(土) 06:12:20ID:TIE7lCy7掲示板だと、バグのステータスが今どうなってるのかわかりづらい。
0453名前は開発中のものです。
2009/04/11(土) 08:04:47ID:sFitmDSIその辺考慮してくれると結構ありがたいかも
確かコンパイラ変えたとかって話もあった気がするし、その辺で前の版と今の版で違いが出てるのかもしれない
特に配列周りの扱い もともとVC系はたまに怪しい挙動のバイナリ吐き出すから・・・
ゲームエンジンである以上、内部的に配列で抱えてるものって多そうだよなぁ
C系列の言語だと配列の境界チェックしてくれないから、変な数値指定とかしたら不安定になるんだよな
長すぎる文字列も同じ バッファオーバーフローってやつだね
0454名前は開発中のものです。
2009/04/11(土) 14:20:20ID:FyDqnXzA>C系列の言語だと配列の境界チェックしてくれないから
そんなもんプログラマがやるべきこと。
0455434
2009/04/11(土) 14:25:46ID:/BCOpILR高速化の為に無理に頑張って殆どの動作をsaveoff状態に組み替えてると駄目なようだ。
texec
saveon
;(ここに何かしら命令入れてセーブ準備させる)
saveoff
return
という手法だとセーブデータにスプライト情報とかそういうのが記録されなくなる様子。
0456名前は開発中のものです。
2009/04/11(土) 14:39:48ID:/BCOpILRtexthideのバグってどんなの?
報告用に今再現スクリプトとかまとめてるから、一緒に報告するけど。
0457名前は開発中のものです。
2009/04/11(土) 14:55:58ID:TIE7lCy7当面はシナリオスクリプトいじりながらやるしかないか
0458名前は開発中のものです。
2009/04/11(土) 15:02:41ID:/BCOpILR何で>455の一箇所変えただけで直ったんだ俺のスクリプト('A`)
0459名前は開発中のものです。
2009/04/11(土) 16:52:24ID:FsX29Nmfありがとう。
http://www.nscripter.com/nsb/bs.cgi?ac=view&no=679&mx=679
> メールでご報告いただいたバグについてお知らせです。
> texthideが掛かったままでロードすると、テキストの一部が消えたりするようです。
この症例なんだけど。
あと、texthideを実行した後、右クリックから復帰すると、
メッセージウィンドウの文字が、毎回必ず消えてしまうんだけど、
これはバグなのだろうか? それともそういう挙動をする命令なのか?
↓検証用スクリプト
;--------------------------------------------------
*define
game
*start
1行目@
2行目 テキストハイドを実験します。@
texthide
3行目 テキストハイドの効果で2行目までが消えます。@
4行目 ここで右クリックしてください。@
5行目 右クリックから復帰すると直前の4行目までが消えます。@
6行目 以後、右クリックする度に、復帰すると文字が消えます。@
7行目 これが正常な挙動なのか判断に迷い中。@
end
;--------------------------------------------------
0460名前は開発中のものです。
2009/04/11(土) 17:34:01ID:xo6z7bJC最新版は行ごとに記録じゃなくて、
何かしらの文章を表示したタイミング(か? それだけじゃないかも。saveon状態をあまり使わないからよくわからん)で変数その他を記録してる気がする。
とりあえず
(全角スペース)!d1
textclear
savegame 1
みたいな感じでセーブしたら俺の場合は正常動作した。
0461名前は開発中のものです。
2009/04/11(土) 17:44:13ID:r1EEkCYX0462名前は開発中のものです。
2009/04/11(土) 17:53:34ID:/BCOpILRレスthx。恐らくはそれ仕様だと思うけどどうなのか質問しとく。
texthide系はなんか妙な動作するから俺はhide/showを無視してtexton/offでやってるわ。
多分loadgosubの頭とstartラベルの頭にtextshow入れればセーブロード関係は安定すると思うよ。
同一ページ内の動きについては、元々textgosub内で管理出来ると思うし。
>>460
なんだよね。試しにこんな再現スクリプト書いたんだけど全然セーブデータ壊れない。
しかしながら、>455のsaveoffを削るだけで正常動作する俺のスクリプトの謎ww
*define
textgosub *txt_lb
rmenu "文字を隠す",windowerase,"回想",lookback,"次の選択肢に進む",skip,"セーブ",save,"ロード",load,"タイトルへ戻る",reset
game
*start
saveon
*loop
inc %1
%1\
goto *loop
*txt_lb
saveoff
textbtnwait %0
if %0 == -1 systemcall rmenu:skip -2
texec
saveon
erasetextwindow 1;何でも良い
saveoff
return
0463名前は開発中のものです。
2009/04/11(土) 17:56:04ID:GUJLXmzf0464459
2009/04/11(土) 18:11:51ID:FsX29Nmfこんな勝手な書き込みに、わざわざ丁寧な返信をありがとう。
自信が無くて、公式に書き込む勇気がなかったので、感謝。
システムカスタマイズで、デフォルトと良く似た外見の右クリックメニューを
作ろうとしていたんだけど
仕様と理解してtexton/textoffと透過したスプライトをBG代わりに利用して、
対処するように変更します。
0465名前は開発中のものです。
2009/04/11(土) 18:12:11ID:5f1SrAY8saveonの個所をpretextgosubで飛んだ場所にすると
テキスト表示の1行目が空行の場合、セーブ位置ずれるの直ってる?
textgosubの位置で使ってればなんて事ない問題なんだけどさ
0466名前は開発中のものです。
2009/04/11(土) 18:15:21ID:/BCOpILR報告して掲示板を見た瞬間……直っていた罠(´;ω;`)ブワッ
高橋さんありがとうです。
0467459
2009/04/11(土) 18:28:26ID:FsX29Nmfお手を煩わしてすみませんでした。
>>466読んで掲示板見に行ったら、もう直っててびっくりした。
一応、元質問したのが自分なので、
公式の方にもお礼を書き込んでおきました。
>>466さんにも、ありがとうございました。
0468名前は開発中のものです。
2009/04/11(土) 20:09:41ID:iQq+tt260469名前は開発中のものです。
2009/04/11(土) 23:16:01ID:G91y1Hpy0470名前は開発中のものです。
2009/04/12(日) 01:44:57ID:HKjXNf/E新命令、新仕様を使ったの作りたいぜ
0471名前は開発中のものです。
2009/04/12(日) 01:59:50ID:OYedvyMy0472名前は開発中のものです。
2009/04/12(日) 12:28:09ID:eqFPHZuD仕様がわからないのは結構つらい
0473名前は開発中のものです。
2009/04/12(日) 15:37:00ID:ZVb858Tulsp2減算ブレンディングの命令たしか未記載のままだし
0474名前は開発中のものです。
2009/04/13(月) 16:03:09ID:FsWKd4nnこの際まとめて報告しないか?
*define
game
*start
てすとですよ@
jumpf
;降←これでjumpf が割り込まれる
~
ですとでした\
end
0475名前は開発中のものです。
2009/04/13(月) 16:25:39ID:ltfIm79+面倒でもskipとか使った方がいいんじゃない?
0476名前は開発中のものです。
2009/04/13(月) 16:37:31ID:ltfIm79+0477名前は開発中のものです。
2009/04/13(月) 16:57:32ID:FsWKd4nnさらに自作の関数をよく書き換える場合は結構重宝すんのよjumpf
skipと違って毎回書き換えなくていいし
0478名前は開発中のものです。
2009/04/13(月) 17:07:19ID:KwhP8YWejumpfは少し重いけど、大量の処理をするわけじゃなければ使い道もある
0479名前は開発中のものです。
2009/04/13(月) 17:42:45ID:CiEm+oH40480名前は開発中のものです。
2009/04/13(月) 17:52:43ID:KwhP8YWeそして公式にデジャヴ
0481名前は開発中のものです。
2009/04/14(火) 00:51:10ID:rdob+Rad0482名前は開発中のものです。
2009/04/14(火) 03:54:45ID:wpb4F9dJ俺は、掲示板の重要なログは
URLとセットでテキストファイルに保存するようにしてる
最近ならsaveonの挙動の話とか。
掲示板変わったら、またログ見れなくなるだろうし
ローカルに保存しとくのが一番
0483名前は開発中のものです。
2009/04/14(火) 06:49:31ID:jAFc9kkEつ「言い出しっぺの法則」
0484名前は開発中のものです。
2009/04/14(火) 11:32:32ID:rdob+Radそもそもログ持ってないから無理
0485名前は開発中のものです。
2009/04/14(火) 13:16:38ID:wpb4F9dJ旧掲示板のログも見れればいいんだけどね。
カオスだけど。
0486名前は開発中のものです。
2009/04/14(火) 16:45:25ID:KFUMEa93インターネットアーカイブ使えばどーにかなるんじゃねのか?
>>484
最近の話題部分に対してまとめれ言ってんじゃねーのかよ
アホか
0487名前は開発中のものです。
2009/04/14(火) 18:07:20ID:7MEj7h1u0488名前は開発中のものです。
2009/04/14(火) 18:08:06ID:OdYHBQTiお前がやれば?
0489名前は開発中のものです。
2009/04/14(火) 18:32:06ID:KFUMEa93まとめやる気も無いし、やって欲しいとも思ってない
0490名前は開発中のものです。
2009/04/14(火) 18:35:45ID:fq8pqEdU0491名前は開発中のものです。
2009/04/14(火) 19:09:10ID:eZNgSW/g0492名前は開発中のものです。
2009/04/14(火) 19:29:21ID:9swctAsw0493名前は開発中のものです。
2009/04/14(火) 19:29:54ID:blvTvicc0494名前は開発中のものです。
2009/04/14(火) 20:33:19ID:O+1OPqcC0495名前は開発中のものです。
2009/04/14(火) 20:54:21ID:7MEj7h1uまだ機能が安定してなさそうだし
ONScripterとかも対応してないだろうしまだ先だな。
0496名前は開発中のものです。
2009/04/14(火) 22:19:31ID:6itfZ+Gr0497名前は開発中のものです。
2009/04/14(火) 22:26:28ID:MBL7neKy0498名前は開発中のものです。
2009/04/14(火) 23:18:50ID:eOoeeaQG0499名前は開発中のものです。
2009/04/14(火) 23:47:12ID:u8nWQXAO0500名前は開発中のものです。
2009/04/15(水) 00:50:46ID:D8qBeMo0実行ファイル直下のplug-inフォルダ内に全部纏めたい
envdataもいい加減savedir指定フォルダ下に作って欲しいぜ
0501名前は開発中のものです。
2009/04/15(水) 00:53:24ID:7DyJgip00502名前は開発中のものです。
2009/04/15(水) 02:00:01ID:d3o23syj製作時に困るのってenvdata消した場合にフラグ関係のデータ飛ぶからだし
0503名前は開発中のものです。
2009/04/15(水) 23:56:47ID:IzU1tCqTnscrpng.spiなら今まで通り問題ないが、nspng.dllだとおかしくなる。
0504名前は開発中のものです。
2009/04/16(木) 00:13:36ID:MHqxocxL修正待ちか?
0505名前は開発中のものです。
2009/04/16(木) 00:32:23ID:bo4yiCfQ現状、NScripter本体だけだとnspng.dllはちゃんと動いてるわけで
MSpDraw.dllが公式の制作物じゃないから報告するのに抵抗ある。
よって修正も望めないかもしらん。
0506名前は開発中のものです。
2009/04/16(木) 01:51:44ID:DWqyxdZp仕様が変更されない限り対応は無理だよ
右側にマスク画像付けた24bitPNGなら大丈夫じゃない?
0507名前は開発中のものです。
2009/04/16(木) 01:57:03ID:DWqyxdZp0508名前は開発中のものです。
2009/04/16(木) 02:55:07ID:iMWpsIpW書き換えてTimmerで計測したら普通に重くなってワロタ
まともに書けない間は意味ないね
0509名前は開発中のものです。
2009/04/16(木) 16:20:17ID:wJ5+5IxG作者的には迷惑な気もするがな。プログラム的なことなのは明らかなんだから、
報告してどちらかに対応してもらったほうがいいだろ。
>>508
内部的には同じ描画処理してるんだから、別に速くはならんだろう。
NScripterのスクリプトよりコンパイル後の中間コードの実行は
速いだろうから、遅くなるのも変だが。どんなコード書いたんだ?
0510名前は開発中のものです。
2009/04/16(木) 16:37:27ID:wJ5+5IxGじゃあこっちを使い続ければそれでいいのか。
0511名前は開発中のものです。
2009/04/16(木) 18:41:00ID:iMWpsIpW元コードと違って二分木しないでif文並べたww
0512名前は開発中のものです。
2009/04/16(木) 19:23:58ID:GMhbLSXs■ このスレッドは過去ログ倉庫に格納されています