NScripter Ver.19.00

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

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

・うpろだ
ttp://nscuploader.wkeya.com/
318305
垢版 |
2015/03/31(火) 19:09:34.91ID:EWcAP6ON
皆様ありがとうございます。

>>317
前回のサンプルを見まして、LUAがわからないながらも大体のやっている事は何とか把握できまして、
丁度自分でもNスクのみで実装のアイデアが湧いたところでした。
実際にそれで組めましたし、>>317様の新しいバージョンも見たところ、
ほとんど同じ流れになってるっぽいですw

素晴らしいスクリプト、視点、のおかげで解決できました!
本当にありがとうございます!とても困っていたので……!
2015/03/31(火) 22:54:31.73ID:Jbg+6tHS
……!
2015/04/01(水) 01:36:26.43ID:8dLcj0I6
皆が言いたいことは分かるぞ、だがここは堪えるんだ
2015/04/04(土) 11:45:10.56ID:PuBBy63n
数年ぶりに弄ってて気づいたんだけど
nscrってwin7でなら普通にh264再生できるのな
こりゃまだまだ使い道あるかもしれん
2015/04/04(土) 19:07:50.34ID:bBZg+ksf
機種依存で泥沼にはまる予感
323名前は開発中のものです。
垢版 |
2015/04/05(日) 21:10:00.08ID:35akNbYF
Naoki TakahashiさんはTwitterを使っています:
"NScripter2はこのまま仕様を固めてしまおう。
さすがに数年寝かせただけあって(仕事で使いまくってましたが)内製エンジンとしては十分こなれてると思う。
あとは一般公開に向けてのブラッシュアップに専念する。デバッグとドキュメントとサンプル作成。"
https://twitter.com/NaokiTakahashi/status/584140839665795072

Naoki TakahashiさんはTwitterを使っています:
"今ADV形式とノベル形式のサンプルを作ってたところ。あとはスプライト周りのサンプルつけたら同梱サンプルは完成。
で、これ以上仕事で機能追加するきっかけがなさそうなんだよなあこれ。俺が今受けてる仕事だと。動画もこれでいけそうならば。"
https://twitter.com/NaokiTakahashi/status/584141225160155136

