NScripter Ver.19.00

■ このスレッドは過去ログ倉庫に格納されています
2014/01/30(木) 22:41:08.23ID:BRbRh5DC
商業流通でなければフリーで利用可能な
ゲームエンジンNScripterについて語るスレです。

・本家
ttp://www.nscripter.com/

・うpろだ
ttp://nscuploader.wkeya.com/
2014/04/24(木) 14:25:56.56ID:DXX4yPcJ
仲良く公式マニュアル待ちだろうな
高橋さん自身が個人開発ゲームエンジンの将来にだいぶ悲観的な点気になりはするけど、上で使ってる人もいたしぽつぽつ使用例出てくるんじゃね。講座揃うのはまだまだ先だろうな
2014/04/24(木) 16:36:31.55ID:oR1QVALy
>>146
俺自身がNS1ほど熱心に使いたいと思わないのもあるけど
他人任せじゃなくて自分から調べて情報開示しようと思わん辺りに
NS2の先行きの厳しさを感じる
2014/04/24(木) 23:39:44.29ID:DXX4yPcJ
NScripterで十分色々出来ちゃうのが逆に移行の遅れを生んでるってのもあるな
2014/04/26(土) 22:46:02.07ID:ztot7jCC
Nsc1のbspで拾えるキーなんだけど、Dキーがデフォルトでデバッグモード起動が割り当てられてて使えない…
デバッグ起動しないようにして使える方法ってある?
2014/04/26(土) 22:47:39.97ID:ztot7jCC
bspじゃなかったbexecだった
2014/04/26(土) 23:35:29.85ID:0txbynpo
デバッグって、nscript.datにしたら自動で起動しないようにならなかったっけ?
だから、本番用のコードなら問題ないよ。
今もウィンドウが出たり消えたりするだけで、普通にDキー自体は取得できてるでしょ?
2014/04/27(日) 01:54:57.52ID:kUL9IkVg
確認しました!wasdキーの十字操作諦めるとこだった…ありがとう!
2014/04/27(日) 01:58:03.88ID:so/GINLJ
お、アクションゲームでも作るのかい
2014/04/27(日) 17:39:33.83ID:kUL9IkVg
ちょっとしたRPG作ろうと思って
2014/05/01(木) 00:03:26.41ID:50PAktXV
セーブデータの上限は200kbまでなのかな。
セーブが大きすぎるってエラー落ちしたんでちょっと検証してみた

*define

for %0 = 0 to 94
dim ?%0[20][20]
next

game
*start

ああああああ\
savegame 1
ああああ\
end

出てきたセーブは198kb、forループを95に増やしたらエラー落ちした。
あと21*21=441文字分の文字列変数で同じ事やったら190までループできた。出てきたセーブは199kb
2014/05/01(木) 00:05:02.51ID:NYB/CjUK
上限については公式でアナウンス済み
2014/05/01(木) 01:12:13.43ID:E0PYgtWG
上限は200KBだよ。以前はもうちょい少なかったけど何かのタイミングで拡張してくれた
元々NScrの配列変数で多次元配列使いまくらない限りはまず超えない値だったから、現在ではほとんど見掛けないエラーになったと思う
配列変数の値は保存しておきたい感じ?
2014/05/01(木) 07:48:11.23ID:6qfZNsE3
セーブファイルのサイズ上限(200KB)は
過去ログ15のレス660にも書かれてるね
2014/05/01(木) 17:36:27.18ID:50PAktXV
失礼、やはり既出情報だったのね。配列セーブに残ると聞いて無計画に使いまくってた
2014/05/01(木) 18:04:00.53ID:E0PYgtWG
配列変数作ること自体が容量肥大化させるからね…
普段は,や/区切りで一つの文字変数にぶち込んでおいて使う時だけsplitしてもいいのよ、操作頻度や今まで書いた量にもよるけど
2014/05/01(木) 22:29:10.31ID:JR86h75D
>>156
いい検証スクリプトだな。乙だ
2014/05/14(水) 18:09:51.24ID:e6ELFxDF
luasubでluaに飛んだ先のコードの中でNスクのスクリプトへgosubする方法ってないですか?
下のコードで言うとあいうえおスプライトを表示する前に*test2へ行って戻って来たいんですが。

function NSCOM_test1()
NSGosub ("*test2")

NSExec([[lsp 0,":s/18,20,0;#FFFFFF"+"あいうえお",100,100]])
NSExec([[print 1]])
NSClick()
end

