NScripter Ver.19.00

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

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

・うpろだ
ttp://nscuploader.wkeya.com/
2015/12/28(月) 04:50:39.19ID:JfoMohzI
ろだのn0241ってファイル破損してる?アーカイブの方も含めて解凍するとdeffontd.dが途中で切れてしまう
2015/12/28(月) 15:10:15.19ID:zOF3aJlY
>>440
正常なファイルをあげなおしました
ご迷惑おかけしてすみません
2015/12/29(火) 03:27:59.77ID:nyKV1jw4
>>441
助かりましたありがとう……!
2015/12/31(木) 06:57:06.26ID:R4OSnde2
ろだと言えばスレへのリンクが板移転前のurlになってる気がする
2016/01/06(水) 00:56:13.55ID:1qMxPa7E
x字間を-(文字サイズの半分)に
一文字ずつ表示
全角文字を表示したらlocateで1文字飛ばす
これで見た目上は奇数バイトの半角文字テキストを表示できないだろうか
2016/01/06(水) 18:33:54.96ID:sb40JfEV
>>443
直しました
指摘ありがとー
2016/01/15(金) 00:36:28.43ID:oXGa3cbB
テキスト表示速度って瞬間表示前提にしちゃって大丈夫かな、速度可変にするとシステムカスタマイズが色々めんどい
2016/01/16(土) 20:40:51.74ID:zgJ6Bev5
表示遅くてイライラすることはあっても、早くすぎて嫌だっていう声聞いたことないし俺はテキストスピード調節自体をなくしたよ。
2016/01/17(日) 04:03:11.20ID:pR7YT4Vr
袋文字プラグインやdeffontd.dllは瞬間表示前提だよね(deffontd.dllは無理すればゆっくり表示もできなくはないけど)
2016/01/20(水) 18:41:15.98ID:QvSp7RVa
現代人が時間ないのか分からんけどツクール系ノベルとかでも瞬間表示主流になって久しい
2016/01/21(木) 16:48:00.92ID:J9Ft1XgY
文字表示の合間に演出入れるとか
文字待ち演出しないなら瞬間表示の方が
テキストをサッと読めて楽ってのはあるのかもね
2016/01/28(木) 08:24:51.94ID:HKV81NHk
deffontd.dllでテクスチャ用意→スプライト化→ドロップシャドウdllのうちどちらか→表示 でdeffontd.dllの機能使いつつ袋文字使えるって認識で合ってる?
2016/01/28(木) 22:27:54.49ID:bwSGQqqk
たぶん合ってると思う
2016/01/29(金) 10:02:36.61ID:AlLTAK/E
>>452
ありがとう、かなり夢が広がるな
2016/02/15(月) 06:46:14.29ID:VipsTIfa
非公式マニュアルのダウンロード版解凍できないというツイート見かけた
今試してみたら破損してるっぽいです
2016/02/15(月) 12:06:54.92ID:Hvfs/fgE
>>454
あれー
確認したけどうちではトップからのも倉庫からのも大丈夫だなあ
2016/02/15(月) 12:07:35.68ID:Hvfs/fgE
ちなみに解凍ツールは7zG.exeだよ
2016/02/15(月) 22:29:38.37ID:atBiR6jh
ファイル倉庫の方を試してみたけど、うちの環境ではダメだったよ
ツールはunzip(6.00 linux)です
「セントラルディレクトリの終端レコードのシグネチャが見つからない」ってエラーがでるっす
2016/02/16(火) 09:20:04.81ID:5XR/vDOe
手元の解凍ソフトで試したら7zipでは解凍できた。WinRARとLhaplusではエラーになる
ファイル自体は無事だけどファイル形式情報に問題が出ている
→そういう場合に無視して解凍するソフトならセーフ、違ったらアウト
こうかね
459ろだ
垢版 |
2016/02/16(火) 20:40:45.43ID:6brlSEcZ
皆さん報告ありがとう
たぶん 7zipで圧縮率を最大にしてたのが問題だったっぽいです
アーカイブしなおして上げなおしました。これで大丈夫なはず
サイズは変わってますが中身は一緒です
2016/02/17(水) 08:32:12.01ID:G8jWf0t2
7zipの最大圧縮率って他のソフトで解凍出来なくなる場合があるのか、俺も気を付けよう
461名前は開発中のものです。
垢版 |
2016/03/15(火) 03:03:21.69ID:eKiwVdF7
NScripter2特設ページ
http://www.nscripter.com/nscr2.html
NScripter2本体(16/03/14)
エンジン本体と開発ツールとマニュアルと最小限のサンプルスクリプトが同梱されています。(9.27)サンプルスクリプトの選択肢処理のバグ修正(8.27)v1.10 バグ修正 必ず最新版を使ってください。(3/14)v1.11 バグ修正、画像の座標を別ファイルに切り分けることを可能にした。
台本ツール(16/03/14)
プレーンテキストのシナリオファイルから台本作成するツールです。nscr2.exeで動いています。NScripter2専用というわけではありませんが、タグの仕様に合わせてあるので便利です。
(04/15)仕様変更、作品名を管理するようにした。(03/14)対応テキスト形式を増やし、誤字にもかなり強くした。
2016/03/24(木) 03:34:08.48ID:k3nNe1KY
deffont.dllって半角コンマは表示できない?
2016/03/24(木) 22:16:41.84ID:nv/yvH1U
できるよ、こんな感じで
NSDCall(0,"*640,48",fontproc,"24,24,あいうえお,かきくけこ")
NSDCall(0,"*640,48",fontproc,"24,24,,,,,,,,,,,,,,,,,,")
NSDCall(0,"*640,48",fontproc,"24,24,,,,,%#FF0000,,,,%#00FF00,,,,")
2016/03/25(金) 16:21:03.75ID:ccgleOwj
deffontd.dllだと引数の数がぶれるせいか上手く出せなかったような気がする
2016/03/25(金) 22:20:36.42ID:g7o5RjyF
deffontd.dllは、自分の環境だとn_0241.zipがうまく解凍できないのでちょっとわからないですね
2016/03/26(土) 08:39:54.11ID:1xr0JexR
まとめてzipになってる方駄目でも
ttp://nscuploader.daiwa-hotcom.com/uploader_list.htm
の方は解凍できるんじゃない?
2016/03/26(土) 08:47:57.93ID:1xr0JexR
同梱されてるソース見ると半角カンマでsplitしていて
バラした結果が3,4,5,7,8個以外だと
throw new Exception("フォントのDLLに渡したパラメータ数が不正です。: " ~ toString(params.length));
で処理中断してるみたいね
2016/03/26(土) 22:21:46.53ID:wO/VfJiz
>>466
ありがとう、解凍できました