Naoki TakahashiさんはTwitterを使っています:
"チュートリアル的なゲームコンテンツをちまちま公開しつつ、次のプロジェクトに移るかな。"
https://twitter.com/NaokiTakahashi/status/584141664395993089 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
2015/04/05(日) 21:54:41.38ID:wYrriWzs
久しぶりにやる気になってるのか
あまり期待しても肩透かしくらいそうだから
放置気味に静観してるのが吉
2015/04/07(火) 21:30:37.62ID:uH8y4nZQ
一応正式版来たみたいだなNスク2
326名前は開発中のものです。
垢版 |
2015/04/07(火) 23:17:30.40ID:cp6zZ0KB
NScripter2キタコレage
327名前は開発中のものです。
垢版 |
2015/04/20(月) 05:50:52.09ID:OhQaE1H6
NScripter2特設ページ http://www.nscripter.com/nscr2.html
2015/04/20(月) 05:55:09.04ID:OhQaE1H6
Naoki TakahashiさんはTwitterを使っています:
"NScr2は、ウィザードには無理がある(カスタマイズの要件が多すぎそう)
なので、結局、チュートリアルを作ることにした。特設ページを作って今後の更新を予告などした。
最低でも週一くらいで更新していくかなあ。"
https://twitter.com/NaokiTakahashi/status/587424016392007680
2015/04/30(木) 13:33:06.49ID:dFZpmXOF
マイクロソフト、Macでも動くVisual Studio Code 無料提供。クラウドアプリ向けコードエディタ - Engadget Japanese
http://japanese.engadget.com/2015/04/29/mac-visual-studio-code/?ncid=rss_truncated
2015/04/30(木) 21:22:29.76ID:CKq2q76x
犬と猫さんとこの新作ゲームはどうやらシステム部分の多くをnsluaに移行したらしく
いろいろ参考になることをやっているよ
2015/05/02(土) 23:54:34.73ID:ySpyngDL
Nスク触り始めたんだけどドキュメントって公式にあるやつだけ?
2015/05/04(月) 04:07:13.73ID:96BjKmD9
だいぶ昔から非公式の解説サイトに依存する形なので、体系的に覚えるならろだの非公式マニュアルとNScripter Tipsあたり見とくと吉
解説が最新事情に対応してないサイトもあるから注意
2015/05/10(日) 10:28:21.69ID:4cqijbL4
よく使われてたサイト貼ろうとしたらNGワード
どうなってんのこの掲示板…
2015/05/11(月) 00:40:05.27ID:V1SRAF26
エヌスク2がでたしエヌスク1の最終バージョンの完全なドキュメント欲しいなー
って思うけどまとめるにしても情報のソースすらないから困る
2015/05/11(月) 08:15:58.59ID:EPdktNiq
ドキュメントガクソだよなぁ
後付けだらけでスパゲッティになってるのもクソだけど
2015/05/12(火) 16:16:35.52ID:mLwnyKxP
http://nscuploader.daiwa-hotcom.com/arc/manual/online/man.htm じゃあかんのか
2015/05/12(火) 19:50:50.71ID:92mNXtMZ
公式で欲しいってことじゃないのかね
2015/05/12(火) 23:59:10.78ID:U8aBl51Y
ドキュメント作るとしてwikiあたりで編集できればいいかね
まあNScrに熟達してて編集するやつがいないってオチなんだろうけど
2015/05/13(水) 23:27:55.97ID:qdS+amH1
今更、初代のドキュメント整備しようぜって言われもなー…
使い道って全ての命令群を備えてるわけじゃない互換系しか思い当たらないんだが
340名前は開発中のものです。
垢版 |
2015/05/14(木) 20:55:10.43ID:ya//G+jS
だよな。ろだ主氏と先祖川氏のドキュメントで充分すぎるくらい整ってる
2015/05/15(金) 00:53:06.10ID:dZFughX9
一番グダグダだった音回りは後付けに次ぐ後付けを経て「いいからdwaveとbgmだけ使ってあとは全部忘れろ」に落ち着いたし、
2.96で半端に終わってしまったのは新ボタンくらいじゃないか
2015/05/15(金) 06:30:08.18ID:dXOk5uDn
ノベルエンジン探してるやつ見かけたら別のエンジンに誘導すればいいだけ
新規は完全にお呼びじゃないし
2015/05/16(土) 05:08:26.64ID:c26Zhgd2
ノベルゲーがエロゲ業界共々退潮著しくて、コミュニティ崩壊状態だからな…
吉里吉里もギリギリ維持されているような状態だし
2015/05/16(土) 15:34:27.93ID:6KiKEhmN
第一回PLiCy ゲームコンテスト結果発表
http://plicy.net/contests/1Result/
2015/05/16(土) 16:56:23.45ID:LzObCWRD
>>341
新ボタンはマジで神だぞ。とにかく断然早い。たったそれだけだけど、ほんとに違う。
あと細かいけど2.93から実装だな。
2015/05/17(日) 07:10:05.70ID:cvkM9lJ0
拡張スプライトって使い勝手はどうなの?
スプライトの代わりに使えってこと?
2015/05/17(日) 12:26:11.46ID:5lYj4soM
拡張スプライトは縦横に引き延ばしたり回転させたりしたい場合に使う
表示順がスプライトほど融通利かなかったりそもそも(相対的に)重かったりするので必要に応じてどうぞ
2015/05/17(日) 15:23:16.48ID:cvkM9lJ0
徐々に拡大にしていく感じにしてみたけど画像が汚いな…
アニメーションには向かないってことか
2015/05/17(日) 19:06:21.36ID:568eVXQ5
むいむい。ことのプラグイン使えば良いでしょ
2015/05/19(火) 00:25:32.85ID:ZEuC3xXS
拡大はオマケで回転が主だと思う
拡大するのではなく、大きめの画像を縮小した状態から等倍に近付けていくと汚くなりにくいかもしれない
2015/05/19(火) 18:14:46.10ID:my6BGr06
みなさんはNS2に移行しましたか
それもとこれからですか
2015/05/20(水) 16:15:16.14ID:D1G3Loy4
>>350
昔やったことあるけど、
ドット絵っぽくなるだけだよ
効果としては面白いと思ったから使いようはあるかもしれない
2015/05/21(木) 17:26:13.67ID:yZnE071a
>>351
使い回しコードが外部dllに依存しすぎで移行しようにもできません
2015/05/21(木) 20:14:31.83ID:MoB9tLF0
>>353
ヘビーなNスクユーザーなら大体みんなそうなるよなw
2015/05/25(月) 18:06:52.73ID:GYINX7ds
ろだです。長い間放置していてすみませんでした
ダウンロードができないという問題を把握しました
が、パーミッションをいくら確認しても解決できず
当方の知識では解決できそうにありませんので、外部にアップローダを借りることにしました
今後はとりあえずそちらのほうにアップお願いします。ご不便をおかけして大変申し訳ありません
>>302さんの一連のサンプルもアップしておきました
http://ux.getuploader.com/nsc_pub/