もしかしてluaは基本function~endまでNスクには戻れない様な設計なんですかね?
NSGotoもNSGosubもluaの途中からNスクへ行けるものと思っていたんですが使ってみたら挙動が違くて・・
2014/05/14(水) 23:24:45.60ID:qWatNS0P
lua側からNScr側のサブルーチンに飛ぶ方法はないです。
NSGotoやNSGosub、NSReturnは、NScrの制御状態をlua側から書き換える為の命令です。

NScr側のサブルーチンとlua側の関数を利用する処理は、NScr側でまとめるといいかもです。

;00.txt
*define
defsub test1
luasub test1_lua
game
*test1
gosub *test2
test1_lua
return

--system.lua
function NSCOM_test1_lua()
NSExec([[lsp 0,":s/18,20,0;#FFFFFF"+"あいうえお",100,100]])
NSExec([[print 1]])
NSClick()
end
2014/05/14(水) 23:32:55.77ID:CPI+kYSJ
どうしてもluaでやりたいという変態さんは
NSCOM_test1()をNSGosub ("*test2")の前後で分割して
続きを呼び出すNスクのサブルーチンをNSGosub()した上で
NSGosub ("*test2")をしてreturn

関数を分割せずにコルーチンを駆使すれば
あたかもNスクと同期実行されているように書ける
(それでも形式的でナンセンスな記述は残る)

なお理論上できるというだけで実際やったことはない
2014/05/15(木) 01:15:12.20ID:9JL1CUtN
>>165も言ってるけどコルーチンはNスクにreturnしても稼働状態で残るはず(俺も試したことはないが)、だから該当箇所をコルーチン化すればどうにかならないでもないけどやや面倒よ
"「コルーチンがなければ生成、あればコルーチン実行」→Nスクにreturn"という関数作れば一応動きそうじゃね
167名前は開発中のものです。
垢版 |
2014/05/15(木) 04:06:19.02ID:f8gwu8O3
http://toro.2ch.net/test/read.cgi/gsaloon/1345029300/316
  ↑  ↑  ↑  ↑  ↑ 
168163
垢版 |
2014/05/15(木) 06:32:41.56ID:LzCNjPYY
ぬう・・やっぱりちょっと難しいのですね。
コルーチン組むにしても手間が増えて煩雑になってしまいそうなんで、やはりNスク側にまとめてluaはdefsubの延長のような使い方にしようかな。
ありがとうございました!
2014/05/23(金) 15:11:23.36ID:jUQbPQPM
*define
numalias data,0:dim ?data[6][1]
numalias hoge,1
mov ?data[0][hoge],7
mov ?data[1][hoge],1
mov ?data[2][hoge],2
mov ?data[3][hoge],3
mov ?data[4][hoge],4
mov ?data[5][hoge],5
mov ?data[6][hoge],6
game
*start
debuglog 1:click

if ?data[0][hoge] >= ?data[1][hoge] && ?data[0][hoge] >= ?data[2][hoge] && ?data[0][hoge] >= ?data[3][hoge] && (専ブラに行長すぎと怒られたんで改行)
?data[0][hoge] >= ?data[4][hoge] && ?data[0][hoge] >= ?data[5][hoge] && ?data[0][hoge] >= ?data[6][hoge] mov %0,1
数値%0\

if ?data[0][1] >= ?data[1][1] && ?data[0][1] >= ?data[2][1] && ?data[0][1] >= ?data[3][1] && ?data[0][1] >= ?data[4][1] && ?data[0][1] >= ?data[5][1] && ?data[0][1] >= ?data[6][1] mov %0,2
数値%0\

if ?data[0][hoge] >= ?data[1][hoge] && ?data[0][hoge] >= ?data[2][hoge] && ?data[0][hoge] >= ?data[3][hoge] && ?data[0][hoge] >= ?data[4][hoge] && ?data[0][hoge] >= ?data[5][hoge] mov %0,3
数値%0\

if ?0[0][hoge] >= ?0[1][hoge] && ?0[0][hoge] >= ?0[2][hoge] && ?0[0][hoge] >= ?0[3][hoge] && ?0[0][hoge] >= ?0[4][hoge] && ?0[0][hoge] >= ?0[5][hoge] && ?0[0][hoge] >= ?0[6][hoge] mov %0,4
数値%0\
2014/05/23(金) 15:28:07.46ID:jUQbPQPM
しまった、書き込みミス。スクリプトだけ先に書いてしまった
デバックしてて気になったんだけど、numaliasを使った配列の比較を5回以上重ねた辺りからデバッグログの表示がおかしくなる現象にあいました。
上の検証スクリプトの1回目のif比較の?data[0][hoge] >= ?data[1][hoge]のログは
エイリアスdataへアクセス:値0
エイリアスhogeへアクセス:値1
配列変数?0へアクセス:値7
エイリアスdataへアクセス:値0
エイリアスhogeへアクセス:値1
配列変数?0へアクセス:値1
と問題なく表示されてるんだけど、

