X



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

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

・うpろだ
ttp://nscuploader.wkeya.com/
0002名前は開発中のものです。
垢版 |
2014/01/30(木) 22:42:18.04ID:BRbRh5DC
・前スレ (うpろだでも見れます)
Ver.18.00
http://toro.2ch.net/test/read.cgi/gamedev/1311914551/
Ver.17.00
http://hibari.2ch.net/test/read.cgi/gamedev/1275595048/
Ver.16.00
http://pc11.2ch.net/test/read.cgi/gamedev/1243850335/
Ver.15.00
http://pc11.2ch.net/test/read.cgi/gamedev/1234874759/
Ver.14.00
http://pc11.2ch.net/test/read.cgi/gamedev/1219749034/
Ver.13.00
http://pc11.2ch.net/test/read.cgi/gamedev/1211072803/
Ver.12.00
http://pc11.2ch.net/test/read.cgi/gamedev/1200964126/
Ver.11.00
http://pc11.2ch.net/test/read.cgi/gamedev/1185125168/
0003名前は開発中のものです。
垢版 |
2014/01/30(木) 22:42:52.55ID:BRbRh5DC
・前スレ その2
Ver.10.00
http://pc11.2ch.net/test/read.cgi/gamedev/1176450917/
Ver9.00
http://pc11.2ch.net/test/read.cgi/gamedev/1167444413/
Ver8.00
http://pc8.2ch.net/test/read.cgi/gamedev/1157719180/
Ver7.00
http://pc8.2ch.net/test/read.cgi/gamedev/1149639307/
Ver6.00
http://pc8.2ch.net/test/read.cgi/gamedev/1142593513/
Ver5.00
http://pc8.2ch.net/test/read.cgi/gamedev/1126791382/
Ver4.00
http://pc8.2ch.net/test/read.cgi/gamedev/1112550571/
Ver3.00
http://pc8.2ch.net/test/read.cgi/gamedev/1100029774/
Ver2.00
http://pc5.2ch.net/test/read.cgi/gamedev/1082131647/
初代
http://pc5.2ch.net/test/read.cgi/gamedev/1005121290/
0004名前は開発中のものです。
垢版 |
2014/01/30(木) 22:50:01.11ID:BRbRh5DC
・関連書籍

・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/
0005名前は開発中のものです。
垢版 |
2014/01/30(木) 22:58:46.40ID:BRbRh5DC
・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/
(解説 − 初心者向け)
0006名前は開発中のものです。
垢版 |
2014/01/30(木) 23:11:14.50ID:BRbRh5DC
・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/
(サンプル − カスタマイズ − システム化)
0007名前は開発中のものです。
垢版 |
2014/01/30(木) 23:36:09.74ID:AWpu2evV
・スレタイ名称で過去ログ検索を行う場合のキーワード群
NScripter NScritper

・このスレで復号の話題を禁止している理由について
個々で作成した作品の著作権を侵害させない為の配慮として
解析ツールへの直リンクは行っておりません。

・Nscripter以外のノベルツールに関する話題は、ここでは歓迎されません。
・作成中のスクリプトを晒さなくて済むような技術的な話題については
最初にTips、解説、サンプル掲載サイトで解決可能であるかをご確認下さい。

・また、ノベルツールの比較検討や論議については、下記のスレで行って下さい。
(但し、特定のノベルツールを叩く為のスレではありません)

ノベルツール選考スレ 4th KIND
http://toro.2ch.net/test/read.cgi/gamedev/1329043965/

ノベルツール選考スレ 3rd STRIKE (4th KINDの前スレ)
http://hibari.2ch.net/test/read.cgi/gamedev/1145204843/

ノベルツール選考スレXP (3rd STRIKEの前スレ)
http://pc8.2ch.net/test/read.cgi/gamedev/1083482407/
0008名前は開発中のものです。
垢版 |
2014/01/30(木) 23:39:26.09ID:AWpu2evV
・ゲーム製作板のローカルルール(一部抜粋)

  扱う話題
  ・プログラム、グラフィックス、サウンド、デザイン論などをゲーム製作の視点から
  ・ツール(HSP、ツクール等)についての話題
  ・ゲームの共同製作やプロジェクト活動

  禁止事項
  単発質問スレ、単発依頼(「〜作って」)スレ、
  個人叩き(個人に対する誹謗中傷)、ツール叩き(具体性のない批判)

・ローカルルールで板違いの話題に指定されている項目の内
このスレで抵触する可能性の高い項目について。

 ・市販ゲームの質問や感想
  このスレの場合、単なる板違いのみでは無く、複号ネタに繋がり易いです。
 ・違法性を含む話題
  ONScripterによる多種ハードウェア対応化の話題はお控え下さい。
  このスレでの今までの判定結果は、限りなく黒に近い灰色です。
0009名前は開発中のものです。
垢版 |
2014/01/30(木) 23:40:00.59ID:AWpu2evV
・その他

 ・ここは同人ゲーム板ではありません。(ローカルルールそのものが異なります)
 ・同人サークル活動に関する話題は、同人ゲーム板等でお願いします。
 ・名無しでない同人サークルメンバーとしての書き込みはお控え下さい。
 ・このスレでゲームの共同製作やプロジェクト活動の宣伝はお控え下さい。
 ・不快な発言を見掛けても落ち着いてスルーして下さい。

<荒らし、煽り、晒しはマターリ放置で>
・彼らは放置が一番キライ
・彼らは常に誰かの反応を待っています
・彼らは煽りや自作自演であなたの反応を誘います
・彼らは華麗にスルーして自然消滅させましょう
0010名前は開発中のものです。
垢版 |
2014/01/31(金) 00:02:26.02ID:hq5dYsgD
スレ立て人からのお知らせ
・うpろだのリンク表記を現行のurlに変更しました。
・今回のリンク切れは表記の抹消では無く、リンク切れ表記の付加で対処しました。(今回のみの予定)
・本家からNScripterサポートBBSが無くなっていた為、テンプレを一部変更しました。
0011名前は開発中のものです。
垢版 |
2014/01/31(金) 00:48:26.81ID:hq5dYsgD
お知らせの追加
・関連書籍の絶版表記の付加

関連書籍の追加候補

ノベルゲームのシナリオ作成技法 第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/
0019名前は開発中のものです。
垢版 |
2014/02/01(土) 16:31:09.57ID:lUw4D7pO
それって、古い商業ゲーのコンバートが流行ってた時代の名残でしょ。
商業の新作がNScrで出てる時期なら必要だったと思うけど
今じゃもうテンプレからその文面削っていいと思うけどね。

それより前スレ埋めようず
0020名前は開発中のものです。
垢版 |
2014/02/04(火) 05:02:35.85ID:9p/b/xPu
新作の有無は関係なくて、NSc製の商業タイトルが存在している限り
基本的に変わらないことだと思ってるよ。
0021名前は開発中のものです。
垢版 |
2014/02/04(火) 16:46:42.99ID:DzeZcfoz
もはや版権品のコンバートじゃなくて、
スマホ向けのオリジナルもの開発エンジンとして定着してんじゃんあれ
0022名前は開発中のものです。
垢版 |
2014/02/04(火) 19:20:11.70ID:S5l4FvQ1
意味わからんのは
なんで、自分が作ったのをそのツールで動かしても
犯罪者呼ばわりされなきゃいけないのかってことだ
0023名前は開発中のものです。
垢版 |
2014/02/04(火) 19:25:36.81ID:S5l4FvQ1
例えば>>20みたいなやつは
ONScripterという違法ツールを使ってノベルゲーを公開してる作者を犯罪者呼ばわりしてるわけだ
違法ツール認定するってことは利用者を犯罪者呼ばわりするのと同じだからな
それをわかっててエンジン利用者を排斥してるのわかってんのかね?
0024名前は開発中のものです。
垢版 |
2014/02/04(火) 19:27:36.70ID:S5l4FvQ1
俺が疑問を持ってるのはそこだな
作品制作者を犯罪者呼ばわりするコミュニティって終わってんなってこと
0025名前は開発中のものです。
垢版 |
2014/02/04(火) 20:10:17.54ID:PVdchUKT
ONScripterが違法って言うより、

>・Nscripter以外のノベルツールに関する話題は、ここでは歓迎されません。

こちらに引っかかってると考えたほうがいいんじゃない?

ONScripterは、文法的にはほとんど本家と同じだけど、
未対応の命令もあるし、微妙に動作が違う部分もあったりする。

質問者がONScripterを使っていることを明かさずに
話を進めていたりすると、本家しか使っていない人と
食い違いが出たりしそうだしね。

ONScripterについての話題を扱いたいなら、
専用のスレを立てるしかないのかも。
0026名前は開発中のものです。
垢版 |
2014/02/04(火) 21:53:24.90ID:DzeZcfoz
・ONSという「ツール」 …… 合法
 ├・他人の著作物のコンバート「行為」 …… 禁止されてる
 └・オリジナルゲームを作成する「行為」 …… 合法
0027名前は開発中のものです。
垢版 |
2014/02/05(水) 04:51:33.20ID:GDHXT4gR
例えONScripterを使う目的がオリジナルのタイトル製作であっても
NScripterとの互換性が付いて回る性質上一緒くたに扱うのは無理。
それでもONScripterに拘るのであればさっさと別スレ立てるのがおすすめ。
0028名前は開発中のものです。
垢版 |
2014/02/05(水) 09:26:50.68ID:mx9n2H03
>>24
ONScというツールの生まれが
「商業ゲームを勝手移植で携帯機でプレイ」なんだから仕方がない

容認してスマホ板から
「○○ってゲーム動かないんだけどどうやるの?」
って勘違い野郎に住み着かれて荒らされる自体を想定するなら
高橋直樹製でない無許可の互換ツールの除外は至極当たり前だろう

定期的に湧いてONScの話したいってgdgd暴れることこれからもするんだったら
うっとおしいだけなんで別スレ立ててそっちで好きなだけONScの話しなよ

どっちかつーと互換ツールなんかよりもNスク2の関心あるし
0031名前は開発中のものです。
垢版 |
2014/02/08(土) 13:13:11.78ID:FDffXMcb
質問スレじゃないとは思うんですが・・・
テキストウィンドウにフリー素材を使おうとして

setwindow 30,356,22,4,20,20,0,0,20,1,1,":a;画像名.jpg",30,300

とやっても画面の真ん中あたりで画像が切れてしまいます。
元画像のサイズをいろいろいじってみたんですが、切れてしまうか大きく
はみだすかのどちらかで・・・。
同じ状況から解決した方、方法を教えていただければ・・・。
003331
垢版 |
2014/02/08(土) 14:21:42.06ID:z0REhtaf
>>32
できました!ありがとうございます!
言われてみれば「c」でよかったんですね・・・
初心者で、フリーノベルゲー製作中なので
良ゲー作ってご恩を返せたらと思います
0035名前は開発中のものです。
垢版 |
2014/02/16(日) 06:29:01.74ID:T4H/KQ81
>>25,28
ここをスマホ板のヘルプ出張所に使おうにも質問内容と実際の動作が噛み合わなくてバレるね。
この板にONScスレを立てるとしてもスレの利用希望者はどれだけ居るのかなー?
このスレの住民としてはONScスレにノータッチのまま今まで通りにマターリ進行して行くと思うよ。
0037名前は開発中のものです。
垢版 |
2014/02/18(火) 18:28:50.94ID:tggSYwc+
といった荒らしの余地すら生むから話題そのものが非推奨なのよ、最初に質問した人分かってくれただろうか
0038名前は開発中のものです。
垢版 |
2014/02/19(水) 12:51:00.31ID:nIePBwFu
ONScスレが立ってから、ここの住人に絡みたいだけの人の仕業だったと判明されそうな流れっぽいね。
でも、それがそのまま未だにゲ製板にONScスレが立たない理由になっていると思うよ。
0039名前は開発中のものです。
垢版 |
2014/02/19(水) 15:23:54.40ID:ypdkzDtZ
テンプレでONScripter利用者は犯罪者だと認定しているので
このスレそのものがONScripterを糾弾する含みがある
0042名前は開発中のものです。
垢版 |
2014/02/25(火) 02:28:19.95ID:8ZT2v5Qs
isdownとかcheckkeyみたいに
軽快に右クリックの押下状態を取得する方法ってないんだっけ?
0044名前は開発中のものです。
垢版 |
2014/02/25(火) 21:55:41.88ID:5vAvY+R+
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
0045名前は開発中のものです。
垢版 |
2014/02/25(火) 21:57:06.48ID:5vAvY+R+
>>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
0046名前は開発中のものです。
垢版 |
2014/02/25(火) 23:17:39.76ID:8ZT2v5Qs
luaで44の参考にやったらできました!!