また、同時に他のファイルのバックアップ保管庫も作りましたので、サイトが見られないなどの際にご利用ください
http://ux.getuploader.com/nsc_arc/ 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
2015/05/26(火) 13:41:06.35ID:LExKHkAQ
2015/05/26(火) 14:52:26.09ID:8Pn1VELT
むいむいさんとこのスプライト操作プラグインを落とそうと思ったら変なページに飛ばされて落とせない
他のプラグインも軒並み落とせない
あとsenzogawaさんとこも500エラーで見れない
2015/05/27(水) 19:28:12.97ID:609vlGI6
ツイッターやべえな
作者とエヌスクの未来は暗いのか
2015/05/27(水) 20:12:33.91ID:PEfz9iwM
かつてないほど鬱気味だった
心配すぎる
2015/06/02(火) 14:30:33.51ID:MFgt3iYg
ttp://www.eiji8pou.net/ 自体がドメイン切れてるね
WebArchiveから落とせなければアウト、ダメモトで本人に頼むのも手かもしれないが
2015/06/02(火) 19:41:16.72ID:z4tKv8LX
Hrm.
Wayback Machine doesn't have that page archived.

おわた
2015/06/02(火) 23:03:59.28ID:6CuS+BCf
持ってはいるが、添付テキストに二次配布の言及がないので
良いのかも分からず支援できん
2015/06/07(日) 15:21:36.44ID:pvA+W/Nu
ツイッターで直談判してみたらいいんじゃね
2015/06/09(火) 14:03:24.20ID:Ocxtc+m5
そろそろ一時代築いて引退ってことでいいんじゃないか?
今Nscで作ってるのは個人だろうけど個人でももっとリッチな環境で作れる時代になったよ
2015/06/09(火) 15:10:48.26ID:9IkKWXSj
でもWindows用一本でサウンドノベル作るって前提なら未だに最前線級だと思うんだ
366名前は開発中のものです。
垢版 |
2015/06/09(火) 16:27:16.83ID:RyTbVIpP
Androidへの互換性だってあるしマダマダイケルヤロ
2015/06/09(火) 19:07:12.00ID:3m3jQLvw
これまで使ってるなら手持ちのプラグイン豊富に持ってるだろうから
イケるだろうけど新規なら他をあたれ
2015/06/09(火) 20:33:09.59ID:Qy9Oe795
ドキュメント、コミュニティ、リソース
全部崩壊してて後から来た人には劇物だよ
2015/06/11(木) 13:10:06.26ID:ZB3jVFa4
ドキュメントは残ってると思うんだ 非公式のが
2015/06/11(木) 15:44:00.57ID:4RvtRi8C
先祖川さんのリファレンスにろだの検索機能追加スクリプト入れて使ってる
2015/06/13(土) 19:49:13.51ID:HJsSkMeq
検索はctrl+Fで済ませてるな
そもそもワード知らんとヒットもしないから
流し読みが主だし。
2015/06/15(月) 18:01:20.92ID:WG2g8zQM
でも普段使わない命令はうっかり引数忘れちゃうよね
2015/06/15(月) 19:23:50.87ID:0udwFMir
うん。だからctrl+Fを使うのさ。
2015/06/16(火) 04:10:56.76ID:t0crlQmU
btnnowindowerase
ボタン時にテキストウィンドウが消えなくなります