?data[0][hoge] >= ?data[5][hoge] 以降から
エイリアスdataへアクセス:値0
eへアクセス:値1
=?0へアクセス:値7
Aスdataへアクセス:値0
Aスhogeへアクセス:値1
=?0へアクセス:値5

と表示の挙動がおかしくなりました。
numalias hogeやdataを使わない2回目、4回目のif比較は問題なく表示
if文後のmovはどれも問題なく数値が代入されていたので実行上は問題ないのかもと思ったけどなんか妙な挙動してそうで怖い…
&の条件絞込の回数制限とかってあったっけ?
2014/05/23(金) 15:30:09.79ID:jUQbPQPM
あ、使ったverは最終更新版の2.96です
2014/05/25(日) 22:29:41.56ID:L8XimEmS
検証できる環境がないので分からないけど、バッファオーバーフローぽいね。
1つの命令文が長すぎるのが原因だと思う。
命令文を80〜120文字以内くらいに収めた方がいいと思うよ。

フラグ用の変数を用意してif分を分割するか、for-next使うといいと思う。
2014/05/26(月) 12:50:59.42ID:ArU/je5h
すみません、NS2の質問です。
NS2はサンプルのテキストがウィンドウ表示なんですが
これを全画面表示になるようサンプルスクリプトを自分で考えて改造しました。

通常の表示は問題なく行えるようになったのですが、バックログ機能を使うと
表示がおかしくなります。

多分ですが、そもそものやり方が悪いと思うのですが
今のやり方以外思いつかず、しかもこのバックログ表示バグの修正案も
思いつかずで詰まっています。

どなたか解決策か、もしくは根本的におかしい場合別のやり方を
教えて頂けないでしょうか

↓改造した00.txtの一部(問題と思われる箇所)
2014/05/26(月) 12:53:45.95ID:ArU/je5h
@text
param %tag,%text

〜voiceとか、この辺はデフォルトから変えていませんので省略〜

; 改ページ記号がある場合、改ページ実施
if line == 16 or %text == "改ページ_" then
spfill "window:text1",0,#00000000 ; テキストを消す
spfill "window:text2",0,#00000000 ; テキストを消す
spfill "window:text3",0,#00000000 ; テキストを消す
spfill "window:text4",0,#00000000 ; テキストを消す
spfill "window:text5",0,#00000000 ; テキストを消す
spfill "window:text6",0,#00000000 ; テキストを消す
spfill "window:text7",0,#00000000 ; テキストを消す
spfill "window:text8",0,#00000000 ; テキストを消す
spfill "window:text9",0,#00000000 ; テキストを消す
spfill "window:text10",0,#00000000 ; テキストを消す
spfill "window:text11",0,#00000000 ; テキストを消す
spfill "window:text12",0,#00000000 ; テキストを消す
spfill "window:text13",0,#00000000 ; テキストを消す
spfill "window:text14",0,#00000000 ; テキストを消す
spfill "window:text15",0,#00000000 ; テキストを消す
; 何行目かの情報をクリア
line = 0
%kaipage = 1
endif
2014/05/26(月) 12:54:56.78ID:ArU/je5h
endif
; フォントがMSゴシックの場合
if _font == 0 then
if line == 1 then
if %text <> "改ページ_" then
; 1行目表示
spputtext "window:text1",0,%text,{font="text",wait=(9-_textspeed)*10,w=28,h=20},{font="rubytext"}
endif
else if line == 2 then
if %text == "改ページ_" then
; 改ページ判定の場合は2行目を1行目に表示
spputtext "window:text1",0,%text,{font="text",wait=(9-_textspeed)*10,w=28,h=20},{font="rubytext"}
endif
; 2行目表示
spputtext "window:text2",0,%text,{font="text",wait=(9-_textspeed)*10,w=28,h=20},{font="rubytext"}
else if line == 3 then
; 3行目表示
spputtext "window:text3",0,%text,{font="text",wait=(9-_textspeed)*10,w=28,h=20},{font="rubytext"}
※以下15行目まで同じ処理です。長すぎるので省略
endif
endif
endif
; フォントがMS明朝の場合
else
2014/05/26(月) 12:55:33.61ID:ArU/je5h
if line == 1 then
if %text <> "改ページ_" then
; 1行目表示
spputtext "window:text1",0,%text,{font="text2",wait=(9-_textspeed)*10,w=28,h=20},{font="rubytext"}
endif
else if line == 2 then
if %text == "改ページ_" then
; 改ページ判定の場合は2行目を1行目に表示
spputtext "window:text1",0,%text,{font="text2",wait=(9-_textspeed)*10,w=28,h=20},{font="rubytext"}
endif
; 2行目表示
spputtext "window:text2",0,%text,{font="text2",wait=(9-_textspeed)*10,w=28,h=20},{font="rubytext"}
※以下15行目まで同じ処理です。長すぎるので省略
2014/05/26(月) 12:57:25.93ID:ArU/je5h
endif