>467に書いてある通りで、半角カンマは出力できないね

readValue()を改変してエスケープ文字を飛ばすようにして
while(str[pos] != ',' && str[pos] != '\0'){
if(str[pos] == '%') result ~= cast(char)str[pos++];//追加する一文
if(str[pos] == '\0') break;//念のため
result ~= cast(char)str[pos++];
}
Font()内のエスケープ文字の処理にcase ',':追加すれば
"%,"で半角カンマ出力できるようになると思うけど
自力で改変&コンパイルできる人いたら頑張ってみて
2016/04/14(木) 16:26:05.30ID:U3SurBB2
あるいは%直後の文字を見ている箇所少しいじって
「%cなら,に置き換える」的な処理作っても大丈夫だと思う
2016/04/14(木) 22:28:33.55ID:yO2pgiTI
そっちの方がスマートだね

//文字そのものを表示したいらしい。そのまま表示部へ。
break;
//3行追加
case 'c':
str[pos] = ',';
break;

D言語コンパイルできる環境ないんでテストしてないけど
こんなんでいけるかしら?
2016/04/17(日) 10:29:02.29ID:joDIAr5L
ウインドウサイズ変えて遊んでたら偶然起きた現象(Win8.1の32bitで発生)
;$V4095G200S120,100L10000
みたいな極端に小さいウインドウで起動すると初期状態の黒背景が一部変になる(右下が白い)
2016/06/12(日) 01:31:05.68ID:MGlKQnh5
だいぶ前のバージョンの話なんですが、どなたか教えていただけませんでしょうか?
たとえば以下のようなsetwindow命令を一度出すと、その後の文字スプライトにも
文字に影が付いてしまうのですが、これを回避する方法はありませんでしょうか?
setwindow3 50,470,30,3,23,23,0,4,60,0,1,"image\system\window.bmp",0,425