↑この命令を使ってもbtnwait命令やbexec命令を使うと
テキストウィンドウが消えてしまうんだけど、どうすればいい?
ボタンが出てる時にテキストウィンドウが消えると
ゲーム内容的にかなり困る
2015/06/17(水) 00:07:11.05ID:oHKyhaeF
組み方が悪くて動作が変ってことじゃないなら
文字スプライトに置き換えろ
2015/06/17(水) 22:11:07.90ID:lOlFD6pT
btnnowindowerase命令は、機能していないみたいだね
erasetextwindow 0が代わりに使えると思います

;00.txt
*define
game
*start
bg #FF0000,1
setwindow 16,320 +16,20,23,26,26,0,2,20,1,1,#999999,0,320,639,479
ああああ
いいいいい
\
ううううう@
erasetextwindow 0 ;この行をコメントアウトすると違いがよくわかります。
lsp 100,":s#0000FF#00FF00#00FF00"+"ボタン01",320 -96,240 -96
bclear
bsp 100
bexec %100
bclear
erasetextwindow 1
おわり
\
end
2015/06/18(木) 07:18:39.20ID:S0VTm5ZR
こういった情報は貴重だな
仕様が不明だと正常な動作と異常な動作の見分けすらつかないからハマる
ドキュメントに反映されていくといいんだけどな
2015/06/18(木) 10:29:09.07ID:/UZCJ6a7
erasetextwindowって基本じゃねの
知らん方が変というか
2015/06/18(木) 22:30:55.94ID:JpHOHrG+
シスカマのサンプルに組み込まれてるレベルものを気付いてないんだし
ドキュメントに反映しても見落とす気がすんだけど…
2015/06/19(金) 00:33:54.94ID:COeKMrJa
>374-377ってbtnnowindoweraseについての話だと思うんだけど
これの使い方わかる人いる?
2015/06/19(金) 02:10:05.01ID:hAMydaRi
btnnowindoweraseでググっても取り扱っているページほぼ見ない(あっても相当古い)し俺自身使った記憶もない
気付いたら非対応になっていたzenkakkoパターンの誰にも気付かれなかった版じゃないか?
2015/06/19(金) 11:29:36.27ID:UuePPfHi
ちょっと軽く調べたけど
btnnowindoweraseってbtntimeに関連していて
effectskipが追加されてほぼ用なしなった命令じゃないっけ?

過去スレで画像エフェクト表示の時にクリックすると
次のテキスト表示が一瞬で表示される云々で
回避法で利用されてた覚えある
2015/06/19(金) 19:38:35.95ID:hAMydaRi
つまり意味ある命令だった期間が元々非常に短いのかな?
あんまり使用されないうちに存在意義失っちゃって非推奨命令として知られることもなかったと
2015/06/19(金) 20:42:31.13ID:RHqj7oCP
先祖川さんとこのリファレンスを見るに
ver.2.48からの命令っぽいから
期間自体はそれなりに長いじゃないの
2015/06/22(月) 03:52:52.77ID:o9yqChch
ゲーム内のボタンクリックでウェブサイトに飛ばすようにしたくて、検索したらshell命令を使えばいいらしいのですが
shell "(指定URL)"でやってもページが開かない…
なにか他に必要なのかな?教えていただけると助かります
2015/06/22(月) 22:35:45.58ID:F7f/frE0
うちの環境では普通に開けるよ

*define
game
*start
shell "http://google.co.jp";
shell "00.txt"
\
end
2015/06/23(火) 15:25:36.19ID:/BgK9QPb
>>386
ありがとうございます!386さんのをコピペして、
IE11じゃ開かなかったけどGoogle Chromeをインストールしたらそっちで開きました
これは解決したってことでいいのかなw
とにかくありがとうございました!
2015/06/29(月) 14:42:14.43ID:roo0zlz7
右クリックの挙動をキーに割り当てることってできますか?
ボタン命令は新の方使ってて、メニュー画面から戻るときなどに右クリックで戻る、というようにスクリプト組んでたんですが、
後からマウス使わずキーボードだけでもある程度操作できるようにしたいと思ってしまいました。
けど今から一つ一つにボタン操作後の挙動にif分岐挟んでいくと量がかなり多くなってしまい…
理想としてはdefine部に命令一つ書くだけでボタン待ち時にこのキーを押すと右クリックしたものとして扱い、進むようにする…というものがあれば嬉しいのですが
2015/06/29(月) 17:57:02.22ID:00TUuvjl
色々やりたいことをする≠楽して組む
だから労力は惜しむな
2015/06/29(月) 22:37:22.13ID:lN19qtNQ
bexecをラップするのはありかなと思う
サブルーチンを1個追加するだけで、振る舞いを変えられるのがメリットです