; 何行目かの情報を+1して次の行へ移行
line = line+1

return

;スクリプト改造箇所終わり

これをバックログで実行すると
http://iup.2ch-library.com/i/i1203511-1401076566.png
こうなってしまいます(当然といえば当然ですが・・・)

何かいい方法があれば教えて頂けないでしょうか・・・
2014/05/26(月) 22:47:15.90ID:eYuz/ba5
変数_fontを、_font="text"とか_font="text2"としてあげると
spputtext "window:text",0,%text,{font=_font,wait=(9-_textspeed)*10,w=28,h=20},{font="rubytext"}
が効くので、if文がいらなくなって便利ですよ。

ノベル形式にするには色々やり方があると思いますが、一例として、
まずsystem.luaのfunction basic.text(stag,stext)を少しいじります。

--特殊:basic.textは表示文に対応しています。登録の必要はありません。
t_text = ""
function basic.text(stag,stext)
if stag==nil and stext==nil then return end
if stext ~= "p" then
t_text = t_text..stext.."\\n"
return
end
local logtbl={tag=stag,text=t_text}
basic.backlog[basic.backlogheader]=logtbl
basic.backlogheader=basic.backlogheader+1
if basic.backlogheader>BACKLOGSIZE then basic.backlogheader=1 end
basic.exec_call("@text",stag,t_text)
t_text = ""
end
179178
垢版 |
2014/05/26(月) 22:49:05.47ID:eYuz/ba5
次に、02.txtの@title_startの辺りのスプライトの設定を適当な大きさと位置に変えます。
sp "window:window", {name="*800,600,#88333333",x=0,y=0,z=1000}
sp "window:text", {name="*672,504,#00000000",x=128,y=64,z=10}

使い方:
行頭の半角文字の「>p」で改ページするようになります。
例:
ああああ
いいいい
>p
うううう
>p
2014/05/26(月) 23:45:59.03ID:ArU/je5h
>>179
レスありがとうございます。

ただやってみたのですが、バックログの話ではなく、通常表示において
>pがある場所に来ると、それ以降文章が全く表示されず、かつ最後までクリックを全く待たず
シナリオが進んでしまうようです。

肝心のlua層の記述(>>178の部分)について、私がluaの事を全く理解できてないので
その記述のどこが問題なのか分かりませんが、returnやendを削除したり、>pの記述を
変えてみたりなど、その程度の事はやってみましたが、どうも上手く行きません。

>p以降全く文章が表示されないのは
if stext ~= "p" then
t_text = t_text..stext.."\\n"
return
end

あたりのendが関係している?のでしょうか?
2014/05/26(月) 23:48:10.42ID:ArU/je5h
ああああああ
ええええええ

てすと

次で改行

>p


bg 背景1

ららららららら


てすとその2

bg 背景2

quit ;終了

などとすると、「次で改行」までは普通で、それ以降の「らららら」や「てすとその2」が表示されず
背景だけが背景1→背景2と自動で切り替わって、最後のquitにたどり着くようで、そのまま終了されてしまいました。
182178
垢版 |
2014/05/27(火) 23:53:33.57ID:2Rb3MHi3
「>p」のタイミングで文章を表示してるので、「>p」必須です。

例:
bg 背景1
ららららららら
てすとその2
>p
bg 背景2
quit ;終了

動作の説明:
表示文字列を、表示せずに一旦「\n」で連結して保存しています。
「>p」で「@text」に飛んで、
・テキストウィンドウのクリア
・(保存した)表示文字列を(一括して)表示
・クリック待ち
という動作になってます。

なるべくスクリプトを改変せずにノベルっぽくできるようにしましたが、
完全にノベル用のスクリプトにするには
「system.lua」をいじらないと難しいと思います。
2014/05/28(水) 00:41:39.57ID:Wvo5+9lJ
>>182
レスありがとうございます。
>p〜>pで囲まないといけなかったんですね。
そのようにしたら、確かに表示はできましたが、>p〜>pの間の文章って
「_」とか「click」などの命令が一切効かなくなるようです。
>p〜>p間の文章は全てクリック待ちが発生せず進んでしまいました。