使ってみたらいい感じ。
そうだよこの早さが欲しかったんだよぉぉぉおおお(´;ω;`)

ちょいとばかしlua勉強するわ。
0048名前は開発中のものです。
垢版 |
2014/03/07(金) 20:20:52.95ID:DmPgneNa
NS2の質問はあり?
0050名前は開発中のものです。
垢版 |
2014/03/10(月) 14:23:40.66ID:G1yKz/y2
NS2の質問で、質問は2つなんだけど、

・立ち絵やその他スプライトを拡大縮小する事は出来るのか?
・立ち絵のアニメーションはできるのか?

最初のはリファレンスに命令が記載されてないけど
これって拡大縮小はできないって事なのかな

二番目はspの引数にanimtimeを設定してセルに複数の画像を記述すれば
アニメーションというか、簡単な画像の切り替えは出来るんだけど
やりたいのはそういうのじゃなくて、例えば立ち絵を画面右側から左側に
スーッと移動させるとか、画面上から下になんかのスプライト画像を落とすとか
そういうアニメーションのやり方が分からない
0051名前は開発中のものです。
垢版 |
2014/03/10(月) 21:01:41.43ID:8VIsfxv+
ここ数ヶ月全く触ってないけど、
自分はNS2で拡大縮小アニメーションや移動アニメーションなんかを弄ってました。

RESETTIMER と GETTIMER を利用して指定したミリ秒での操作を。
それと do と loop を利用して、その秒数の間だけ SPMOVELT を使ってアニメーションを行わせる、みたいな感じです。
0052名前は開発中のものです。
垢版 |
2014/03/10(月) 21:11:53.42ID:G1yKz/y2
>>51
レスありがとうございます。

resettimerとgettimerは拡大縮小の関係で使うという事でしょうか?
ちょっと全く取っ掛かりが分からなくて・・・。
できればサブルーチンの例なんかご教授いただけると分かりやすのですが・・・

ループさせてspmoveのx値を1F単位で動かすのは考えて
実際にやってみたのですが、上手く行きませんでした
0053名前は開発中のものです。
垢版 |
2014/03/10(月) 21:13:01.04ID:G1yKz/y2
作ったループと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
0054名前は開発中のものです。
垢版 |
2014/03/10(月) 21:15:37.95ID:G1yKz/y2
<02.txtに>

spmove_loop "CHR1" ;ループして動かすテスト

として、中央の立ち絵を左から右にスーッと動かす
処理を実現したかったのですが、なぜか立ち絵が消えてしまいます

spmove_loopのcnt変数内はcprintで確認して
任意の数字が代入されている事は確認できていますが
スプライト自体がどう動いているのかよく分かりません
画面的にはspmove_loopを実行した途端立ち絵が消えてしまうので

ミスの指摘ややり方などご教授お願いします
0055名前は開発中のものです。
垢版 |
2014/03/10(月) 22:14:13.31ID:8VIsfxv+
今すぐの動作は確認してないけど、自分が実際に使っていたものをちょっと弄ってはっつけて見ます

lceffect "キャラクタ名",1
 とか
lceffect "キャラクタ名",2
 とかで動くと思います

lceffect が気軽に呼び出して使うメインのサブルーチン。パラメータが多く見えるのは削り残しです。

lcanimation は、 lceffect の中でのみ呼ばれるもっと細かい挙動をつかさどるサブルーチン (シナリオ上からは呼ばない)
0056名前は開発中のものです。
垢版 |
2014/03/10(月) 22:16:14.60ID:8VIsfxv+
; ニックネーム,エフェクトタイプ,画像中心からの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
0057名前は開発中のものです。
垢版 |
2014/03/10(月) 22:17:24.88ID:8VIsfxv+
; 立ち絵を動かすサブルーチンで呼ばれるサブルーチン。弄るのは・・・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
0058名前は開発中のものです。
垢版 |
2014/03/10(月) 22:19:53.73ID:G1yKz/y2
レスありがとうございます。

取り急ぎお礼レスだけ書き込ませて頂きます。

これからよく内容読んで解析してみます
0059名前は開発中のものです。
垢版 |
2014/03/10(月) 22:22:16.10ID:8VIsfxv+
>58

それで、すみません、
>>55-57 は拡大縮小のアニメーション処理は行っていないです
立ち絵をブルブル震わせたり、ジャンプぽい動きをさせたりだけで済ませるための命令として用意したので..

概念としては >>57 の @lcanimation 内にある

RESETTIMER
do
loop

あたりに囲まれている処理をなんとなく読み解けば、応用できるのではないかと思います。
0060名前は開発中のものです。
垢版 |
2014/03/10(月) 22:26:32.41ID:G1yKz/y2
>>59
了解しました。
ありがとうございます。
0061名前は開発中のものです。
垢版 |
2014/03/10(月) 22:28:46.54ID:7uyX+dsP
>>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系の命令をはさんでおいた方が良いかと思います
0062名前は開発中のものです。
垢版 |
2014/03/10(月) 22:40:34.61ID:G1yKz/y2
>>61
xsとかysは知りませんでした・・・
basic命令テキストでグレップしたら確かに見つかりました
sはscaleのsですかね
今までx,y,zしか使った事ないので、cx、cyも知りませんでした。
cxやxsの詳しい説明がNS2はリファレンスに記載ないので(だから現状NS2はβ版らしいですが)

>あとループ処理中はなるべくsleepかwait系の命令をはさんでおいた方が良いかと思います
なるほど
これは多分、waitしないと1F枚に実行されて速度が早過ぎる、
処理が重くなるあたりの理由っぽいですね

NS2はまだ個人ブログなどでの情報も少なく、手がかりがほぼ公式リファレンスだけで、
初心者の私には少々手厳しかったので非常に参考になりました。

ありがとうございました
0063名前は開発中のものです。
垢版 |
2014/03/10(月) 22:51:06.07ID:8VIsfxv+
・立ち絵である某さんを、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入れてないや・・・(;゚ω゚) 大丈夫かしら
0064名前は開発中のものです。
垢版 |
2014/03/10(月) 23:05:08.31ID:G1yKz/y2
>>63
ありがとうございます。
まだ内容解析できてないませんが、参考にさせて頂きます
0066名前は開発中のものです。
垢版 |
2014/03/11(火) 16:35:57.52ID:5J22cZ7i
>>65
すみません、忘れていました・・・。

あともう一つ、教えていただきたいというかお聞きしたいのですが
今ノベルゲームを作っています

そこで、私は「スプライト名」、「変数名」の2つを一覧.txtというファイルを作り
そこで一覧化して管理する事にしました

例)
フラグ名:%flag (内容 ON:1 OFF:0)
設定契機:@game_start、@event_1
解除契機:@ending、@test2

とかこういうのを一覧化しているんですが、こういうのはゲームを一本作るにあたって
やった方がいいのでしょうか?それともやる必要はないのでしょうか?

また、私は現在「スプライト名」、「変数名」について一覧化していますが
この2つ以外にも一覧化すべき(または、した方が便利)なものがあれば
ご教授頂けますでしょうか?
0067名前は開発中のものです。
垢版 |
2014/03/11(火) 17:58:51.84ID:tiWZLd95
>>66
横だけど
> やった方がいいのでしょうか?それともやる必要はないのでしょうか?
最初にかっちり計画を立てて一気に組み上げるほうが向いてる人もいるし、逆に計画ばかり作りこみすぎてそれで満足しちゃう人もいるし
こればっかりは好き好きだけど、画像とかの素材(手間がかかるもの)は最初に作っておいたほうがいいと思う
でも、どんな出来でもいいからとにかく完成させることがすごーく大事だよ

> この2つ以外にも一覧化すべき(または、した方が便利)なものがあれば
やるんならラベル名、音楽、効果音あたりもかなー
あとちょっとずれるけど、よく使う色もメモに書くなりライブラリとしてまとめるなりすると便利
0069名前は開発中のものです。
垢版 |
2014/03/12(水) 16:22:55.74ID:IPkEpZcv
Nscripter始めて2日目の者ですが、ググったけど解らないんで教えて下さい。

音声のセリフと文字のセリフを同時に表示させて進めるアドベンチャーゲーム作ろうとしてるんですが
オートで進める場合はどうやるんでしょうか?
メニューのとこのオートモードを使うと音声が終わる前にどんどん先に行ってしまいます。

@を使わずに音声再生が終わったら次の音声に自動で行くにはどうしたら良いのでしょう?
0070名前は開発中のものです。
垢版 |
2014/03/12(水) 18:04:41.56ID:2gNgGqZB
ageなくてええよ
なんだっけ音声いれたことないからわかんないけど
ファイルごとに長さ設定しておけばいいんじゃね?
0072名前は開発中のものです。
垢版 |
2014/03/12(水) 23:11:06.90ID:HnUhQ2lv
>>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/
なども初心者には参考になるかと思います
0073名前は開発中のものです。
垢版 |
2014/03/13(木) 11:57:52.40ID:smWtYmi3
>>72
出来ました!マジ感謝です。有難うございますm(__)m

今までbgmやmp3でコールしてたのが出来ない原因なのかな?
3日目にして少し前進できそうです。
0075名前は開発中のものです。
垢版 |
2014/03/13(木) 22:38:11.39ID:/mgPEoXb
>>66
ttp://sorejyadamedarou.sakura.ne.jp/nscripter/tip04.htm#TIP1
ここの印刷して管理してるわ。
モニタと手元の紙別であると早い。

ラベル名は必要なくね? システム書いてる時なんて、コード見てコピペすればいいし。
シナリオ中なんてそれこそ用事ない気がする。
0076名前は開発中のものです。
垢版 |
2014/03/13(木) 23:55:15.54ID:5UHdjZ2/
>>75
確かにそうですね

NS2なんで分岐はselectですが@ラベルの飛び先を
一覧化しとけばいいかなと思ったんですが、飛び先は必ず単一だし
そんなのファイル検索すればすぐ見つかるし、一覧化なんて逆に
手間かかるだけですね
0077名前は開発中のものです。
垢版 |
2014/03/14(金) 12:14:38.25ID:nHy268dY
一覧化の有用性は制作期間によるな

短期でサラッと作るのなら不必要だけど
2〜3年とか長期の見込みで作る気なら
覚えてて当然ってのも細かくメモしてる方が
製作からしばらく距離おいてド忘れした時に役立つ
0078名前は開発中のものです。
垢版 |
2014/03/14(金) 16:49:17.56ID:jLwzdK29
>>77
今作ってるのは短期なんですが、私はそもそもはじめたばかりですし
将来大きなウェイトのものを作る予定があるので、簡単なやり方じゃなく
大きな物作るときのやり方に慣れておきたいので短期の制作物でも
一覧化しました

あとNS2ですが、selectやwait、clickなどの標準命令は大文字小文字
どちらでも機能しますが、命令の記述は大文字と小文字どっち使った方がいい
とかありますか? 今は命令は全部小文字使ってます

もしくは、この命令は小文字、この命令は大文字とか使い分けすると
便利、みたいな事ってありますか?
0079名前は開発中のものです。
垢版 |
2014/03/14(金) 19:39:35.68ID:GjJQIYm7
本体に付属されてるマニュアル命令郡の書き方に従って使った方がいい
命令覚える方はそれに合わせて記憶するのが自然だと思うから

初代Nスクでの話になるけど
以前、大文字で全部書かれたスクリプトに出会ったことあるけど
見慣れない書き方だから瞬時に判別できなくて読みづらくて仕方なかったよ
0080名前は開発中のものです。
垢版 |
2014/03/14(金) 19:44:25.01ID:jLwzdK29
>>79
アドバイスありがとうございます。

>>56あたりでアドバイスして頂いた時とか、getspinfoは小文字、
ISDEFは大文字など混ざってるので、なんかの法則に従って
使い分けてるのかなと思ったんで聞いてみました

命令の大文字小文字はどちらかに統一した方がよさそうですね
ただ、リファレンスは大文字なんですが、私は小文字で統一しちゃってます
大文字にした方がいいんだろうか・・・

でもNS2は今ベータ版という事で今後リファレンスが大きく
変わることもあるだろうし、とりあえず、様子見してみます
0081名前は開発中のものです。
垢版 |
2014/03/14(金) 19:49:18.80ID:jLwzdK29
すみません、あとひとつあるのですが、
未クリアの場合を0、クリアしたら1を立てて
1(クリア済み)なら背景を変えるとか、クリアしたかしてないかで
処理を変える事をやっています

結果から言えば出来たのですが、strsaveとstrloadを使いました
そのファイルに初期値0を書き込み、クリアしたらstrsaveで0以外を書き込み、
その後、クリアしたか判別したい箇所手前でそのファイルをstrloadで
読みに行って、0以外(クリア済みフラグ)があれば、専用処理をする、としました

リファレンスを見た限り、クリア判別に使えそうなのがこのファイルへの書き出し、
読み込みしかなかった(私として思い付かなかった)のでstrsave/strloadを使いましたが
通常の変数(ローカルでもグローバルでも)だけでクリア判別って不可能ですよね?
0082名前は開発中のものです。
垢版 |
2014/03/14(金) 22:14:49.97ID:EEceqbQe
1:まずクリアフラグ用の変数を「_」で始まる変数で用意します
仮に「_flag00」としてみます
2:「最小規模システム」のサンプルを例にすると、
00.txtの@first_settings以下に次の一文を追加します
_flag00 = 0
3:savedataフォルダの中身を全部消しておきます

以上でたぶん期待した動作になると思います
0083名前は開発中のものです。
垢版 |
2014/03/14(金) 22:29:32.50ID:jLwzdK29
>>82
>_で始まる変数はシステム変数です。どこからでもアクセスできます。
>セーブファイル単位ではなくエンジン単位で保存されるので、クリアフラグやコンフィグ設定等に使ってください。

すみません、上記のような説明がtxtに書いてありました。
試すのはこれからですが、とりあえずお礼レスだけさせて頂きます
ありがとうございました。
0084名前は開発中のものです。
垢版 |
2014/03/17(月) 02:37:25.00ID:Yw38mKR1
NS2関係の質問している者ですが、もうちょっと質問しても大丈夫でしょうか・・・?

タイトル画面に音楽室を表示して、BGM聞けるヤツがサウンドノベルには
よくあると思いますが、それを実装しました。機能的には問題ありません。

そこで次に、今再生中の曲名を表示する機能を実装しようと思って
やってみたのですが、上手くいきません。
もう10時間くらい悩んでいます
大した処理じゃない気がするんですが・・・なぜか上手くいきません。

↓がソースです
0085名前は開発中のものです。
垢版 |
2014/03/17(月) 02:40:11.68ID:Yw38mKR1
(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"
0086名前は開発中のものです。
垢版 |
2014/03/17(月) 02:42:09.29ID:Yw38mKR1
↑の続き
@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
0087名前は開発中のものです。
垢版 |
2014/03/17(月) 02:45:54.22ID:Yw38mKR1
↑の続き

; ボタン判定
; %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 ;音楽室ここまで
0088名前は開発中のものです。
垢版 |
2014/03/17(月) 02:49:57.53ID:Yw38mKR1
★の部分

ここがそれぞれの曲名をクリックした時に入るルートですが、
ここに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軸を疑いましたが、背景画像などを全部消しても表示されませんでした

何かヒント頂けないでしょうか・・・?
0089名前は開発中のものです。
垢版 |
2014/03/17(月) 22:05:22.75ID:7PLMrMnz
>>87
1:spsetvisibleは「スプライトセット」の表示状態を変える命令です
スプライトセットの中のスプライトの表示状態を一括で変更する命令ではないです

2:スプライトの状態を変更した後は、print #Cなどで画面に反映させましょう
%ret=="s1"の場合、printで反映されずにループの頭(@soundroom_lp2)に戻ってます

たぶん、こんなんではないかと
0091名前は開発中のものです。
垢版 |
2014/03/18(火) 15:56:21.51ID:D0X0RLvL
>>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のみで)記述した方がいいのでしょうか?
0093名前は開発中のものです。
垢版 |
2014/03/18(火) 16:11:50.80ID:B1oCyby7
>>92
Alt押したら突然処理止まって驚いたんだがごめん、俺の早とちりだったわ
右Altで止まるのってWindows側の機能なのね
0094名前は開発中のものです。
垢版 |
2014/03/18(火) 16:32:06.17ID:QURCLOiW
>>93
左右alt関係なく、Windowsの基本操作
アクティブウィンドウのメニュー操作をキーボードでするためのものだからNスク関係ないね
もちろんメニューが無いdeletemenu時は機能しない
0095名前は開発中のものです。
垢版 |
2014/03/18(火) 17:35:43.99ID:B1oCyby7
>>94
Windows何年も使ってるのに今まで知らんかった……
計測していたタイマーが停止分を考慮してくれずに悩んでいたんだけど、NSTimer()の後にNSDoEvents()持ってきたら上手いこと動いたわ
0096名前は開発中のものです。
垢版 |
2014/03/18(火) 22:09:36.15ID:j5Gh2zsl
>>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
0097名前は開発中のものです。
垢版 |
2014/03/18(火) 23:18:00.30ID:D0X0RLvL
>>96
すごく分かりやすいサンプル、ありがとうございます。

理解できたと思います。

spsetvisible "soundtitle",0 : spvisible "soundtitle:t1",1

↑これって要するに、spvisibleでスプライトだけ可視にしても
直前で属しているspsetを不可視にしているからスプライト"soundtitle:t1"も
不可視のままだったんですね

>>96で言う13行目と同じ状態ですよね

それを踏まえたうえで修正して、表示自体はできました。
スマートではない気がしますが、普通にsp単位で可視不可視を切り替えるようにしました

↓続きます
0098名前は開発中のものです。
垢版 |
2014/03/18(火) 23:25:57.98ID:D0X0RLvL
ただ、今度は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に近い方が手前に表示される、という認識なのですが・・・
0100名前は開発中のものです。
垢版 |
2014/03/19(水) 02:23:55.18ID:e6HTnj1i
 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値は数値が小さい方が手前、というのは
間違いないはずです。リファレンスにも書いてありました。
0101名前は開発中のものです。
垢版 |
2014/03/19(水) 16:21:55.73ID:ffvKRji2
オートモードにして話を読み進めていって選択のところで選ぶ際に2回クリックをしないといけなくなります。
2回クリックして他のラベルに飛んだ時にはオートモードは解除されています。

これをオートモード状態で選択したあともオートモード状態が解除されない様にするにはどうしたらいいでしょうか?
0102名前は開発中のものです。
垢版 |
2014/03/19(水) 16:26:09.26ID:yhFLOHMT
選択肢前にオート状態チェック オートならフラグ立てる
選択肢を選ばせる
選択肢後にフラグ立ってたらオート命令を実行させる フラグはリセットさせる
0103名前は開発中のものです。
垢版 |
2014/03/19(水) 16:55:59.57ID:ffvKRji2
>>102
ありがとうございます

しかし先週Nscripter始めたばかりでまだ良くわかってません。
もし良かったらもう少し具体的にお願いできないでしょうかm(__)m
0104名前は開発中のものです。
垢版 |
2014/03/19(水) 17:27:18.23ID:NHl2z7g1
シスカマのソース内容を読んで理解できる程度のスキルを積む
変数の扱い方覚える

即物的に知っても意味無いから使い始めるなら
基礎は身に付けたほうがいい
そうすれば>>102が具体的な対処法を示してると分かるよ
0105101
垢版 |
2014/03/19(水) 17:42:38.14ID:ffvKRji2
もっと簡単に考えてました。
102さんの言ってることは薄っすら分かるんですが、まさかシスカマまでいくとなると今の僕では出来なかもorz
0106名前は開発中のものです。
垢版 |
2014/03/19(水) 17:53:56.88ID:yhFLOHMT
シスカマした方が楽だが、別になくてもできる。
select命令の前の行でisskipするだけで状態取得できる。
selectで飛んだラベルの先で判断してオートさせれ。
0108101
垢版 |
2014/03/19(水) 19:36:35.24ID:ffvKRji2
レス下さった皆さん、有難うございます。
isskipで何とかなりそうです。
まだNスク一週間未満でシスカマは座敷が高いけど頑張ってみます。
0109名前は開発中のものです。
垢版 |
2014/03/19(水) 22:23:54.34ID:bbbwfQ1W
>>98
これだと"st_noe"と"st_t1"は
スプライトセット名=""、スプライトセットのz値=10000のスプライトになってるね

スプライトの名前を"st:none"、"st:t1"にすれば期待した動作になると思うよ
0110名前は開発中のものです。
垢版 |
2014/03/19(水) 22:32:39.58ID:e6HTnj1i
>>109
本当にすみません・・・全く気付きませんでした・・・

修正したら期待した動作になりました。

ありがとうございました。
0111名前は開発中のものです。
垢版 |
2014/03/19(水) 23:39:42.03ID:e6HTnj1i
>>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とかでググっても何も出てきませんでした・・・
0112名前は開発中のものです。
垢版 |
2014/03/20(木) 22:34:39.30ID:R4YaCxNl
>>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」が参考になると思います
0113helpよろしくです
垢版 |
2014/03/21(金) 22:13:47.94ID:NWe/nM23
アンドロイドの実機でプレイした時に出る左端の右クリック、左クリック
などのツールバーはどうすれば消せますか?
0114名前は開発中のものです。
垢版 |
2014/03/22(土) 13:00:08.83ID:JSnWAC6M
>>112
ありがとうございます。
ちょっと今出張中なので試せないので、また触れるようになったら
試してみます
0115初心者A
垢版 |
2014/03/23(日) 21:39:50.64ID:JwvyC9fe
bgmの音量を変えようとして
bgm "bgm\xxx.ogg":bgmvol 30,50  って入力したら
次の文章に,50が出てくるようになってしまったんだが、
,50を消すにはどうすればいいんでしょうか。
0116名前は開発中のものです。
垢版 |
2014/03/23(日) 22:45:48.57ID:QacflObd
ていうかその50はなんなの?
bgmvol に指定できるパラメータはボリューム値ひとつだけじゃないの。
0117名前は開発中のものです。
垢版 |
2014/03/25(火) 02:05:13.06ID:VBLVhYq7
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)"}

とすればいい認識なのですが

↓続きます
0118名前は開発中のものです。
垢版 |
2014/03/25(火) 02:13:15.07ID:VBLVhYq7
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)"}

↑この記述が間違っているとしか考えられないんですが
リファレンス通りに書いてるつもりなんですが、どこかおかしい所ってありますか?
0121名前は開発中のものです。
垢版 |
2014/03/25(火) 22:13:21.73ID:tr1BN4ke
>>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の15chをボタン音用に割り当ててます)

あと一応
>118の
S=(sound\test.ogg)は構文エラーで、エラー吐かないけど音でないです
>117の
S(sound\test.ogg)こっち正解です
0123名前は開発中のものです。
垢版 |
2014/03/25(火) 22:24:27.43ID:VBLVhYq7
>>121
レスありがとうございます。

>記述ミス
すみません、ミスです
両方試しましたが、S(sound\test.ogg)だと強制終了しました
強制終了しなかったのは間違えて=付けてたせいでした
混乱させるようなレスすみませんでした

これって公式にメールでフィードバックした方がいいですよね?
0124名前は開発中のものです。
垢版 |
2014/03/25(火) 22:49:42.50ID:tr1BN4ke
>>123
>これって公式にメールでフィードバックした方がいいですよね?
ですねえ
正式公開版を待ってもいい気もするけど
お手数でなければ123さん、公式へ報告お願いしますm(_ _)m
0127名前は開発中のものです。
垢版 |
2014/03/26(水) 20:42:35.06ID:s6+6jsN2
>>124
さっきメール来てsystem.luaの修正が完了したので更新ました、との事です
導入してみると確かに修正されていて、ちゃんとSEがなるようになっていました

ただボリューム値が_sevolではなく、独自で存在しているようで
同じファイルでもボタンSEと通常のseplayでは3倍ほど違ってしまいちょっと使いづらいので
>>124さんの内容で修正したsystem.luaの方に戻してしまいましたが・・・
0130名前は開発中のものです。
垢版 |
2014/03/26(水) 21:09:23.03ID:HHkiILLd
ちょっと小さめの効果音ファイル別途に用意する手もあるのよ、解決してるならそれでいいけど
0131名前は開発中のものです。
垢版 |
2014/04/08(火) 15:58:36.83ID:6pHi/JlU
オフィシャルガイドを見ながら作ってます

movie "test.avi",async,loop@
movie stop
movie "test2.avi",async,loop@

繋ぎ目をクロスフェードするにはどうしたらよいでしょうか?
あと、動画が最前面に表示されるので、一番後ろにやって
ボタンやテキストウィンドウを表示したいので、
ヒントだけでもいただけないでしょうか?
0132名前は開発中のものです。
垢版 |
2014/04/09(水) 00:28:31.03ID:XImuKzOO
・間の繋ぎをムービーでないアニメーションで疑似的にやる
・ムービー二つ編集で繋げた方が早い
・ムービーが最前面ってのはNScripterの仕様、dllで何かあったかもしれんが忘れた
0134名前は開発中のものです。
垢版 |
2014/04/21(月) 14:45:13.08ID:4xw8EZGS
>>133
上で何度もNS2の質問をしていた者ですが暗号化って
中身をユーザが見れないようにするパッケージングの事ですか?
それなら付属のDOSツールで一発で出来ますけど、それではなく?
0135名前は開発中のものです。
垢版 |
2014/04/21(月) 20:13:18.89ID:JYbuQDvo
>>134
レスありがとうございます
スクリプトを書いたテキストをプレイヤーに見えないよう、暗号化したいのですが
旧作のnscmake.exeを使ってみたものの、ダメだったので、
2専用のツールが必要なのではと思うのですが、わからず、放置中です。
0136名前は開発中のものです。
垢版 |
2014/04/21(月) 20:23:02.07ID:4xw8EZGS
NScripter2開発ツールフォルダ内に入っていますよ
nscr2.exeがそれです

起動後、1を選択→各ライブラリがあるフォルダを選択すればパッキングできます
0138名前は開発中のものです。
垢版 |
2014/04/24(木) 01:47:29.30ID:HncA30jl
TwitterでNスクのダメキャンペーンされてる
今残ってるサイト主ってかなり情報公開してるだろ
変数仕様すら満足に公開されてない暗黒時代の手探りを知らんのだろな
2005年頃のあの一寸先は闇の感覚は今はないってのに贅沢だなw
0139名前は開発中のものです。
垢版 |
2014/04/24(木) 02:25:18.91ID:DXX4yPcJ
何書かれてるのか知らんが、NSLuaならまだほんのちょっと分からんでもない
けど、素のNScripterってノベルエンジンの中じゃユーザーコミュニティのカバー率屈指のレベルだと思うが
0140名前は開発中のものです。
垢版 |
2014/04/24(木) 02:36:03.22ID:HncA30jl
素のNスクのサンプルコードの公開を上級者が渋ってるって主張みたい
上級になるための橋渡しが足りないとさ
そんなの、言ってる本人が公開しないのと同じような理由で講座の主が公開してないだけだろ
0141名前は開発中のものです。
垢版 |
2014/04/24(木) 03:00:47.23ID:9+Ivo/uW
ただの基地外だろそいつ
Nscはかなり講座とサンプルが充実してて
ちょっと頑張れば独自のゲームだって作れた
0142名前は開発中のものです。
垢版 |
2014/04/24(木) 03:42:16.24ID:2ELeME/V
Twitterで反論キャンペーン張ればいいだろ
ここれでやるならせめて元の発言を貼るかなんかしないとわからん

中級者用の情報が足りてないって話なら見たけど
>>138が言うようなダメキャンペーンはどこでやってるのか知らん
0143名前は開発中のものです。
垢版 |
2014/04/24(木) 03:55:10.95ID:HncA30jl
こんな所に特定出来るように貼れってか。ひでーやつだな
直接言わずにここで文句言う糞の自覚あるけど、さすがにそこまではできんわ
0145名前は開発中のものです。
垢版 |
2014/04/24(木) 11:11:22.85ID:DXX4yPcJ
上手く使うためのテクニック類って相当そこら中に解説転がしてくれてあるけどな。numalias %0とかその筆頭じゃん、俺最初に見て感動したぞ
0147名前は開発中のものです。
垢版 |
2014/04/24(木) 14:25:56.56ID:DXX4yPcJ
仲良く公式マニュアル待ちだろうな
高橋さん自身が個人開発ゲームエンジンの将来にだいぶ悲観的な点気になりはするけど、上で使ってる人もいたしぽつぽつ使用例出てくるんじゃね。講座揃うのはまだまだ先だろうな
0148名前は開発中のものです。
垢版 |
2014/04/24(木) 16:36:31.55ID:oR1QVALy
>>146
俺自身がNS1ほど熱心に使いたいと思わないのもあるけど
他人任せじゃなくて自分から調べて情報開示しようと思わん辺りに
NS2の先行きの厳しさを感じる
0150名前は開発中のものです。
垢版 |
2014/04/26(土) 22:46:02.07ID:ztot7jCC
Nsc1のbspで拾えるキーなんだけど、Dキーがデフォルトでデバッグモード起動が割り当てられてて使えない…
デバッグ起動しないようにして使える方法ってある?
0152名前は開発中のものです。
垢版 |
2014/04/26(土) 23:35:29.85ID:0txbynpo
デバッグって、nscript.datにしたら自動で起動しないようにならなかったっけ?
だから、本番用のコードなら問題ないよ。
今もウィンドウが出たり消えたりするだけで、普通にDキー自体は取得できてるでしょ?
0156名前は開発中のものです。
垢版 |
2014/05/01(木) 00:03:26.41ID:50PAktXV
セーブデータの上限は200kbまでなのかな。
セーブが大きすぎるってエラー落ちしたんでちょっと検証してみた

*define

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

game
*start

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

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

function NSCOM_test1()
NSGosub ("*test2")

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

↓改造した00.txtの一部(問題と思われる箇所)
0174名前は開発中のものです。
垢版 |
2014/05/26(月) 12:53:45.95ID:ArU/je5h
@text
param %tag,%text

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

; 改ページ記号がある場合、改ページ実施
if line == 16 or %text == "改ページ_" then
spfill "window:text1",0,#00000000 ; テキストを消す
spfill "window:text2",0,#00000000 ; テキストを消す
spfill "window:text3",0,#00000000 ; テキストを消す
spfill "window:text4",0,#00000000 ; テキストを消す
spfill "window:text5",0,#00000000 ; テキストを消す
spfill "window:text6",0,#00000000 ; テキストを消す
spfill "window:text7",0,#00000000 ; テキストを消す
spfill "window:text8",0,#00000000 ; テキストを消す
spfill "window:text9",0,#00000000 ; テキストを消す
spfill "window:text10",0,#00000000 ; テキストを消す
spfill "window:text11",0,#00000000 ; テキストを消す
spfill "window:text12",0,#00000000 ; テキストを消す
spfill "window:text13",0,#00000000 ; テキストを消す
spfill "window:text14",0,#00000000 ; テキストを消す
spfill "window:text15",0,#00000000 ; テキストを消す
; 何行目かの情報をクリア
line = 0
%kaipage = 1
endif
0175名前は開発中のものです。
垢版 |
2014/05/26(月) 12:54:56.78ID:ArU/je5h
endif
; フォントがMSゴシックの場合
if _font == 0 then
if line == 1 then
if %text <> "改ページ_" then
; 1行目表示
spputtext "window:text1",0,%text,{font="text",wait=(9-_textspeed)*10,w=28,h=20},{font="rubytext"}
endif
else if line == 2 then
if %text == "改ページ_" then
; 改ページ判定の場合は2行目を1行目に表示
spputtext "window:text1",0,%text,{font="text",wait=(9-_textspeed)*10,w=28,h=20},{font="rubytext"}
endif
; 2行目表示
spputtext "window:text2",0,%text,{font="text",wait=(9-_textspeed)*10,w=28,h=20},{font="rubytext"}
else if line == 3 then
; 3行目表示
spputtext "window:text3",0,%text,{font="text",wait=(9-_textspeed)*10,w=28,h=20},{font="rubytext"}
※以下15行目まで同じ処理です。長すぎるので省略
endif
endif
endif
; フォントがMS明朝の場合
else
0176名前は開発中のものです。
垢版 |
2014/05/26(月) 12:55:33.61ID:ArU/je5h
if line == 1 then
if %text <> "改ページ_" then
; 1行目表示
spputtext "window:text1",0,%text,{font="text2",wait=(9-_textspeed)*10,w=28,h=20},{font="rubytext"}
endif
else if line == 2 then
if %text == "改ページ_" then
; 改ページ判定の場合は2行目を1行目に表示
spputtext "window:text1",0,%text,{font="text2",wait=(9-_textspeed)*10,w=28,h=20},{font="rubytext"}
endif
; 2行目表示
spputtext "window:text2",0,%text,{font="text2",wait=(9-_textspeed)*10,w=28,h=20},{font="rubytext"}
※以下15行目まで同じ処理です。長すぎるので省略
0178名前は開発中のものです。
垢版 |
2014/05/26(月) 22:47:15.90ID:eYuz/ba5
変数_fontを、_font="text"とか_font="text2"としてあげると
spputtext "window:text",0,%text,{font=_font,wait=(9-_textspeed)*10,w=28,h=20},{font="rubytext"}
が効くので、if文がいらなくなって便利ですよ。

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

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

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

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

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

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

あたりのendが関係している?のでしょうか?
0181名前は開発中のものです。
垢版 |
2014/05/26(月) 23:48:10.42ID:ArU/je5h
ああああああ
ええええええ

てすと

次で改行

>p


bg 背景1

ららららららら


てすとその2

bg 背景2

quit ;終了

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

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

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

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

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

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

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

お騒がせ致しました。
0186名前は開発中のものです。
垢版 |
2014/05/30(金) 19:55:19.34ID:3jaSQaQ2
maxkaisoupageの最大値って50なんですかね?
50以上の数値にすると50より前のログが表示されない…
0187名前は開発中のものです。
垢版 |
2014/05/31(土) 03:06:23.48ID:KsEa33Em
調べてないが常識的に考えてそんな使わんだろ!?みたいな数値が上限になってることは時々ある
50ページ以上ログ辿るようなゲームだと独自システム組んだ方が色々楽になりそう
0188名前は開発中のものです。
垢版 |
2014/05/31(土) 10:43:37.05ID:eNzJVy6Z
サンプルシステム流用してるだけじゃなければ
どこ弄ればいいか分かりそうなものだけど
0191名前は開発中のものです。
垢版 |
2014/06/03(火) 18:28:46.21ID:7Mkr3K2a
基本的なことなのですが、調べてもさっぱり分からないのでどなたか教えてください。
スプライトボタンにマウスオンしたときに、セル1に切りかわると同時に効果音が鳴るようにしたいのですが、

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

この状態からどうすればいいんでしょうか?
0192191
垢版 |
2014/06/03(火) 20:16:40.31ID:7Mkr3K2a
自己解決しました!お騒がせしました。
0193名前は開発中のものです。
垢版 |
2014/06/17(火) 01:27:33.60ID:B7W5c+ys
nscripterようのリファレンスでrubyon2が非推奨になってるけどなんでだろう。
使いたいけどちと恐いな
0194名前は開発中のものです。
垢版 |
2014/06/17(火) 04:11:05.49ID:eZOJzlkB
非推奨命令も動くものは動くからな、数値ラベルなんかはサイズ指定にバグ抱えてるけど2.96で動く
ある程度ポピュラーだった命令ではっきり動かなくなったのってzenkakkoくらいじゃね
0196ろだ
垢版 |
2014/07/17(木) 00:29:58.88ID:4sIE6b1L
鯖が急になくなってしまったので取り急ぎ移転しました
数日間サイトが見られない状態になっていたことをお詫びします
http://nscuploader.daiwa-hotcom.com/
0200名前は開発中のものです。
垢版 |
2014/07/21(月) 16:45:25.20ID:WoyXgCW0
NaClを利用するというのは技術的には面白いけど
何というか始まる前から終わっているみたいな
0202名前は開発中のものです。
垢版 |
2014/07/21(月) 21:33:28.62ID:yAAtgJ7M
すげーな。マルチプラットフォーム一番実現したエンジンがNScripterになるとは
や、文法同じなだけで、別物のエミュレーターみたいなもんだけどさ
0204名前は開発中のものです。
垢版 |
2014/07/21(月) 23:32:25.30ID:9M5GB1lH
2がluaだからluaがコンパイルできる環境なら結構簡単に動作クローン作れると思う。D3D使ってもどうせ今はGLの方がスーパーセットだし。
0205名前は開発中のものです。
垢版 |
2014/08/03(日) 09:08:07.61ID:TyDiCVRp
Nscripterをはじめたばかりで、解説サイト様を見ながらいろいろ試しています

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

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

きっとものすごく初歩的なことだと思いますが、
どうにもわからないので
教えていただけないでしょうか
0206名前は開発中のものです。
垢版 |
2014/08/03(日) 23:26:16.97ID:JwbeHEtx
スプライト画像を先に読み込ませておいて
前面に表示させる→消すってやればいいんじゃないかと思うけど
チカチカ演出は嫌われるぞ
0210名前は開発中のものです。
垢版 |
2014/08/05(火) 17:32:28.93ID:oOnaXrGS
ここぞという場面で使う分にはいいんじゃね>ウェイト
多用されたらそっとウインドウ閉じるけど
0211名前は開発中のものです。
垢版 |
2014/08/20(水) 07:02:16.94ID:3QG01HIf
ひょっとしなくてもNSLuaのテクスチャとNScripter2のテクスチャって概念違う?
0215名前は開発中のものです。
垢版 |
2014/09/05(金) 02:13:00.28ID:/fAfVF5X
Nsc1なんだけど、デフォルトだとウィンドウに表示させるテキストの行に ;でコメントアウトしたらバグって表示されることを今知った…
同じことをtextgosub使ってシスカマすると問題なく表示されるんだが、本来やってはいけないことだったんかいな。注釈付に使ってたんだが不安になってきた
0216名前は開発中のものです。
垢版 |
2014/09/05(金) 07:50:19.25ID:VA2pTeMM
「実行ブロックで命令書いた後にセミコロン打って注釈入れたつもりが文字化けた」でいいな?エスパーするぞ?
NScripterはごく限られた命令除いて素直に書かれた命令を一個一個読む
命令文の後にセミコロン打つと「命令」「"半角セミコロンで始まっているテキスト"を表示(仕様外なので当然化ける)」と解釈される。
半角セミコロンがコメントアウトとして機能するのは物理的な行頭に書いてある場合(その行を読まないという挙動)
定義節ではそもそもテキストが表示されない仕様なので、このようなことにはならない。
0217名前は開発中のものです。
垢版 |
2014/09/05(金) 07:51:49.33ID:VA2pTeMM
ここまで書いてなんか違うこと聞いてる気がしてきた
普通の表示文を普通にコメントアウトするだけなら当然化けないよ。どんな文章が化けたのよ
0218名前は開発中のものです。
垢版 |
2014/09/05(金) 08:22:53.86ID:/fAfVF5X
命令後にセミコロンつけたらだめなのか…
mov %0,100  ;○○の目的のために値代入  とかかなりやってた…
文字化けしたのは

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

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

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

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

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

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

*titleloop
bclear
bsp 6,"","M5,320,367S1,(se\on.wav)",""
bsp 7,"","M5,320,405S1,(se\on.wav)",""
bsp 8,"","M5,320,442S1,(se\on.wav)",""
bsp 9,"","M5,320,479S1,(se\on.wav)",""
bdef "P6P7P8P9C5"
bexec $20
if $20 == "S6" spfont clear:for %1=5 to 10 : csp %1 : next :csp sp_cg:bgmstop:kuro2 5:goto *newgame
if $20 == "S7" for %1=5 to 10 : csp %1 : next :csp sp_cg : kuro2 1 : goto *system_load
if $20 == "S8" goto *gallery
if $20 == "S9" end
goto *titleloop
0238名前は開発中のものです。
垢版 |
2014/10/02(木) 04:55:42.44ID:0SLywCdy
とりあえず新ボタン命令の方であることは分かった
すまん俺旧ボタン留まったままで分からんわ……
0239名前は開発中のものです。
垢版 |
2014/10/04(土) 02:49:42.56ID:nhvMxdsM
*titleloopからgoto *titleloopを高速処理してて
クリック認識されてないみたいだし、
bexecの前にbtimeでも入れてみたら?
たぶんbtime 50ぐらいがちょうどいいんでないかな。
0240名前は開発中のものです。
垢版 |
2014/10/04(土) 08:23:36.64ID:j0Y4+UPc
何らかの要因でbexec突破しちゃってるってのはあるかもな。それならボタン定義が連打されるので新しく音が鳴り続ける
0241名前は開発中のものです。
垢版 |
2014/10/04(土) 21:27:49.37ID:CMOD7O+n
今更だけどver2,95です。せめて自分の環境で不具合再現できれば色々試行錯誤できそうなんだけどね。2,96も同梱しておこうかな
btime置いてみたら確かに挙動が症例っぽくなった。試しにbtime 0にしたらクリック効かなくなったしbexec機能が飛ばされてるってことでいいのかも
今度ダメ元で高橋さんにも聞いてみようかな   どうもありがとう
0242名前は開発中のものです。
垢版 |
2014/10/04(土) 23:54:18.59ID:j0Y4+UPc
btimeに0放り込むのは「時間制限付きのクイズです、制限時間0秒な」と言ってるのと同義
0243名前は開発中のものです。
垢版 |
2014/10/04(土) 23:56:56.71ID:j0Y4+UPc
症例出てる人に再現実験やってもらえるのであれば、問題出てる箇所のbexec直後で何のボタンが入力されているか取得&保存&テキストに追記で出力する手はあるな
bexecをどのように通り過ぎちゃっているのか分かれば問題の大きな切り分けになる
0244名前は開発中のものです。
垢版 |
2014/10/05(日) 00:05:18.44ID:F3UGH2mk
Nsc2での質問です。
テキスト文中での変数の表示なんですが、@textの%textに
上手く変数の中身が渡せず変数名がそのまま表示されます。
Nsc1のように何か変数の1文字目に決められた文字をつけないといけないのでしょうか?
0245名前は開発中のものです。
垢版 |
2014/10/06(月) 10:41:07.48ID:BQb7M1lU
上のマウスオーバーで効果音のやつ
効果音ファイルwavやめてoggで解決するぞ
2年前同じこと起きてそれでいけた
0247名前は開発中のものです。
垢版 |
2014/10/09(木) 18:53:05.49ID:5rBqwMNc
あー、ファイルの再生時間が極端に短いのが原因って線なのかもしれんのね
それなら俺もnsogg2.dllに切り替わった時期のやつで引っかかった事あったな
0248名前は開発中のものです。
垢版 |
2014/10/10(金) 01:23:24.74ID:YgiHmMSP
あれ?でもさ、299にあるけど
「クリックしても次へ進めない」ってのもwavからoggにすれば解決するの?
0249名前は開発中のものです。
垢版 |
2014/10/10(金) 01:42:56.15ID:MqUh+MrP
クリックが拾えていないのは「何らかの原因で高速でボタン待ち突破してしまうせいで、ボタン待ち終了〜ボタン待ち開始間にクリックが入ってしまっている」だと思う
その場合は一応、NSLuaの最終クリック情報取得命令とtrapを併用すれば抜けを99.9%潰せる
でもボタン待ち抜けちゃうのが根本的におかしいんだから原因潰した方が早い
0250名前は開発中のものです。
垢版 |
2014/10/17(金) 19:22:40.94ID:AkW9fsPZ
wavやめてoggのやつちょうど俺も助かったわ。
やりとりしてくれてアリガト。
つかTIPSにも書いてあったんだなこれ。いまさら気がついたorz
文章量多くて見落とすわw
0251名前は開発中のものです。
垢版 |
2014/11/17(月) 17:09:44.82ID:xWVEeriI
左クリックを指定した時間無効にするにはどうすればいいですか?

クリックしても文字をゆっくり表示させたいんです
0254名前は開発中のものです。
垢版 |
2014/11/17(月) 22:39:01.50ID:xWVEeriI
!wも試したんですけど
表示したいのは文字がゆっくり動いて
その間はクリックしても一気に文字が表示されない っていう風にしたいんです

もちろんご指摘の通り、〜○章〜
って感じで一部分にしか使いません
0256名前は開発中のものです。
垢版 |
2014/11/18(火) 02:15:23.16ID:GYoJrS2u
こ!w100う!w100すれば目的は達されるんじゃね
章表示に強制ウェイトかかるゲーム見たら俺はクソゲーと判断するけど
0261254
垢版 |
2014/11/19(水) 00:38:25.34ID:WoRr7bT3
皆さんご指摘ありがとうございます!
>>256さんのようにやろうと思ったんですが最終的にwaitだけにしました(クリックで文字一瞬で表示

プレイヤーの快適さなんてまったく考えてませんでしたw
自分でこうしたいなぁ と思う演出だけじゃ駄目なんですね
いろいろ見返しが必要です
0264名前は開発中のものです。
垢版 |
2014/11/21(金) 01:44:15.13ID:8k+N2rXn
bgで背景画面
selectで”はじめる”等の選択のタイトルにしたんですが
全体的に明るさが暗いです

全体の明るさを上げるにはどうすればいいでしょうか?
0265名前は開発中のものです。
垢版 |
2014/11/21(金) 03:28:14.13ID:rrAHWEI1
・setwindowなりでウインドウの透過度変える(Nスクのテキストウインドウは、かまいたちの夜やひぐらしみたいな"画面全体に黒背景の半透明ウインドウ被せる"がデフォルト)
・背景素材明るくする
好きな方を選ぶ
0266名前は開発中のものです。
垢版 |
2014/11/21(金) 18:55:33.02ID:8k+N2rXn
>>265
ありがとうございます!
setwindow 8,16,23,16,26,26,0,2,20,1,1,#FFFFFF,0,0,639,479
にしてタイトル画面のみ明るくできました。
0267名前は開発中のものです。
垢版 |
2014/12/01(月) 02:14:29.37ID:7Z446guD
質問です。
englishモードで改行無視を行う良い方法はないでしょうか。
埋め込み記号無効の仕様のため代替を探しております。

全角文字ならば正常に改行無視するのですが、>から始まる半角英字の文章の場合は/も文章として見做されてしまいます。
0268名前は開発中のものです。
垢版 |
2014/12/01(月) 07:48:31.39ID:cNZ+CQKF
english一切使わずに半角文字+半角スペース偶数バイトで誤魔化すのが一番手っ取り早い気はする
0269名前は開発中のものです。
垢版 |
2014/12/01(月) 14:53:47.14ID:7Z446guD
なるほど、ありがとうございます。
例えばenglishモードで
>This is a pen./
としているところを通常モードで
This is a pen. /
と表示するということですね。
0270名前は開発中のものです。
垢版 |
2014/12/01(月) 17:35:52.18ID:7Z446guD
調べてみたらONScripterでも英語に対応しているようですね。
これを使うのもありかな……と思ったらcygwin?でやたら色々コンパイルしたりしないといけないようで大変そうw
偶数になるように半角スペースしかないのかな……
0271名前は開発中のものです。
垢版 |
2014/12/01(月) 18:25:10.31ID:cNZ+CQKF
/使いたい場所の量によると思う
装飾にちょっと使う程度なら偶数バイトで十分だし、がっつり英文使いまくるなら何かしら別の対策考えた方がいいかも
0274名前は開発中のものです。
垢版 |
2014/12/02(火) 15:55:57.37ID:Wu9XTDCR
「>(英文)/」の塊は全箇所に書き込み済み?
「hoge "(英文)"」に置換した上でdefsub hogeと定義して
*hoge
getparam $0
len %0,$0
mod %0,2
if %0==1 mov $0,$0+" "
mov $0,$0+"/"
$0
return
と「奇数なら末尾に半角スペース足した上で/足して表示」というdefsub命令に置き換えちゃうのはどうだろう
と思ったけど変数に放り込んだ/って機能したっけ?とか+" "ってそのまま機能したっけ?とか俺が色々忘れている
0275名前は開発中のものです。
垢版 |
2014/12/02(火) 21:19:07.30ID:Xu9OyZxC
うろ覚えだけど
This is a pen. /
みたいな偶数の単語が並んだ英文の場合は半角スペースはスルーされて
Thisisa pen. /
みたいに奇数の箇所だけ利いて表示されたと思う。
0276名前は開発中のものです。
垢版 |
2014/12/02(火) 22:09:43.80ID:0AVdpyL7
>>273
過去ログを遡って調べてみます!

>>274
>>275
その通りでした……
/や>は使用箇所に打ち込み済みなので試してみましたが、
半角スペース作戦は失敗のようです。
0277名前は開発中のものです。
垢版 |
2014/12/04(木) 08:30:23.94ID:DVnfl/ZL
あれ、偶数バイトは2バイト目しか半角スペース使えないんだっけ(というか1バイト目の半角スペースは無視されるんだっけ)……こりゃ失敗。
0278名前は開発中のものです。
垢版 |
2014/12/12(金) 04:16:39.71ID:/YAwjbp7
NSLuaでフルスクリーン中にエラー吐くと裏にエラーウインドウ出ちゃって死ねる問題、
Alt+Tabでデスクトップに直接フォーカスすると一応解決するんだね
0279名無しさん@そうだ選挙に行こう
垢版 |
2014/12/14(日) 15:32:48.78ID:gQLcsi8Q
おうかがいします。
常時押せるスプライトボタンを作る方法はないでしょうか?
*text_lbを使うと似たようなことはできるようですが、テキスト末尾のクリック待ちの時以外反応しないように思えます。
つまり、長めの文章が表示されている途中でボタンを押せるようにしたいのですが…
よろしくお願いします
0280名無しさん@そうだ選挙に行こう
垢版 |
2014/12/14(日) 17:24:58.46ID:o0vdMkoA
>>279
NSLuaでテキスト表示させて、1文字表示ずつにクリック監視すりゃ出来るけど・・・
改ページ待ちの時以外に反応させる意味ってないんじゃね
テキスト表示中の画面クリックは、全テキストを一気に表示という動作のがメジャーだと思う
0281名無しさん@そうだ選挙に行こう
垢版 |
2014/12/14(日) 17:46:12.08ID:gQLcsi8Q
>>280
ありがとうございます。
> テキスト表示中の画面クリックは、全テキストを一気に表示という動作のがメジャーだと思う
言われてみれば確かにそうですね。
テキストとは別にシステムやアイテム用のウインドウにジャンプするボタンを設置したかったんですが、テキスト末尾に来ないと反応しなくて、違和感感じてました。
NSLuaとなると自分には敷居が高く難しそうです(´・ω・`)
なんとかだましだましやってみようかと思います(`・ω・´)
0283名前は開発中のものです。
垢版 |
2014/12/14(日) 21:16:54.96ID:PTvwVp/h
例えばテキストの表示途中のあるタイミングでボタンを押せばシナリオ分岐する、みたいな特殊なゲームでないかぎり282が真理だと思う。
0288名前は開発中のものです。
垢版 |
2015/01/04(日) 01:26:07.77ID:WZAhGMoU
quake命令についてなんですけど
例えば1280×720の画面に同サイズの背景を表示した状態でquakex 10,500を実行すると
揺れた際に黒地がでてきてしまうのですが、これって仕方ないのでしょうか?
0292名前は開発中のものです。
垢版 |
2015/01/06(火) 23:04:06.77ID:JkkP6IbB
どうしても気になるならウインドウ揺らすの諦めてスプライトを動かす手も全く無いではない
でもたぶん誰も気にしない
0293名前は開発中のものです。
垢版 |
2015/01/15(木) 07:42:44.45ID:BWAGDFBQ
system.lua単独起動時にNSExec("reset")を呼び出した場合、Luaコードの実行はそのまま続いて変数だけが初期化された。
存在しない*start探しに行ってエラー吐くんじゃね?と思って実行したけど意外にも通るらしい。
defineresetも同様に通ったので、system.lua自身を再読み込みした上でNSCOM_main関数を頭から呼び直すようにすれば関数外に書いた変数は全面リセット可能かも。
0294名前は開発中のものです。
垢版 |
2015/01/15(木) 07:54:01.66ID:BWAGDFBQ
変数だけが初期化された→(NScripterの)変数だけが初期化された

一方でsystem.lua単独起動時のNSExec("definereset")は無視されるっぽい?NScripterの変数は初期化されないし、system.lua内の操作もそのまま残る。
0295名前は開発中のものです。
垢版 |
2015/01/15(木) 07:55:14.38ID:BWAGDFBQ
あーごめん、「単独起動時のdefineresetはエラーこそ吐かないが無視される」が正確な挙動みたい。2レス前で大嘘書いてしまった
0296名前は開発中のものです。
垢版 |
2015/03/11(水) 19:41:11.28ID:n0YGVWdA
質問させてください
テキスト表示中に左クリックすると、テキストが末尾まで瞬間表示されますが
あれと同様の動作を下ホイールで実現したいです
なにかいい方法はないでしょうか?
0301296
垢版 |
2015/03/13(金) 13:31:25.88ID:zRYWEwl8
pretextgosubやtextgosubでの制御はやってみたんですが、うまくいかなかったです…
仕様とのことなので諦めることにします
ありがとうございました
0302名前は開発中のものです。
垢版 |
2015/03/13(金) 22:49:10.12ID:SLbGpEcG
一応できなくもない…ということでサンプル上げてみました
>>196
のうpろだのn_0247.zipです
よければ試してみてください
0305名前は開発中のものです。
垢版 |
2015/03/27(金) 19:20:07.38ID:9mje1Fq8
プログラムのリファレンスなどを何度見ましても、やりたい事の再現方法がわからず、
どこかで質問したかったのですが、ここ以外によさそうな掲示板が見つけられなかったので、
一つ質問させていただきたいです……。

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

〜〜〜〜〜

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

〜〜〜〜〜

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

〜〜〜〜〜

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

〜〜〜〜〜

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

考えたのですが、自分には再現方法が思いつきませんでした……。
何か良いアイデアがございましたら、アドバイスをいただけないでしょうか……。
よろしくお願いします……。
0307名前は開発中のものです。
垢版 |
2015/03/28(土) 00:52:58.21ID:oqpZxqXV
何故そんな仕様にしたいのかは分かりませんが、バックログの挙動をいじるとしたらシステムカスタマイズをしてログの自作から必要になってくるのではないでしょうか。
0308名前は開発中のものです。
垢版 |
2015/03/28(土) 13:32:55.87ID:6qaAz4qL
該当部に着たら
表示したいテキストに差し替えるように
バックログのシステム組めば良いと思うの
0309名前は開発中のものです。
垢版 |
2015/03/28(土) 16:47:32.10ID:oL1H4Hby
>>305
なんだそりゃ
バックログをゲームシステムに組み込んで何か悪戯?驚かせ?でもしたいのかしら

自前でバックログ風のニセ画面を作るのがいいよ
0310305
垢版 |
2015/03/28(土) 17:35:26.19ID:ENnBYgpU
皆さん早速ありがとうございます。

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

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

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

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

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



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

と、>>308さんの一連のアイデアはどういった意味でしょうか?申し訳ないですが理解が及びませんでした……。
どういった命令を使うか?などもう少しだけ踏み入って教えていただけないでしょうか?
0312名前は開発中のものです。
垢版 |
2015/03/28(土) 23:28:48.06ID:WE4a1OaD
>>310
該当部分をAとした場合、
その部分にフラグ立てて
バックログ(カスタマイズ前提)参照時に
該当部分A(文字スプライト)を
を表示したいものに変えてみようってことです
0313305
垢版 |
2015/03/29(日) 21:24:24.88ID:j7VYbSKR
>>311
拝見させていただきました。わざわざこのような素晴らしいプログラムを組んでいただきありがとうございます。
そうです!まさしくこんな動きが出来たらいいなと思っていました!
しかし、いかんせんLuaという言語を知らず、何がどうなっているのか部分的に理解が及びませんでした……。
NScripterの命令だけで再現するのは無理なのでしょうか?
また、「バックログを改変できますが、改変すると、ログがログでなくなってしまうのであまり使い出がないかも…です」
というお言葉も何か不便があることを示されているのかもしれませんが、これはどういった意味でしょうか……?

>>312
ありがとうございます。
……す、すみません……!!>>311さんに引き続き大変お恥ずかしい限りなのですが、
理解し切る事が出来ませんでした……。
大変申し訳ないのですが、もしよろしければ、もう少し詳しくお教えいただけることは出来ますでしょうか……?
0315名前は開発中のものです。
垢版 |
2015/03/30(月) 00:34:42.45ID:OOCw6vH0
>下ホイールで瞬間表示
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を知らなかったぞ

>>304
落としてみたら予想外の解決策でものすごく驚いた。dllが視野に入ってるとこんな解決法もあるのか……
0316名前は開発中のものです。
垢版 |
2015/03/30(月) 07:39:55.43ID:qgoq3my+
>>313
組み方に言及されてもわしゃスクリプトを使って答える気ないよ
やりたいことの希望は分かるんだけど
バックログをシステムカスタマイズして組めることが
そもそもの前提になるのでそれを習得してないとやれるようなことじゃないので
どうしてもやりたいなら時間かけて基本になるバックログの組み方を覚えるべき
別に損するってわけでもないしできる幅も増えるので
0317名前は開発中のものです。
垢版 |
2015/03/30(月) 22:37:34.72ID:kUrtpGBr
>>313
Nスクのみ(Luaなし)のバージョン上げました
よければどうぞ

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

>「ログがログでなく〜うんぬん」
特に深い意味はないです
>310のようなケースは別として、
「ログを改変する必要性ってなくない?」くらいの意味です
>305だけの情報だと「なぜログを改変する必要が?」と思いましたし、
「たけしの挑戦状でも作るつもりかしらん?」と思いました
0318305
垢版 |
2015/03/31(火) 19:09:34.91ID:EWcAP6ON
皆様ありがとうございます。

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

素晴らしいスクリプト、視点、のおかげで解決できました!
本当にありがとうございます!とても困っていたので……!
0321名前は開発中のものです。
垢版 |
2015/04/04(土) 11:45:10.56ID:PuBBy63n
数年ぶりに弄ってて気づいたんだけど
nscrってwin7でなら普通にh264再生できるのな
こりゃまだまだ使い道あるかもしれん
0323名前は開発中のものです。
垢版 |
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)
0324名前は開発中のものです。
垢版 |
2015/04/05(日) 21:54:41.38ID:wYrriWzs
久しぶりにやる気になってるのか
あまり期待しても肩透かしくらいそうだから
放置気味に静観してるのが吉
0326名前は開発中のものです。
垢版 |
2015/04/07(火) 23:17:30.40ID:cp6zZ0KB
NScripter2キタコレage
0328名前は開発中のものです。
垢版 |
2015/04/20(月) 05:55:09.04ID:OhQaE1H6
Naoki TakahashiさんはTwitterを使っています:
"NScr2は、ウィザードには無理がある(カスタマイズの要件が多すぎそう)
なので、結局、チュートリアルを作ることにした。特設ページを作って今後の更新を予告などした。
最低でも週一くらいで更新していくかなあ。"
https://twitter.com/NaokiTakahashi/status/587424016392007680
0330名前は開発中のものです。
垢版 |
2015/04/30(木) 21:22:29.76ID:CKq2q76x
犬と猫さんとこの新作ゲームはどうやらシステム部分の多くをnsluaに移行したらしく
いろいろ参考になることをやっているよ
0332名前は開発中のものです。
垢版 |
2015/05/04(月) 04:07:13.73ID:96BjKmD9
だいぶ昔から非公式の解説サイトに依存する形なので、体系的に覚えるならろだの非公式マニュアルとNScripter Tipsあたり見とくと吉
解説が最新事情に対応してないサイトもあるから注意
0334名前は開発中のものです。
垢版 |
2015/05/11(月) 00:40:05.27ID:V1SRAF26
エヌスク2がでたしエヌスク1の最終バージョンの完全なドキュメント欲しいなー
って思うけどまとめるにしても情報のソースすらないから困る
0335名前は開発中のものです。
垢版 |
2015/05/11(月) 08:15:58.59ID:EPdktNiq
ドキュメントガクソだよなぁ
後付けだらけでスパゲッティになってるのもクソだけど
0338名前は開発中のものです。
垢版 |
2015/05/12(火) 23:59:10.78ID:U8aBl51Y
ドキュメント作るとしてwikiあたりで編集できればいいかね
まあNScrに熟達してて編集するやつがいないってオチなんだろうけど
0339名前は開発中のものです。
垢版 |
2015/05/13(水) 23:27:55.97ID:qdS+amH1
今更、初代のドキュメント整備しようぜって言われもなー…
使い道って全ての命令群を備えてるわけじゃない互換系しか思い当たらないんだが
0340名前は開発中のものです。
垢版 |
2015/05/14(木) 20:55:10.43ID:ya//G+jS
だよな。ろだ主氏と先祖川氏のドキュメントで充分すぎるくらい整ってる
0341名前は開発中のものです。
垢版 |
2015/05/15(金) 00:53:06.10ID:dZFughX9
一番グダグダだった音回りは後付けに次ぐ後付けを経て「いいからdwaveとbgmだけ使ってあとは全部忘れろ」に落ち着いたし、
2.96で半端に終わってしまったのは新ボタンくらいじゃないか
0342名前は開発中のものです。
垢版 |
2015/05/15(金) 06:30:08.18ID:dXOk5uDn
ノベルエンジン探してるやつ見かけたら別のエンジンに誘導すればいいだけ
新規は完全にお呼びじゃないし
0343名前は開発中のものです。
垢版 |
2015/05/16(土) 05:08:26.64ID:c26Zhgd2
ノベルゲーがエロゲ業界共々退潮著しくて、コミュニティ崩壊状態だからな…
吉里吉里もギリギリ維持されているような状態だし
0345名前は開発中のものです。
垢版 |
2015/05/16(土) 16:56:23.45ID:LzObCWRD
>>341
新ボタンはマジで神だぞ。とにかく断然早い。たったそれだけだけど、ほんとに違う。
あと細かいけど2.93から実装だな。
0347名前は開発中のものです。
垢版 |
2015/05/17(日) 12:26:11.46ID:5lYj4soM
拡張スプライトは縦横に引き延ばしたり回転させたりしたい場合に使う
表示順がスプライトほど融通利かなかったりそもそも(相対的に)重かったりするので必要に応じてどうぞ
0348名前は開発中のものです。
垢版 |
2015/05/17(日) 15:23:16.48ID:cvkM9lJ0
徐々に拡大にしていく感じにしてみたけど画像が汚いな…
アニメーションには向かないってことか
0350名前は開発中のものです。
垢版 |
2015/05/19(火) 00:25:32.85ID:ZEuC3xXS
拡大はオマケで回転が主だと思う
拡大するのではなく、大きめの画像を縮小した状態から等倍に近付けていくと汚くなりにくいかもしれない
0352名前は開発中のものです。
垢版 |
2015/05/20(水) 16:15:16.14ID:D1G3Loy4
>>350
昔やったことあるけど、
ドット絵っぽくなるだけだよ
効果としては面白いと思ったから使いようはあるかもしれない
0355名前は開発中のものです。
垢版 |
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)
0357名前は開発中のものです。
垢版 |
2015/05/26(火) 14:52:26.09ID:8Pn1VELT
むいむいさんとこのスプライト操作プラグインを落とそうと思ったら変なページに飛ばされて落とせない
他のプラグインも軒並み落とせない
あとsenzogawaさんとこも500エラーで見れない
0360名前は開発中のものです。
垢版 |
2015/06/02(火) 14:30:33.51ID:MFgt3iYg
ttp://www.eiji8pou.net/ 自体がドメイン切れてるね
WebArchiveから落とせなければアウト、ダメモトで本人に頼むのも手かもしれないが
0362名前は開発中のものです。
垢版 |
2015/06/02(火) 23:03:59.28ID:6CuS+BCf
持ってはいるが、添付テキストに二次配布の言及がないので
良いのかも分からず支援できん
0364名前は開発中のものです。
垢版 |
2015/06/09(火) 14:03:24.20ID:Ocxtc+m5
そろそろ一時代築いて引退ってことでいいんじゃないか?
今Nscで作ってるのは個人だろうけど個人でももっとリッチな環境で作れる時代になったよ
0366名前は開発中のものです。
垢版 |
2015/06/09(火) 16:27:16.83ID:RyTbVIpP
Androidへの互換性だってあるしマダマダイケルヤロ
0367名前は開発中のものです。
垢版 |
2015/06/09(火) 19:07:12.00ID:3m3jQLvw
これまで使ってるなら手持ちのプラグイン豊富に持ってるだろうから
イケるだろうけど新規なら他をあたれ
0371名前は開発中のものです。
垢版 |
2015/06/13(土) 19:49:13.51ID:HJsSkMeq
検索はctrl+Fで済ませてるな
そもそもワード知らんとヒットもしないから
流し読みが主だし。
0374名前は開発中のものです。
垢版 |
2015/06/16(火) 04:10:56.76ID:t0crlQmU
btnnowindowerase
ボタン時にテキストウィンドウが消えなくなります

↑この命令を使ってもbtnwait命令やbexec命令を使うと
テキストウィンドウが消えてしまうんだけど、どうすればいい?
ボタンが出てる時にテキストウィンドウが消えると
ゲーム内容的にかなり困る
0376名前は開発中のものです。
垢版 |
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
0377名前は開発中のものです。
垢版 |
2015/06/18(木) 07:18:39.20ID:S0VTm5ZR
こういった情報は貴重だな
仕様が不明だと正常な動作と異常な動作の見分けすらつかないからハマる
ドキュメントに反映されていくといいんだけどな
0379名前は開発中のものです。
垢版 |
2015/06/18(木) 22:30:55.94ID:JpHOHrG+
シスカマのサンプルに組み込まれてるレベルものを気付いてないんだし
ドキュメントに反映しても見落とす気がすんだけど…
0381名前は開発中のものです。
垢版 |
2015/06/19(金) 02:10:05.01ID:hAMydaRi
btnnowindoweraseでググっても取り扱っているページほぼ見ない(あっても相当古い)し俺自身使った記憶もない
気付いたら非対応になっていたzenkakkoパターンの誰にも気付かれなかった版じゃないか?
0382名前は開発中のものです。
垢版 |
2015/06/19(金) 11:29:36.27ID:UuePPfHi
ちょっと軽く調べたけど
btnnowindoweraseってbtntimeに関連していて
effectskipが追加されてほぼ用なしなった命令じゃないっけ?

過去スレで画像エフェクト表示の時にクリックすると
次のテキスト表示が一瞬で表示される云々で
回避法で利用されてた覚えある
0383名前は開発中のものです。
垢版 |
2015/06/19(金) 19:38:35.95ID:hAMydaRi
つまり意味ある命令だった期間が元々非常に短いのかな?
あんまり使用されないうちに存在意義失っちゃって非推奨命令として知られることもなかったと
0384名前は開発中のものです。
垢版 |
2015/06/19(金) 20:42:31.13ID:RHqj7oCP
先祖川さんとこのリファレンスを見るに
ver.2.48からの命令っぽいから
期間自体はそれなりに長いじゃないの
0385名前は開発中のものです。
垢版 |
2015/06/22(月) 03:52:52.77ID:o9yqChch
ゲーム内のボタンクリックでウェブサイトに飛ばすようにしたくて、検索したらshell命令を使えばいいらしいのですが
shell "(指定URL)"でやってもページが開かない…
なにか他に必要なのかな?教えていただけると助かります
0387名前は開発中のものです。
垢版 |
2015/06/23(火) 15:25:36.19ID:/BgK9QPb
>>386
ありがとうございます!386さんのをコピペして、
IE11じゃ開かなかったけどGoogle Chromeをインストールしたらそっちで開きました
これは解決したってことでいいのかなw
とにかくありがとうございました!
0388名前は開発中のものです。
垢版 |
2015/06/29(月) 14:42:14.43ID:roo0zlz7
右クリックの挙動をキーに割り当てることってできますか?
ボタン命令は新の方使ってて、メニュー画面から戻るときなどに右クリックで戻る、というようにスクリプト組んでたんですが、
後からマウス使わずキーボードだけでもある程度操作できるようにしたいと思ってしまいました。
けど今から一つ一つにボタン操作後の挙動にif分岐挟んでいくと量がかなり多くなってしまい…
理想としてはdefine部に命令一つ書くだけでボタン待ち時にこのキーを押すと右クリックしたものとして扱い、進むようにする…というものがあれば嬉しいのですが
0390名前は開発中のものです。
垢版 |
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
;---
0391名前は開発中のものです。
垢版 |
2015/06/30(火) 04:43:20.05ID:ARP+19tb
なるほど…! bexecの下は大体if分岐になるからdefsub化した既存命令内でキー割り当てするのですね。
ありがとう! 参考になりました!
0392名前は開発中のものです。
垢版 |
2015/07/01(水) 15:21:58.73ID:DanPzbq3
そうか、数字や文字で返すからボタン待ち命令乗っ取るとこういうすり替えが可能なのか
0393名前は開発中のものです。
垢版 |
2015/07/18(土) 16:39:45.00ID:bPs/UpZd
今更ではあるけど、x264再生できるレイヤープラグイン欲しかったなぁ
すっかりmp4普及したせいでmpegとかoggのエンコ環境がもう手元にないよ…
0396名前は開発中のものです。
垢版 |
2015/07/27(月) 15:24:02.51ID:lYLQLW+8
NSfont.dllの外字登録は結局ns2アーカイブに対応しているのでしょうか?
nscripter覚書やtipsにはpng化すればver2.96はエラー回避できると書いてあるのですが、
png使用で、ver2.95、ver2.96両方試したんですがどっちも画像が見つかりませんと出て落ちてしまいました(アーカイブ前は問題なく機能します)
ぐぐったらver16のスレで同じようなことを言ってる人がいたんですが、他の人はns2アーカイブでも問題なく使えているの気になりました。
0397名前は開発中のものです。
垢版 |
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
0398名前は開発中のものです。
垢版 |
2015/07/27(月) 23:27:50.74ID:lYLQLW+8
すみません、色々検証してみたんですが、妙な挙動を見つけました。
まず頂いたスクリプトだと問題なく動作します。アーカイブ内のhurt.pngをきっちり読み込んで表示文もちゃんとハートが出てました。

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

exec_dll命令は定義実行両方でできるはずなのですが、NSFontの読み込みはアーカイブを使う場合、何故か定義節でやろうとするとエラー落ちする…
そんな気がするんですが、どうなんでしょうかね…
0399名前は開発中のものです。
垢版 |
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アーカイブモードにセットされるみたいです
0400名前は開発中のものです。
垢版 |
2015/07/29(水) 10:46:32.06ID:wDHPOEMq
なるほど。ns2アーカイブにはnsaに相当する命令がないから実行中からでないと読み込めないってことですかね。
とりあえず今後は外字登録は実行中に済ませることにします。
0401名前は開発中のものです。
垢版 |
2015/08/01(土) 18:25:09.92ID:bYYJqREA
>ns2アーカイブは、定義節からはアクセスできない
知らなかったそんなの…
バイト単位で調べるNSGetFileInfoはたしか定義説中の実行でも大丈夫だったよね?
0402名前は開発中のものです。
垢版 |
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アーカイブを問題なく使えるみたいです
0405名前は開発中のものです。
垢版 |
2015/08/16(日) 19:31:07.06ID:lEwN4Chh
>>402
定義節専用命令はluasub登録できないってことでいいのかな?
system.lua最優先で読んでるものとばかり思い込んでた
0406名前は開発中のものです。
垢版 |
2015/08/16(日) 21:09:02.36ID:lEwN4Chh
>>267-276
NSCALL_text乗っ取って
「長さ偶数バイトのテキストが末尾"/"なら"半角スペース+/"に置換して表示」
「置換した直後のテキストが半角スペースから始まっていたら削って表示」
とかやればある程度対応できるかも?クリック待ち処理ごと自作することになるけど
0407名前は開発中のものです。
垢版 |
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
0408名前は開発中のものです。
垢版 |
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
0409名前は開発中のものです。
垢版 |
2015/08/21(金) 14:41:24.07ID:ejva1MgW
Nスクで作られたとあるフリゲで遊んでたら
オートマッピング付きの簡易3Dダンジョンが実装されててびっくりしたよ
0410名前は開発中のものです。
垢版 |
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文字でまとめて情報管理しちゃえば割とどうとでもなるよ、
マップの数増えると保存はめんどいけど
0411名前は開発中のものです。
垢版 |
2015/08/23(日) 16:31:11.14ID:yxJgxATQ
ということは
1:定義節実行(luasub、luacallは、名前がとりあえず登録されるだけ)
2:game命令到達、通常変数初期化。00.nsがあれば、ns2アーカイブモードにセットされてアーカイブが有効になる
3:(luasub、luacallがここで有効になる)
4:system.luaを読み込んで実行。
5:*startラベルに飛ぶ
こうか
0412名前は開発中のものです。
垢版 |
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とか'_'プリフィックスをつけた方がいいくらいかもです
0413名前は開発中のものです。
垢版 |
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直後の初期化処理で間に合うものは、実行節で初期化する、というのもアリかなと思いました。
0414名前は開発中のものです。
垢版 |
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 を読み込んだ(&実行した)直後から有効になります
0415名前は開発中のものです。
垢版 |
2015/08/24(月) 02:50:35.88ID:+60iWqb9
現在行の情報が吹っ飛1行目に戻される→既に読んだ定義節命令読んでエラー
の順なので、「system.lua読み込み中の」「定義節専用命令実行」に限っては
goto *start
*define
game
*start
みたいな書き方で一応動く。公式では二重実行ダメと言われてるけど、1行目に戻される以外の問題は今のところ発見されていないと思う
0416名前は開発中のものです。
垢版 |
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
とか書けばある程度まとめて記述できる。でも
>定義節で使うリソースは、アーカイブにまとめずにいっそ裸で置いておくとか
俺もこれに賛成。フォルダに入れときゃダイジョーブダイジョーブ
0417名前は開発中のものです。
垢版 |
2015/08/24(月) 05:42:51.12ID:+60iWqb9
luacallの有効タイミングに関しては
「その場で有効になってはいるけど、肝心の呼び出す関数がsystem.lua読むまで登録されない」と
解釈した方が納得しやすいかな(内部的には「game命令を読むまで有効化されない」が実際の挙動っぽい気もするけど)。

NSCALL_やNSCOM_自体は起動後に定義し直すことも出来るくらい(書き換えるとしてもせいぜいanimationくらいか)普通のlua変数だし、その意味じゃdefsubと僅かに位置付け違っているかもしれない
0419名前は開発中のものです。
垢版 |
2015/09/02(水) 19:05:44.54ID:YPD5Ohot
そもそも今までのverも怪しげなセーブデータ拾ってこなければ大丈夫だから
サポートめんどくさければ、そう告知しとけばいいぞ
0423名前は開発中のものです。
垢版 |
2015/09/06(日) 21:45:39.85ID:kcuo4pu/
今回のそれかはともかく
データ読み込みまわりに脆弱性があることは
随分昔にT2氏が言及していたような
0429名前は開発中のものです。
垢版 |
2015/10/25(日) 02:07:44.82ID:tVN9jG8N
rubyon2にフォントサイズの整数倍を指定したら2サイズの文字を同時に表示できないか?
と思い試していたスクリプトが一応動いたのでサンプル上げておきます
ttp://ux.getuploader.com/nsc_pub/download/5/nsc_pub_5.zip
内部でlocate命令を使うためバックログが壊れます。大きい方の文字は特殊記号がほとんど使えません。 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
0433名前は開発中のものです。
垢版 |
2015/12/20(日) 06:57:49.77ID:Z+R4uhuo
どう見てもマルチポストなあれに反応してあれだけどNスク開発者でMac使うのはかなり重度のマゾヒストではなかろうか…
0434名前は開発中のものです。
垢版 |
2015/12/20(日) 11:28:34.43ID:14hAvyX2
>>428
言われて気がついたかも?

チュートリアルの需要があったら誰か作ると思うよ。
つ「言い出しっぺの法則」
0436名前は開発中のものです。
垢版 |
2015/12/21(月) 02:25:41.76ID:HROND3q6
Nスク2使ってる人が情報不足で喘いでいる様子は見ないから機能してる情報源は一応あるんじゃない?
0437名前は開発中のものです。
垢版 |
2015/12/25(金) 06:50:15.73ID:mhxSx9Dl
ふと存在を思い出したけど日本語以外を拒否するdll(getlang.dll)って現存しないんだっけ?2009年ごろのやつ
0438名前は開発中のものです。
垢版 |
2015/12/25(金) 13:38:50.02ID:tyaNVWle
唐突だけどNscの統合開発環境ソフトみたいなのってないのかな?
今はサクラエディタでいろいろ設定して色分けとか予測変換とか駆使してやってるけど、かゆいとこに手が届かない感じがして微妙にストレス溜まる…
命令の簡単なリファレンスとか、インテリセンスとかエラー予測とかがついた簡素なテキストエディタでもいいから欲しいわ
0439名前は開発中のものです。
垢版 |
2015/12/26(土) 03:37:17.37ID:o75k+2jl
一年くらい前から同じようなこと考えてるな
便利なIDE作れたらなあと思いながらなかなか仕様も決まらんし手も付けてないが
0440名前は開発中のものです。
垢版 |
2015/12/28(月) 04:50:39.19ID:JfoMohzI
ろだのn0241ってファイル破損してる?アーカイブの方も含めて解凍するとdeffontd.dが途中で切れてしまう
0444名前は開発中のものです。
垢版 |
2016/01/06(水) 00:56:13.55ID:1qMxPa7E
x字間を-(文字サイズの半分)に
一文字ずつ表示
全角文字を表示したらlocateで1文字飛ばす
これで見た目上は奇数バイトの半角文字テキストを表示できないだろうか
0446名前は開発中のものです。
垢版 |
2016/01/15(金) 00:36:28.43ID:oXGa3cbB
テキスト表示速度って瞬間表示前提にしちゃって大丈夫かな、速度可変にするとシステムカスタマイズが色々めんどい
0447名前は開発中のものです。
垢版 |
2016/01/16(土) 20:40:51.74ID:zgJ6Bev5
表示遅くてイライラすることはあっても、早くすぎて嫌だっていう声聞いたことないし俺はテキストスピード調節自体をなくしたよ。
0448名前は開発中のものです。
垢版 |
2016/01/17(日) 04:03:11.20ID:pR7YT4Vr
袋文字プラグインやdeffontd.dllは瞬間表示前提だよね(deffontd.dllは無理すればゆっくり表示もできなくはないけど)
0449名前は開発中のものです。
垢版 |
2016/01/20(水) 18:41:15.98ID:QvSp7RVa
現代人が時間ないのか分からんけどツクール系ノベルとかでも瞬間表示主流になって久しい
0450名前は開発中のものです。
垢版 |
2016/01/21(木) 16:48:00.92ID:J9Ft1XgY
文字表示の合間に演出入れるとか
文字待ち演出しないなら瞬間表示の方が
テキストをサッと読めて楽ってのはあるのかもね
0451名前は開発中のものです。
垢版 |
2016/01/28(木) 08:24:51.94ID:HKV81NHk
deffontd.dllでテクスチャ用意→スプライト化→ドロップシャドウdllのうちどちらか→表示 でdeffontd.dllの機能使いつつ袋文字使えるって認識で合ってる?
0454名前は開発中のものです。
垢版 |
2016/02/15(月) 06:46:14.29ID:VipsTIfa
非公式マニュアルのダウンロード版解凍できないというツイート見かけた
今試してみたら破損してるっぽいです
0457名前は開発中のものです。
垢版 |
2016/02/15(月) 22:29:38.37ID:atBiR6jh
ファイル倉庫の方を試してみたけど、うちの環境ではダメだったよ
ツールはunzip(6.00 linux)です
「セントラルディレクトリの終端レコードのシグネチャが見つからない」ってエラーがでるっす
0458名前は開発中のものです。
垢版 |
2016/02/16(火) 09:20:04.81ID:5XR/vDOe
手元の解凍ソフトで試したら7zipでは解凍できた。WinRARとLhaplusではエラーになる
ファイル自体は無事だけどファイル形式情報に問題が出ている
→そういう場合に無視して解凍するソフトならセーフ、違ったらアウト
こうかね
0459ろだ
垢版 |
2016/02/16(火) 20:40:45.43ID:6brlSEcZ
皆さん報告ありがとう
たぶん 7zipで圧縮率を最大にしてたのが問題だったっぽいです
アーカイブしなおして上げなおしました。これで大丈夫なはず
サイズは変わってますが中身は一緒です
0460名前は開発中のものです。
垢版 |
2016/02/17(水) 08:32:12.01ID:G8jWf0t2
7zipの最大圧縮率って他のソフトで解凍出来なくなる場合があるのか、俺も気を付けよう
0461名前は開発中のものです。
垢版 |
2016/03/15(火) 03:03:21.69ID:eKiwVdF7
NScripter2特設ページ
http://www.nscripter.com/nscr2.html
NScripter2本体(16/03/14)
エンジン本体と開発ツールとマニュアルと最小限のサンプルスクリプトが同梱されています。(9.27)サンプルスクリプトの選択肢処理のバグ修正(8.27)v1.10 バグ修正 必ず最新版を使ってください。(3/14)v1.11 バグ修正、画像の座標を別ファイルに切り分けることを可能にした。
台本ツール(16/03/14)
プレーンテキストのシナリオファイルから台本作成するツールです。nscr2.exeで動いています。NScripter2専用というわけではありませんが、タグの仕様に合わせてあるので便利です。
(04/15)仕様変更、作品名を管理するようにした。(03/14)対応テキスト形式を増やし、誤字にもかなり強くした。
0463名前は開発中のものです。
垢版 |
2016/03/24(木) 22:16:41.84ID:nv/yvH1U
できるよ、こんな感じで
NSDCall(0,"*640,48",fontproc,"24,24,あいうえお,かきくけこ")
NSDCall(0,"*640,48",fontproc,"24,24,,,,,,,,,,,,,,,,,,")
NSDCall(0,"*640,48",fontproc,"24,24,,,,,%#FF0000,,,,%#00FF00,,,,")
0465名前は開発中のものです。
垢版 |
2016/03/25(金) 22:20:36.42ID:g7o5RjyF
deffontd.dllは、自分の環境だとn_0241.zipがうまく解凍できないのでちょっとわからないですね
0466名前は開発中のものです。
垢版 |
2016/03/26(土) 08:39:54.11ID:1xr0JexR
まとめてzipになってる方駄目でも
ttp://nscuploader.daiwa-hotcom.com/uploader_list.htm
の方は解凍できるんじゃない?
0467名前は開発中のものです。
垢版 |
2016/03/26(土) 08:47:57.93ID:1xr0JexR
同梱されてるソース見ると半角カンマでsplitしていて
バラした結果が3,4,5,7,8個以外だと
throw new Exception("フォントのDLLに渡したパラメータ数が不正です。: " ~ toString(params.length));
で処理中断してるみたいね
0468名前は開発中のものです。
垢版 |
2016/03/26(土) 22:21:46.53ID:wO/VfJiz
>>466
ありがとう、解凍できました

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

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

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

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

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

どうかよろしくお願いします。
0474名前は開発中のものです。
垢版 |
2016/06/12(日) 22:46:57.36ID:qYWNT7Kr
ごめん、書き込み失敗した…

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

*define
pretextgosub *pre_txt_lb
numalias Name,100
game

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

*pre_txt_lb
gettag $0
mesbox $0,"tag"
if $0 == "$Name" mov $0,$Name
mesbox $0,"$var"
return
0515名前は開発中のものです。
垢版 |
2017/03/03(金) 14:04:20.11ID:/5wdTSkq
ろだです
アップローダのファイル倉庫にあるアーカイブですが、>>459問題により差し替えました(中身は一緒)
本スレへのリンクも後ほど更新いたします

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

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

*define
game

*start
bgcopy
drawfill 255,0,128
draw

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

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

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

;3:save*.ssできない
*start
bgcopy
bg #000000,1
savegame 10
click
end
0524518
垢版 |
2017/03/18(土) 21:02:23.77ID:4e5QTXWB
ありがとさんくす
仕様なら気にすることないですね
これでやっと先に進める……
0527名前は開発中のものです。
垢版 |
2017/07/06(木) 19:17:21.49ID:zKaQ02ia
textfield命令って、$0で取得することしかできないのでしょうか?

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


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

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

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

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

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

長々と一人で失礼しました
0530名前は開発中のものです。
垢版 |
2017/07/07(金) 13:04:29.85ID:c5kdWwsJ
これで動かない?

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

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

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

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

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

--system.lua
function NSCOM_invalidate()
NSInvalidate(0,0,639,479)
end
function NSCOM_update()
NSUpdate()
end
0535名前は開発中のものです。
垢版 |
2017/10/19(木) 22:27:02.63ID:26ONJpRU
;00.txt
*define
luasub invalidate
luasub update
game

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

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

*update0
return

*update1
update
return

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

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

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

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

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

OSをリカバリーすると改善したっていう書き込み見たけど
ちょっと試すのは面倒くさいよね…
0542名前は開発中のものです。
垢版 |
2017/12/12(火) 09:25:05.11ID:yJi9OCvU
>>540
自分もwin8.1で、いろんな所のNスク製ゲームやってるけど落ちた事はないよ
一応、互換性は右クリック→互換性のトラブルシューティングで変更できるみたい
もう試してたらゴメン
0543名前は開発中のものです。
垢版 |
2017/12/12(火) 12:35:12.70ID:sSgfdsGT
>>540 >>541 >>542
配布したゲームのプレイヤーの何人かからWin8以降の環境でゲームを起動したら
上手く動作しなかったという連絡もらったけど
その後OSを再起動したら問題なく動いたらしい
0544名前は開発中のものです。
垢版 |
2017/12/12(火) 12:37:07.72ID:sSgfdsGT
コーディングが悪いんだろうけどパラメータに応じて分岐する馬鹿みたいな量のif文を書いてしまっているので
switch命令欲しい
0545名前は開発中のものです。
垢版 |
2017/12/12(火) 23:55:16.45ID:w7ET5Fhl
>>544
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
0546名前は開発中のものです。
垢版 |
2017/12/12(火) 23:55:56.15ID:w7ET5Fhl
;00.txt
*define
luasub tablegosub
game
*start
inputnum %0,"数値を入力して下さい(1,2,15)",160,96,64,24

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

end
0547名前は開発中のものです。
垢版 |
2017/12/13(水) 12:12:03.31ID:GSr2gHnf
>>543.541.542
再起動とソフトの入れ直しで解決したようです 手元で現象が確認できずあくまでも「したようだ」とのことなのがもどかしいですが
ありがとうございました
0549名前は開発中のものです。
垢版 |
2017/12/15(金) 22:13:00.59ID:QOTdCGH1
蛇足かもしれんけど、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
0550名前は開発中のものです。
垢版 |
2017/12/15(金) 22:13:52.38ID:QOTdCGH1
*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
0551名前は開発中のものです。
垢版 |
2017/12/15(金) 22:14:32.14ID:QOTdCGH1
;テーブルの処理
*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
0552名前は開発中のものです。
垢版 |
2017/12/16(土) 23:10:17.17ID:82GyQIvB
>>549-551
すごく詳しいサンプルありがとうございます
これを参考に今日明日がんばってみます
0553名前は開発中のものです。
垢版 |
2017/12/31(日) 18:29:03.90ID:/rN76OKL
簡単にお金が稼げる方法興味ある人だけ見てください。

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

3YM4IMJTW8
■ このスレッドは過去ログ倉庫に格納されています

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