TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼
こんなゲーム作ろうと思ってんだけど・・・
Selene/Lue/Luna ライブラリ Trial-Version 4.00
なぜVBは扱いが低いのか
ファミスタ'03を作ろう
【海栗は】Unity 5スレ目【プリンと醤油で代用】
UnityでMMO作たいけどどうする!?6(^^
0からRPGを作る
ここに書き込んだらゲーム制作に戻るスレ
FF8のカードゲームを作って欲しい
静岡のシンショウチンパンジー‼

NScripter Ver.19.00


1 :2014/01/30 〜 最終レス :2017/12/31
商業流通でなければフリーで利用可能な
ゲームエンジンNScripterについて語るスレです。
・本家
ttp://www.nscripter.com/
・うpろだ
ttp://nscuploader.wkeya.com/

2 :
・前スレ (うpろだでも見れます)
Ver.18.00
http://toro.2ch.sc/test/read.cgi/gamedev/1311914551/
Ver.17.00
http://hibari.2ch.sc/test/read.cgi/gamedev/1275595048/
Ver.16.00
http://pc11.2ch.sc/test/read.cgi/gamedev/1243850335/
Ver.15.00
http://pc11.2ch.sc/test/read.cgi/gamedev/1234874759/
Ver.14.00
http://pc11.2ch.sc/test/read.cgi/gamedev/1219749034/
Ver.13.00
http://pc11.2ch.sc/test/read.cgi/gamedev/1211072803/
Ver.12.00
http://pc11.2ch.sc/test/read.cgi/gamedev/1200964126/
Ver.11.00
http://pc11.2ch.sc/test/read.cgi/gamedev/1185125168/

3 :
・前スレ その2
Ver.10.00
http://pc11.2ch.sc/test/read.cgi/gamedev/1176450917/
Ver9.00
http://pc11.2ch.sc/test/read.cgi/gamedev/1167444413/
Ver8.00
http://pc8.2ch.sc/test/read.cgi/gamedev/1157719180/
Ver7.00
http://pc8.2ch.sc/test/read.cgi/gamedev/1149639307/
Ver6.00
http://pc8.2ch.sc/test/read.cgi/gamedev/1142593513/
Ver5.00
http://pc8.2ch.sc/test/read.cgi/gamedev/1126791382/
Ver4.00
http://pc8.2ch.sc/test/read.cgi/gamedev/1112550571/
Ver3.00
http://pc8.2ch.sc/test/read.cgi/gamedev/1100029774/
Ver2.00
http://pc5.2ch.sc/test/read.cgi/gamedev/1082131647/
初代
http://pc5.2ch.sc/test/read.cgi/gamedev/1005121290/

4 :
・関連書籍
・Nscripterオフィシャルガイド 改訂版 だれでもかんたん!ノベルゲームのつくりかた(※絶版)
ttp://www.shuwasystem.co.jp/products/7980html/1852.html
ttp://www.7netshopping.jp/books/detail/?accd=32002490
ttp://www.amazon.co.jp/exec/obidos/ASIN/479801852X/
・あどばんすどNScripterオフィシャルガイド(※絶版)
ttp://www.shuwasystem.co.jp/products/7980html/1104.html
ttp://www.7netshopping.jp/books/detail/-/isbn/4798011045
ttp://www.amazon.co.jp/exec/obidos/ASIN/4798011045/
※サポート情報あり。(サンプルダウンロード・正誤表)
ttp://www.shuwasystem.co.jp/books/7980/1104-5/1104-5.html
・Nscripterではじめる ノベルゲーム制作
ttp://w3.shinkigensha.co.jp/books/4-7753-0496-8.html
ttp://www.amazon.co.jp/exec/obidos/ASIN/4775304968/

5 :
・Tips、解説、サンプル掲載サイト(1/2)
NScripter Scripting Factory
ttp://senzogawa.s90.xrea.com/
(リファレンス,FAQ,サンプル,ツール)
【NScripter−Tips】
ttp://sorejyadamedarou.sakura.ne.jp/nscripter/
(リンク集,Tips)
SGP -Sphere Game Production- ※リンク切れ
ttp://sgp.ivory.ne.jp/game/
(FAQ,Tips)
Free Adventure Game World
ttp://ryuji.s1.xrea.com/
(解説 − 初心者向け)
花鳥風月
ttp://autumoon.s35.xrea.com/
(解説 − 初心者向け)

6 :
・Tips、解説、サンプル掲載サイト(2/2)
Binary Heaven ミラーサイト
ttp://sorejyadamedarou.sakura.ne.jp/o_show/
(解説 − 初心者から中級者向け)
nscr ※リンク切れ
ttp://f39.aaa.livedoor.jp/~nscr/
(解説 − カスタマイズ − システム化)
國杜舗
ttp://www.interq.or.jp/earth/msym/
(サンプル − カスタマイズ − 演出追加,機能実装)
〜貴史たま+MEのHP〜
ttp://takasi.mydns.jp/takasi/
(サンプル − カスタマイズ − システム化 − wiki)
without limit
ttp://floralia.sakura.ne.jp/
(サンプル − カスタマイズ − システム化)

7 :
・スレタイ名称で過去ログ検索を行う場合のキーワード群
NScripter NScritper
・このスレで復号の話題を禁止している理由について
個々で作成した作品の著作権を侵害させない為の配慮として
解析ツールへの直リンクは行っておりません。
・Nscripter以外のノベルツールに関する話題は、ここでは歓迎されません。
・作成中のスクリプトを晒さなくて済むような技術的な話題については
最初にTips、解説、サンプル掲載サイトで解決可能であるかをご確認下さい。
・また、ノベルツールの比較検討や論議については、下記のスレで行って下さい。
(但し、特定のノベルツールを叩く為のスレではありません)
ノベルツール選考スレ 4th KIND
http://toro.2ch.sc/test/read.cgi/gamedev/1329043965/
ノベルツール選考スレ 3rd STRIKE (4th KINDの前スレ)
http://hibari.2ch.sc/test/read.cgi/gamedev/1145204843/
ノベルツール選考スレXP (3rd STRIKEの前スレ)
http://pc8.2ch.sc/test/read.cgi/gamedev/1083482407/

8 :
・ゲーム製作板のローカルルール(一部抜粋)
  扱う話題
  ・プログラム、グラフィックス、サウンド、デザイン論などをゲーム製作の視点から
  ・ツール(HSP、ツクール等)についての話題
  ・ゲームの共同製作やプロジェクト活動
  禁止事項
  単発質問スレ、単発依頼(「〜作って」)スレ、
  個人叩き(個人に対する誹謗中傷)、ツール叩き(具体性のない批判)
・ローカルルールで板違いの話題に指定されている項目の内
このスレで抵触する可能性の高い項目について。
 ・市販ゲームの質問や感想
  このスレの場合、単なる板違いのみでは無く、複号ネタに繋がり易いです。
 ・違法性を含む話題
  ONScripterによる多種ハードウェア対応化の話題はお控え下さい。
  このスレでの今までの判定結果は、限りなく黒に近い灰色です。

9 :
・その他
 ・ここは同人ゲーム板ではありません。(ローカルルールそのものが異なります)
 ・同人サークル活動に関する話題は、同人ゲーム板等でお願いします。
 ・名無しでない同人サークルメンバーとしての書き込みはお控え下さい。
 ・このスレでゲームの共同製作やプロジェクト活動の宣伝はお控え下さい。
 ・不快な発言を見掛けても落ち着いてスルーして下さい。
<荒らし、煽り、晒しはマターリ放置で>
・彼らは放置が一番キライ
・彼らは常に誰かの反応を待っています
・彼らは煽りや自作自演であなたの反応を誘います
・彼らは華麗にスルーして自然消滅させましょう

10 :
スレ立て人からのお知らせ
・うpろだのリンク表記を現行のurlに変更しました。
・今回のリンク切れは表記の抹消では無く、リンク切れ表記の付加で対処しました。(今回のみの予定)
・本家からNScripterサポートBBSが無くなっていた為、テンプレを一部変更しました。

11 :
お知らせの追加
・関連書籍の絶版表記の付加
関連書籍の追加候補
ノベルゲームのシナリオ作成技法 第2版(※絶版)
ttp://www.shuwasystem.co.jp/products/7980html/2120.html
ttp://www.7netshopping.jp/books/detail/-/accd/1102642651/subno/1
ttp://www.amazon.co.jp/exec/obidos/ASIN/4798021202/

12 :
>>8
ONScripterに違法性が在る根拠を教えて下さい

13 :
人の作ったものを勝手にコピーしてばらまく事に違法性がないと考える人ですか?

14 :
そんな諸事情知らないっての

15 :
>>13
フルスクラッチのプログラムが違法の根拠を教えて下さい
linuxも違法なんですか?

16 :
Windowsをフルスクラッチしてばらまいてみたらわかるんじゃない?

17 :
>>16
世界中から感謝しかされないな

18 :
スレを荒れさせない方便だよ
そんな心配しなくても今や過疎スレだがな

19 :
それって、古い商業ゲーのコンバートが流行ってた時代の名残でしょ。
商業の新作がNScrで出てる時期なら必要だったと思うけど
今じゃもうテンプレからその文面削っていいと思うけどね。
それより前スレ埋めようず

20 :
新作の有無は関係なくて、NSc製の商業タイトルが存在している限り
基本的に変わらないことだと思ってるよ。

21 :
もはや版権品のコンバートじゃなくて、
スマホ向けのオリジナルもの開発エンジンとして定着してんじゃんあれ

22 :
意味わからんのは
なんで、自分が作ったのをそのツールで動かしても
犯罪者呼ばわりされなきゃいけないのかってことだ

23 :
例えば>>20みたいなやつは
ONScripterという違法ツールを使ってノベルゲーを公開してる作者を犯罪者呼ばわりしてるわけだ
違法ツール認定するってことは利用者を犯罪者呼ばわりするのと同じだからな
それをわかっててエンジン利用者を排斥してるのわかってんのかね?

24 :
俺が疑問を持ってるのはそこだな
作品制作者を犯罪者呼ばわりするコミュニティって終わってんなってこと

25 :
ONScripterが違法って言うより、
>・Nscripter以外のノベルツールに関する話題は、ここでは歓迎されません。
こちらに引っかかってると考えたほうがいいんじゃない?
ONScripterは、文法的にはほとんど本家と同じだけど、
未対応の命令もあるし、微妙に動作が違う部分もあったりする。
質問者がONScripterを使っていることを明かさずに
話を進めていたりすると、本家しか使っていない人と
食い違いが出たりしそうだしね。
ONScripterについての話題を扱いたいなら、
専用のスレを立てるしかないのかも。

26 :
・ONSという「ツール」 …… 合法
 ├・他人の著作物のコンバート「行為」 …… 禁止されてる
 └・オリジナルゲームを作成する「行為」 …… 合法

27 :
例えONScripterを使う目的がオリジナルのタイトル製作であっても
NScripterとの互換性が付いて回る性質上一緒くたに扱うのは無理。
それでもONScripterに拘るのであればさっさと別スレ立てるのがおすすめ。

28 :
>>24
ONScというツールの生まれが
「商業ゲームを勝手移植で携帯機でプレイ」なんだから仕方がない
容認してスマホ板から
「○○ってゲーム動かないんだけどどうやるの?」
って勘違い野郎に住み着かれて荒らされる自体を想定するなら
高橋直樹製でない無許可の互換ツールの除外は至極当たり前だろう
定期的に湧いてONScの話したいってgdgd暴れることこれからもするんだったら
うっとおしいだけなんで別スレ立ててそっちで好きなだけONScの話しなよ
どっちかつーと互換ツールなんかよりもNスク2の関心あるし

29 :
前スレ埋めろよ

30 :
Nスク2そろそろ来そうで楽しみだわ
やっと袋文字が使えるようになるのか…

31 :
質問スレじゃないとは思うんですが・・・
テキストウィンドウにフリー素材を使おうとして
setwindow 30,356,22,4,20,20,0,0,20,1,1,":a;画像名.jpg",30,300
とやっても画面の真ん中あたりで画像が切れてしまいます。
元画像のサイズをいろいろいじってみたんですが、切れてしまうか大きく
はみだすかのどちらかで・・・。
同じ状況から解決した方、方法を教えていただければ・・・。

32 :
>>31
aになってるところをcにする

33 :
>>32
できました!ありがとうございます!
言われてみれば「c」でよかったんですね・・・
初心者で、フリーノベルゲー製作中なので
良ゲー作ってご恩を返せたらと思います

34 :
良ゲーよりもまずは完成だな

35 :
>>25,28
ここをスマホ板のヘルプ出張所に使おうにも質問内容と実際の動作が噛み合わなくてバレるね。
この板にONScスレを立てるとしてもスレの利用希望者はどれだけ居るのかなー?
このスレの住民としてはONScスレにノータッチのまま今まで通りにマターリ進行して行くと思うよ。

36 :
今までどおりONScripter利用者は犯罪者として糾弾していきます

37 :
といった荒らしの余地すら生むから話題そのものが非推奨なのよ、最初に質問した人分かってくれただろうか

38 :
ONScスレが立ってから、ここの住人に絡みたいだけの人の仕業だったと判明されそうな流れっぽいね。
でも、それがそのまま未だにゲ製板にONScスレが立たない理由になっていると思うよ。

39 :
テンプレでONScripter利用者は犯罪者だと認定しているので
このスレそのものがONScripterを糾弾する含みがある

40 :
キ○ガイかかわると碌なことが無い

41 :
NScを使わない限りこのスレに用は無い

42 :
isdownとかcheckkeyみたいに
軽快に右クリックの押下状態を取得する方法ってないんだっけ?

43 :
ろだにそんなプラグインがあがってたはず

44 :
luaでよければNSGetClick()があるね
例としてはこんな感じで
--system.lua
rbutton = 0
function NSCOM_isrdown()
local l,r,w,ld,rd = NSGetClick()
if rd then rbutton = 1 end
if r then rbutton = 0 end
NSSetIntValue(NSPopIntRef(),rbutton)
end

45 :
>>44の続き
;00.txt
;右クリック中は「0」を出力し続け、離すと改行して止まり、左クリックすると終了する。
*define
luasub isrdown
;isrdown %var
;右ボタン押下中なら1、離してたら0を返す
game
*start
*loop
isdown %0
if %0=1 end
isrdown %1
if %1=1 gosub *onrclick
wait 2
goto *loop
*onrclick
*onrclick_loop
isrdown %1
if %1=1 puttext "0/":wait 2:goto *onrclick_loop
puttext ""
return

46 :
luaで44の参考にやったらできました!!
使ってみたらいい感じ。
そうだよこの早さが欲しかったんだよぉぉぉおおお(´;ω;`)
ちょいとばかしlua勉強するわ。

47 :
Luaは部分的に使うだけでもいいから凄く便利だよ

48 :
NS2の質問はあり?

49 :
ものによるんじゃね、どうせ勢いもあんまりないし書くだけ書いてみなされ

50 :
NS2の質問で、質問は2つなんだけど、
・立ち絵やその他スプライトを拡大縮小する事は出来るのか?
・立ち絵のアニメーションはできるのか?
最初のはリファレンスに命令が記載されてないけど
これって拡大縮小はできないって事なのかな
二番目はspの引数にanimtimeを設定してセルに複数の画像を記述すれば
アニメーションというか、簡単な画像の切り替えは出来るんだけど
やりたいのはそういうのじゃなくて、例えば立ち絵を画面右側から左側に
スーッと移動させるとか、画面上から下になんかのスプライト画像を落とすとか
そういうアニメーションのやり方が分からない

51 :
ここ数ヶ月全く触ってないけど、
自分はNS2で拡大縮小アニメーションや移動アニメーションなんかを弄ってました。
RESETTIMER と GETTIMER を利用して指定したミリ秒での操作を。
それと do と loop を利用して、その秒数の間だけ SPMOVELT を使ってアニメーションを行わせる、みたいな感じです。

52 :
>>51
レスありがとうございます。
resettimerとgettimerは拡大縮小の関係で使うという事でしょうか?
ちょっと全く取っ掛かりが分からなくて・・・。
できればサブルーチンの例なんかご教授いただけると分かりやすのですが・・・
ループさせてspmoveのx値を1F単位で動かすのは考えて
実際にやってみたのですが、上手く行きませんでした

53 :
作ったループとspmoveを組合わせた処理は
<01.txtに>
defsub spmove_loop,"S" ;演出 - 立ち絵動かす用(左から右に移動)
@spmove_loop
param %name
;カウンタクリア
%cnt = 0
;ループ@▼開始
@spmove_loop2
if %cnt < 1000 then
spmove %name,0+%cnt,0
%cnt = %cnt+1
;デバッグ
;cprint %cnt
;ループ@▲終わり
goto @spmove_loop2
else
spdelete %name
return

54 :
<02.txtに>
spmove_loop "CHR1" ;ループして動かすテスト
として、中央の立ち絵を左から右にスーッと動かす
処理を実現したかったのですが、なぜか立ち絵が消えてしまいます
spmove_loopのcnt変数内はcprintで確認して
任意の数字が代入されている事は確認できていますが
スプライト自体がどう動いているのかよく分かりません
画面的にはspmove_loopを実行した途端立ち絵が消えてしまうので
ミスの指摘ややり方などご教授お願いします

55 :
今すぐの動作は確認してないけど、自分が実際に使っていたものをちょっと弄ってはっつけて見ます
lceffect "キャラクタ名",1
 とか
lceffect "キャラクタ名",2
 とかで動くと思います
lceffect が気軽に呼び出して使うメインのサブルーチン。パラメータが多く見えるのは削り残しです。
lcanimation は、 lceffect の中でのみ呼ばれるもっと細かい挙動をつかさどるサブルーチン (シナリオ上からは呼ばない)

56 :
; ニックネーム,エフェクトタイプ,画像中心からのX位置,画像中心からのY位置,サイズ
@lceffect
; CTRL押されていれば処理しない
if getskip() == 1 or 0<>GETKEY("CTRL") then
return
end if
param %nick,%type,%xpos,%ypos,%size
if %nick == #NIL or %nick == "" then OKBOX "立ち絵命令文のニックネームが不正です" , "lc命令文エラー"
%spname = "character:" + %nick ; ★スプライトセット系。各自対応を
getspinfo %spname , %spinfo
if ISDEF(%spinfo.cx) == 1 and ISDEF(%spinfo.cy) == 1then ; ほしい情報がちゃんと定義されてる?(存在する?)
if %type == 4 then
lcanimation %spname,(%spinfo.cx+5),%spinfo.cy,0,60
lcanimation %spname,(%spinfo.cx-7),%spinfo.cy,0,60
lcanimation %spname,(%spinfo.cx+10),%spinfo.cy,0,60
lcanimation %spname,(%spinfo.cx-7),%spinfo.cy,0,60
lcanimation %spname,(%spinfo.cx+5),%spinfo.cy,0,60
lcanimation %spname,(%spinfo.cx),%spinfo.cy,0,60
elseif %type == 5 then
lcanimation %spname,%spinfo.cx,%spinfo.cy-20,0,40
lcanimation %spname,%spinfo.cx,%spinfo.cy-40,0,40
lcanimation %spname,%spinfo.cx,%spinfo.cy-30,0,40
lcanimation %spname,%spinfo.cx,%spinfo.cy,0,30
end if
end if
end if
return

57 :
; 立ち絵を動かすサブルーチンで呼ばれるサブルーチン。弄るのは・・・X,Y座標関係と傾きのみ?
@lcanimation
param %spname,%to.cx,%to.cy,%to.rot,%time
; SP "window:linebreak",{name={%ld1 , %ld2 , %ld1 , %ld2 , %ld1},xs=%size,ys=%size,cx=(%send_cx+%xpos),cy=(%send_cy+%ypos),animtime=100,animtype="round"}
GETSPINFO %spname,%from
; CPRINT %from.cx
;-----------------
; %from から %to の値に %time掛けて 移行させる処理
;------------------
RESETTIMER ;---- 時間処理開始
do
%nowtime=GETTIMER() ;---- 経過時間取得
if %nowtime > %time then
exit ;---- 経過時間が超過したらloopを抜ける
end if
;---- 全体の何割経過したかを %parcentへ算出
%parcent = %nowtime / %time

%now.cx = %from.cx - ((%from.cx - %to.cx) * %parcent)
%now.cy = %from.cy - ((%from.cy - %to.cy) * %parcent)
%now.rot = %from.rot - ((%from.rot - %to.rot) * %parcent)
; CPRINT "%parcent:"+STR(%parcent)+" / %now.cx:"+STR(%now.cx)+" / %now.cy:"+STR(%now.cy)+" / %now.rot:"+STR(%now.rot)

SPMOVELT %spname,%now.cx,%now.cy, %from.xs , %from.ys , %now.rot , 255
print #C
loop
; 【※】loop抜け@一番最後の処理で最終目標の to 値で表示させる。 cx,cyだけは中心位置が変更しないので、そもそもtoが存在しない
SPMOVELT %spname, %to.cx , %to.cy , %from.xs , %from.ys , %from.rot , 255
print #C
return

58 :
レスありがとうございます。
取り急ぎお礼レスだけ書き込ませて頂きます。
これからよく内容読んで解析してみます

59 :
>58
それで、すみません、
>>55-57 は拡大縮小のアニメーション処理は行っていないです
立ち絵をブルブル震わせたり、ジャンプぽい動きをさせたりだけで済ませるための命令として用意したので..
概念としては >>57 の @lcanimation 内にある
RESETTIMER
do
loop
あたりに囲まれている処理をなんとなく読み解けば、応用できるのではないかと思います。

60 :
>>59
了解しました。
ありがとうございます。

61 :
>>50
NScr2は触ってないので的外れだったらごめん
質問1
spにxsとxyに実数で指定すると拡大縮小します。
ただし、座標指定をスプライトの中心座標のcx,cyで指定しないと無効化されます
例:
sp "CHR1",{name="test.png",cx=100,cy=100,xs=2.4,ys=0.5}
横2.4倍、縦0.5倍で表示されます
sp "CHR1",{name="test.png",x=100,y=100,xs=2.4,ys=0.5,rot=45}
座標をx,yで指定しているので、xs,ys,rotの指定は無視されます
質問2
print文がないので画面が更新されていないだけだと思います
画面が更新されないまま、ループをぬけてspdeleteでスプライトが消えてるのではないかと
あとループ処理中はなるべくsleepかwait系の命令をはさんでおいた方が良いかと思います

62 :
>>61
xsとかysは知りませんでした・・・
basic命令テキストでグレップしたら確かに見つかりました
sはscaleのsですかね
今までx,y,zしか使った事ないので、cx、cyも知りませんでした。
cxやxsの詳しい説明がNS2はリファレンスに記載ないので(だから現状NS2はβ版らしいですが)
>あとループ処理中はなるべくsleepかwait系の命令をはさんでおいた方が良いかと思います
なるほど
これは多分、waitしないと1F枚に実行されて速度が早過ぎる、
処理が重くなるあたりの理由っぽいですね
NS2はまだ個人ブログなどでの情報も少なく、手がかりがほぼ公式リファレンスだけで、
初心者の私には少々手厳しかったので非常に参考になりました。
ありがとうございました

63 :
・立ち絵である某さんを、1000ミリ秒(1秒)かけて、x100から x200へ移動させたい
・まずは RESETTIMER さんと GETTIMER さんの力を借りる
 1000ミリ秒経過するまでは、ずっとループし続ける枠組みを作ります
; ▼ここから
RESETTIMER
do
%nowtime=GETTIMER() ; loopでやり直されるたびに何秒経ったか常に数える
if %nowtime > %time then ; パラメータで送られた 1000ミリ秒 になれば、loopを抜ける。逆に言えば時間になるまでは繰り返す
exit ; 時間になるまでこのifの中は処理されません。 exit されません。
end if
; このあたりに、スプライトを描画させる処理を組む
; 例えば、500ミリ秒経過していれば、 1000ミリ秒でx100からx200への移動を行う過程で、
; x150の座標を描画してあげればOK
; 200ミリ秒経過していれば、200と100の移動距離の差である 100 を、 1000ミリ秒 ÷ 200ミリ秒 = 1/5 もとい 20% にする
; 最初の位置 x100 + 移動距離 100 の 20% を足す → x120で某さん描画 みたいな感じ。
loop ; doに戻れ (exit でのみ loppをすり抜けられる)
; ここに、最終描画 (x200へ移動しきった) を行う処理。
; ここに達しているという事は、 地獄の 1000ミリ秒 loop 工程を無事クリアしたという事
; ▲ここまで
自分が >>57 で書いたのは、多分こんな感じになっています。
sleepとかwait入れてないや・・・(;゚ω゚) 大丈夫かしら

64 :
>>63
ありがとうございます。
まだ内容解析できてないませんが、参考にさせて頂きます

65 :
メール欄にsageって入力してな(´・ω・`)

66 :
>>65
すみません、忘れていました・・・。
あともう一つ、教えていただきたいというかお聞きしたいのですが
今ノベルゲームを作っています
そこで、私は「スプライト名」、「変数名」の2つを一覧.txtというファイルを作り
そこで一覧化して管理する事にしました
例)
フラグ名:%flag (内容 ON:1 OFF:0)
設定契機:@game_start、@event_1
解除契機:@ending、@test2
とかこういうのを一覧化しているんですが、こういうのはゲームを一本作るにあたって
やった方がいいのでしょうか?それともやる必要はないのでしょうか?
また、私は現在「スプライト名」、「変数名」について一覧化していますが
この2つ以外にも一覧化すべき(または、した方が便利)なものがあれば
ご教授頂けますでしょうか?

