[過去ログ] NScripter Ver.19.00 (553レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1: 2014/01/30(木)22:41 ID:BRbRh5DC(1/6) AAS
商業流通でなければフリーで利用可能な
ゲームエンジンNScripterについて語るスレです。

・本家
外部リンク:www.nscripter.com

・うpろだ
外部リンク:nscuploader.wkeya.com
473: 2016/06/12(日)22:46 ID:qYWNT7Kr(1/2) AAS
spfont
474
(1): 2016/06/12(日)22:46 ID:qYWNT7Kr(2/2) AAS
ごめん、書き込み失敗した…

spfont "MS ゴシック",23,23,0,4,0,0
を事前に一回指定しておくといいかも
475: 2016/06/13(月)01:08 ID:yGxmnqdD(1) AAS
>>474
ありがとうございます、今調べてみましたらそういう命令があったのですね、知りませんでした。
さっそく試してみます、重ねてありがとうございました。
476: 2016/06/17(金)00:55 ID:LJFFsXJ8(1) AAS
新ボタン命令(っぽい処理)をLuaで真似て作った
外部リンク[zip]:ux.getuploader.com
btrans等再現できない(と思われる)機能は再現してなかったりするけど使う人いたらどうぞ

Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
477: 2016/06/18(土)22:02 ID:pwVeiYm0(1) AAS
影なしの文字スプライトって微妙に使い所難しくない?
俺が使おうとするとどうしても背景色に溶け込んじゃう
478
(1): 2016/06/19(日)22:55 ID:5zs5OI5I(1) AAS
>背景に溶け込む
・下にテキストウィンドウ代わりのスプライトを半透明で敷いておく
・フォントを大きく、太文字にする
対策ってこれくらいかしら?

>使いどころ
DropShadowとか使いたい場合は、影ない方がいいのかも
479: 名無しさん@そうだ選挙に行こう! Go to vote! 2016/07/10(日)07:19 ID:J59fC5+/(1) AAS
>>478
あーなるほど、プラグインのために使うってのが頭からすっぽり抜けてた
480
(3): 2016/07/11(月)17:18 ID:VNomLgYC(1) AAS
anm.dllの作者さんはもう見てないだろうか
pupudebug.dllのフォントの大きさをもっと大きくして欲しい・・・
高解像度ディスプレイだからか字が豆粒みたいで非常に見にくい
481: 2016/07/15(金)05:10 ID:IBiblHJ3(1) AAS
最終2012年だから微妙に厳しそう
だけどサイトに連絡先乗ってるからダメもとで要望出してみてもいいんじゃないか
482: 2016/07/16(土)02:56 ID:RqvI9JDN(1) AAS
Luaテクスチャで似た挙動させることは出来そう
483
(1): 2016/08/06(土)11:15 ID:90u9ihpo(1) AAS
>>480
まさか使ってくれてる人がいたとは思いませんでした。
pupudebugを久しぶりに更新して、フォントサイズを変更できるようにしときました。
詳しくは00.txtの最後のほうを見て下さい。
484
(1): 2016/08/06(土)13:27 ID:jvnNi9Fg(1) AAS
1週間前にも告知いたしましたが再度告知致します。
ゲ製板の任意ワッチョイの導入についての投票を8月7日(日)に行います。
スレの>>2の訂正部分に気を付けて是非参加お願い致します。
2chスレ:vote
485: 480 2016/08/06(土)20:14 ID:SjDoHNEn(1/2) AAS
pupudebug更新きた
ありがたやありがたや
486: 2016/08/06(土)20:15 ID:SjDoHNEn(2/2) AAS
>>483
レス見てなかった
対応ありがとうございます!これでデバッグが捗ります!
487: 2016/08/07(日)01:06 ID:KJmZIl4L(1) AAS
【訂正】
>>484において8/7(日)に行うと告知されたワッチョイ導入についての投票ですが、
自治スレでは投票の是非について結論が出ておらず、
現時点において投票の実施が決まったという事実はありません
なお、ワッチョイ導入そのものが否決されたわけではありません
導入についての議論は現在も自治スレにおいて継続中です
ご意見のある方は自治スレまでお越しください
省2
488: 2016/08/07(日)01:07 ID:95O87T0V(1) AAS
荒らしが出没しておりワッチョイの議論だけでなく投票自体もまとまらないから
投票を開始しましたが【訂正】と言い投票自体を妨害する方が出没しています。
投票自体は20:59まで行っており、確認時間も23:59までの3時間行っておりますので
是非参加お願いいたします。
2chスレ:vote
489: 2016/08/12(金)17:37 ID:9Xfzn5cg(1/4) AAS
NScripterDSってplayexしたoggファイルをstopで停止できなかったりする? playとplayloopexで再生されたファイルは止まるけどplayexだけ0が返っちゃう
490: 2016/08/12(金)17:50 ID:9Xfzn5cg(2/4) AAS
あ、playfreeで再生されてるとそもそもstopで止まらないのか…
491: 2016/08/12(金)18:10 ID:9Xfzn5cg(3/4) AAS
連投すまん、stopにフェード時間与えるとボリュームが0になるだけで再生が止まらない。これは仕様?Win8.1
492: 2016/08/12(金)22:21 ID:GTBqMyVH(1) AAS
仕様ぽいね[OS:Wine-1.4]
exec_dll "NScriterDS.dll/Volume|name|0|time"
してるだけみたい
自前でStopしてVolume再設定するといいかも

;test01.oggを読み込んで再生する
*define
stralias file_name,"test01.ogg"
省22
493
(1): 2016/08/12(金)23:30 ID:9Xfzn5cg(4/4) AAS
ありがと、新しくloadするにせよロード済みのid使うにせよplay前にあらかじめstopとボリューム初期化噛ませておいた方が安全ですかね…
494: 2016/09/05(月)13:38 ID:3ILYBxCe(1) AAS
splitが標準命令に入ってるのは割と偉い判断だったと思う
495: 2016/09/05(月)15:36 ID:js57+KTZ(1) AAS
>>493
ものすごい遅いレスだけど、stopとfreeの違いはリファレンスに書いてあるよ
あとろだのラッパーなんかも見てみるといいと思う
496: 2016/09/06(火)02:01 ID:y+SHv1Mh(1) AAS
よほど特殊な使い方でない限りは2曲前のメモリを解放するようにしとけばクロスフェードさせつつメモリの心配せずに済むと思う
497: 2016/10/04(火)11:38 ID:WMuq/SLD(1) AAS
?Visual Studioで新規C++プロジェクト作成して
?Luaとスタックをやりとりする適当な関数hoge(受け取った値計算して返す)をC側に作る
 Lua5.1ライブラリを読み込む、lua_tointegerとか使う
?Lua5.1.dllに依存するdllファイルをコンパイルする
?作ったdllファイルからNL_bindで関数hogeの参照を引っ張る
?hoge()をLuaから直接呼んで返り値受け取るコードを書く
?nscr.exeと同じ場所かdllフォルダにLua5.1.dllを置けばちゃんと動作する
省3
498
(1): 2016/10/04(火)22:08 ID:d+T9HY2t(1/2) AAS
こんな感じかな
//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);
省7
499
(1): 2016/10/04(火)22:10 ID:d+T9HY2t(2/2) AAS
書き込み失敗した…
続きです

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

*define
humanz 200
windowback
pretextgosub *pretext_lb
省3
510: 2017/01/10(火)05:40 ID:sNJP6WMc(2/2) AAS
*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!!」
\
省16
511: 2017/01/11(水)01:52 ID:TZAgad9L(1) AAS
506です、返信気付かずお返事遅れてすみません!
>>508 言葉足らずですみませんでした>_<
>>509 すごい! 詳細な実例ありがとうございます!! 助かりました!
512: 2017/01/16(月)06:04 ID:nj83EOt6(1) AAS
命令の引数以外に書かれた$0や%0はだいたい中身に自動変換されると思って間違いない
513: 2017/01/16(月)22:28 ID:2AWcRuBO(1) AAS
改めてテストしてみたけど
[$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
省12
514: 2017/01/29(日)19:14 ID:k6gD2cV+(1) AAS
LuaアリならNSCall_tag内で変換するといいかもしれんね
515: 2017/03/03(金)14:04 ID:/5wdTSkq(1) AAS
ろだです
アップローダのファイル倉庫にあるアーカイブですが、>>459問題により差し替えました(中身は一緒)
本スレへのリンクも後ほど更新いたします

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

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

*define
game

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

;1:save*.ssできる
*start
bgcopy
省15
524: 518 2017/03/18(土)21:02 ID:4e5QTXWB(1) AAS
ありがとさんくす
仕様なら気にすることないですね
これでやっと先に進める……
525: 2017/03/21(火)00:46 ID:kpuQAphR(1) AAS
長年使ってるのに知らんかった
526: 2017/04/17(月)19:42 ID:8Pnq25O/(1) AAS
ろだが繋がらない状態が続いてるみたい?
ファイルが入用な方は直接こちらから飛んでください(すみません)
外部リンク:ux.getuploader.com
外部リンク:ux.getuploader.com

Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
527
(2): 2017/07/06(木)19:17 ID:zKaQ02ia(1/3) AAS
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
省4
528: 2017/07/06(木)20:52 ID:zKaQ02ia(2/3) AAS
>>527 一行目 $0で取得することしかできないのでしょうか?

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

しかしそれを使って"なまえ"と入力するとまた機能しなくなります…
そういう仕様なんでしょうか?
今回は諦めてinputを使おうと思いますが、
省2
530
(1): 2017/07/07(金)13:04 ID:c5kdWwsJ(1) AAS
これで動かない?

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

クリックで飛んだ先でtextfield命令があるので、
そのせいでマウスを押し続けている間はテキストフィールドが開いているが
省5
532: 2017/07/07(金)19:14 ID:ll7Gp+TB(2/2) AAS
連投すみません
clickさせなくてもprintを挟めば大丈夫でした
解決しました、ありがとうございました!
533: 2017/10/18(水)09:38 ID:r1NFbPlC(1) AAS
function NSCOM_print()
local n=NSPopInt()
if(n==1)then
NSUpdate()
else
NSExec('_print '..n)
end
省3
534: 2017/10/19(木)22:24 ID:26ONJpRU(1/3) AAS
print 1よりNSUpdate()の方が速いか?って言う意味なら
有意な差はないんじゃない?

--system.lua
function NSCOM_invalidate()
NSInvalidate(0,0,639,479)
end
function NSCOM_update()
省2
535: 2017/10/19(木)22:27 ID:26ONJpRU(2/3) AAS
;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
省23
536: 2017/10/19(木)22:27 ID:26ONJpRU(3/3) AAS
計測終了です
click
end

*test
resettimer
for %0=1 to 50
invalidate
省12
537: 2017/10/20(金)07:37 ID:HX7QfCAd(1) AAS
外部リンク:ux.getuploader.com
細かく試してみた。僅かにNSUpdate()呼びの方が軽くはなるみたいだけど…
その僅かな差が問題になるほど頻繁に画面更新するスクリプトならそもそもNSLuaとか使った方がよくない?
って感想かなあ

Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
538: 2017/11/03(金)06:10 ID:p91MeMc2(1) AAS
setlayerで指定する「レイヤー番号」ってそれ自体はスプライト番号とはまったく別枠なの?
lsp 10,"*1"
と書いて初めてスプライトと結び付く?
十年以上勘違いしてたぜ……
539: 2017/11/04(土)00:16 ID:5V+lm//F(1) AAS
>setlayerで指定する「レイヤー番号」ってそれ自体はスプライト番号とはまったく別枠なの?
Yes
レイヤ番号とは、プラグイン(.dll)の登録番号です
レイヤプラグインは32個まで登録できます(0-31)

>lsp 10,"*1"
>と書いて初めてスプライトと結び付く?
Yes
省12
540
(2): 2017/12/10(日)19:37 ID:UmUCyanG(1) AAS
最終バージョンのエヌスクリプターで作成したゲームを知人のパソコンで開こうとすると、立ち上がって少しで「動作を停止しました」として落ちてしまうそうです。
自分の環境win7のパソコン二台で試しましたが問題なく進みます。
知人のパソコンは8のようなのですが、ファイルの共有のプロパティに問題があるのではという意見を受け、
手元で確認したところ互換性にチェックを入れる項目がありました。
が、試しに開いた他ソフトのプロパティには存在する「セキュリティ」という項目もそれらしく見えたのですが
エヌスクリプターのエンジンのプロパティにはそれが含まれていません。
知人に何度も試してもらうのも申し訳なく、共有の問題が本当に原因なのか、悩んでいます。
省2
541
(1): 2017/12/11(月)23:27 ID:O6qCUX1D(1) AAS
「Windows 動作を停止しました」でググるとNScripter以外でも検索に引っかかるね
Vista以降で極たまに発生することがあるみたい
たぶん、Windowsのよく分からん不具合の一つだと思う

OSをリカバリーすると改善したっていう書き込み見たけど
ちょっと試すのは面倒くさいよね…
542
(1): 2017/12/12(火)09:25 ID:yJi9OCvU(1) AAS
>>540
自分もwin8.1で、いろんな所のNスク製ゲームやってるけど落ちた事はないよ
一応、互換性は右クリック→互換性のトラブルシューティングで変更できるみたい
もう試してたらゴメン
543
(1): 2017/12/12(火)12:35 ID:sSgfdsGT(1/2) AAS
>>540 >>541 >>542
配布したゲームのプレイヤーの何人かからWin8以降の環境でゲームを起動したら
上手く動作しなかったという連絡もらったけど
その後OSを再起動したら問題なく動いたらしい
544
(1): 2017/12/12(火)12:37 ID:sSgfdsGT(2/2) AAS
コーディングが悪いんだろうけどパラメータに応じて分岐する馬鹿みたいな量のif文を書いてしまっているので
switch命令欲しい
545
(1): 2017/12/12(火)23:55 ID:w7ET5Fhl(1/2) AAS
>>544
tablegoto使うかtablegosub作って、switchの代用にするのもありかも
tablegosubはNScrでも作れるけど、制御文多用するならLuaの方がやりやすいかも

--system.lua
NL_dofile("sample.lua")

function NSCOM_tablegosub()
local t = NSPopStr()
省17
546
(1): 2017/12/12(火)23:55 ID:w7ET5Fhl(2/2) AAS
;00.txt
*define
luasub tablegosub
game
*start
inputnum %0,"数値を入力して下さい(1,2,15)",160,96,64,24

;パラメーターによる分岐が一応実現できる
省3
547: 2017/12/13(水)12:12 ID:GSr2gHnf(1) AAS
>>543.541.542
再起動とソフトの入れ直しで解決したようです 手元で現象が確認できずあくまでも「したようだ」とのことなのがもどかしいですが
ありがとうございました
548: 2017/12/14(木)23:50 ID:oLSFdB/z(1) AAS
>>545-546
tablegoto命令の存在を知らなかった…
ありがとう!Lua難しそうだけどやっぱり使えないと駄目だなあ
549
(1): 2017/12/15(金)22:13 ID:QOTdCGH1(1/3) AAS
蛇足かもしれんけど、NScrでtablegosub作るとこんな感じになるよ

使い方:
tablegosub "*label_",10とすると
*label_10にgosubする

パラメーターが負の数の場合、正負反転して頭に"M"が付く
tablegosub "*label_",-15だと
*label_M15にgosubする
省10
550
(1): 2017/12/15(金)22:13 ID:QOTdCGH1(2/3) AAS
*tablegosub
;[%0][$0,$1]を使用
getparam $0,%0
if %0>=0 itoa $1,%0
if %0<0 mul %0,-1:itoa $1,%0:mov $1,"M"+$1
mov $1,$0+$1
labelexist %0,$1
省3
551
(1): 2017/12/15(金)22:14 ID:QOTdCGH1(3/3) AAS
;テーブルの処理
*sample_0
mesbox "0","sample"
return
*sample_1
mesbox "1","sample"
return
省18
552: 2017/12/16(土)23:10 ID:82GyQIvB(1) AAS
>>549-551
すごく詳しいサンプルありがとうございます
これを参考に今日明日がんばってみます
553: 2017/12/31(日)18:29 ID:/rN76OKL(1) AAS
簡単にお金が稼げる方法興味ある人だけ見てください。

グーグル検索⇒『来島のモノノリウエ』

3YM4IMJTW8
1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.252s*