とりあえずこの機能完璧に実装するにはlua使えないと話にならなそうですね・・・

諦めてNS2のサンプルと同じウィンドウ方式でいくか、>>177のバグ放置にするか、
lua頑張って勉強して実装するかのどれかにします。
すみません、ありがとうございました。
184183
垢版 |
2014/05/28(水) 15:56:39.32ID:Wvo5+9lJ
すみません、一応解決しました。

頭悪い方法ですが、"改ページ_"と書いた改ページ判定文字を"  "と全角2つにしました。
それなら一応、バックログ時に"改ページ"という明らかな単語は見えませんので
見た目的には解消しました。

お騒がせ致しました。
2014/05/30(金) 18:40:40.10ID:adRzL+Ku
bspやspstrの制御文字列Pの連番も使えたら便利なんだけどなあ
2014/05/30(金) 19:55:19.34ID:3jaSQaQ2
maxkaisoupageの最大値って50なんですかね?
50以上の数値にすると50より前のログが表示されない…
2014/05/31(土) 03:06:23.48ID:KsEa33Em
調べてないが常識的に考えてそんな使わんだろ!?みたいな数値が上限になってることは時々ある
50ページ以上ログ辿るようなゲームだと独自システム組んだ方が色々楽になりそう
2014/05/31(土) 10:43:37.05ID:eNzJVy6Z
サンプルシステム流用してるだけじゃなければ
どこ弄ればいいか分かりそうなものだけど
2014/05/31(土) 17:21:06.95ID:fyBjK6Lw
>>188
そういうのいいんで…
2014/05/31(土) 22:03:36.48ID:pmss1cBx
>>186
最大値は50ではありません。もっと上です
2014/06/03(火) 18:28:46.21ID:7Mkr3K2a
基本的なことなのですが、調べてもさっぱり分からないのでどなたか教えてください。
スプライトボタンにマウスオンしたときに、セル1に切りかわると同時に効果音が鳴るようにしたいのですが、

bsp 11,"P11,0","P11,1,",""

この状態からどうすればいいんでしょうか?
192191
垢版 |
2014/06/03(火) 20:16:40.31ID:7Mkr3K2a
自己解決しました!お騒がせしました。
2014/06/17(火) 01:27:33.60ID:B7W5c+ys
nscripterようのリファレンスでrubyon2が非推奨になってるけどなんでだろう。
使いたいけどちと恐いな
2014/06/17(火) 04:11:05.49ID:eZOJzlkB
非推奨命令も動くものは動くからな、数値ラベルなんかはサイズ指定にバグ抱えてるけど2.96で動く
ある程度ポピュラーだった命令ではっきり動かなくなったのってzenkakkoくらいじゃね
2014/06/17(火) 08:14:50.83ID:sDrVF1qP
rubyon2って管理面倒くさくね?
196ろだ
垢版 |
2014/07/17(木) 00:29:58.88ID:4sIE6b1L
鯖が急になくなってしまったので取り急ぎ移転しました
数日間サイトが見られない状態になっていたことをお詫びします
http://nscuploader.daiwa-hotcom.com/
2014/07/17(木) 00:43:01.20ID:ybCj6cxu
乙やで
2014/07/17(木) 01:08:42.94ID:+YKoHZc/
サーバが無くなっちゃ仕方ないね
乙です
2014/07/21(月) 07:02:22.99ID:ovSqCMGK
【レビュー】手持ちの「NScripter」製ゲームをChrome上でプレイ可能にするWebアプリ“NscPlayer” - 窓の杜
http://www.forest.impress.co.jp/docs/review/20140718_658306.html
2014/07/21(月) 16:45:25.20ID:WoyXgCW0
NaClを利用するというのは技術的には面白いけど
何というか始まる前から終わっているみたいな
2014/07/21(月) 21:22:11.53ID:w3Bnkfww
俺はこういうの見ちゃうと逆に仮想環境じゃ絶対動かないゲーム作りたくなる
2014/07/21(月) 21:33:28.62ID:yAAtgJ7M
すげーな。マルチプラットフォーム一番実現したエンジンがNScripterになるとは
や、文法同じなだけで、別物のエミュレーターみたいなもんだけどさ
2014/07/21(月) 21:46:16.73ID:w3Bnkfww
非公式とはいえ異様なくらい対応広い文法になったな
2014/07/21(月) 23:32:25.30ID:9M5GB1lH
2がluaだからluaがコンパイルできる環境なら結構簡単に動作クローン作れると思う。D3D使ってもどうせ今はGLの方がスーパーセットだし。
2014/08/03(日) 09:08:07.61ID:TyDiCVRp
Nscripterをはじめたばかりで、解説サイト様を見ながらいろいろ試しています