67 :
>>66
横だけど
> やった方がいいのでしょうか?それともやる必要はないのでしょうか?
最初にかっちり計画を立てて一気に組み上げるほうが向いてる人もいるし、逆に計画ばかり作りこみすぎてそれで満足しちゃう人もいるし
こればっかりは好き好きだけど、画像とかの素材(手間がかかるもの)は最初に作っておいたほうがいいと思う
でも、どんな出来でもいいからとにかく完成させることがすごーく大事だよ
> この2つ以外にも一覧化すべき(または、した方が便利)なものがあれば
やるんならラベル名、音楽、効果音あたりもかなー
あとちょっとずれるけど、よく使う色もメモに書くなりライブラリとしてまとめるなりすると便利

68 :
>>67
確かに、ラベル名は一覧化しておいた方がよさそうですね
ありがとうございます。

69 :
Nscripter始めて2日目の者ですが、ググったけど解らないんで教えて下さい。
音声のセリフと文字のセリフを同時に表示させて進めるアドベンチャーゲーム作ろうとしてるんですが
オートで進める場合はどうやるんでしょうか?
メニューのとこのオートモードを使うと音声が終わる前にどんどん先に行ってしまいます。
@を使わずに音声再生が終わったら次の音声に自動で行くにはどうしたら良いのでしょう?

70 :
ageなくてええよ
なんだっけ音声いれたことないからわかんないけど
ファイルごとに長さ設定しておけばいいんじゃね?

71 :
そうなんですか、それを全てのセリフで設定するのは面倒くさいですね……

72 :
>>69
これで上手くいかない?
*define
game
*start
テストスタート
\
dwave 0,"test.ogg";適当な音声ファイル用意してね♪

\

\

\
end
dwaveの詳しい仕様は
NScripter Scripting Factory
ttp://senzogawa.s90.xrea.com/
が参考になると思います
他にも
Binary Heaven ミラーサイト
ttp://sorejyadamedarou.sakura.ne.jp/o_show/
【NScripter−Tips】
ttp://sorejyadamedarou.sakura.ne.jp/nscripter/
なども初心者には参考になるかと思います

73 :
>>72
出来ました!マジ感謝です。有難うございますm(__)m
今までbgmやmp3でコールしてたのが出来ない原因なのかな?
3日目にして少し前進できそうです。

74 :
sage

75 :
>>66
ttp://sorejyadamedarou.sakura.ne.jp/nscripter/tip04.htm#TIP1
ここの印刷して管理してるわ。
モニタと手元の紙別であると早い。
ラベル名は必要なくね? システム書いてる時なんて、コード見てコピペすればいいし。
シナリオ中なんてそれこそ用事ない気がする。

76 :
>>75
確かにそうですね
NS2なんで分岐はselectですが@ラベルの飛び先を
一覧化しとけばいいかなと思ったんですが、飛び先は必ず単一だし
そんなのファイル検索すればすぐ見つかるし、一覧化なんて逆に
手間かかるだけですね

77 :
一覧化の有用性は制作期間によるな
短期でサラッと作るのなら不必要だけど
2〜3年とか長期の見込みで作る気なら
覚えてて当然ってのも細かくメモしてる方が
製作からしばらく距離おいてド忘れした時に役立つ

78 :
>>77
今作ってるのは短期なんですが、私はそもそもはじめたばかりですし
将来大きなウェイトのものを作る予定があるので、簡単なやり方じゃなく
大きな物作るときのやり方に慣れておきたいので短期の制作物でも
一覧化しました
あとNS2ですが、selectやwait、clickなどの標準命令は大文字小文字
どちらでも機能しますが、命令の記述は大文字と小文字どっち使った方がいい
とかありますか? 今は命令は全部小文字使ってます
もしくは、この命令は小文字、この命令は大文字とか使い分けすると
便利、みたいな事ってありますか?

79 :
本体に付属されてるマニュアル命令郡の書き方に従って使った方がいい
命令覚える方はそれに合わせて記憶するのが自然だと思うから
初代Nスクでの話になるけど
以前、大文字で全部書かれたスクリプトに出会ったことあるけど
見慣れない書き方だから瞬時に判別できなくて読みづらくて仕方なかったよ

80 :
>>79
アドバイスありがとうございます。
>>56あたりでアドバイスして頂いた時とか、getspinfoは小文字、
ISDEFは大文字など混ざってるので、なんかの法則に従って
使い分けてるのかなと思ったんで聞いてみました
命令の大文字小文字はどちらかに統一した方がよさそうですね
ただ、リファレンスは大文字なんですが、私は小文字で統一しちゃってます
大文字にした方がいいんだろうか・・・
でもNS2は今ベータ版という事で今後リファレンスが大きく
変わることもあるだろうし、とりあえず、様子見してみます

81 :
すみません、あとひとつあるのですが、
未クリアの場合を0、クリアしたら1を立てて
1(クリア済み)なら背景を変えるとか、クリアしたかしてないかで
処理を変える事をやっています
結果から言えば出来たのですが、strsaveとstrloadを使いました
そのファイルに初期値0を書き込み、クリアしたらstrsaveで0以外を書き込み、
その後、クリアしたか判別したい箇所手前でそのファイルをstrloadで
読みに行って、0以外(クリア済みフラグ)があれば、専用処理をする、としました
リファレンスを見た限り、クリア判別に使えそうなのがこのファイルへの書き出し、
読み込みしかなかった(私として思い付かなかった)のでstrsave/strloadを使いましたが
通常の変数(ローカルでもグローバルでも)だけでクリア判別って不可能ですよね?

82 :
1:まずクリアフラグ用の変数を「_」で始まる変数で用意します
仮に「_flag00」としてみます
2:「最小規模システム」のサンプルを例にすると、
00.txtの@first_settings以下に次の一文を追加します
_flag00 = 0
3:savedataフォルダの中身を全部消しておきます
以上でたぶん期待した動作になると思います

83 :
>>82
>_で始まる変数はシステム変数です。どこからでもアクセスできます。
>セーブファイル単位ではなくエンジン単位で保存されるので、クリアフラグやコンフィグ設定等に使ってください。
すみません、上記のような説明がtxtに書いてありました。
試すのはこれからですが、とりあえずお礼レスだけさせて頂きます
ありがとうございました。

84 :
NS2関係の質問している者ですが、もうちょっと質問しても大丈夫でしょうか・・・?
タイトル画面に音楽室を表示して、BGM聞けるヤツがサウンドノベルには
よくあると思いますが、それを実装しました。機能的には問題ありません。
そこで次に、今再生中の曲名を表示する機能を実装しようと思って
やってみたのですが、上手くいきません。
もう10時間くらい悩んでいます
大した処理じゃない気がするんですが・・・なぜか上手くいきません。
↓がソースです