これを以下のようにして再度命令を出すことで影を失くすことはできますが、
これでは表示されていたテキストが消滅してしまいますので困っています。
setwindow3 50,470,30,3,23,23,0,4,60,0,0,"image\system\window800.bmp",0,425

どうかよろしくお願いします。
2016/06/12(日) 22:46:04.36ID:qYWNT7Kr
spfont
2016/06/12(日) 22:46:57.36ID:qYWNT7Kr
ごめん、書き込み失敗した…

spfont "MS ゴシック",23,23,0,4,0,0
を事前に一回指定しておくといいかも
2016/06/13(月) 01:08:46.38ID:yGxmnqdD
>>474
ありがとうございます、今調べてみましたらそういう命令があったのですね、知りませんでした。
さっそく試してみます、重ねてありがとうございました。
2016/06/17(金) 00:55:12.86ID:LJFFsXJ8
新ボタン命令(っぽい処理)をLuaで真似て作った
ttp://ux.getuploader.com/nsc_pub/download/7/nsc_pub_7.zip
btrans等再現できない(と思われる)機能は再現してなかったりするけど使う人いたらどうぞ 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
2016/06/18(土) 22:02:48.26ID:pwVeiYm0
影なしの文字スプライトって微妙に使い所難しくない?
俺が使おうとするとどうしても背景色に溶け込んじゃう
2016/06/19(日) 22:55:25.02ID:5zs5OI5I
>背景に溶け込む
・下にテキストウィンドウ代わりのスプライトを半透明で敷いておく
・フォントを大きく、太文字にする
対策ってこれくらいかしら?

>使いどころ
DropShadowとか使いたい場合は、影ない方がいいのかも
2016/07/10(日) 07:19:54.82ID:J59fC5+/
>>478
あーなるほど、プラグインのために使うってのが頭からすっぽり抜けてた
2016/07/11(月) 17:18:46.91ID:VNomLgYC
anm.dllの作者さんはもう見てないだろうか
pupudebug.dllのフォントの大きさをもっと大きくして欲しい・・・
高解像度ディスプレイだからか字が豆粒みたいで非常に見にくい
2016/07/15(金) 05:10:18.47ID:IBiblHJ3
最終2012年だから微妙に厳しそう
だけどサイトに連絡先乗ってるからダメもとで要望出してみてもいいんじゃないか
2016/07/16(土) 02:56:24.99ID:RqvI9JDN
Luaテクスチャで似た挙動させることは出来そう
2016/08/06(土) 11:15:07.75ID:90u9ihpo
>>480
まさか使ってくれてる人がいたとは思いませんでした。
pupudebugを久しぶりに更新して、フォントサイズを変更できるようにしときました。
詳しくは00.txtの最後のほうを見て下さい。
484名前は開発中のものです。
垢版 |
2016/08/06(土) 13:27:24.62ID:jvnNi9Fg
1週間前にも告知いたしましたが再度告知致します。
ゲ製板の任意ワッチョイの導入についての投票を8月7日(日)に行います。
スレの>>2の訂正部分に気を付けて是非参加お願い致します。
http://tamae.2ch.net/test/read.cgi/vote/1469829608/
485480
垢版 |
2016/08/06(土) 20:14:46.17ID:SjDoHNEn
pupudebug更新きた
ありがたやありがたや
2016/08/06(土) 20:15:54.46ID:SjDoHNEn
>>483
レス見てなかった
対応ありがとうございます!これでデバッグが捗ります!
2016/08/07(日) 01:06:13.93ID:KJmZIl4L
【訂正】
>>484において8/7(日)に行うと告知されたワッチョイ導入についての投票ですが、
自治スレでは投票の是非について結論が出ておらず、
現時点において投票の実施が決まったという事実はありません
なお、ワッチョイ導入そのものが否決されたわけではありません
導入についての議論は現在も自治スレにおいて継続中です
ご意見のある方は自治スレまでお越しください