*define
defsub bexec ;bexecをラップ化する
game

*start
ボタンを押してね!
bclear
bcursor
bexec $100,%100
wait 20
mesbox $100,"押されたよ!"
goto *start


;--- 追加するサブルーチン ---
;--- %500,%501をワークエリアに使う
*bexec
getparam s%500,i%501
_bexec $%500,%%501
if $%500 == "A" mov $%500,"RCLICK" ;aが押されたら、RCLICKを返す
return
;---
2015/06/30(火) 04:43:20.05ID:ARP+19tb
なるほど…! bexecの下は大体if分岐になるからdefsub化した既存命令内でキー割り当てするのですね。
ありがとう! 参考になりました!
2015/07/01(水) 15:21:58.73ID:DanPzbq3
そうか、数字や文字で返すからボタン待ち命令乗っ取るとこういうすり替えが可能なのか
2015/07/18(土) 16:39:45.00ID:bPs/UpZd
今更ではあるけど、x264再生できるレイヤープラグイン欲しかったなぁ
すっかりmp4普及したせいでmpegとかoggのエンコ環境がもう手元にないよ…
2015/07/19(日) 01:48:24.08ID:e+HwMSTS
よし、作ろうぜ
2015/07/19(日) 22:32:57.57ID:2VK8fTyT
H.264ってパテント問題なかったっけ?
FFmpegでMPEG-1に変換できると思うよ
2015/07/27(月) 15:24:02.51ID:lYLQLW+8
NSfont.dllの外字登録は結局ns2アーカイブに対応しているのでしょうか?
nscripter覚書やtipsにはpng化すればver2.96はエラー回避できると書いてあるのですが、
png使用で、ver2.95、ver2.96両方試したんですがどっちも画像が見つかりませんと出て落ちてしまいました(アーカイブ前は問題なく機能します)
ぐぐったらver16のスレで同じようなことを言ってる人がいたんですが、他の人はns2アーカイブでも問題なく使えているの気になりました。
2015/07/27(月) 22:29:49.95ID:9iXEJgW+
うちの環境では問題なく使えるよ
ns2ファイルにアクセスできないか、ns2ファイル内の画像ファイルにアクセスできてないかの
どちらかだと思うから
テストして問題を切り分けてみるといいと思うよ

まずこれを試してみて、
*start
;ns2アーカイブ内のabcフォルダの中に画像ファイルがあるとした場合
lsp 10,":c;abc\hurt.png",320,240
print 1
\
end

問題が無ければ、こっちを試してみる
*start
exec_dll "NSFont.dll/gaiji,伝,abc\hurt.png"
あいうえお伝
\
end
2015/07/27(月) 23:27:50.74ID:lYLQLW+8
すみません、色々検証してみたんですが、妙な挙動を見つけました。
まず頂いたスクリプトだと問題なく動作します。アーカイブ内のhurt.pngをきっちり読み込んで表示文もちゃんとハートが出てました。

なのですが、同じことを自前のスクリプトでやるとどうしてもアーカイブからhurt.pngが見つからないとエラー落ちします。
んで、全く同じ記述を定義節でやらず実行節で走らせたら、問題なく読み込めました。

exec_dll命令は定義実行両方でできるはずなのですが、NSFontの読み込みはアーカイブを使う場合、何故か定義節でやろうとするとエラー落ちする…
そんな気がするんですが、どうなんでしょうかね…
2015/07/28(火) 22:20:55.01ID:I01EG9GV
ns2アーカイブは、定義節からはアクセスできないみたいだね
nsaアーカイブだと定義節でも問題ないみたいです

;nsaアーカイブを使った場合
*define
nsa
exec_dll "NSFont.dll/gaiji,伝,abc\hurt.png"
game

*start
あいうえお伝
\
end