85 :
(02.txtの@title下に)
; 音楽室
-------------------
@soundroom
bgmstop ;念のため
spset "soundroom",100
sp "soundroom:back",{name="stages\soundroom.jpg",x=0,y=0,z=100}
sp "soundroom:bar",{name="bar\soundroom_bar.png",x=0,y=460,z=99,a=160}
sp "soundroom:s1",{name={"?曲1,menu3","?曲1,menu4"},x=120,y=340,z=0}
(中略。曲2、曲3と続くだけです)
sp "soundroom:s96",{name={"?再生中タイトル:,menu4","?再生中タイトル:,menu4"},x=50,y=480,z=0}
sp "soundroom:s99",{name={"?停止,menu3","?停止,menu4"},x=710,y=530,z=0}
btnclear "soundroom"
btn "soundroom:s1"
btn "soundroom:s96"
btn "soundroom:s99"

86 :
↑の続き
@soundroom_lp
%retvolume = getbgmvolume() ;BGMボリューム取得(音楽室終了時ボリューム戻し用)
%nowplay = 0 ;プレイ中曲判定フラグ
; 再生中タイトルのフォントを定義
spset "soundtitle",100
sp "soundtitle:none",{name={"?NONE,menu4"},x=270,y=480,z=0}
sp "soundtitle:t1",{name={"?曲1,menu4"},x=270,y=480,z=0}
(中略。曲2、曲3と続くだけです)
spsetvisible "soundtitle",0
@soundroom_lp2
%nowvolume = getbgmvolume() ;BGMボリューム取得(音楽室内でのボリューム調整用)
;最低(最大)ボリュームを下回(上回)らないよう抑止
if %nowvolume > 0 then
%nowvolume = 0
elseif %nowvolume < -10000 then
%nowvolume = -10000
endif

87 :
↑の続き
; ボタン判定
; %nowplayを判定し、押した曲がすでに再生中の場合は再度再生はしないよう抑止する
btnexec %ret, "soundroom"
★ if %ret == "s1" and %nowplay <> 1 then spsetvisible "soundtitle",0 : spvisible "soundtitle:t1",1 : %nowplay = 1 : bgmfadeout 200 : wait 200,0 : bgmplay "sound\曲1.ogg"
(中略。曲2、曲3と続くだけです)
★ if %ret == #R then spsetvisible "soundtitle",0 : spvisible "soundtitle:none",1 : bgmstop : bgmvolume %retvolume : spsetdelete "soundroom" : print #c : goto @title
goto @soundroom_lp2
return ;音楽室ここまで

88 :
★の部分
ここがそれぞれの曲名をクリックした時に入るルートですが、
ここにcprint置くとちゃんと入る事は確認できています
曲2をクリックすれば曲2に、曲5をクリックすれば曲5に、右クリック時は#Rルートに
ちゃんと入るのですが、spestvisible〜の処理が明らかにスルーされてるようなのですが
原因が全く理解できません
デバッグエラーも出ないので記述ミスもないと思います。
spset "soundtitle",100
sp "soundtitle:none",{name={"?NONE,menu4"},x=270,y=480,z=0}
↑の2行だけを@game_start以降に置くとちゃんと表示されるのでスプライトも正常に生成されているはずです
spsetvisible "soundtitle",0を削除しても表示されません
z軸を疑いましたが、背景画像などを全部消しても表示されませんでした
何かヒント頂けないでしょうか・・・?

89 :
>>87
1:spsetvisibleは「スプライトセット」の表示状態を変える命令です
スプライトセットの中のスプライトの表示状態を一括で変更する命令ではないです
2:スプライトの状態を変更した後は、print #Cなどで画面に反映させましょう
%ret=="s1"の場合、printで反映されずにループの頭(@soundroom_lp2)に戻ってます
たぶん、こんなんではないかと

90 :
NScripter標準のショートカットキー一覧ってどっかで確認できる?