■ ゲーム製作技術板自治04 [無断転載禁止]©2ch.net・
http://echo.2ch.net/test/read.cgi/gamedev/1469698797/
488名前は開発中のものです。
垢版 |
2016/08/07(日) 01:07:25.11ID:95O87T0V
荒らしが出没しておりワッチョイの議論だけでなく投票自体もまとまらないから
投票を開始しましたが【訂正】と言い投票自体を妨害する方が出没しています。
投票自体は20:59まで行っており、確認時間も23:59までの3時間行っておりますので
是非参加お願いいたします。
http://tamae.2ch.net/test/read.cgi/vote/1469829608/
2016/08/12(金) 17:37:05.49ID:9Xfzn5cg
NScripterDSってplayexしたoggファイルをstopで停止できなかったりする? playとplayloopexで再生されたファイルは止まるけどplayexだけ0が返っちゃう
2016/08/12(金) 17:50:51.80ID:9Xfzn5cg
あ、playfreeで再生されてるとそもそもstopで止まらないのか…
2016/08/12(金) 18:10:02.85ID:9Xfzn5cg
連投すまん、stopにフェード時間与えるとボリュームが0になるだけで再生が止まらない。これは仕様?Win8.1
2016/08/12(金) 22:21:38.74ID:GTBqMyVH
仕様ぽいね[OS:Wine-1.4]
exec_dll "NScriterDS.dll/Volume|name|0|time"
してるだけみたい
自前でStopしてVolume再設定するといいかも

;test01.oggを読み込んで再生する
*define
stralias file_name,"test01.ogg"
defsub play_ds
game
*start
exec_dll "NScripterDS.dll/Load|" + file_name + "|" + file_name + "|2"
クリックで再生する\
play_ds file_name
クリックでフェードアウトする
click
exec_dll "NScripterDS.dll/Stop|" + file_name + "|2000"
delay 2000
クリックで再生する\
;exec_dll "NScripterDS.dll/Volume|" + file_name +"|10000"
play_ds file_name
終了します\
exec_dll "NScripterDS.dll/Free|" + file_name
end

*play_ds
getparam $0
exec_dll "NScripterDS.dll/Stop|" + $0
exec_dll "NScripterDS.dll/Volume|" + $0 + "|10000"
exec_dll "NScripterDS.dll/Play|" + $0
return
2016/08/12(金) 23:30:55.90ID:9Xfzn5cg
ありがと、新しくloadするにせよロード済みのid使うにせよplay前にあらかじめstopとボリューム初期化噛ませておいた方が安全ですかね…
2016/09/05(月) 13:38:02.55ID:3ILYBxCe
splitが標準命令に入ってるのは割と偉い判断だったと思う
2016/09/05(月) 15:36:12.87ID:js57+KTZ
>>493
ものすごい遅いレスだけど、stopとfreeの違いはリファレンスに書いてあるよ
あとろだのラッパーなんかも見てみるといいと思う
2016/09/06(火) 02:01:00.67ID:y+SHv1Mh
よほど特殊な使い方でない限りは2曲前のメモリを解放するようにしとけばクロスフェードさせつつメモリの心配せずに済むと思う
2016/10/04(火) 11:38:51.37ID:WMuq/SLD
@Visual Studioで新規C++プロジェクト作成して
ALuaとスタックをやりとりする適当な関数hoge(受け取った値計算して返す)をC側に作る
 Lua5.1ライブラリを読み込む、lua_tointegerとか使う