推測だけど、NScripterはアーカイブの扱いについて
アーカイブを使わないモード、nsaアーカイブモード、ns2アーカイブモードの3種類のモードがあって、
nscripter起動時には、アーカイブを使わないモードで
game命令に到達した時に、00.ns2ファイルがあると、ns2アーカイブモードにセットされるみたいです
2015/07/29(水) 10:46:32.06ID:wDHPOEMq
なるほど。ns2アーカイブにはnsaに相当する命令がないから実行中からでないと読み込めないってことですかね。
とりあえず今後は外字登録は実行中に済ませることにします。
2015/08/01(土) 18:25:09.92ID:bYYJqREA
>ns2アーカイブは、定義節からはアクセスできない
知らなかったそんなの…
バイト単位で調べるNSGetFileInfoはたしか定義説中の実行でも大丈夫だったよね?
2015/08/02(日) 22:27:20.86ID:tnAbVzvs
推測だけど、nscripterが起動してから実行していく順序が

1:定義節実行(luasub、luacallは、名前がとりあえず登録されるだけ)
2:game命令到達
3:00.nsがあれば、ns2アーカイブモードにセットされてアーカイブが有効になる
4:system.luaを読み込んで実行。(luasub、luacallもここで有効になる)
5:*startラベルに飛ぶ

こんな感じになってるぽいです

Luaスクリプトはアーカイブモードが確定してから実行されるので
NSGetFileInfoはns2アーカイブを問題なく使えるみたいです
2015/08/05(水) 18:00:12.84ID:+uHKZvBh
【先出し週刊ファミ通】『RPGツクールMV』シリーズ最新作が大幅に進化を遂げて登場
http://www.famitsu.com/news/201508/04085014.html

マルチデバイス対応でスマホでもつくーる
2015/08/08(土) 06:43:09.48ID:49Dsy4Ak
ツクール95かな?
2015/08/16(日) 19:31:07.06ID:lEwN4Chh
>>402
定義節専用命令はluasub登録できないってことでいいのかな?
system.lua最優先で読んでるものとばかり思い込んでた
2015/08/16(日) 21:09:02.36ID:lEwN4Chh
>>267-276
NSCALL_text乗っ取って
「長さ偶数バイトのテキストが末尾"/"なら"半角スペース+/"に置換して表示」
「置換した直後のテキストが半角スペースから始まっていたら削って表示」
とかやればある程度対応できるかも?クリック待ち処理ごと自作することになるけど
2015/08/16(日) 22:46:58.31ID:59m3Liei
>>405
たぶん、game命令でsystem.luaが読み込まれる&実行されてるので
luasubで登録した関数が有効になるのは*start以降になると思います

以下のサンプルは普通に動きますが、

;00.txt
*define
defsub foo
foo
game

*start
end

*foo
mesbox "foo","foo"
return
2015/08/16(日) 22:49:07.51ID:59m3Liei
次のサンプルでは、"Lua関数NSCOM_fooが存在しません。"とエラーが出ます
Luaのシステム(nslua.dll)は動いているけれどsystem.luaは
まだ読み込まれていない状態だと思います

;00.txt
*define
luasub foo
foo
game

*start
end

--system.lua
function NSCOM_foo()
NSOkBox("foo","foo")
end
2015/08/21(金) 14:41:24.07ID:ejva1MgW
Nスクで作られたとあるフリゲで遊んでたら
オートマッピング付きの簡易3Dダンジョンが実装されててびっくりしたよ
2015/08/22(土) 13:09:10.74ID:V6bf65Ur
*define
game
*start
mov %0,hoge

--system.lua
function NSCOM_tests()
NSExec("numalias hoge,10")
end
NSExec("luasub tests")
NSExec("tests")

これなら通った。system.lua読み終わるまでは定義節だから、ns2アーカイブ覗く定義命令もsystem.lua内から実行すれば通るかも?

>>409
座標1つにつき1文字でまとめて情報管理しちゃえば割とどうとでもなるよ、
マップの数増えると保存はめんどいけど
2015/08/23(日) 16:31:11.14ID:yxJgxATQ
ということは
1:定義節実行(luasub、luacallは、名前がとりあえず登録されるだけ)
2:game命令到達、通常変数初期化。00.nsがあれば、ns2アーカイブモードにセットされてアーカイブが有効になる
3:(luasub、luacallがここで有効になる)
4:system.luaを読み込んで実行。
5:*startラベルに飛ぶ
こうか
2015/08/23(日) 22:24:29.23ID:YEIgdBZk
>>410
"不正な命令gameです"ってエラーが出るね
NSExec()で呼び出した先でNSExec()を呼び出すと二重呼び出しでエラーになるよ