bgのイベント絵を表示したまま、画面をチカチカッと
白や赤で瞬かせたくて、
白い画像を作ってイベント絵と
交互に表示してみたりしたのですが、
なんだかもっさりしてしまいます

人と人がぶつかった時とかの演出で使うつもりです
市販のゲームではとてもよく見る演出なのですが、
解説サイト様を見てもどうやっているのかわかりません・・・

きっとものすごく初歩的なことだと思いますが、
どうにもわからないので
教えていただけないでしょうか
2014/08/03(日) 23:26:16.97ID:JwbeHEtx
スプライト画像を先に読み込ませておいて
前面に表示させる→消すってやればいいんじゃないかと思うけど
チカチカ演出は嫌われるぞ
2014/08/04(月) 22:50:13.63ID:bYe7ZNp6
フラッシュ・ウインドウごとクエイク・ポポポ音は三大嫌われ要素
2014/08/04(月) 22:52:29.19ID:64Me3sId
ウェイトは?
2014/08/05(火) 13:17:10.91ID:agWP0h+9
それでも必要とあらばやっちゃうんだけどね
2014/08/05(火) 17:32:28.93ID:oOnaXrGS
ここぞという場面で使う分にはいいんじゃね>ウェイト
多用されたらそっとウインドウ閉じるけど
211名前は開発中のものです。
垢版 |
2014/08/20(水) 07:02:16.94ID:3QG01HIf
ひょっとしなくてもNSLuaのテクスチャとNScripter2のテクスチャって概念違う?
2014/08/31(日) 11:07:03.12ID:mYKbB03D
>>196
ろだ無くなったと思ったら移転してたのね
良かった
2014/09/03(水) 23:38:00.01ID:t2U9rQzz
>> @NaokiTakahashi
>> NScripter互換エンジンについての私の見解を公開しました。
>> http://www.nscripter.com/compatible.txt


作者さんありがとう
2014/09/04(木) 05:12:55.93ID:dIrQtCVE
前から明言されてた内容だけど、誰かがひたすら問い合わせでもしたのかね
2014/09/05(金) 02:13:00.28ID:/fAfVF5X
Nsc1なんだけど、デフォルトだとウィンドウに表示させるテキストの行に ;でコメントアウトしたらバグって表示されることを今知った…
同じことをtextgosub使ってシスカマすると問題なく表示されるんだが、本来やってはいけないことだったんかいな。注釈付に使ってたんだが不安になってきた
2014/09/05(金) 07:50:19.25ID:VA2pTeMM
「実行ブロックで命令書いた後にセミコロン打って注釈入れたつもりが文字化けた」でいいな?エスパーするぞ?
NScripterはごく限られた命令除いて素直に書かれた命令を一個一個読む
命令文の後にセミコロン打つと「命令」「"半角セミコロンで始まっているテキスト"を表示(仕様外なので当然化ける)」と解釈される。
半角セミコロンがコメントアウトとして機能するのは物理的な行頭に書いてある場合(その行を読まないという挙動)
定義節ではそもそもテキストが表示されない仕様なので、このようなことにはならない。
2014/09/05(金) 07:51:49.33ID:VA2pTeMM
ここまで書いてなんか違うこと聞いてる気がしてきた
普通の表示文を普通にコメントアウトするだけなら当然化けないよ。どんな文章が化けたのよ
2014/09/05(金) 08:22:53.86ID:/fAfVF5X
命令後にセミコロンつけたらだめなのか…
mov %0,100  ;○○の目的のために値代入  とかかなりやってた…
文字化けしたのは

たかし「あああ」\ ;◎このセリフは主人公弱気な感じで
たかし「あああ」\

みたいなセリフ等のテキスト表示文にも注釈つけてたんだけど、何気なくシスカマなしのデフォルトでやったら、2つめのたかし「あああ」が
;楷・、・、たかし「あああ」って表示されてた。全角文字で始まる表示分には一部の命令以外書けない仕様(だったっけ?)だからよくよく考えたら当然なんだけど、
これをtextgosubでシスカマした状態で表示すると注釈部分は表示されず、だったもんで今までこの仕様気づかなかったんだ。