91 :
>>89
>1:spsetvisibleは「スプライトセット」の表示状態を変える命令です
>スプライトセットの中のスプライトの表示状態を一括で変更する命令ではないです
でも結果的には一括で変更しているように思えるのですが・・・
デフォルト(サンプル)のタイトル画面なんかがそのような動作をしている認識なのですが・・・
試しに文章中で可視不可視を切り替えてみましたが、
spset "st",100
sp "st:a",{name={省略}
sp "st:b",{name={省略}
spsetvisible "st",0
文章1
spsetvisible "st",1
(★st1:1とst:bが両方表示される)
文章2
spsetvisible "st",0
(★st1:1とst:bが両方消去される)
という結果になります
確かに「スプライトの可視状態を変更している」のではなく、「スプライトセットの可視状態を変更している」
のは分かっているつもりですが、結果としてはスプライトセットが内包しているスプライトの可視状態が一括で
変更されている(ように見える)という事ですよね?
あと気づいたんですが、上記のようなスプライトを一つの画面に表示させるのではない処理って
スプライトセットに纏めず、スプライト単位で(spsetを使わずspのみで)記述した方がいいのでしょうか?

92 :
>>90
「D」「N」「Alt+Enter」くらいじゃね?

93 :
>>92
Alt押したら突然処理止まって驚いたんだがごめん、俺の早とちりだったわ
右Altで止まるのってWindows側の機能なのね

94 :
>>93
左右alt関係なく、Windowsの基本操作
アクティブウィンドウのメニュー操作をキーボードでするためのものだからNスク関係ないね
もちろんメニューが無いdeletemenu時は機能しない

95 :
>>94
Windows何年も使ってるのに今まで知らんかった……
計測していたタイマーが停止分を考慮してくれずに悩んでいたんだけど、NSTimer()の後にNSDoEvents()持ってきたら上手いこと動いたわ

96 :
>>91
>87のspsetvisible "soundtitle",0 : spvisible "soundtitle:t1",1
の部分がスプライトの表示フラグを全部クリアして、soundtitle:t1の表示フラグを
立てるに見えたのよ
「スプライトセット」は中身のスプライトとは独立した表示フラグを持っていて
両者の組み合わせでスプライトが画面に表示されたりされなかったりするのよ
サンプル用意してみたから、よければ試してみて
sp "background",{name="*800,600,#FF000000",x=0,y=0,z=0}
FONT "st_a",{name="MS ゴシック",color=#FF0000FF,width=24,height=32}
FONT "st_b",{name="MS ゴシック",color=#FF00FF00,width=24,height=32}
spset "st",100
sp "st:a",{name="?スプライトst:a,st_a",x=128,y=32,z=0}
sp "st:b",{name="?スプライトst:b,st_b",x=384,y=32,z=0}
スタート
スプライトst:aを非表示状態にします
spvisible "st:a",0
[スプライトセット]を非表示状態にします
spsetvisible "st",0
スプライトst:aを表示状態にします
spvisible "st:a",1
スプライトst:aを表示状態にしました
スプライトst:bを一度非表示状態にします
spvisible "st:b",0
[スプライトセット]を表示状態にします
spsetvisible "st",1
[スプライトセット]を表示状態にしました
スプライトst:bを表示状態にします
spvisible "st:b",1
以上です。\nお疲れ様でした。
quit

97 :
>>96
すごく分かりやすいサンプル、ありがとうございます。
理解できたと思います。
spsetvisible "soundtitle",0 : spvisible "soundtitle:t1",1
↑これって要するに、spvisibleでスプライトだけ可視にしても
直前で属しているspsetを不可視にしているからスプライト"soundtitle:t1"も
不可視のままだったんですね
>>96で言う13行目と同じ状態ですよね
それを踏まえたうえで修正して、表示自体はできました。
スマートではない気がしますが、普通にsp単位で可視不可視を切り替えるようにしました
↓続きます

98 :
ただ、今度はz軸の疑問が出てきてz軸は0〜100で
0が最も手前だという認識です
77と76では76が手前に表示されますよね?
例えば、z=77が文字でz=76が背景だと、文字は背景に隠れて
見えなくなると思います
ですが、
spset "soundroom",100
 sp "soundroom:back",{name="stages\rmenu_bg.jpg",x=0,y=0,z=100} ;背景です
 sp "soundroom:bar",{name="bar\soundroom_bar.png",x=0,y=460,z=99,a=160} ;背景の手前に表示する棒(バー)
spset "st",99 ;スプライトセットとしても上記のセット"soundroom"より手前にしているはずなのですが
 sp "st_none",{name={"?---,menu4"},x=270,y=480,z=0} ;これを上記背景jpgより手前にしたい
 sp "st_t1",{name={"?灰色の思考,menu4"},x=270,y=480,z=0} ;これを上記背景jpgより手前にしたい
としても、"soundroom:back"が"st_none"や"st_t1"より手前に表示されてしまい
"st_none"や"st_t1"が見えなくなってしまいます
これってz軸の認識おかしいですか?
単純に数値が0に近い方が手前に表示される、という認識なのですが・・・

99 :
軸には正負あるから単純に大きい方が上なのではないかと試さずにエスパー

100 :
 sp "soundroom:back",{name="stages\rmenu_bg.jpg",x=0,y=0,z=100} ;背景です
 sp "soundroom:bar",{name="bar\soundroom_bar.png",x=0,y=460,z=99,a=160} ;背景の手前に表示する棒(バー)
↑これのz値を上下で交換して、背景のz値を99、棒(バー)のz値を100にすると
棒(バー)が背景に隠れて見えなくなるのでz値は数値が小さい方が手前、というのは
間違いないはずです。リファレンスにも書いてありました。

101 :
オートモードにして話を読み進めていって選択のところで選ぶ際に2回クリックをしないといけなくなります。
2回クリックして他のラベルに飛んだ時にはオートモードは解除されています。
これをオートモード状態で選択したあともオートモード状態が解除されない様にするにはどうしたらいいでしょうか?

102 :
選択肢前にオート状態チェック オートならフラグ立てる
選択肢を選ばせる
選択肢後にフラグ立ってたらオート命令を実行させる フラグはリセットさせる

103 :
>>102
ありがとうございます
しかし先週Nscripter始めたばかりでまだ良くわかってません。
もし良かったらもう少し具体的にお願いできないでしょうかm(__)m

104 :
シスカマのソース内容を読んで理解できる程度のスキルを積む
変数の扱い方覚える
即物的に知っても意味無いから使い始めるなら
基礎は身に付けたほうがいい
そうすれば>>102が具体的な対処法を示してると分かるよ

105 :
もっと簡単に考えてました。
102さんの言ってることは薄っすら分かるんですが、まさかシスカマまでいくとなると今の僕では出来なかもorz

106 :
シスカマした方が楽だが、別になくてもできる。
select命令の前の行でisskipするだけで状態取得できる。
selectで飛んだラベルの先で判断してオートさせれ。

107 :
長年積み重なった便利命令が地味に色々ある

108 :
レス下さった皆さん、有難うございます。
isskipで何とかなりそうです。
まだNスク一週間未満でシスカマは座敷が高いけど頑張ってみます。

109 :
>>98
これだと"st_noe"と"st_t1"は
スプライトセット名=""、スプライトセットのz値=10000のスプライトになってるね
スプライトの名前を"st:none"、"st:t1"にすれば期待した動作になると思うよ

110 :
>>109
本当にすみません・・・全く気付きませんでした・・・
修正したら期待した動作になりました。
ありがとうございました。

111 :
>>109
あれ・・すみません、よく見たら
>z値=10000のスプライトになってるね
とありますが、この10000というのはどこから出てきた数値なんでしょうか?
もしかしてスプライトのz値は属しているスプライトセットがあれば
スプライトセットのz値xスプライトのz値なのか?と思って
spset "gra",100
sp "gra:1",{name={"?テキスト,menu3","?テキスト,menu4"},x=350,y=530,z=8}
spset "sa",99
sp "sa:1",{name="a\test.png",x=300,y=0,z=10}
とやってみましたが、"sa:1"が"gra:1"より手前に表示されました
これってもしかして、スプライトセットのz値が高い(上の例で言うとspset"gra")ものに
属しているスプライト(上の例だと"gra:1")は、それよりz値が低いスプライトセットが
属しているスプライト(上の例だと"sa:1")より手前には表示できないのでしょうか?
つまり、セットが属しているスプライト自体のz値は、同じz値を持つスプライトセット間でのみ
意味があるような動作をしているように見えるのですが
つまり上記の"gra:1"というスプライトを"sa:1"より手前に表示させるには"gra:1"を"gra"という
スプライトセットから外すしかないんでしょうか?
なんかz値って単に0に近ければ手前にくるだけのものって言っても
spとspsetのネスト関係があるせいで思ったより複雑な動きしててよく分からなくなってきました
sp z値 nscripter2とかでググっても何も出てきませんでした・・・

112 :
>>111
スプライトは必ずスプライトセットに所属します
明示的にスプライトセットを指定しない場合、スプライトセット名""のスプライトセットに自動で編入されます
スプラトセット""のz値はデフォルトでは、10000に設定されています
スプライトセットはz値にしたがってソートされます
数値の小さいほうが上で、数値の大きいほうが下になります
スプライトのz値は、所属するスプライトセットの中でのみ有効です
つまり、スプライトはスプライトセットを跨いだり飛び越えたりはしません
例:
spsetz "a",100
spz "a:a01",200
spz "a:a02",201
spsetz "b",101
spz "b:b01",10
spz "b:b02",11
spz "c01",1
とした場合
----"a"=100----
a:a01=200
a:a02=201
----"b"=101----
b:b01=10
b:b02=11
----""=10000----
c01=1
のように配置されます
マニュアル「NScripter2BASIC命令・関数表.txt」が参考になると思います

113 :
アンドロイドの実機でプレイした時に出る左端の右クリック、左クリック
などのツールバーはどうすれば消せますか?

114 :
>>112
ありがとうございます。
ちょっと今出張中なので試せないので、また触れるようになったら
試してみます

115 :
bgmの音量を変えようとして
bgm "bgm\xxx.ogg":bgmvol 30,50  って入力したら
次の文章に,50が出てくるようになってしまったんだが、
,50を消すにはどうすればいいんでしょうか。

116 :
ていうかその50はなんなの?
bgmvol に指定できるパラメータはボリューム値ひとつだけじゃないの。

117 :
vipで企画モノやってましたが、ポシャりそうなのでさっきテスト版的なのを
アップしてきました
ttp://iup.2ch-library.com/i/i1158160-1395674092.png
ここで解決できなければこのような作りは出来ない箇所が多々ありました。
スペシャルサンクスにこのスレを挙げさせて頂きました(まだ完成してないですけど)
>>112
すみません、あと一つ質問なのですが、ボタンの上にカーソルを置いた時にSEを
鳴らしたいのですが、エラーが出てエンジンが落ちます
リファレンスを見るとボタンにカーソルが乗った時に音を鳴らすには
BTN "sp4",{on="P(sp1,0)P(sp2,1)"}
on="スプライト操作文字列"
 ボタンにカーソルが重なったときに実行する処理を指定します。
"S(test.ogg)" そのサウンドを再生します。
とあります。 つまり
btn "test",{on="S(sound\test.ogg)"}
とすればいい認識なのですが
↓続きます

118 :
sp "title:start",{省略}
btnclear "title"
btn "title:start",{on="S=(sound\test.ogg)"}
;ボタン判定
btnexec %ret,"title"
とすると、btnexecの箇所でエラーが出てNS2が落ちます。
しかもなぜか、たまにエラーが出ないケースもありました(セーブデータを消したりしてると)。
ただ、どちらのケースでも鳴らしたいSEは鳴りませんでした
この理由が分かりません
btn "title:start",{on="S=(sound\test.ogg)"}
↑この記述が間違っているとしか考えられないんですが
リファレンス通りに書いてるつもりなんですが、どこかおかしい所ってありますか?

119 :
VIP企画ものは即時成果物が鍵だぜ
>bexec

120 :
あ、すまん2か
音鳴らす箇所削った状態では正常動作してる?

121 :
>>118
これはバグっぽいね
応急処置でよければ、「system.lua」の2346〜2348行付近の
(1)
btn_f.btnse:stop()

basic_func.SESTOP(15)
--btn_f.btnse:stop()

(2)
btn_f.btnse:play{name=prm}

basic_func.SEPLAY(15,prm)
--btn_f.btnse:play{name=prm}

の2ヶ所を置き換えれば音が鳴るようになります
(SEの12chをボタン音用に割り当ててます)
あと一応
>118の
S=(sound\test.ogg)は構文エラーで、エラー吐かないけど音でないです
>117の
S(sound\test.ogg)こっち正解です

122 :
>>120
レスありがとうございます。
exec削ったら普通に動作しますね・・・

123 :
>>121
レスありがとうございます。
>記述ミス
すみません、ミスです
両方試しましたが、S(sound\test.ogg)だと強制終了しました
強制終了しなかったのは間違えて=付けてたせいでした
混乱させるようなレスすみませんでした
これって公式にメールでフィードバックした方がいいですよね?

124 :
>>123
>これって公式にメールでフィードバックした方がいいですよね?
ですねえ
正式公開版を待ってもいい気もするけど
お手数でなければ123さん、公式へ報告お願いしますm(_ _)m

125 :
>>124
了解しました。
メールを送ってみます。
ありがとうございました。

126 :
http://toro.2ch.sc/test/read.cgi/gamedev/1175423459/719
↑  ↑  ↑  ↑  ↑  ↑

127 :
>>124
さっきメール来てsystem.luaの修正が完了したので更新ました、との事です
導入してみると確かに修正されていて、ちゃんとSEがなるようになっていました
ただボリューム値が_sevolではなく、独自で存在しているようで
同じファイルでもボタンSEと通常のseplayでは3倍ほど違ってしまいちょっと使いづらいので
>>124さんの内容で修正したsystem.luaの方に戻してしまいましたが・・・

128 :
すみません、3行目以降はコピペミスです
無視して下さい

129 :
ど、どんなコピペミスやねん

130 :
ちょっと小さめの効果音ファイル別途に用意する手もあるのよ、解決してるならそれでいいけど

131 :
オフィシャルガイドを見ながら作ってます
movie "test.avi",async,loop@
movie stop
movie "test2.avi",async,loop@
繋ぎ目をクロスフェードするにはどうしたらよいでしょうか?
あと、動画が最前面に表示されるので、一番後ろにやって
ボタンやテキストウィンドウを表示したいので、
ヒントだけでもいただけないでしょうか?

132 :
・間の繋ぎをムービーでないアニメーションで疑似的にやる
・ムービー二つ編集で繋げた方が早い
・ムービーが最前面ってのはNScripterの仕様、dllで何かあったかもしれんが忘れた

133 :
>>133
上で何度もNS2の質問をしていた者ですが暗号化って
中身をユーザが見れないようにするパッケージングの事ですか?
それなら付属のDOSツールで一発で出来ますけど、それではなく?

134 :
>>133
レスありがとうございます
スクリプトを書いたテキストをプレイヤーに見えないよう、暗号化したいのですが
旧作のnscmake.exeを使ってみたものの、ダメだったので、
2専用のツールが必要なのではと思うのですが、わからず、放置中です。

135 :
NScripter2開発ツールフォルダ内に入っていますよ
nscr2.exeがそれです
起動後、1を選択→各ライブラリがあるフォルダを選択すればパッキングできます

136 :
>>135
今、出来ました。ようやく発表できます。
親切にありがとうございました。

137 :
TwitterでNスクのダメキャンペーンされてる
今残ってるサイト主ってかなり情報公開してるだろ
変数仕様すら満足に公開されてない暗黒時代の手探りを知らんのだろな
2005年頃のあの一寸先は闇の感覚は今はないってのに贅沢だなw

138 :
何書かれてるのか知らんが、NSLuaならまだほんのちょっと分からんでもない
けど、素のNScripterってノベルエンジンの中じゃユーザーコミュニティのカバー率屈指のレベルだと思うが

139 :
素のNスクのサンプルコードの公開を上級者が渋ってるって主張みたい
上級になるための橋渡しが足りないとさ
そんなの、言ってる本人が公開しないのと同じような理由で講座の主が公開してないだけだろ

140 :
ただの基地外だろそいつ
Nscはかなり講座とサンプルが充実してて
ちょっと頑張れば独自のゲームだって作れた

141 :
Twitterで反論キャンペーン張ればいいだろ
ここれでやるならせめて元の発言を貼るかなんかしないとわからん
中級者用の情報が足りてないって話なら見たけど
>>137が言うようなダメキャンペーンはどこでやってるのか知らん

142 :
こんな所に特定出来るように貼れってか。ひでーやつだな
直接言わずにここで文句言う糞の自覚あるけど、さすがにそこまではできんわ

143 :
バカッターの面目躍如だな

144 :
上手く使うためのテクニック類って相当そこら中に解説転がしてくれてあるけどな。numalias %0とかその筆頭じゃん、俺最初に見て感動したぞ

145 :
NS2もはやくNS1と同じくらい情報揃えばいいんだけどな

146 :
仲良く公式マニュアル待ちだろうな
高橋さん自身が個人開発ゲームエンジンの将来にだいぶ悲観的な点気になりはするけど、上で使ってる人もいたしぽつぽつ使用例出てくるんじゃね。講座揃うのはまだまだ先だろうな

147 :
>>145
俺自身がNS1ほど熱心に使いたいと思わないのもあるけど
他人任せじゃなくて自分から調べて情報開示しようと思わん辺りに
NS2の先行きの厳しさを感じる

148 :
NScripterで十分色々出来ちゃうのが逆に移行の遅れを生んでるってのもあるな

149 :
Nsc1のbspで拾えるキーなんだけど、Dキーがデフォルトでデバッグモード起動が割り当てられてて使えない…
デバッグ起動しないようにして使える方法ってある?

150 :
bspじゃなかったbexecだった

151 :
デバッグって、nscript.datにしたら自動で起動しないようにならなかったっけ?
だから、本番用のコードなら問題ないよ。
今もウィンドウが出たり消えたりするだけで、普通にDキー自体は取得できてるでしょ?

152 :
確認しました!wasdキーの十字操作諦めるとこだった…ありがとう!

153 :
お、アクションゲームでも作るのかい

154 :
ちょっとしたRPG作ろうと思って

155 :
セーブデータの上限は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

156 :
上限については公式でアナウンス済み

157 :
上限は200KBだよ。以前はもうちょい少なかったけど何かのタイミングで拡張してくれた
元々NScrの配列変数で多次元配列使いまくらない限りはまず超えない値だったから、現在ではほとんど見掛けないエラーになったと思う
配列変数の値は保存しておきたい感じ?

158 :
セーブファイルのサイズ上限(200KB)は
過去ログ15のレス660にも書かれてるね

159 :
失礼、やはり既出情報だったのね。配列セーブに残ると聞いて無計画に使いまくってた

160 :
配列変数作ること自体が容量肥大化させるからね…
普段は,や/区切りで一つの文字変数にぶち込んでおいて使う時だけsplitしてもいいのよ、操作頻度や今まで書いた量にもよるけど

161 :
>>155
いい検証スクリプトだな。乙だ

162 :
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スクへ行けるものと思っていたんですが使ってみたら挙動が違くて・・

163 :
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

164 :
どうしてもluaでやりたいという変態さんは
NSCOM_test1()をNSGosub ("*test2")の前後で分割して
続きを呼び出すNスクのサブルーチンをNSGosub()した上で
NSGosub ("*test2")をしてreturn
関数を分割せずにコルーチンを駆使すれば
あたかもNスクと同期実行されているように書ける
(それでも形式的でナンセンスな記述は残る)
なお理論上できるというだけで実際やったことはない

165 :
>>164も言ってるけどコルーチンはNスクにreturnしても稼働状態で残るはず(俺も試したことはないが)、だから該当箇所をコルーチン化すればどうにかならないでもないけどやや面倒よ
"「コルーチンがなければ生成、あればコルーチン実行」→Nスクにreturn"という関数作れば一応動きそうじゃね

166 :
http://toro.2ch.sc/test/read.cgi/gsaloon/1345029300/316
  ↑  ↑  ↑  ↑  ↑ 

167 :
ぬう・・やっぱりちょっと難しいのですね。
コルーチン組むにしても手間が増えて煩雑になってしまいそうなんで、やはりNスク側にまとめてluaはdefsubの延長のような使い方にしようかな。
ありがとうございました!

168 :
*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\

169 :
しまった、書き込みミス。スクリプトだけ先に書いてしまった
デバックしてて気になったんだけど、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はどれも問題なく数値が代入されていたので実行上は問題ないのかもと思ったけどなんか妙な挙動してそうで怖い…
&の条件絞込の回数制限とかってあったっけ?

170 :
あ、使ったverは最終更新版の2.96です

171 :
検証できる環境がないので分からないけど、バッファオーバーフローぽいね。
1つの命令文が長すぎるのが原因だと思う。
命令文を80〜120文字以内くらいに収めた方がいいと思うよ。
フラグ用の変数を用意してif分を分割するか、for-next使うといいと思う。

172 :
すみません、NS2の質問です。
NS2はサンプルのテキストがウィンドウ表示なんですが
これを全画面表示になるようサンプルスクリプトを自分で考えて改造しました。
通常の表示は問題なく行えるようになったのですが、バックログ機能を使うと
表示がおかしくなります。
多分ですが、そもそものやり方が悪いと思うのですが
今のやり方以外思いつかず、しかもこのバックログ表示バグの修正案も
思いつかずで詰まっています。
どなたか解決策か、もしくは根本的におかしい場合別のやり方を
教えて頂けないでしょうか
↓改造した00.txtの一部(問題と思われる箇所)

173 :
@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

174 :
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

175 :
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行目まで同じ処理です。長すぎるので省略

176 :
endif
; 何行目かの情報を+1して次の行へ移行
line = line+1
return
;スクリプト改造箇所終わり
これをバックログで実行すると
http://iup.2ch-library.com/i/i1203511-1401076566.png
こうなってしまいます(当然といえば当然ですが・・・)
何かいい方法があれば教えて頂けないでしょうか・・・

177 :
変数_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

178 :
次に、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

179 :
>>177
レスありがとうございます。
ただやってみたのですが、バックログの話ではなく、通常表示において
>pがある場所に来ると、それ以降文章が全く表示されず、かつ最後までクリックを全く待たず
シナリオが進んでしまうようです。
肝心のlua層の記述(>>177の部分)について、私がluaの事を全く理解できてないので
その記述のどこが問題なのか分かりませんが、returnやendを削除したり、>pの記述を
変えてみたりなど、その程度の事はやってみましたが、どうも上手く行きません。
>p以降全く文章が表示されないのは
if stext ~= "p" then
t_text = t_text..stext.."\\n"
return
end
あたりのendが関係している?のでしょうか?

180 :
ああああああ
ええええええ
てすと
次で改行
>p

bg 背景1
ららららららら

てすとその2
bg 背景2
quit ;終了
などとすると、「次で改行」までは普通で、それ以降の「らららら」や「てすとその2」が表示されず
背景だけが背景1→背景2と自動で切り替わって、最後のquitにたどり着くようで、そのまま終了されてしまいました。

181 :
「>p」のタイミングで文章を表示してるので、「>p」必須です。
例:
bg 背景1
ららららららら
てすとその2
>p
bg 背景2
quit ;終了
動作の説明:
表示文字列を、表示せずに一旦「\n」で連結して保存しています。
「>p」で「@text」に飛んで、
・テキストウィンドウのクリア
・(保存した)表示文字列を(一括して)表示
・クリック待ち
という動作になってます。
なるべくスクリプトを改変せずにノベルっぽくできるようにしましたが、
完全にノベル用のスクリプトにするには
「system.lua」をいじらないと難しいと思います。

182 :
>>181
レスありがとうございます。
>p〜>pで囲まないといけなかったんですね。
そのようにしたら、確かに表示はできましたが、>p〜>pの間の文章って
「_」とか「click」などの命令が一切効かなくなるようです。
>p〜>p間の文章は全てクリック待ちが発生せず進んでしまいました。
とりあえずこの機能完璧に実装するにはlua使えないと話にならなそうですね・・・
諦めてNS2のサンプルと同じウィンドウ方式でいくか、>>176のバグ放置にするか、
lua頑張って勉強して実装するかのどれかにします。
すみません、ありがとうございました。

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

184 :
bspやspstrの制御文字列Pの連番も使えたら便利なんだけどなあ

185 :
maxkaisoupageの最大値って50なんですかね?
50以上の数値にすると50より前のログが表示されない…

186 :
調べてないが常識的に考えてそんな使わんだろ!?みたいな数値が上限になってることは時々ある
50ページ以上ログ辿るようなゲームだと独自システム組んだ方が色々楽になりそう

187 :
サンプルシステム流用してるだけじゃなければ
どこ弄ればいいか分かりそうなものだけど

188 :
>>187
そういうのいいんで…

189 :
>>185
最大値は50ではありません。もっと上です

190 :
基本的なことなのですが、調べてもさっぱり分からないのでどなたか教えてください。
スプライトボタンにマウスオンしたときに、セル1に切りかわると同時に効果音が鳴るようにしたいのですが、
bsp 11,"P11,0","P11,1,",""
この状態からどうすればいいんでしょうか?

191 :
自己解決しました!お騒がせしました。

192 :
nscripterようのリファレンスでrubyon2が非推奨になってるけどなんでだろう。
使いたいけどちと恐いな

193 :
非推奨命令も動くものは動くからな、数値ラベルなんかはサイズ指定にバグ抱えてるけど2.96で動く
ある程度ポピュラーだった命令ではっきり動かなくなったのってzenkakkoくらいじゃね

194 :
rubyon2って管理面倒くさくね?

195 :
鯖が急になくなってしまったので取り急ぎ移転しました
数日間サイトが見られない状態になっていたことをお詫びします
http://nscuploader.daiwa-hotcom.com/

196 :
乙やで

197 :
サーバが無くなっちゃ仕方ないね
乙です

198 :
【レビュー】手持ちの「NScripter」製ゲームをChrome上でプレイ可能にするWebアプリ“NscPlayer” - 窓の杜
http://www.forest.impress.co.jp/docs/review/20140718_658306.html

199 :
NaClを利用するというのは技術的には面白いけど
何というか始まる前から終わっているみたいな

200 :
俺はこういうの見ちゃうと逆に仮想環境じゃ絶対動かないゲーム作りたくなる

201 :
すげーな。マルチプラットフォーム一番実現したエンジンがNScripterになるとは
や、文法同じなだけで、別物のエミュレーターみたいなもんだけどさ

202 :
非公式とはいえ異様なくらい対応広い文法になったな

203 :
2がluaだからluaがコンパイルできる環境なら結構簡単に動作クローン作れると思う。D3D使ってもどうせ今はGLの方がスーパーセットだし。

204 :
Nscripterをはじめたばかりで、解説サイト様を見ながらいろいろ試しています
bgのイベント絵を表示したまま、画面をチカチカッと
白や赤で瞬かせたくて、
白い画像を作ってイベント絵と
交互に表示してみたりしたのですが、
なんだかもっさりしてしまいます
人と人がぶつかった時とかの演出で使うつもりです
市販のゲームではとてもよく見る演出なのですが、
解説サイト様を見てもどうやっているのかわかりません・・・
きっとものすごく初歩的なことだと思いますが、
どうにもわからないので
教えていただけないでしょうか

205 :
スプライト画像を先に読み込ませておいて
前面に表示させる→消すってやればいいんじゃないかと思うけど
チカチカ演出は嫌われるぞ

206 :
フラッシュ・ウインドウごとクエイク・ポポポ音は三大嫌われ要素

207 :
ウェイトは?

208 :
それでも必要とあらばやっちゃうんだけどね

209 :
ここぞという場面で使う分にはいいんじゃね>ウェイト
多用されたらそっとウインドウ閉じるけど

210 :
ひょっとしなくてもNSLuaのテクスチャとNScripter2のテクスチャって概念違う?

211 :
>>195
ろだ無くなったと思ったら移転してたのね
良かった

212 :
>> @NaokiTakahashi
>> NScripter互換エンジンについての私の見解を公開しました。
>> http://www.nscripter.com/compatible.txt

作者さんありがとう

213 :
前から明言されてた内容だけど、誰かがひたすら問い合わせでもしたのかね

214 :
Nsc1なんだけど、デフォルトだとウィンドウに表示させるテキストの行に ;でコメントアウトしたらバグって表示されることを今知った…
同じことをtextgosub使ってシスカマすると問題なく表示されるんだが、本来やってはいけないことだったんかいな。注釈付に使ってたんだが不安になってきた

215 :
「実行ブロックで命令書いた後にセミコロン打って注釈入れたつもりが文字化けた」でいいな?エスパーするぞ?
NScripterはごく限られた命令除いて素直に書かれた命令を一個一個読む
命令文の後にセミコロン打つと「命令」「"半角セミコロンで始まっているテキスト"を表示(仕様外なので当然化ける)」と解釈される。
半角セミコロンがコメントアウトとして機能するのは物理的な行頭に書いてある場合(その行を読まないという挙動)
定義節ではそもそもテキストが表示されない仕様なので、このようなことにはならない。

216 :
ここまで書いてなんか違うこと聞いてる気がしてきた
普通の表示文を普通にコメントアウトするだけなら当然化けないよ。どんな文章が化けたのよ

217 :
命令後にセミコロンつけたらだめなのか…
mov %0,100  ;○○の目的のために値代入  とかかなりやってた…
文字化けしたのは
たかし「あああ」\ ;◎このセリフは主人公弱気な感じで
たかし「あああ」\
みたいなセリフ等のテキスト表示文にも注釈つけてたんだけど、何気なくシスカマなしのデフォルトでやったら、2つめのたかし「あああ」が
;楷・、・、たかし「あああ」って表示されてた。全角文字で始まる表示分には一部の命令以外書けない仕様(だったっけ?)だからよくよく考えたら当然なんだけど、
これをtextgosubでシスカマした状態で表示すると注釈部分は表示されず、だったもんで今までこの仕様気づかなかったんだ。
textgosub使って注釈表示されないならそれでええやん、なんだけど、仕様外の事やって変なバグ起こしてないか心配なってきて

218 :
textgosub使わんから自信はないけど、textgosubだと呼ばれるたびに切り出して解釈するのかね。
まあ動いてるなら大丈夫じゃね、変数操作でもないしメモリ吹っ飛ばしたりはしないだろう
心配&行分け直すのが面倒臭いなら公開直前にツールなり使って機械的に消す手もある(こっちの方がリスキーな気もするけどそらは置いといて)

219 :
>>215
「命令文の後にコメント」、普通にいっぱい使ってるけど問題なんか起きたことないよ
「テキスト行の後にコメント」のほうはなんとなくまずい感じするんで避けてたけど
Nスクはテキスト周りの挙動が怪しいから

220 :
>>219
実行節でも?
2ch不特定多数開発モノで文字化け多発したと思ったら原因が命令後の注釈だった、という経験ならある。むしろ化けない例があるとは思ってなかった、何かしら法則見出せるかもしれんな

221 :
俺も今んとこ化けたことないかなあ。ちなみにver2,95と2,96
しかしなんとなく不安

222 :
>>220
定義節も実行節もどちらも正常、verは最新
Nスク解説サイトのサンプルでも多用されてるし問題ないだろ
こことかhttp://sorejyadamedarou.sa kura.ne.jp/nscripter/system_customize.htm
おかしくなる原因はスクリプトファイルの文字コード関係じゃねーの?

223 :
あー新しいバージョンで直ってる可能性考えてなかったな、俺が経験したってのもひぐらし全盛期時代の古い話だし

224 :
ひぐらし以前の大昔バージョンからふつうに命令後コメント効くぞ
どーせ、セミコロンの前に全角スペースでもいれてんだろ

225 :
配列変数バリバリに使うような人がそんな初歩的なミスするだろうか
自前で行ずらして直しちゃったから元がどうなっていたか思い出せん

226 :
>>217のは命令後じゃなくて
表示テキストのケツにコメント行でしょ
普通に文字化けするけど
わざと言ってんの?

227 :
>>226
よく流れ読みなよ
命令後のコメントはOKで、テキスト行末尾のコメントはNGって話でしょ

228 :
Nsc1って環境依存的な不具合あるかな?  新ボタン命令でオンマウスでSE鳴らすスタート画面作ったんだけど、
マウス合わせたらSEがノイズみたく連続再生されてクリックしても次へ進めないって一部のプレイヤーに言われたんだけど、自分の環境じゃ再現されないんだよね。

229 :
聞いたことないけど、OSとかどんどん変わってきてるから絶対に無いとは言えんなぁ。
一部のプレイヤーってと、複数いるわけ?
ちゃんと実行環境とか聞いてみた?

230 :
今のところ3人ぐらいは聞いてるかな。環境は一応聞いてはいるけど、7だったり8,1だったり、DirectXもまちまち(基準は満たしてる)でよく分からない。
症状は共通しているっぽいけど…

231 :
てきとー言うけど
メモリ容量とかどうだろ?
スワップしてもたついてるのかもと思った

232 :
「マウス合わせたら」に相当する命令箇所を一応書いてもらえるとひょっとすると誰かが知恵出せるかもしれん

233 :
その「異状がでる部分のみの短いサンプルプログラム」を作って
報告者の人たちに試してもらって、それでもやはり異状がでるなら
画像データ、音声データ込みで晒してみるのが一番かもね。

234 :
>>231
プレイヤー側のメモリ不足って線かな?タスクマネージャー見てみると100MBくらい使ってたし、もしかしたらあるかもしれない
>>232
文字制限ギリだったんで次のレスに
>>233
連絡つくかわからないけど試してみようかな。
2つくらいゲーム作ったんだけど、そのどっちもできんかった。っていう人もいたし症例以外に法則性が見いだしづらいな

235 :
*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

236 :
defsubとかnumaliasだらけでアレだけど書くだけ書いてみました。

237 :
とりあえず新ボタン命令の方であることは分かった
すまん俺旧ボタン留まったままで分からんわ……

238 :
*titleloopからgoto *titleloopを高速処理してて
クリック認識されてないみたいだし、
bexecの前にbtimeでも入れてみたら?
たぶんbtime 50ぐらいがちょうどいいんでないかな。

239 :
何らかの要因でbexec突破しちゃってるってのはあるかもな。それならボタン定義が連打されるので新しく音が鳴り続ける

240 :
今更だけどver2,95です。せめて自分の環境で不具合再現できれば色々試行錯誤できそうなんだけどね。2,96も同梱しておこうかな
btime置いてみたら確かに挙動が症例っぽくなった。試しにbtime 0にしたらクリック効かなくなったしbexec機能が飛ばされてるってことでいいのかも
今度ダメ元で高橋さんにも聞いてみようかな   どうもありがとう

241 :
btimeに0放り込むのは「時間制限付きのクイズです、制限時間0秒な」と言ってるのと同義

242 :
症例出てる人に再現実験やってもらえるのであれば、問題出てる箇所のbexec直後で何のボタンが入力されているか取得&保存&テキストに追記で出力する手はあるな
bexecをどのように通り過ぎちゃっているのか分かれば問題の大きな切り分けになる

243 :
Nsc2での質問です。
テキスト文中での変数の表示なんですが、@textの%textに
上手く変数の中身が渡せず変数名がそのまま表示されます。
Nsc1のように何か変数の1文字目に決められた文字をつけないといけないのでしょうか?

244 :
上のマウスオーバーで効果音のやつ
効果音ファイルwavやめてoggで解決するぞ
2年前同じこと起きてそれでいけた

245 :
>>244
まじで!有益な情報ありがとう。音声環境oggで統一してみる

246 :
あー、ファイルの再生時間が極端に短いのが原因って線なのかもしれんのね
それなら俺もnsogg2.dllに切り替わった時期のやつで引っかかった事あったな

247 :
あれ?でもさ、299にあるけど
「クリックしても次へ進めない」ってのもwavからoggにすれば解決するの?

248 :
クリックが拾えていないのは「何らかの原因で高速でボタン待ち突破してしまうせいで、ボタン待ち終了〜ボタン待ち開始間にクリックが入ってしまっている」だと思う
その場合は一応、NSLuaの最終クリック情報取得命令とtrapを併用すれば抜けを99.9%潰せる
でもボタン待ち抜けちゃうのが根本的におかしいんだから原因潰した方が早い

249 :
wavやめてoggのやつちょうど俺も助かったわ。
やりとりしてくれてアリガト。
つかTIPSにも書いてあったんだなこれ。いまさら気がついたorz
文章量多くて見落とすわw

250 :
左クリックを指定した時間無効にするにはどうすればいいですか?
クリックしても文字をゆっくり表示させたいんです

251 :
ユーザーに嫌がらせしたいってこと?

252 :
ごく限られた箇所だけの話なら文中で!wとか使えばいいんじゃね

253 :
!wも試したんですけど
表示したいのは文字がゆっくり動いて
その間はクリックしても一気に文字が表示されない っていう風にしたいんです
もちろんご指摘の通り、〜○章〜
って感じで一部分にしか使いません

254 :
それユーザーが一番クリックしてスキップしたいところやんな

255 :
こ!w100う!w100すれば目的は達されるんじゃね
章表示に強制ウェイトかかるゲーム見たら俺はクソゲーと判断するけど

256 :
俺なら制作者に粘着して引退に追い込むわ

257 :
せ、せやな

258 :
俺なら解析してスクリプト修正してプレイする

259 :
章タイトルでやりたいなら
画像でやりゃいいんじゃねの

260 :
皆さんご指摘ありがとうございます!
>>255さんのようにやろうと思ったんですが最終的にwaitだけにしました(クリックで文字一瞬で表示
プレイヤーの快適さなんてまったく考えてませんでしたw
自分でこうしたいなぁ と思う演出だけじゃ駄目なんですね
いろいろ見返しが必要です

261 :

テストプレイしてみないと気付かなかったりすることもあるしね

262 :
出番を貰い損ねたtrap命令が今日も恨めしそうに周りを見ている

263 :
bgで背景画面
selectで”はじめる”等の選択のタイトルにしたんですが
全体的に明るさが暗いです
全体の明るさを上げるにはどうすればいいでしょうか?

264 :
・setwindowなりでウインドウの透過度変える(Nスクのテキストウインドウは、かまいたちの夜やひぐらしみたいな"画面全体に黒背景の半透明ウインドウ被せる"がデフォルト)
・背景素材明るくする
好きな方を選ぶ

265 :
>>264
ありがとうございます!
setwindow 8,16,23,16,26,26,0,2,20,1,1,#FFFFFF,0,0,639,479
にしてタイトル画面のみ明るくできました。

266 :
質問です。
englishモードで改行無視を行う良い方法はないでしょうか。
埋め込み記号無効の仕様のため代替を探しております。
全角文字ならば正常に改行無視するのですが、>から始まる半角英字の文章の場合は/も文章として見做されてしまいます。

267 :
english一切使わずに半角文字+半角スペース偶数バイトで誤魔化すのが一番手っ取り早い気はする

268 :
なるほど、ありがとうございます。
例えばenglishモードで
>This is a pen./
としているところを通常モードで
This is a pen. /
と表示するということですね。

269 :
調べてみたらONScripterでも英語に対応しているようですね。
これを使うのもありかな……と思ったらcygwin?でやたら色々コンパイルしたりしないといけないようで大変そうw
偶数になるように半角スペースしかないのかな……

270 :
/使いたい場所の量によると思う
装飾にちょっと使う程度なら偶数バイトで十分だし、がっつり英文使いまくるなら何かしら別の対策考えた方がいいかも

271 :
がっつりなんですよね……
grepすると1500箇所越えでしたから結構な量です。

272 :
ろだのdeffontd.dllで頑張るとか?

273 :
「>(英文)/」の塊は全箇所に書き込み済み?
「hoge "(英文)"」に置換した上でdefsub hogeと定義して
*hoge
getparam $0
len %0,$0
mod %0,2
if %0==1 mov $0,$0+" "
mov $0,$0+"/"
$0
return
と「奇数なら末尾に半角スペース足した上で/足して表示」というdefsub命令に置き換えちゃうのはどうだろう
と思ったけど変数に放り込んだ/って機能したっけ?とか+" "ってそのまま機能したっけ?とか俺が色々忘れている

274 :
うろ覚えだけど
This is a pen. /
みたいな偶数の単語が並んだ英文の場合は半角スペースはスルーされて
Thisisa pen. /
みたいに奇数の箇所だけ利いて表示されたと思う。

275 :
>>272
過去ログを遡って調べてみます!
>>273
>>274
その通りでした……
/や>は使用箇所に打ち込み済みなので試してみましたが、
半角スペース作戦は失敗のようです。

276 :
あれ、偶数バイトは2バイト目しか半角スペース使えないんだっけ(というか1バイト目の半角スペースは無視されるんだっけ)……こりゃ失敗。

277 :
NSLuaでフルスクリーン中にエラー吐くと裏にエラーウインドウ出ちゃってRる問題、
Alt+Tabでデスクトップに直接フォーカスすると一応解決するんだね

278 :
おうかがいします。
常時押せるスプライトボタンを作る方法はないでしょうか?
*text_lbを使うと似たようなことはできるようですが、テキスト末尾のクリック待ちの時以外反応しないように思えます。
つまり、長めの文章が表示されている途中でボタンを押せるようにしたいのですが…
よろしくお願いします

279 :
>>278
NSLuaでテキスト表示させて、1文字表示ずつにクリック監視すりゃ出来るけど・・・
改ページ待ちの時以外に反応させる意味ってないんじゃね
テキスト表示中の画面クリックは、全テキストを一気に表示という動作のがメジャーだと思う

280 :
>>279
ありがとうございます。
> テキスト表示中の画面クリックは、全テキストを一気に表示という動作のがメジャーだと思う
言われてみれば確かにそうですね。
テキストとは別にシステムやアイテム用のウインドウにジャンプするボタンを設置したかったんですが、テキスト末尾に来ないと反応しなくて、違和感感じてました。
NSLuaとなると自分には敷居が高く難しそうです(´・ω・`)
なんとかだましだましやってみようかと思います(`・ω・´)

281 :
その辺気にするようなプレイヤーは大抵テキスト瞬間表示をデフォにするから問題ないという説もある

282 :
例えばテキストの表示途中のあるタイミングでボタンを押せばシナリオ分岐する、みたいな特殊なゲームでないかぎり282が真理だと思う。

283 :
>>281
>>282
どうもです!そう言われると安心します

284 :
アッ―!!

285 :
すいません誤爆しました

286 :
許さん@

287 :
quake命令についてなんですけど
例えば1280×720の画面に同サイズの背景を表示した状態でquakex 10,500を実行すると
揺れた際に黒地がでてきてしまうのですが、これって仕方ないのでしょうか?

288 :
そもそもquakeはユーザーに嫌がられる的な意味で割と非推奨な気がしないでもない

289 :
>>287
捨てで
800×600とか他のサイズ作って
スクリプト作ってquake試してみれば
実感できると思う

290 :
>>288-289
レス遅くなりましてすみません
そうですか、できないんですね
ありがとうございました

291 :
どうしても気になるならウインドウ揺らすの諦めてスプライトを動かす手も全く無いではない
でもたぶん誰も気にしない

292 :
system.lua単独起動時にNSExec("reset")を呼び出した場合、Luaコードの実行はそのまま続いて変数だけが初期化された。
存在しない*start探しに行ってエラー吐くんじゃね?と思って実行したけど意外にも通るらしい。
defineresetも同様に通ったので、system.lua自身を再読み込みした上でNSCOM_main関数を頭から呼び直すようにすれば関数外に書いた変数は全面リセット可能かも。

293 :
変数だけが初期化された→(NScripterの)変数だけが初期化された
一方でsystem.lua単独起動時のNSExec("definereset")は無視されるっぽい?NScripterの変数は初期化されないし、system.lua内の操作もそのまま残る。

294 :
あーごめん、「単独起動時のdefineresetはエラーこそ吐かないが無視される」が正確な挙動みたい。2レス前で大嘘書いてしまった

295 :
質問させてください
テキスト表示中に左クリックすると、テキストが末尾まで瞬間表示されますが
あれと同様の動作を下ホイールで実現したいです
なにかいい方法はないでしょうか?

296 :
>>295
まずは、ぐぐってみよう。検索キーワードは「nscripter ホイール」
ttp://sorejyadamedarou.sakura.ne.jp/nscripter/system_customize.htm

少なくとも「なにかいい方法?」の質問は、自分で調べて実践した具体例を
挙げてからにしたほうがいい。

297 :
仕様だから我慢しよう(なんちて

298 :
現状で何でもかんでも答えてくれるような人が出るほど
流行ってないスレで質問攻めは無理ぽ

299 :
>>297

300 :
textgosubとかのシステムカスタマイズ族ってその辺の挙動指定出来んの?

301 :
TIPSの中級編NO.34見れ

302 :
>>297
洒落になってないー!?

303 :
pretextgosubやtextgosubでの制御はやってみたんですが、うまくいかなかったです…
仕様とのことなので諦めることにします
ありがとうございました

304 :
仕様のソースがわかんない限り洒落だったりして?

>>31のリンクを貼っておこう。
ttp://sorejyadamedarou.sakura.ne.jp/nscripter/tip04.htm#TIP34

305 :
>>31でなくてTIPSの中級編NO.34だった。orz

306 :
一応できなくもない…ということでサンプル上げてみました
>>195
のうpろだのn_0247.zipです
よければ試してみてください

307 :
ろだのファイル落とそうとしたら内部エラー出るけど一時的なものだろうか

308 :
500エラー出ますね

こちらに上げてみたので、もしよければどうぞ

http://www1.axfc.net/u/3436539.zip
DLkey:5432

309 :
プログラムのリファレンスなどを何度見ましても、やりたい事の再現方法がわからず、
どこかで質問したかったのですが、ここ以外によさそうな掲示板が見つけられなかったので、
一つ質問させていただきたいです……。

やりたい内容は、バックログの文章操作です。
以下のような文章を書いたとします。

〜〜〜〜〜

こんにちは。@
やりたい事があるのですが、\
解決出来ません……。@

〜〜〜〜〜

これを一通り表示させた後、バックログを表示させれば当然上記の三行が表示されますが、そこを何とかして変えたいです。
つまり普通に読み進めた時は上記の三行が表示されますが、バックログを表示させた時は……

〜〜〜〜〜

こんにちは
やりたい事があるのですが、
調べても、
解決出来ません……。

〜〜〜〜〜

のように文章を変更(追加)したいのです。

考えたのですが、自分には再現方法が思いつきませんでした……。
何か良いアイデアがございましたら、アドバイスをいただけないでしょうか……。
よろしくお願いします……。

310 :
読んだ文章を表示させるのがログなんだから当然だろ…

311 :
何故そんな仕様にしたいのかは分かりませんが、バックログの挙動をいじるとしたらシステムカスタマイズをしてログの自作から必要になってくるのではないでしょうか。

312 :
該当部に着たら
表示したいテキストに差し替えるように
バックログのシステム組めば良いと思うの

313 :
>>309
なんだそりゃ
バックログをゲームシステムに組み込んで何か悪戯?驚かせ?でもしたいのかしら

自前でバックログ風のニセ画面を作るのがいいよ

314 :
皆さん早速ありがとうございます。

もちろん意図はありましたが、ややこしい上、長文になりそうだったので省いていました^^;
しかし、せっかく懇意にしていただけました事ですし、拙い文章かもしれませんが意図を記載してみます。

今現在、私のゲームでは所々文字のフォントが変えられるようにしています。例えば、
「いきなりの質問にも答えていただき、ありがとうございます」の「ありがとうございます」だけを特定のフォントに変える。という具合です。それ以外は通常(?)のMSゴシックで表示をします。
通常Nスクはフォントを一部だけ変える事は出来ず、変えようとすると全ての文字が変わってしまいます。
ではフォント変更をどう再現しているかと言いますと、「ありがとうございます」をフォントを変更したスプライトとして表示させているのです。スプライトならばフォントを変えるのも簡単ですから。

さて、これで一部のフォント変更は晴れて出来るようになる訳ですが、一つ問題が出ます。

フォントを変更した部分はスプライト表示なので、バックログに格納されないのです。
つまり、最初に読んだ段階ではちゃんと「いきなりの質問にも答えていただき、ありがとうございます」とフォントも分けられた状態でしっかり表示されるのですが、
その後、バックログでその部分を表示させると「ありがとうございます」はスプライトだったが故、「いきなりの質問にも答えていただき、」としか表示されなくなってしまうのです。
なので、バックログでもフォントを変えて表示……とまでは言わないけれど、せめて、表示くらいはされるようにしたい……。
と思いまして、現在どうしたらいいものかと悩んでいます。

以上が私の意図です。非常にわかりにくいかもしれません。申し訳ございません。



皆さんの回答を拝見しまして、単純ながらもシステムカスタマイズでバックログを作るという発想がなかったなと気付きました。
しかしながらまだ具体的な解決案は浮かんでおりません……すみません……。

と、>>312さんの一連のアイデアはどういった意味でしょうか?申し訳ないですが理解が及びませんでした……。
どういった命令を使うか?などもう少しだけ踏み入って教えていただけないでしょうか?

315 :
バックログを完全に一から自作しないとダメだろうね
表示メッセージを毎回変数とか配列に入れておくとかで

ただ、フォント替えによって得られる効果と、
バックログを自作する労力とを考えると、
あんまり割に合わない作業になりそうな気はする…

一部のコアユーザーは別として、一般の人は
メッセージのフォントがどうとかなんて、
あんまり気にしないだろうし

絵がキレイなこと、シナリオが面白いこと、
快適に読み進められるシステムであることが
最優先で、次いで音楽の良さ、ボイスの有無が重要

それ以外の要素が作品の評価に繋がることは
まぁ、めったにないかな

自分ならフォント替えによって行いたい表現は、
メッセージ内じゃない画面上になんらかのスプライトを表示させる形の
別のグラフィック表現に置き換えちゃうと思う
効果音でごまかすのとかもありかと

とはいえ、バックログ自作に関して技術的なやりとりを
このスレでやるのは全然OKだと思うし、
バックログを実際に作れればすごいスキルアップに
なるだろうから頑張れ、という気持ち

すでにフォントを変えたセリフ?かなんかをメッセージ内に
表示するシステムは組めている様子なので、
時間をかければバックログも作れると思うよ

316 :
ご期待に沿えるかわからないけど、
システムカスタマイズでのバックログの実装と
バックログの中身の差し替えのサンプルを上げてみました。
よければどうぞ

http://www1.axfc.net/u/3439540.zip
DLKey:5432

317 :
>>314
該当部分をAとした場合、
その部分にフラグ立てて
バックログ(カスタマイズ前提)参照時に
該当部分A(文字スプライト)を
を表示したいものに変えてみようってことです

318 :
>>316
拝見させていただきました。わざわざこのような素晴らしいプログラムを組んでいただきありがとうございます。
そうです!まさしくこんな動きが出来たらいいなと思っていました!
しかし、いかんせんLuaという言語を知らず、何がどうなっているのか部分的に理解が及びませんでした……。
NScripterの命令だけで再現するのは無理なのでしょうか?
また、「バックログを改変できますが、改変すると、ログがログでなくなってしまうのであまり使い出がないかも…です」
というお言葉も何か不便があることを示されているのかもしれませんが、これはどういった意味でしょうか……?

>>317
ありがとうございます。
……す、すみません……!!>>316さんに引き続き大変お恥ずかしい限りなのですが、
理解し切る事が出来ませんでした……。
大変申し訳ないのですが、もしよろしければ、もう少し詳しくお教えいただけることは出来ますでしょうか……?

319 :
うぜええええええええええええええええええ

320 :
>下ホイールで瞬間表示
NSLuaAnimationInterval(33) NSLuaAnimationMode(true)
function NSCALL_animation()
local l,r,w=NSGetClick()
if(w<=-1)then
if(not NSNSosippa)then NSExec('textspeed 0') NSNSosippa=true end
else
NSNSosippa=false
NSExec('textspeed 9') --←現在の表示速度に合わせる
end
end
NSExec('luacall animation')
---------------------
とりあえず公式のnslua.dll入れてフォルダ内にsystem.lua作ってこれコピペしとけばいいんじゃね、見るからに機能不足だけど
>Luaという言語を知らず
妖精さんの魔法だと思っておくのが嫌ならsenzogawaさんの講座でも見に行けばいいんじゃね?
このスレの住人だってほとんどは実装当初Luaを知らなかったぞ

>>308
落としてみたら予想外の解決策でものすごく驚いた。dllが視野に入ってるとこんな解決法もあるのか……

321 :
>>318
組み方に言及されてもわしゃスクリプトを使って答える気ないよ
やりたいことの希望は分かるんだけど
バックログをシステムカスタマイズして組めることが
そもそもの前提になるのでそれを習得してないとやれるようなことじゃないので
どうしてもやりたいなら時間かけて基本になるバックログの組み方を覚えるべき
別に損するってわけでもないしできる幅も増えるので

322 :
>>318
Nスクのみ(Luaなし)のバージョン上げました
よければどうぞ

http://www1.axfc.net/u/3440932.zip
DLKey:5432

>「ログがログでなく〜うんぬん」
特に深い意味はないです
>314のようなケースは別として、
「ログを改変する必要性ってなくない?」くらいの意味です
>309だけの情報だと「なぜログを改変する必要が?」と思いましたし、
「たけしの挑戦状でも作るつもりかしらん?」と思いました

323 :
皆様ありがとうございます。

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

素晴らしいスクリプト、視点、のおかげで解決できました!
本当にありがとうございます!とても困っていたので……!

324 :
……!

325 :
皆が言いたいことは分かるぞ、だがここは堪えるんだ

326 :
数年ぶりに弄ってて気づいたんだけど
nscrってwin7でなら普通にh264再生できるのな
こりゃまだまだ使い道あるかもしれん

327 :
機種依存で泥沼にはまる予感

328 :
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)

329 :
久しぶりにやる気になってるのか
あまり期待しても肩透かしくらいそうだから
放置気味に静観してるのが吉

330 :
一応正式版来たみたいだなNスク2

331 :
NScripter2キタコレage

332 :
NScripter2特設ページ http://www.nscripter.com/nscr2.html

333 :
Naoki TakahashiさんはTwitterを使っています:
"NScr2は、ウィザードには無理がある(カスタマイズの要件が多すぎそう)
なので、結局、チュートリアルを作ることにした。特設ページを作って今後の更新を予告などした。
最低でも週一くらいで更新していくかなあ。"
https://twitter.com/NaokiTakahashi/status/587424016392007680

334 :
マイクロソフト、Macでも動くVisual Studio Code 無料提供。クラウドアプリ向けコードエディタ - Engadget Japanese
http://japanese.engadget.com/2015/04/29/mac-visual-studio-code/?ncid=rss_truncated

335 :
犬と猫さんとこの新作ゲームはどうやらシステム部分の多くをnsluaに移行したらしく
いろいろ参考になることをやっているよ

336 :
Nスク触り始めたんだけどドキュメントって公式にあるやつだけ?

337 :
だいぶ昔から非公式の解説サイトに依存する形なので、体系的に覚えるならろだの非公式マニュアルとNScripter Tipsあたり見とくと吉
解説が最新事情に対応してないサイトもあるから注意

338 :
よく使われてたサイト貼ろうとしたらNGワード
どうなってんのこの掲示板…

339 :
エヌスク2がでたしエヌスク1の最終バージョンの完全なドキュメント欲しいなー
って思うけどまとめるにしても情報のソースすらないから困る

340 :
ドキュメントガクソだよなぁ
後付けだらけでスパゲッティになってるのもクソだけど

341 :
http://nscuploader.daiwa-hotcom.com/arc/manual/online/man.htm じゃあかんのか

342 :
公式で欲しいってことじゃないのかね

343 :
ドキュメント作るとしてwikiあたりで編集できればいいかね
まあNScrに熟達してて編集するやつがいないってオチなんだろうけど

344 :
今更、初代のドキュメント整備しようぜって言われもなー…
使い道って全ての命令群を備えてるわけじゃない互換系しか思い当たらないんだが

345 :
だよな。ろだ主氏と先祖川氏のドキュメントで充分すぎるくらい整ってる

346 :
一番グダグダだった音回りは後付けに次ぐ後付けを経て「いいからdwaveとbgmだけ使ってあとは全部忘れろ」に落ち着いたし、
2.96で半端に終わってしまったのは新ボタンくらいじゃないか

347 :
ノベルエンジン探してるやつ見かけたら別のエンジンに誘導すればいいだけ
新規は完全にお呼びじゃないし

348 :
ノベルゲーがエロゲ業界共々退潮著しくて、コミュニティ崩壊状態だからな…
吉里吉里もギリギリ維持されているような状態だし

349 :
第一回PLiCy ゲームコンテスト結果発表
http://plicy.net/contests/1Result/

350 :
>>346
新ボタンはマジで神だぞ。とにかく断然早い。たったそれだけだけど、ほんとに違う。
あと細かいけど2.93から実装だな。

351 :
拡張スプライトって使い勝手はどうなの?
スプライトの代わりに使えってこと?

352 :
拡張スプライトは縦横に引き延ばしたり回転させたりしたい場合に使う
表示順がスプライトほど融通利かなかったりそもそも(相対的に)重かったりするので必要に応じてどうぞ

353 :
徐々に拡大にしていく感じにしてみたけど画像が汚いな…
アニメーションには向かないってことか

354 :
むいむい。ことのプラグイン使えば良いでしょ

355 :
拡大はオマケで回転が主だと思う
拡大するのではなく、大きめの画像を縮小した状態から等倍に近付けていくと汚くなりにくいかもしれない

356 :
みなさんはNS2に移行しましたか
それもとこれからですか

357 :
>>355
昔やったことあるけど、
ドット絵っぽくなるだけだよ
効果としては面白いと思ったから使いようはあるかもしれない

358 :
>>356
使い回しコードが外部dllに依存しすぎで移行しようにもできません

359 :
>>358
ヘビーなNスクユーザーなら大体みんなそうなるよなw

360 :
ろだです。長い間放置していてすみませんでした
ダウンロードができないという問題を把握しました
が、パーミッションをいくら確認しても解決できず
当方の知識では解決できそうにありませんので、外部にアップローダを借りることにしました
今後はとりあえずそちらのほうにアップお願いします。ご不便をおかけして大変申し訳ありません
>>306さんの一連のサンプルもアップしておきました
http://ux.getuploader.com/nsc_pub/

また、同時に他のファイルのバックアップ保管庫も作りましたので、サイトが見られないなどの際にご利用ください
http://ux.getuploader.com/nsc_arc/ 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)


361 :


362 :
むいむいさんとこのスプライト操作プラグインを落とそうと思ったら変なページに飛ばされて落とせない
他のプラグインも軒並み落とせない
あとsenzogawaさんとこも500エラーで見れない

363 :
ツイッターやべえな
作者とエヌスクの未来は暗いのか

364 :
かつてないほど鬱気味だった
心配すぎる

365 :
ttp://www.eiji8pou.net/ 自体がドメイン切れてるね
WebArchiveから落とせなければアウト、ダメモトで本人に頼むのも手かもしれないが

366 :
Hrm.
Wayback Machine doesn't have that page archived.

おわた

367 :
持ってはいるが、添付テキストに二次配布の言及がないので
良いのかも分からず支援できん

368 :
ツイッターで直談判してみたらいいんじゃね

369 :
そろそろ一時代築いて引退ってことでいいんじゃないか?
今Nscで作ってるのは個人だろうけど個人でももっとリッチな環境で作れる時代になったよ

370 :
でもWindows用一本でサウンドノベル作るって前提なら未だに最前線級だと思うんだ

371 :
Androidへの互換性だってあるしマダマダイケルヤロ

372 :
これまで使ってるなら手持ちのプラグイン豊富に持ってるだろうから
イケるだろうけど新規なら他をあたれ

373 :
ドキュメント、コミュニティ、リソース
全部崩壊してて後から来た人には劇物だよ

374 :
ドキュメントは残ってると思うんだ 非公式のが

375 :
先祖川さんのリファレンスにろだの検索機能追加スクリプト入れて使ってる

376 :
検索はctrl+Fで済ませてるな
そもそもワード知らんとヒットもしないから
流し読みが主だし。

377 :
でも普段使わない命令はうっかり引数忘れちゃうよね

378 :
うん。だからctrl+Fを使うのさ。

379 :
btnnowindowerase
ボタン時にテキストウィンドウが消えなくなります

↑この命令を使ってもbtnwait命令やbexec命令を使うと
テキストウィンドウが消えてしまうんだけど、どうすればいい?
ボタンが出てる時にテキストウィンドウが消えると
ゲーム内容的にかなり困る

380 :
組み方が悪くて動作が変ってことじゃないなら
文字スプライトに置き換えろ

381 :
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

382 :
こういった情報は貴重だな
仕様が不明だと正常な動作と異常な動作の見分けすらつかないからハマる
ドキュメントに反映されていくといいんだけどな

383 :
erasetextwindowって基本じゃねの
知らん方が変というか

384 :
シスカマのサンプルに組み込まれてるレベルものを気付いてないんだし
ドキュメントに反映しても見落とす気がすんだけど…

385 :
>379-382ってbtnnowindoweraseについての話だと思うんだけど
これの使い方わかる人いる?

386 :
btnnowindoweraseでググっても取り扱っているページほぼ見ない(あっても相当古い)し俺自身使った記憶もない
気付いたら非対応になっていたzenkakkoパターンの誰にも気付かれなかった版じゃないか?

387 :
ちょっと軽く調べたけど
btnnowindoweraseってbtntimeに関連していて
effectskipが追加されてほぼ用なしなった命令じゃないっけ?

過去スレで画像エフェクト表示の時にクリックすると
次のテキスト表示が一瞬で表示される云々で
回避法で利用されてた覚えある

388 :
つまり意味ある命令だった期間が元々非常に短いのかな?
あんまり使用されないうちに存在意義失っちゃって非推奨命令として知られることもなかったと

389 :
先祖川さんとこのリファレンスを見るに
ver.2.48からの命令っぽいから
期間自体はそれなりに長いじゃないの

390 :
ゲーム内のボタンクリックでウェブサイトに飛ばすようにしたくて、検索したらshell命令を使えばいいらしいのですが
shell "(指定URL)"でやってもページが開かない…
なにか他に必要なのかな?教えていただけると助かります

391 :
うちの環境では普通に開けるよ

*define
game
*start
shell "http://google.co.jp"
shell "00.txt"
\
end

392 :
>>391
ありがとうございます!386さんのをコピペして、
IE11じゃ開かなかったけどGoogle Chromeをインストールしたらそっちで開きました
これは解決したってことでいいのかなw
とにかくありがとうございました!

393 :
右クリックの挙動をキーに割り当てることってできますか?
ボタン命令は新の方使ってて、メニュー画面から戻るときなどに右クリックで戻る、というようにスクリプト組んでたんですが、
後からマウス使わずキーボードだけでもある程度操作できるようにしたいと思ってしまいました。
けど今から一つ一つにボタン操作後の挙動にif分岐挟んでいくと量がかなり多くなってしまい…
理想としてはdefine部に命令一つ書くだけでボタン待ち時にこのキーを押すと右クリックしたものとして扱い、進むようにする…というものがあれば嬉しいのですが

394 :
色々やりたいことをする≠楽して組む
だから労力は惜しむな

395 :
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
;---

396 :
なるほど…! bexecの下は大体if分岐になるからdefsub化した既存命令内でキー割り当てするのですね。
ありがとう! 参考になりました!

397 :
そうか、数字や文字で返すからボタン待ち命令乗っ取るとこういうすり替えが可能なのか

398 :
今更ではあるけど、x264再生できるレイヤープラグイン欲しかったなぁ
すっかりmp4普及したせいでmpegとかoggのエンコ環境がもう手元にないよ…

399 :
よし、作ろうぜ

400 :
H.264ってパテント問題なかったっけ?
FFmpegでMPEG-1に変換できると思うよ

401 :
NSfont.dllの外字登録は結局ns2アーカイブに対応しているのでしょうか?
nscripter覚書やtipsにはpng化すればver2.96はエラー回避できると書いてあるのですが、
png使用で、ver2.95、ver2.96両方試したんですがどっちも画像が見つかりませんと出て落ちてしまいました(アーカイブ前は問題なく機能します)
ぐぐったらver16のスレで同じようなことを言ってる人がいたんですが、他の人はns2アーカイブでも問題なく使えているの気になりました。

402 :
うちの環境では問題なく使えるよ
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

403 :
すみません、色々検証してみたんですが、妙な挙動を見つけました。
まず頂いたスクリプトだと問題なく動作します。アーカイブ内のhurt.pngをきっちり読み込んで表示文もちゃんとハートが出てました。

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

exec_dll命令は定義実行両方でできるはずなのですが、NSFontの読み込みはアーカイブを使う場合、何故か定義節でやろうとするとエラー落ちする…
そんな気がするんですが、どうなんでしょうかね…

404 :
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アーカイブモードにセットされるみたいです

405 :
なるほど。ns2アーカイブにはnsaに相当する命令がないから実行中からでないと読み込めないってことですかね。
とりあえず今後は外字登録は実行中に済ませることにします。

406 :
>ns2アーカイブは、定義節からはアクセスできない
知らなかったそんなの…
バイト単位で調べるNSGetFileInfoはたしか定義説中の実行でも大丈夫だったよね?

407 :
推測だけど、nscripterが起動してから実行していく順序が

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

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

Luaスクリプトはアーカイブモードが確定してから実行されるので
NSGetFileInfoはns2アーカイブを問題なく使えるみたいです

408 :
【先出し週刊ファミ通】『RPGツクールMV』シリーズ最新作が大幅に進化を遂げて登場
http://www.famitsu.com/news/201508/04085014.html

マルチデバイス対応でスマホでもつくーる

409 :
ツクール95かな?

410 :
>>407
定義節専用命令はluasub登録できないってことでいいのかな?
system.lua最優先で読んでるものとばかり思い込んでた

411 :
>>266-275
NSCALL_text乗っ取って
「長さ偶数バイトのテキストが末尾"/"なら"半角スペース+/"に置換して表示」
「置換した直後のテキストが半角スペースから始まっていたら削って表示」
とかやればある程度対応できるかも?クリック待ち処理ごと自作することになるけど

412 :
>>410
たぶん、game命令でsystem.luaが読み込まれる&実行されてるので
luasubで登録した関数が有効になるのは*start以降になると思います

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

;00.txt
*define
defsub foo
foo
game

*start
end

*foo
mesbox "foo","foo"
return

413 :
次のサンプルでは、"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

414 :
Nスクで作られたとあるフリゲで遊んでたら
オートマッピング付きの簡易3Dダンジョンが実装されててびっくりしたよ

415 :
*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内から実行すれば通るかも?

>>414
座標1つにつき1文字でまとめて情報管理しちゃえば割とどうとでもなるよ、
マップの数増えると保存はめんどいけど

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

417 :
>>415
"不正な命令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とか'_'プリフィックスをつけた方がいいくらいかもです

418 :
定義節専用命令を、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直後の初期化処理で間に合うものは、実行節で初期化する、というのもアリかなと思いました。

419 :
>>416
だいたいそんな感じだと思います
細かいことを言えば、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 を読み込んだ(&実行した)直後から有効になります

420 :
現在行の情報が吹っ飛1行目に戻される→既に読んだ定義節命令読んでエラー
の順なので、「system.lua読み込み中の」「定義節専用命令実行」に限っては
goto *start
*define
game
*start
みたいな書き方で一応動く。公式では二重実行ダメと言われてるけど、1行目に戻される以外の問題は今のところ発見されていないと思う

421 :
定義節専用命令は呼び出すタイミングが固定だから(たぶん)安全に通るけど、
実行節中で二重呼び出しされ(た後本体に戻)るようなスクリプトは避けた方が脳に優しいはず

外字登録だけだったら
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
とか書けばある程度まとめて記述できる。でも
>定義節で使うリソースは、アーカイブにまとめずにいっそ裸で置いておくとか
俺もこれに賛成。フォルダに入れときゃダイジョーブダイジョーブ

422 :
luacallの有効タイミングに関しては
「その場で有効になってはいるけど、肝心の呼び出す関数がsystem.lua読むまで登録されない」と
解釈した方が納得しやすいかな(内部的には「game命令を読むまで有効化されない」が実際の挙動っぽい気もするけど)。

NSCALL_やNSCOM_自体は起動後に定義し直すことも出来るくらい(書き換えるとしてもせいぜいanimationくらいか)普通のlua変数だし、その意味じゃdefsubと僅かに位置付け違っているかもしれない

423 :
NScripter更新されてますね(不正なセーブデータ読み込みに伴う脆弱性修正)

424 :
そもそも今までのverも怪しげなセーブデータ拾ってこなければ大丈夫だから
サポートめんどくさければ、そう告知しとけばいいぞ

425 :
更に更新されとるね…

426 :
ゲーム向けスクリプトエンジン「NScripter」の旧版にバッファオーバーフローの脆弱性 - 窓の杜
http://www.forest.impress.co.jp/docs/news/20150902_719250.html?ref=rss

427 :
可能性なんて掘り下げりゃいくらでも出てくるわい

428 :
初心者なんですけど、質問させてください。
音声ファイルですが、mp3は権利の問題などがあるらしく、あまり使わないほうがいいのかと思って…
それで(よく考えずに)WAVにしていたら、とんでもないサイズになってしまいました。

そこで、WMAにしようと思っているのですが…
ウィンドウズであれば、すべての機器でWMAに対応していると思っていいんでしょうか?

妙な質問ですみません。あと、皆さんが音声をどのファイルにされているかもお聞きしたいです。

429 :
今回のそれかはともかく
データ読み込みまわりに脆弱性があることは
随分昔にT2氏が言及していたような

430 :
まあ実害出る前に直ったのは幸いよ

431 :
そして更新されましたね…

432 :
bmp修正って真上でレスされてるdefine内だとns2で弾かれるって件じゃないのね

433 :
前スレの>255あたりにもあるけど
ns2からbmpファイルを読み出せないバグがあったのよ

434 :
いつの間にかNスク2の講座ページ(?)みたいなの無くなってるね

435 :
rubyon2にフォントサイズの整数倍を指定したら2サイズの文字を同時に表示できないか?
と思い試していたスクリプトが一応動いたのでサンプル上げておきます
ttp://ux.getuploader.com/nsc_pub/download/5/nsc_pub_5.zip
内部でlocate命令を使うためバックログが壊れます。大きい方の文字は特殊記号がほとんど使えません。 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)


436 :
命令って大文字小文字どっちでも完全にまったく構わんの?なんか差って出る?

437 :
nscは区別しない
luaは区別する

438 :
プログラマはMacを使ってるってマジ?
http://hayabusa3.2ch.sc/test/read.cgi/news/1450395043/

439 :
どう見てもマルチポストなあれに反応してあれだけどNスク開発者でMac使うのはかなり重度のマゾヒストではなかろうか…

440 :
>>434
言われて気がついたかも?

チュートリアルの需要があったら誰か作ると思うよ。
つ「言い出しっぺの法則」

441 :
つか、正式版に同梱されてんじゃないの?>Nスク2の講座ページ

442 :
Nスク2使ってる人が情報不足で喘いでいる様子は見ないから機能してる情報源は一応あるんじゃない?

443 :
何処からか叫び声がした。
@<不要な仕事を作るな

444 :
ふと存在を思い出したけど日本語以外を拒否するdll(getlang.dll)って現存しないんだっけ?2009年ごろのやつ

445 :
唐突だけどNscの統合開発環境ソフトみたいなのってないのかな?
今はサクラエディタでいろいろ設定して色分けとか予測変換とか駆使してやってるけど、かゆいとこに手が届かない感じがして微妙にストレス溜まる…
命令の簡単なリファレンスとか、インテリセンスとかエラー予測とかがついた簡素なテキストエディタでもいいから欲しいわ

446 :
一年くらい前から同じようなこと考えてるな
便利なIDE作れたらなあと思いながらなかなか仕様も決まらんし手も付けてないが

447 :
ろだのn0241ってファイル破損してる?アーカイブの方も含めて解凍するとdeffontd.dが途中で切れてしまう

448 :
>>447
正常なファイルをあげなおしました
ご迷惑おかけしてすみません

449 :
>>448
助かりましたありがとう……!

450 :
ろだと言えばスレへのリンクが板移転前のurlになってる気がする

451 :
x字間を-(文字サイズの半分)に
一文字ずつ表示
全角文字を表示したらlocateで1文字飛ばす
これで見た目上は奇数バイトの半角文字テキストを表示できないだろうか

452 :
>>450
直しました
指摘ありがとー

453 :
テキスト表示速度って瞬間表示前提にしちゃって大丈夫かな、速度可変にするとシステムカスタマイズが色々めんどい

454 :
表示遅くてイライラすることはあっても、早くすぎて嫌だっていう声聞いたことないし俺はテキストスピード調節自体をなくしたよ。

455 :
袋文字プラグインやdeffontd.dllは瞬間表示前提だよね(deffontd.dllは無理すればゆっくり表示もできなくはないけど)

456 :
現代人が時間ないのか分からんけどツクール系ノベルとかでも瞬間表示主流になって久しい

457 :
文字表示の合間に演出入れるとか
文字待ち演出しないなら瞬間表示の方が
テキストをサッと読めて楽ってのはあるのかもね

458 :
deffontd.dllでテクスチャ用意→スプライト化→ドロップシャドウdllのうちどちらか→表示 でdeffontd.dllの機能使いつつ袋文字使えるって認識で合ってる?

459 :
たぶん合ってると思う

460 :
>>459
ありがとう、かなり夢が広がるな

461 :
非公式マニュアルのダウンロード版解凍できないというツイート見かけた
今試してみたら破損してるっぽいです

462 :
>>461
あれー
確認したけどうちではトップからのも倉庫からのも大丈夫だなあ

463 :
ちなみに解凍ツールは7zG.exeだよ

464 :
ファイル倉庫の方を試してみたけど、うちの環境ではダメだったよ
ツールはunzip(6.00 linux)です
「セントラルディレクトリの終端レコードのシグネチャが見つからない」ってエラーがでるっす

465 :
手元の解凍ソフトで試したら7zipでは解凍できた。WinRARとLhaplusではエラーになる
ファイル自体は無事だけどファイル形式情報に問題が出ている
→そういう場合に無視して解凍するソフトならセーフ、違ったらアウト
こうかね

466 :
皆さん報告ありがとう
たぶん 7zipで圧縮率を最大にしてたのが問題だったっぽいです
アーカイブしなおして上げなおしました。これで大丈夫なはず
サイズは変わってますが中身は一緒です

467 :
7zipの最大圧縮率って他のソフトで解凍出来なくなる場合があるのか、俺も気を付けよう

468 :
すみませんが、立ち絵の横に謎の縦線が出てしまうのはなぜでしょうか。

2年くらいNscripterを使っていますが、これまでこういう現象は起きませんでした。

何度編集しなおしても、この線が消えません。
どなたかお教えください。

469 :
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)対応テキスト形式を増やし、誤字にもかなり強くした。

470 :
deffont.dllって半角コンマは表示できない?

471 :
できるよ、こんな感じで
NSDCall(0,"*640,48",fontproc,"24,24,あいうえお,かきくけこ")
NSDCall(0,"*640,48",fontproc,"24,24,,,,,,,,,,,,,,,,,,")
NSDCall(0,"*640,48",fontproc,"24,24,,,,,%#FF0000,,,,%#00FF00,,,,")

472 :
deffontd.dllだと引数の数がぶれるせいか上手く出せなかったような気がする

473 :
deffontd.dllは、自分の環境だとn_0241.zipがうまく解凍できないのでちょっとわからないですね

474 :
まとめてzipになってる方駄目でも
ttp://nscuploader.daiwa-hotcom.com/uploader_list.htm
の方は解凍できるんじゃない?

475 :
同梱されてるソース見ると半角カンマでsplitしていて
バラした結果が3,4,5,7,8個以外だと
throw new Exception("フォントのDLLに渡したパラメータ数が不正です。: " ~ toString(params.length));
で処理中断してるみたいね

476 :
>>474
ありがとう、解凍できました

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

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 ',':追加すれば
"%,"で半角カンマ出力できるようになると思うけど
自力で改変&コンパイルできる人いたら頑張ってみて

477 :
あるいは%直後の文字を見ている箇所少しいじって
「%cなら,に置き換える」的な処理作っても大丈夫だと思う

478 :
そっちの方がスマートだね

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

D言語コンパイルできる環境ないんでテストしてないけど
こんなんでいけるかしら?

479 :
ウインドウサイズ変えて遊んでたら偶然起きた現象(Win8.1の32bitで発生)
;$V4095G200S120,100L10000
みたいな極端に小さいウインドウで起動すると初期状態の黒背景が一部変になる(右下が白い)

480 :
だいぶ前のバージョンの話なんですが、どなたか教えていただけませんでしょうか?
たとえば以下のような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

どうかよろしくお願いします。

481 :
spfont

482 :
ごめん、書き込み失敗した…

spfont "MS ゴシック",23,23,0,4,0,0
を事前に一回指定しておくといいかも

483 :
>>482
ありがとうございます、今調べてみましたらそういう命令があったのですね、知りませんでした。
さっそく試してみます、重ねてありがとうございました。

484 :
新ボタン命令(っぽい処理)をLuaで真似て作った
ttp://ux.getuploader.com/nsc_pub/download/7/nsc_pub_7.zip
btrans等再現できない(と思われる)機能は再現してなかったりするけど使う人いたらどうぞ 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)


485 :
影なしの文字スプライトって微妙に使い所難しくない?
俺が使おうとするとどうしても背景色に溶け込んじゃう

486 :
>背景に溶け込む
・下にテキストウィンドウ代わりのスプライトを半透明で敷いておく
・フォントを大きく、太文字にする
対策ってこれくらいかしら?

>使いどころ
DropShadowとか使いたい場合は、影ない方がいいのかも

487 :
>>486
あーなるほど、プラグインのために使うってのが頭からすっぽり抜けてた

488 :
anm.dllの作者さんはもう見てないだろうか
pupudebug.dllのフォントの大きさをもっと大きくして欲しい・・・
高解像度ディスプレイだからか字が豆粒みたいで非常に見にくい

489 :
最終2012年だから微妙に厳しそう
だけどサイトに連絡先乗ってるからダメもとで要望出してみてもいいんじゃないか

490 :
Luaテクスチャで似た挙動させることは出来そう

491 :
>>488
まさか使ってくれてる人がいたとは思いませんでした。
pupudebugを久しぶりに更新して、フォントサイズを変更できるようにしときました。
詳しくは00.txtの最後のほうを見て下さい。

492 :
1週間前にも告知いたしましたが再度告知致します。
ゲ製板の任意ワッチョイの導入についての投票を8月7日(日)に行います。
スレの>>2の訂正部分に気を付けて是非参加お願い致します。
http://tamae.2ch.sc/test/read.cgi/vote/1469829608/

493 :
pupudebug更新きた
ありがたやありがたや

494 :
>>491
レス見てなかった
対応ありがとうございます!これでデバッグが捗ります!

495 :
【訂正】
>>492において8/7(日)に行うと告知されたワッチョイ導入についての投票ですが、
自治スレでは投票の是非について結論が出ておらず、
現時点において投票の実施が決まったという事実はありません
なお、ワッチョイ導入そのものが否決されたわけではありません
導入についての議論は現在も自治スレにおいて継続中です
ご意見のある方は自治スレまでお越しください

■ ゲーム製作技術板自治04 [無断転載禁止]&#169;2ch.sc・
http://echo.2ch.sc/test/read.cgi/gamedev/1469698797/

496 :
荒らしが出没しておりワッチョイの議論だけでなく投票自体もまとまらないから
投票を開始しましたが【訂正】と言い投票自体を妨害する方が出没しています。
投票自体は20:59まで行っており、確認時間も23:59までの3時間行っておりますので
是非参加お願いいたします。
http://tamae.2ch.sc/test/read.cgi/vote/1469829608/

497 :
NScripterDSってplayexしたoggファイルをstopで停止できなかったりする? playとplayloopexで再生されたファイルは止まるけどplayexだけ0が返っちゃう

498 :
あ、playfreeで再生されてるとそもそもstopで止まらないのか…

499 :
連投すまん、stopにフェード時間与えるとボリュームが0になるだけで再生が止まらない。これは仕様?Win8.1

500 :
仕様ぽいね[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

501 :
ありがと、新しくloadするにせよロード済みのid使うにせよplay前にあらかじめstopとボリューム初期化噛ませておいた方が安全ですかね…

502 :
splitが標準命令に入ってるのは割と偉い判断だったと思う

503 :
>>501
ものすごい遅いレスだけど、stopとfreeの違いはリファレンスに書いてあるよ
あとろだのラッパーなんかも見てみるといいと思う

504 :
よほど特殊な使い方でない限りは2曲前のメモリを解放するようにしとけばクロスフェードさせつつメモリの心配せずに済むと思う

505 :
@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使うためには何すりゃいいですか?

506 :
こんな感じかな
//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(

507 :
書き込み失敗した…
続きです

//関数のポインタ変数に実際のアドレスを割り当てる
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")

508 :
>>506-507
おおお動いた!ダメもとで聞いてみてよかった、ありがとうございますっ!

509 :
1.20がリリースされて同梱のサンプルが動かせるようになってるね
1.11で再発したprintとtimeのバグも修正されたけど
tend
bdup
bjoiny
sdelete
clearmessage
sklppauseのバグは相変わらずかぁ・・・

510 :
あどばんすどNscripterオフィシャルガイドの、セーブ、ロード画面のカスタマイズを参考に、セーブ、ロード画面をカスタマイズしたのですが、ロードすると、ゲーム画面ではなく、セーブ画面でロードされてしまいます 。
どのようにすれば、ゲーム画面でロードされるようになるのでしょうか?

511 :
本が手元にないから分からないけど、とりあえず
*define節に
autosaveoff
を追加してみたらどうかしら?

512 :
>>511
出来ました!
とても悩んでいたので助かりました。
ありがとうございました。

513 :
セーブポイント周りの仕様は(太古の時代は知らんけど)基本互換性維持してきたNScripterの数少ない変更があった点だから本参考だと引っ掛かる
2.92以後対応の解説サイトならその辺も書いてくれてると思う

514 :
gettag命令では、文字列変数は取得できないのでしょうか。
mov $Name,

515 :
途切れて失礼しました、表示できない文字使ったのかも。
gettag $0 で、ブラケットで囲った$Nameを取得し、名前ウィンドウに表示しようとしても空白になってしまいます。分かる方、どうか返信お願いいたします。

516 :
・切れる文字列の例
・実際のコード

517 :
[$Name]をgettag $varで拾うと空文字列になるね
>取得し、名前ウィンドウで表示
やるならこんな感じかな

*define
humanz 200
windowback
pretextgosub *pretext_lb
numalias Name,800
game
;続く

518 :
*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

519 :
506です、返信気付かずお返事遅れてすみません!
>>516 言葉足らずですみませんでした>_<
>>517 すごい! 詳細な実例ありがとうございます!! 助かりました!

520 :
命令の引数以外に書かれた$0や%0はだいたい中身に自動変換されると思って間違いない

521 :
改めてテストしてみたけど
[$Name]をgettag $varすると、普通に"$Name"って文字列が帰ってくるね

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

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

*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

522 :
LuaアリならNSCall_tag内で変換するといいかもしれんね

523 :
ろだです
アップローダのファイル倉庫にあるアーカイブですが、>>466問題により差し替えました(中身は一緒)
本スレへのリンクも後ほど更新いたします

長い間ほったらかしにしてしまいすみませんでした
また、ご指摘いただいた方々には重ねてお詫びを申し上げます

524 :
リンク修正しました

525 :
お疲れ様です

526 :
なんかセーブするとsave1.ssっていうファイルが出来てるけどなんなんでしょうか
実態はスクリーンショットbmpみたいだけどスクショ系命令は使ってません

527 :
>>526
自作のスクリプトの話?

このスクリプトで.ssってファイルできる?
*define
game
*start
くりっく
\
savegame 10
end

528 :
>>527
自作のスクリプトの話です
>>527で.ssはできなかったから組み方の問題か……
かなり作りこんでるから原因究明に骨が折れそうだ

529 :
ちなみにほぼLuaで組んじゃってます

530 :
わかった!NSDCopyToBgやbgcopyを使うと.ssが一時作成されて、セーブ時にそれがそのまま残るみたいだ
以下は検証スクリプトなので、まずい所あれば指摘してもらえるとありがたいです

*define
game

*start
bgcopy
drawfill 255,0,128
draw

savegame 1
click
end

531 :
本当だね。うちの環境でも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

532 :
ありがとさんくす
仕様なら気にすることないですね
これでやっと先に進める……

533 :
長年使ってるのに知らんかった

534 :
ろだが繋がらない状態が続いてるみたい?
ファイルが入用な方は直接こちらから飛んでください(すみません)
http://ux.getuploader.com/nsc_pub/
http://ux.getuploader.com/nsc_arc/ 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)


535 :
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
のように代入しておいたりすると機能しません

そんな事で使い物になる筈がないので
私がとんでもないみす勘違いをしているのかもしれませんが…
どなたか分かる方がいらっしゃったら助言下さるとありがたいです!

536 :
>>535 一行目 $0で取得することしかできないのでしょうか?

「$0でしか」取得することしかできないのでしょうか?
の間違いでしたすみません

537 :
>>535
もう少し検証したところ、
$0なり$nameなりに全角文字列が入っていると機能しないようです
$nameに"name"を代入しておくと機能しました

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

長々と一人で失礼しました

538 :
これで動かない?

*define
numalias name,100
game
*start
mov $name,"あいうえお"
textfield $name,100,50,320,70,10,20,1
$name
click
end

539 :
>>538
返信ありがとうございます!
頂いたスクリプトのみで動かすと機能しました!
しかし自分のに組み込むと駄目なので検証してみたところ
btndown 1 が機能している事が原因だと判明いたしました!

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

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

確実に動くスクリプトを頂いた事で、色々検証できました!
本当にありがとうございました

540 :
連投すみません
clickさせなくてもprintを挟めば大丈夫でした
解決しました、ありがとうございました!

541 :
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直接呼ぶより僅かに動作早い?

542 :
print 1よりNSUpdate()の方が速いか?って言う意味なら
有意な差はないんじゃない?

--system.lua
function NSCOM_invalidate()
NSInvalidate(0,0,639,479)
end
function NSCOM_update()
NSUpdate()
end

543 :
;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,488,#238c82",0,0,128
lsp 11,":c;>640,488,#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

544 :
計測終了です
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

545 :
ttps://ux.getuploader.com/nsc_pub/download/8
細かく試してみた。僅かにNSUpdate()呼びの方が軽くはなるみたいだけど…
その僅かな差が問題になるほど頻繁に画面更新するスクリプトならそもそもNSLuaとか使った方がよくない?
って感想かなあ 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)


546 :
setlayerで指定する「レイヤー番号」ってそれ自体はスプライト番号とはまったく別枠なの?
lsp 10,"*1"
と書いて初めてスプライトと結び付く?
十年以上勘違いしてたぜ……

547 :
>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」
のようにイメージを読み込んで表示するのに対して
こうしたやり方を「動的に画像を生成する」といいます

548 :
最終バージョンのエヌスクリプターで作成したゲームを知人のパソコンで開こうとすると、立ち上がって少しで「動作を停止しました」として落ちてしまうそうです。
自分の環境win7のパソコン二台で試しましたが問題なく進みます。
知人のパソコンは8のようなのですが、ファイルの共有のプロパティに問題があるのではという意見を受け、
手元で確認したところ互換性にチェックを入れる項目がありました。
が、試しに開いた他ソフトのプロパティには存在する「セキュリティ」という項目もそれらしく見えたのですが
エヌスクリプターのエンジンのプロパティにはそれが含まれていません。
知人に何度も試してもらうのも申し訳なく、共有の問題が本当に原因なのか、悩んでいます。
グーグルでも「落ちるときは最終バージョンのエンジンを使って」とまでしか言及が見つからず途方に暮れております。
似たような状況に陥った方はいらっしゃらないでしょうか?またこれと思われる原因は他にありますでしょうか?

549 :
「Windows 動作を停止しました」でググるとNScripter以外でも検索に引っかかるね
Vista以降で極たまに発生することがあるみたい
たぶん、Windowsのよく分からん不具合の一つだと思う

OSをリカバリーすると改善したっていう書き込み見たけど
ちょっと試すのは面倒くさいよね…

550 :
>>548
自分もwin8.1で、いろんな所のNスク製ゲームやってるけど落ちた事はないよ
一応、互換性は右クリック→互換性のトラブルシューティングで変更できるみたい
もう試してたらゴメン

551 :
>>548 >>549 >>550
配布したゲームのプレイヤーの何人かからWin8以降の環境でゲームを起動したら
上手く動作しなかったという連絡もらったけど
その後OSを再起動したら問題なく動いたらしい

552 :
コーディングが悪いんだろうけどパラメータに応じて分岐する馬鹿みたいな量のif文を書いてしまっているので
switch命令欲しい

553 :
>>552
tablegoto使うかtablegosub作って、switchの代用にするのもありかも
tablegosubはNScrでも作れるけど、制御文多用するならLuaの方がやりやすいかも

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

function NSCOM_tablegosub()
local t = NSPopStr()
NSPopComma()
local num = NSPopInt()
_G[t][num]()
end

--sample.lua
--パラメーター分岐による処理の中身
--テーブルを用意して、処理を記述していく
sample = {}
sample[1] = function()
NSOkBox("1","sample")
end
sample[2] = function()
NSOkBox("2","sample")
end
sample[15] = function()
NSOkBox("15","sample")
end

554 :
;00.txt
*define
luasub tablegosub
game
*start
inputnum %0,"数値を入力して下さい(1,2,15)",160,96,64,24

;パラメーターによる分岐が一応実現できる
;tablegosub (Luaの)テーブル名,パラメーター
tablegosub "sample",%0

end

555 :
>>551.541.542
再起動とソフトの入れ直しで解決したようです 手元で現象が確認できずあくまでも「したようだ」とのことなのがもどかしいですが
ありがとうございました

556 :
>>553-554
tablegoto命令の存在を知らなかった…
ありがとう!Lua難しそうだけどやっぱり使えないと駄目だなあ

557 :
蛇足かもしれんけど、NScrでtablegosub作るとこんな感じになるよ

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

パラメーターが負の数の場合、正負反転して頭に"M"が付く
tablegosub "*label_",-15だと
*label_M15にgosubする

パラメーターに合致するラベルがない場合、
ラベル+"defalut"にgosubする

;00.txt
*define
defsub tablegosub
game
*start
inputnum %0,"数値を入力して下さい",160,96,64,24

tablegosub "*sample_",%0

end

558 :
*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
if %0==0 mov $1,$0+"default"
gosub $1
return

559 :
;テーブルの処理
*sample_0
mesbox "0","sample"
return
*sample_1
mesbox "1","sample"
return
*sample_2
mesbox "2","sample"
return
*sample_14
mesbox "14","sample"
return
*sample_M1;-1
mesbox "-1","sample"
return
*sample_M2;-2
mesbox "-2","sample"
return
*sample_M99;-99
mesbox "-99","sample"
return
*sample_default
mesbox "default","sample"
return

560 :
>>557-559
すごく詳しいサンプルありがとうございます
これを参考に今日明日がんばってみます

561 :2017/12/31
簡単にお金が稼げる方法興味ある人だけ見てください。

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

3YM4IMJTW8

PC98エミュの開発、研究、検証スレ
2ちゃん板対抗バトルロワイヤル作ってます part3
統一3Dスレ
ゲームコンテストの可能性
【夏厨】ゲー製作板◆厨房になりきるスレ【リア厨】
gamdev.orgが落ちるたびにあげてみるスレ
【65816:SNES】アセンブリ【6502:NES】
みんなで新世代RPGゲーム作ろう
素人の俺にHSPで経営シミュを作らせるスレ
SB ver1.00を待ち続けるスレ Part1
--------------------
最初から英語を勉強するにはどうしたらいいのか
ソロっとヴァナディール103
絶対にお前らが知らない大学名挙げる
勘違いブスの自撮り写真ください(._.) 47枚
キリスト教@質問箱
【男好きスイーツ】あいちぃスレ【恋愛依存】
【メルスト】メルクストーリア垢売買スレ 1癒
工場の事務員
【VR】オルタナティブガールズ part563【オルガル】
日向坂46専用 深イイ話
LINEディズニーツムツム初心者&質問スレ☆98
【Pascal】NVIDIA GeForce GTX10XX総合 Part108
MEGWIN TVを語るスレ194
【PSP】サモンナイト5 アンチスレ8【SN5】
【バーチャルYoutuber】にじさんじアンチスレ1732【みとハジ振り返り応援スレ】
【米国による中距離ミサイル配備にどう対処すべきか】中国はミサイルが80発あれば、アジアの米軍基地を壊滅できる?[08/11]
国内10万本以上売れたタイトル数、スイッチ16本に対してPS4は69本
【PS4】Daymare:1998/デイメア:1998【バイオ風ホラー】
☆★★ 働かないおじさん 集まれ!★★★
精神障害者の婚活・出会い 3
TOP カテ一覧 スレ一覧 100〜終まで 2ch元 削除依頼