--system.lua
function NSCOM_tests()
NSExec("numalias hoge,10")--2回目のNSExec()でアウト
end
NSExec("luasub tests")
NSExec("tests") --1回目のNSExec()呼び出し

NSExec()でユーザー定義命令(defsubやluasubで定義した命令)を実行するのは
NSExec()二重呼び出しエラーの温床になるので避けた方がいいかもです
標準の命令でも_printとか_lspとか'_'プリフィックスをつけた方がいいくらいかもです
2015/08/23(日) 22:26:32.28ID:YEIgdBZk
定義節専用命令を、Luaから呼び出すことで、NS2アーカイブにアクセスできるのかしら?のテストです
lookbackbuttonでテストしてみたけど、確かにアクセスできるみたい
一応注意点としては、'\'はLuaではエスケープシーケンスになります
例:
NSExec('lookbackbutton "data\\uon.png","data\\uoff.png","data\\don.png",data\\doff.png"')
NSExec('exec_dll "NSFont.dll/gaiji,伝,abc\\hurt.png"')-- '\'は'\\'でないと失敗します

テストしてて思ったのだけれど、ちょっと凝りすぎかなという気もしました。
高度でエクセレントなやり方よりも、愚鈍でシンプルな方が良いという考え方もあるので。

定義節で使うリソースは、アーカイブにまとめずにいっそ裸で置いておくとか
*start直後の初期化処理で間に合うものは、実行節で初期化する、というのもアリかなと思いました。
2015/08/23(日) 22:29:05.65ID:YEIgdBZk
>>411
だいたいそんな感じだと思います
細かいことを言えば、3と4が逆かと思います
1:定義節が実行されてluasub、luacallがNスクに登録される(Lua側ではまだNSCOM_、NSCALL_が登録されていない)
3、4:system.luaを読み込んで実行。NSCOM_、NSCALL_がLuaに登録される
結果、luasub、luacallからNSCOM_、NSCALL_が呼び出せるようになる
こんな感じかと思います

function name() endが、nameを関数としてLuaのシステムに登録するという命令文なので、
function NSCOM_name() end や function NSCALL_name() end を読み込んだ(&実行した)直後から有効になります
2015/08/24(月) 02:50:35.88ID:+60iWqb9
現在行の情報が吹っ飛1行目に戻される→既に読んだ定義節命令読んでエラー
の順なので、「system.lua読み込み中の」「定義節専用命令実行」に限っては
goto *start
*define
game
*start
みたいな書き方で一応動く。公式では二重実行ダメと言われてるけど、1行目に戻される以外の問題は今のところ発見されていないと思う
2015/08/24(月) 03:07:04.77ID:+60iWqb9
定義節専用命令は呼び出すタイミングが固定だから(たぶん)安全に通るけど、
実行節中で二重呼び出しされ(た後本体に戻)るようなスクリプトは避けた方が脳に優しいはず

外字登録だけだったら
local t={"伝","abc\\hurt.png","言","abc\\foot.png",}
for i=1,#t,2 do
NSExec('exec_dll "NSFont.dll/gaiji,'..t[i]..','..t[i+1]..'"')
end
とか書けばある程度まとめて記述できる。でも
>定義節で使うリソースは、アーカイブにまとめずにいっそ裸で置いておくとか
俺もこれに賛成。フォルダに入れときゃダイジョーブダイジョーブ
2015/08/24(月) 05:42:51.12ID:+60iWqb9
luacallの有効タイミングに関しては
「その場で有効になってはいるけど、肝心の呼び出す関数がsystem.lua読むまで登録されない」と
解釈した方が納得しやすいかな(内部的には「game命令を読むまで有効化されない」が実際の挙動っぽい気もするけど)。

NSCALL_やNSCOM_自体は起動後に定義し直すことも出来るくらい(書き換えるとしてもせいぜいanimationくらいか)普通のlua変数だし、その意味じゃdefsubと僅かに位置付け違っているかもしれない
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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