textgosub使って注釈表示されないならそれでええやん、なんだけど、仕様外の事やって変なバグ起こしてないか心配なってきて
2014/09/05(金) 15:06:23.55ID:VA2pTeMM
textgosub使わんから自信はないけど、textgosubだと呼ばれるたびに切り出して解釈するのかね。
まあ動いてるなら大丈夫じゃね、変数操作でもないしメモリ吹っ飛ばしたりはしないだろう
心配&行分け直すのが面倒臭いなら公開直前にツールなり使って機械的に消す手もある(こっちの方がリスキーな気もするけどそらは置いといて)
2014/09/05(金) 18:39:43.08ID:QFYzq7dc
>>216
「命令文の後にコメント」、普通にいっぱい使ってるけど問題なんか起きたことないよ
「テキスト行の後にコメント」のほうはなんとなくまずい感じするんで避けてたけど
Nスクはテキスト周りの挙動が怪しいから
2014/09/05(金) 23:40:20.46ID:VA2pTeMM
>>220
実行節でも?
2ch不特定多数開発モノで文字化け多発したと思ったら原因が命令後の注釈だった、という経験ならある。むしろ化けない例があるとは思ってなかった、何かしら法則見出せるかもしれんな
2014/09/06(土) 00:19:04.46ID:tOCz9OYg
俺も今んとこ化けたことないかなあ。ちなみにver2,95と2,96
しかしなんとなく不安
2014/09/06(土) 00:43:13.46ID:IEWfQEIW
>>221
定義節も実行節もどちらも正常、verは最新
Nスク解説サイトのサンプルでも多用されてるし問題ないだろ
こことかhttp://sorejyadamedarou.sa kura.ne.jp/nscripter/system_customize.htm
おかしくなる原因はスクリプトファイルの文字コード関係じゃねーの?
2014/09/06(土) 01:17:32.26ID:n8WlUj/t
あー新しいバージョンで直ってる可能性考えてなかったな、俺が経験したってのもひぐらし全盛期時代の古い話だし
2014/09/09(火) 18:03:40.99ID:DEzOq+HJ
ひぐらし以前の大昔バージョンからふつうに命令後コメント効くぞ
どーせ、セミコロンの前に全角スペースでもいれてんだろ
2014/09/10(水) 03:56:11.53ID:HFY+wZcw
配列変数バリバリに使うような人がそんな初歩的なミスするだろうか
自前で行ずらして直しちゃったから元がどうなっていたか思い出せん
2014/09/10(水) 05:24:43.50ID:aA3h1XiN
>>218のは命令後じゃなくて
表示テキストのケツにコメント行でしょ
普通に文字化けするけど
わざと言ってんの?
2014/09/10(水) 11:59:41.31ID:epaG8JuW
>>227
よく流れ読みなよ
命令後のコメントはOKで、テキスト行末尾のコメントはNGって話でしょ
2014/10/01(水) 13:28:02.90ID:z8ElBxfJ
Nsc1って環境依存的な不具合あるかな?  新ボタン命令でオンマウスでSE鳴らすスタート画面作ったんだけど、
マウス合わせたらSEがノイズみたく連続再生されてクリックしても次へ進めないって一部のプレイヤーに言われたんだけど、自分の環境じゃ再現されないんだよね。
2014/10/01(水) 14:10:47.37ID:9mgwKApq
聞いたことないけど、OSとかどんどん変わってきてるから絶対に無いとは言えんなぁ。
一部のプレイヤーってと、複数いるわけ?
ちゃんと実行環境とか聞いてみた?
2014/10/01(水) 14:49:00.84ID:z8ElBxfJ
今のところ3人ぐらいは聞いてるかな。環境は一応聞いてはいるけど、7だったり8,1だったり、DirectXもまちまち(基準は満たしてる)でよく分からない。
症状は共通しているっぽいけど…
2014/10/01(水) 19:27:42.83ID:19DDtnJ5
てきとー言うけど
メモリ容量とかどうだろ?
スワップしてもたついてるのかもと思った
2014/10/01(水) 21:54:52.50ID:tfxzSMP2
「マウス合わせたら」に相当する命令箇所を一応書いてもらえるとひょっとすると誰かが知恵出せるかもしれん
2014/10/01(水) 22:59:41.89ID:9mgwKApq
その「異状がでる部分のみの短いサンプルプログラム」を作って
報告者の人たちに試してもらって、それでもやはり異状がでるなら
画像データ、音声データ込みで晒してみるのが一番かもね。
2014/10/01(水) 23:54:07.02ID:z8ElBxfJ
>>232
プレイヤー側のメモリ不足って線かな?タスクマネージャー見てみると100MBくらい使ってたし、もしかしたらあるかもしれない
>>233
文字制限ギリだったんで次のレスに
>>234
連絡つくかわからないけど試してみようかな。