BLua5.1.dllに依存するdllファイルをコンパイルする
C作ったdllファイルからNL_bindで関数hogeの参照を引っ張る
Dhoge()をLuaから直接呼んで返り値受け取るコードを書く
Enscr.exeと同じ場所かdllフォルダにLua5.1.dllを置けばちゃんと動作する
Luaのサンプルと睨めっこしながら弄っていてここで詰まった
Lua5.1.dllではなくnslua.dll、
lua_tointegerではなくNL_tointeger使うためには何すりゃいいですか?
2016/10/04(火) 22:08:53.09ID:d+T9HY2t
こんな感じかな
//hoge.c
#include <windows.h>
__declspec(dllexport) int hoge(void *L);

//関数のポインタ型を定義する
typedef int (*NL_tointeger_T)(void *L,int index);
typedef void (*NL_pushinteger_T)(void *L,int n);

int hoge(void *L){
NL_tointeger_T NL_tointeger;
NL_pushinteger_T NL_pushinteger;
HMODULE mod;
int i;

//関数のポインタ変数に実際のアドレスを割り当てる
mod = LoadLibrary(
2016/10/04(火) 22:10:42.25ID:d+T9HY2t
書き込み失敗した…
続きです

//関数のポインタ変数に実際のアドレスを割り当てる
mod = LoadLibrary("nslua.dll");
if(!mod) mod = LoadLibrary("dll\\nslua.dll");
if(!mod) return 0;
NL_tointeger = (NL_tointeger_T)GetProcAddress(mod,"NL_tointeger");
NL_pushinteger = (NL_pushinteger_T)GetProcAddress(mod,"NL_pushinteger");
FreeLibrary(mod);

//引数を2倍して返す
i = NL_tointeger(L,1);
NL_pushinteger(L,i *2);
return 1;
}

--system.lua
NL_bind("hoge.dll","hoge","hoge")
NSOkBox(tostring(hoge(4)),"test")
2016/10/05(水) 07:17:08.56ID:vPSjcoVf
>>498-499
おおお動いた!ダメもとで聞いてみてよかった、ありがとうございますっ!
2016/11/04(金) 00:27:03.96ID:/KQPiDUz
1.20がリリースされて同梱のサンプルが動かせるようになってるね
1.11で再発したprintとtimeのバグも修正されたけど
tend
bdup
bjoiny
sdelete
clearmessage
sklppauseのバグは相変わらずかぁ・・・
502名前は開発中のものです。
垢版 |
2016/11/25(金) 12:18:57.64ID:sWcEnk2Q
あどばんすどNscripterオフィシャルガイドの、セーブ、ロード画面のカスタマイズを参考に、セーブ、ロード画面をカスタマイズしたのですが、ロードすると、ゲーム画面ではなく、セーブ画面でロードされてしまいます 。
どのようにすれば、ゲーム画面でロードされるようになるのでしょうか?
2016/11/25(金) 22:46:10.83ID:yC/lz6Qk
本が手元にないから分からないけど、とりあえず
*define節に
autosaveoff
を追加してみたらどうかしら?
2016/11/26(土) 00:00:05.95ID:66ydR4P1
>>503
出来ました!
とても悩んでいたので助かりました。
ありがとうございました。
2016/11/30(水) 13:15:10.98ID:LfnZhDu1
セーブポイント周りの仕様は(太古の時代は知らんけど)基本互換性維持してきたNScripterの数少ない変更があった点だから本参考だと引っ掛かる
2.92以後対応の解説サイトならその辺も書いてくれてると思う
2017/01/09(月) 11:28:50.26ID:iggXj3Pm
gettag命令では、文字列変数は取得できないのでしょうか。
mov $Name,
2017/01/09(月) 11:43:16.28ID:iggXj3Pm
途切れて失礼しました、表示できない文字使ったのかも。
gettag $0 で、ブラケットで囲った$Nameを取得し、名前ウィンドウに表示しようとしても空白になってしまいます。分かる方、どうか返信お願いいたします。
2017/01/09(月) 18:09:26.27ID:ywG/2S3b
・切れる文字列の例
・実際のコード
2017/01/10(火) 05:39:33.41ID:sNJP6WMc
[$Name]をgettag $varで拾うと空文字列になるね
>取得し、名前ウィンドウで表示
やるならこんな感じかな

*define
humanz 200
windowback
pretextgosub *pretext_lb
numalias Name,800
game
;続く
2017/01/10(火) 05:40:24.83ID:sNJP6WMc
*start
setwindow 32,320,28,20,26,26,0,2,20,1,1,#999999,0,300,639,479
inputstr $Name,"名前を入力してください(全角4文字以内)",8,1,240,120,128,30
[仮面のおっさん]
「ふふふ…
 さらにできるようなったな、$Name!!」
\
[Name]
「親父にもぶたれたことないのにっ!!」
\
[text]
宇宙世紀0079、
人々はみずからの行為に恐怖した…。
\
end

*pretext_lb
gettag $500
if $500 == "" return
if $500 == "text" mov $500,""
if $500 == "Name" mov $500,$Name
lsp 10,":s#00FFFF"+$500,64,260
print 1
return
2017/01/11(水) 01:52:52.48ID:TZAgad9L
506です、返信気付かずお返事遅れてすみません!
>>508 言葉足らずですみませんでした>_<
>>509 すごい! 詳細な実例ありがとうございます!! 助かりました!
2017/01/16(月) 06:04:15.87ID:nj83EOt6
命令の引数以外に書かれた$0や%0はだいたい中身に自動変換されると思って間違いない
2017/01/16(月) 22:28:04.88ID:2AWcRuBO
改めてテストしてみたけど
[$Name]をgettag $varすると、普通に"$Name"って文字列が帰ってくるね

lsp sp,":s#RRBBGG"+"$str",x,yが
lsp sp,":s#RRBBGG"+"",x,yと同じスプライト(width=1,heigh=fontの高さ)を生成するみたい

>509で空文字列っていうのは勘違いでした。

*define
pretextgosub *pre_txt_lb
numalias Name,100
game

*start
mov $Name,"あいうえお"
[$Name]
end

*pre_txt_lb
gettag $0
mesbox $0,"tag"
if $0 == "$Name" mov $0,$Name
mesbox $0,"$var"
return
2017/01/29(日) 19:14:56.67ID:k6gD2cV+
LuaアリならNSCall_tag内で変換するといいかもしれんね
2017/03/03(金) 14:04:20.11ID:/5wdTSkq
ろだです
アップローダのファイル倉庫にあるアーカイブですが、>>459問題により差し替えました(中身は一緒)
本スレへのリンクも後ほど更新いたします

長い間ほったらかしにしてしまいすみませんでした
また、ご指摘いただいた方々には重ねてお詫びを申し上げます
516ろだ
垢版 |
2017/03/03(金) 19:10:57.96ID:D0vIifTb
リンク修正しました
2017/03/04(土) 03:57:29.26ID:BlNMk/oC
お疲れ様です
2017/03/06(月) 12:15:06.47ID:CwNFW8Kj
なんかセーブするとsave1.ssっていうファイルが出来てるけどなんなんでしょうか
実態はスクリーンショットbmpみたいだけどスクショ系命令は使ってません
2017/03/06(月) 22:18:35.43ID:XazHrUeb
>>518
自作のスクリプトの話?

このスクリプトで.ssってファイルできる?
*define
game
*start
くりっく
\
savegame 10
end
2017/03/07(火) 21:07:10.19ID:venXESi6
>>519
自作のスクリプトの話です
>>519で.ssはできなかったから組み方の問題か……
かなり作りこんでるから原因究明に骨が折れそうだ
2017/03/07(火) 21:08:50.30ID:venXESi6
ちなみにほぼLuaで組んじゃってます
522518
垢版 |
2017/03/17(金) 14:01:39.41ID:EZUijqDG
わかった!NSDCopyToBgやbgcopyを使うと.ssが一時作成されて、セーブ時にそれがそのまま残るみたいだ
以下は検証スクリプトなので、まずい所あれば指摘してもらえるとありがたいです

*define
game

*start
bgcopy
drawfill 255,0,128
draw

savegame 1
click
end
2017/03/17(金) 22:17:32.04ID:n1ztOFiG
本当だね。うちの環境でもsave*.ssできました
bgcopyで編集したbgを、savegame時にsave*.ssに保存してるみたいだね
loadgame時に、save*.ssから読み込んでbgを復元させてるみたい
ver2.51からこの仕様になったみたいだね

;1:save*.ssできる
*start
bgcopy
savegame 10
click
end

;2:save*.ssできない
*start
bgcopy
click
end

;3:save*.ssできない
*start
bgcopy
bg #000000,1
savegame 10
click
end
524518
垢版 |
2017/03/18(土) 21:02:23.77ID:4e5QTXWB
ありがとさんくす
仕様なら気にすることないですね
これでやっと先に進める……
2017/03/21(火) 00:46:14.18ID:kpuQAphR
長年使ってるのに知らんかった
2017/04/17(月) 19:42:02.42ID:8Pnq25O/
ろだが繋がらない状態が続いてるみたい?
ファイルが入用な方は直接こちらから飛んでください(すみません)
http://ux.getuploader.com/nsc_pub/
http://ux.getuploader.com/nsc_arc/ 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
2017/07/06(木) 19:17:21.49ID:zKaQ02ia
textfield命令って、$0で取得することしかできないのでしょうか?

textfield $0,100,50,320,70,10,20,1
リファレンス通りに以上のように入力すれば機能しますが…


textfield $name,100,50,320,70,10,20,1
のように文字列変数を使用したり、

mov $0,$name
textfield $0,100,50,320,70,10,20,1
のように代入しておいたりすると機能しません

そんな事で使い物になる筈がないので
私がとんでもないみす勘違いをしているのかもしれませんが…
どなたか分かる方がいらっしゃったら助言下さるとありがたいです!
2017/07/06(木) 20:52:54.18ID:zKaQ02ia
>>527 一行目 $0で取得することしかできないのでしょうか?

「$0でしか」取得することしかできないのでしょうか?
の間違いでしたすみません
2017/07/06(木) 21:21:34.67ID:zKaQ02ia
>>527
もう少し検証したところ、
$0なり$nameなりに全角文字列が入っていると機能しないようです
$nameに"name"を代入しておくと機能しました

しかしそれを使って"なまえ"と入力するとまた機能しなくなります…
そういう仕様なんでしょうか?
今回は諦めてinputを使おうと思いますが、
何か分かる方いらっしゃればコメント下さい…!

長々と一人で失礼しました
2017/07/07(金) 13:04:29.85ID:c5kdWwsJ
これで動かない?

*define
numalias name,100
game
*start
mov $name,"あいうえお"
textfield $name,100,50,320,70,10,20,1
$name
click
end
2017/07/07(金) 19:06:54.52ID:ll7Gp+TB
>>530
返信ありがとうございます!
頂いたスクリプトのみで動かすと機能しました!
しかし自分のに組み込むと駄目なので検証してみたところ
btndown 1 が機能している事が原因だと判明いたしました!

クリックで飛んだ先でtextfield命令があるので、
そのせいでマウスを押し続けている間はテキストフィールドが開いているが
指を離すと消えてしまうという状態になっていました

飛んだ先でbtndown 0を入れてもclickなりを挟まないと解除はできないようなので
btndownを諦めるか何かをクリックさせるかで解決できそうです

確実に動くスクリプトを頂いた事で、色々検証できました!
本当にありがとうございました
2017/07/07(金) 19:14:18.67ID:ll7Gp+TB
連投すみません
clickさせなくてもprintを挟めば大丈夫でした
解決しました、ありがとうございました!
2017/10/18(水) 09:38:49.19ID:r1NFbPlC
function NSCOM_print()
local n=NSPopInt()
if(n==1)then
NSUpdate()
else
NSExec('_print '..n)
end
end
NSExec('luasub print')

ひょっとしてprint 1ならNSUpdateに投げる的な分岐作った方がluasubなしの_print 1直接呼ぶより僅かに動作早い?
2017/10/19(木) 22:24:45.45ID:26ONJpRU
print 1よりNSUpdate()の方が速いか?って言う意味なら
有意な差はないんじゃない?

--system.lua
function NSCOM_invalidate()
NSInvalidate(0,0,639,479)
end
function NSCOM_update()
NSUpdate()
end
2017/10/19(木) 22:27:02.63ID:26ONJpRU
;00.txt
*define
luasub invalidate
luasub update
game

*start
setwindow 8,16,22,23,22,22,0,2,20,1,1,#999999,0,0,639,479
lsp 10,":c;>640,480,#238c82",0,0,128
lsp 11,":c;>640,480,#234d8c",0,0,255
print 1
クリックしてね
\
3回計測しています
時間かかるので、そのままでお待ちください…
for %100=1 to 3
mov $0,"*update0"
gosub *test
mov %10,%0
mov $0,"*update1"
gosub *test
mov %11,%0
mov $0,"*update2"
gosub *test
mov %12,%0
%100回目:
画面更新なし  :%10
NSUpdate:%11
Print 1 :%12
br
next
2017/10/19(木) 22:27:59.74ID:26ONJpRU
計測終了です
click
end

*test
resettimer
for %0=1 to 50
invalidate
gosub $0
next
gettimer %0
return

*update0
return

*update1
update
return

*update2
print 1
return
2017/10/20(金) 07:37:01.70ID:HX7QfCAd
ttps://ux.getuploader.com/nsc_pub/download/8
細かく試してみた。僅かにNSUpdate()呼びの方が軽くはなるみたいだけど…
その僅かな差が問題になるほど頻繁に画面更新するスクリプトならそもそもNSLuaとか使った方がよくない?
って感想かなあ 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
538名前は開発中のものです。
垢版 |
2017/11/03(金) 06:10:40.79ID:p91MeMc2
setlayerで指定する「レイヤー番号」ってそれ自体はスプライト番号とはまったく別枠なの?
lsp 10,"*1"
と書いて初めてスプライトと結び付く?
十年以上勘違いしてたぜ……
2017/11/04(土) 00:16:47.85ID:5V+lm//F
>setlayerで指定する「レイヤー番号」ってそれ自体はスプライト番号とはまったく別枠なの?
Yes
レイヤ番号とは、プラグイン(.dll)の登録番号です
レイヤプラグインは32個まで登録できます(0-31)

>lsp 10,"*1"
>と書いて初めてスプライトと結び付く?
Yes
プラグインのDraw()が呼び出されるようになります

たとえば
setlayer 1,30,"foo.dll"
lsp 10,"*1"
とすると

NScripterは画面更新時に
スプライト10番を描画するタイミングで
foo.dllのDraw()を呼び出します
foo.dllのDraw()で雪を描いたり、雨を描いたり、動画のフレームを描いたりするわけです

「lsp 10,"test.png",0,0」
のようにイメージを読み込んで表示するのに対して
こうしたやり方を「動的に画像を生成する」といいます
2017/12/10(日) 19:37:29.14ID:UmUCyanG
最終バージョンのエヌスクリプターで作成したゲームを知人のパソコンで開こうとすると、立ち上がって少しで「動作を停止しました」として落ちてしまうそうです。
自分の環境win7のパソコン二台で試しましたが問題なく進みます。
知人のパソコンは8のようなのですが、ファイルの共有のプロパティに問題があるのではという意見を受け、
手元で確認したところ互換性にチェックを入れる項目がありました。
が、試しに開いた他ソフトのプロパティには存在する「セキュリティ」という項目もそれらしく見えたのですが
エヌスクリプターのエンジンのプロパティにはそれが含まれていません。
知人に何度も試してもらうのも申し訳なく、共有の問題が本当に原因なのか、悩んでいます。
グーグルでも「落ちるときは最終バージョンのエンジンを使って」とまでしか言及が見つからず途方に暮れております。
似たような状況に陥った方はいらっしゃらないでしょうか?またこれと思われる原因は他にありますでしょうか?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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