2つくらいゲーム作ったんだけど、そのどっちもできんかった。っていう人もいたし症例以外に法則性が見いだしづらいな
2014/10/01(水) 23:54:54.84ID:z8ElBxfJ
*title
bgm "bgm\title.ogg"

*re_load_title
lsp sp_cg,":c;img\title.jpg",0,0
exec_dll "fontext.dll/Add,g_comickoin_free.ttf"
spfont "g_コミック古印体-教漢(標準)",30,30,1,0,0,0

*titleloop2
mov %0,10:mov %1,1
lsp %0,":a;img\youhisi2.png",267,351 : sub %0,%1
lsp %0,":s/22,30,0;#000000"+"EXIT",360,502 : sub %0,%1
lsp %0,":s/21,30,0;#000000"+"GALLERY",332,466 : sub %0,%1
lsp %0,":s/22,30,-1;#000000"+"LOADGAME",321,430 : sub %0,%1
lsp %0,":s/22,30,0;#000000"+"START",350,394 : sub %0,%1
lsp %0,":a;system\pen2.png",-100,-100 : sub %0,%1
mov $saveload_return,"*re_load_title"
print 2

*titleloop
bclear
bsp 6,"","M5,320,367S1,(se\on.wav)",""
bsp 7,"","M5,320,405S1,(se\on.wav)",""
bsp 8,"","M5,320,442S1,(se\on.wav)",""
bsp 9,"","M5,320,479S1,(se\on.wav)",""
bdef "P6P7P8P9C5"
bexec $20
if $20 == "S6" spfont clear:for %1=5 to 10 : csp %1 : next :csp sp_cg:bgmstop:kuro2 5:goto *newgame
if $20 == "S7" for %1=5 to 10 : csp %1 : next :csp sp_cg : kuro2 1 : goto *system_load
if $20 == "S8" goto *gallery
if $20 == "S9" end
goto *titleloop
2014/10/02(木) 00:00:32.77ID:KS6BsKmg
defsubとかnumaliasだらけでアレだけど書くだけ書いてみました。
2014/10/02(木) 04:55:42.44ID:0SLywCdy
とりあえず新ボタン命令の方であることは分かった
すまん俺旧ボタン留まったままで分からんわ……
2014/10/04(土) 02:49:42.56ID:nhvMxdsM
*titleloopからgoto *titleloopを高速処理してて
クリック認識されてないみたいだし、
bexecの前にbtimeでも入れてみたら?
たぶんbtime 50ぐらいがちょうどいいんでないかな。
2014/10/04(土) 08:23:36.64ID:j0Y4+UPc
何らかの要因でbexec突破しちゃってるってのはあるかもな。それならボタン定義が連打されるので新しく音が鳴り続ける
2014/10/04(土) 21:27:49.37ID:CMOD7O+n
今更だけどver2,95です。せめて自分の環境で不具合再現できれば色々試行錯誤できそうなんだけどね。2,96も同梱しておこうかな
btime置いてみたら確かに挙動が症例っぽくなった。試しにbtime 0にしたらクリック効かなくなったしbexec機能が飛ばされてるってことでいいのかも
今度ダメ元で高橋さんにも聞いてみようかな   どうもありがとう
2014/10/04(土) 23:54:18.59ID:j0Y4+UPc
btimeに0放り込むのは「時間制限付きのクイズです、制限時間0秒な」と言ってるのと同義
2014/10/04(土) 23:56:56.71ID:j0Y4+UPc
症例出てる人に再現実験やってもらえるのであれば、問題出てる箇所のbexec直後で何のボタンが入力されているか取得&保存&テキストに追記で出力する手はあるな
bexecをどのように通り過ぎちゃっているのか分かれば問題の大きな切り分けになる
2014/10/05(日) 00:05:18.44ID:F3UGH2mk
Nsc2での質問です。
テキスト文中での変数の表示なんですが、@textの%textに
上手く変数の中身が渡せず変数名がそのまま表示されます。
Nsc1のように何か変数の1文字目に決められた文字をつけないといけないのでしょうか?
2014/10/06(月) 10:41:07.48ID:BQb7M1lU
上のマウスオーバーで効果音のやつ
効果音ファイルwavやめてoggで解決するぞ
2年前同じこと起きてそれでいけた
2014/10/07(火) 01:04:42.67ID:M+mhWDGQ
>>245
まじで!有益な情報ありがとう。音声環境oggで統一してみる
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況