NScripter Ver.8.00
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2006/09/08(金) 21:39:40ID:/inm3Q++ゲームエンジンNScripterについて語るスレです。
技術的な質問も可。ただし最低限のマニュアルには目を通してね。
・本家
http://www.nscripter.com/
・うpろだ
http://andolf.hp.infoseek.co.jp/
・前スレ
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/
その他関連リンクは>>2-4あたり。
0752名前は開発中のものです。
2006/11/23(木) 03:59:08ID:hEmT40/3なので超適当にやってみた
あと、面倒がらずに自分でテストぐらいすれ
*define
globalon
textgosub *a
effect 2,10,1000:effect 3,2,1000
game
*a
textbtnwait %0
if %0=-1 goto *b
notif %0=-1 goto *c
*b
if %501=0 mov %501,1:seteffectspeed 2:goto *a ;右クリック→エフェクトカット
if %501=1 mov %501,0:seteffectspeed 0:goto *a ;右クリック→エフェクト通常
*c
saveon
texec
return
*start
if %501=0 seteffectspeed 0 ;%501=0の時エフェクト通常
if %501=1 seteffectspeed 2 ;%501=1の時エフェクトカット
bg white,2
ねこだ!@あいつは猫だ!@
bg black,3
そうだ、おれたちゃ猫軍団!!\
reset
0753名前は開発中のものです。
2006/11/23(木) 04:13:33ID:hEmT40/3if %501=0 seteffectspeed 0 ;%501=0の時エフェクト通常
if %501=1 seteffectspeed 2 ;%501=1の時エフェクトカット
の部分はdefine節に入れといた方が良かったな
definereset使わず、セーブ&ロードもしないようにした
これ以上説明する気にはなれんので、あとは適当にやってくれ
0754名前は開発中のものです。
2006/11/23(木) 10:01:33ID:ihQ9qcfB0755名前は開発中のものです。
2006/11/23(木) 10:45:18ID:+mILf++1( ゚д゚)
0756名前は開発中のものです。
2006/11/23(木) 13:55:31ID:TkisxaMTrubyon
game
*start
紅葉山\
getlog $0,1:logsp 1,$0,60,90:print 1
消去\
csp 1:print 1
(紅葉山/もみじのやま)\
getlog $0,1:logsp 1,$0,60,90:print 1
消去\
csp 1:print 1
goto *start
ルビのログを表示させようとした所、
エラーが出て終了してしまいます。
使い方が悪いのでしょうか?
0757名前は開発中のものです。
2006/11/23(木) 17:24:29ID:pDSZEmXV確かこのスレでも3Dダンジョン作ってたような気がする。
0758名前は開発中のものです。
2006/11/23(木) 17:32:12ID:hWBe7GYc0759名前は開発中のものです。
2006/11/23(木) 17:47:44ID:Tq1lca9gまぁそれが面倒だったりするけど
0760名前は開発中のものです。
2006/11/23(木) 18:14:17ID:gbK7wHXD0761名前は開発中のものです。
2006/11/23(木) 18:40:09ID:tcBNhyYZつかスルーした方がいいのか?
0762名前は開発中のものです。
2006/11/23(木) 18:43:50ID:+mILf++10763名前は開発中のものです。
2006/11/23(木) 18:51:39ID:tcBNhyYZいや、別人かもしれないけどさ
0764名前は開発中のものです。
2006/11/23(木) 18:54:43ID:+mILf++1ちなみに>>756は、ルビ文字の前に改行しなさい。
0765名前は開発中のものです。
2006/11/23(木) 19:16:02ID:tcBNhyYZ質問に答えてもらったのに礼も言わずに連投したように見えたもんだから
0766名前は開発中のものです。
2006/11/23(木) 19:23:13ID:TkisxaMT>>764
csp 1:print 1
(紅葉山/もみじのやま)\
getlog $0,1:logsp 1,$0,60,90:print 1
ルビ文字の前後を改行したのですが、まだ落ちてしまいますorz
0767名前は開発中のものです。
2006/11/23(木) 19:37:24ID:QibBHxQp本当に別人なのか…早とちりして申し訳ない
logspで表示するスプライトの座標、テキストウィンドウの表示位置と合ってる?
スプライトが画面をハミ出してエラーになってるんじゃないかって気がするんだが・・・
それで駄目だったら、logsp使わずにstrsp(現在の推奨)かlogsp2にしてみたらどうだろう
0768名前は開発中のものです。
2006/11/23(木) 20:09:01ID:TkisxaMTいえいえ。
えっとスプライトは元々画面からハミだしていてもエラーにはならないのではないでしょうか?
といっても上で書いたスクリプトではルビなしの文字は普通に表示されてますので、それはないと思います。
で、strspとlogsp2を使ったのですが同じ結果に…エラーで落ちましたorz
0769名前は開発中のものです。
2006/11/23(木) 20:27:41ID:8R3nnNNJちゃんとY軸の字間をルビの大きさ分だけ空けてる?
それがきちんと指定してあれば落ちないと思うんだけど。
0770名前は開発中のものです。
2006/11/23(木) 20:36:57ID:TkisxaMT空けています。
というか>>756のスクリプトは他の方の場合落ちないのでしょうか?
0771名前は開発中のものです。
2006/11/23(木) 20:39:11ID:QibBHxQpただ、スプライトの文字サイズや間隔、座標を変えると普通に行くから、
やっぱりその辺じゃないかと思うんだが・・・
ちなみに、通常のテキスト表示の座標は(60,90)ではないぞ
0772名前は開発中のものです。
2006/11/23(木) 20:44:11ID:QibBHxQpこれでやってみたら上手く行った
多分>>769の言った通りのことだな
setwindowで最初から行間隔を空けておけば(デフォルトで文字サイズ高さの半分)
logspでも上手く行きそうな気がするけど
0773名前は開発中のものです。
2006/11/23(木) 21:13:41ID:TkisxaMT物の理解が悪くてお手間を取らせて済みません。
詳しく解説して下さり有難うございます。
本当に助かりました。
0774名前は開発中のものです。
2006/11/23(木) 23:46:08ID:0MSABiha0775名前は開発中のものです。
2006/11/24(金) 20:54:42ID:eD7g1OSn0776名前は開発中のものです。
2006/11/24(金) 20:59:44ID:TrI+O8fa気になるの分かるが我慢しとけw Nスクとは全く無関係のスレ違いだから。
でも物凄い片思いだよなあれ。構ってくれオーラ出し過ぎ。
0777名前は開発中のものです。
2006/11/24(金) 21:06:28ID:FioLl833つttp://members.jcom.home.ne.jp/w3c/
0778名前は開発中のものです。
2006/11/24(金) 21:07:51ID:1h0SZPsY0779名前は開発中のものです。
2006/11/24(金) 21:53:32ID:aW0T3qaC勝手にやってくれと言いつつガチで組み合ってるのがまったくイミフで
なんだかなあ
0780名前は開発中のものです。
2006/11/24(金) 22:17:23ID:kGz8FYbF0781名前は開発中のものです。
2006/11/25(土) 00:29:18ID:38Sfw1MI一旦ロードしてセーブし直すしか無いのかな
0782名前は開発中のものです。
2006/11/25(土) 10:40:50ID:bbX0ia+60783名前は開発中のものです。
2006/11/25(土) 13:24:21ID:+5uopM/Hごく普通に動いてるようにしか見えないんだが……。
みんなはどうさね?
0784名前は開発中のものです。
2006/11/25(土) 13:31:23ID:jw3GNH+Xif文の中なら別だろうけど、それだってやりようはいくらでもあるし
:の前に2バイト文字入れておかしくなったとか、そういう話なんじゃないの?
というか、そもそもjumbb/jumpfなんて
ラベル管理きっちりしてればそうそう使う命令でもないと思うんだが…
0785名前は開発中のものです。
2006/11/25(土) 13:55:26ID:xtJSADFV0786名前は開発中のものです。
2006/11/25(土) 14:18:02ID:XmU8+toW皆そういった経験を踏まえて製作している
0787名前は開発中のものです。
2006/11/25(土) 14:27:09ID:+5uopM/H0788名前は開発中のものです。
2006/11/25(土) 14:31:14ID:JhFwFuD00789名前は開発中のものです。
2006/11/25(土) 17:11:01ID:l6bXObw1「spstr "C○"」って、cspじゃなくて「vsp ○,0」と同じってことでいいんだよね?
spstrで消した画像をvspで表示したら表示できたし。
スプライト○〜△番をまとめてcspしたい場合の命令はあったかな?
0790名前は開発中のものです。
2006/11/25(土) 17:26:27ID:+5uopM/Hあと、cspもvspも全部for nextで書けば円満解決。
長くなるの嫌ならdefsubで作るべし。
0791名前は開発中のものです。
2006/11/25(土) 17:30:24ID:l6bXObw1そうか、for nextで数をずらしながら○〜△まで消していくのか。
for文ほとんど使ったことないorz 地道に組んでみます。
0792名前は開発中のものです。
2006/11/25(土) 17:49:35ID:jw3GNH+Xよく使う便利な命令はサブルーチン化して切り離しておくと楽だぞ
ちなみに、printと打つのが面倒でpに省略している俺は超面倒くさがり
0793名前は開発中のものです。
2006/11/25(土) 23:14:50ID:e6vfEiYa0794名前は開発中のものです。
2006/11/26(日) 06:49:02ID:ML/b57yC移動させる物を作ってみようと思ったのですが難しい…。
void Drawでfor文とRenderSpriteを使って回せばいいっぽいんですが、
BOOL TimerとBOOL Messageの意味がさっぱり。
どなたかサンプルもしくはご教授頂けないでしょうか?
0795名前は開発中のものです。
2006/11/26(日) 17:08:30ID:vqJLN4cH分からなければ、
BOOL Timer(void){return TRUE;}
Message()は省略でいいんじゃない?
一抹の不安を感じるのは、for文で回すという表現・・・
複数スプライトということだよね? ね?
あとはT2氏にでも聞いてくれぃ
0796名前は開発中のものです。
2006/11/29(水) 14:30:36ID:N0ZZX3Zqbtnwait命令の後も定義が消えずに残る。
btntime 10000
btnwait %0
もう一度。
btnwait %0
if %0 = -2 end
\
二度目のウェイトで10秒待つと、何故か-5が代入される。
0797名前は開発中のものです。
2006/11/29(水) 15:20:32ID:mxgigb7U一度目の btnwait %0 の次行に btndef clear を入れたらタイマーちゃんと消える。
クリック待ちの設定は一度使った後にちゃんと消す習慣付けた方がいいよ。
あと時間切れで-5ってことはusewheel使用なんだろ? その検証スクリプト不親切すぎ。
btnwaitとbtnwait2の違いはボタン定義をクリアするか否かの違いだけど、
ボタン定義ってのはspbtnやexbtnのところであって、他の設定はクリアされない。
まあ何だ。自分で検証すればすぐ洗い出せるってこった。
0798名前は開発中のものです。
2006/11/29(水) 17:09:25ID:N0ZZX3ZqAPIのbtntime説明に『この命令を使った直後の……』とあるので、タイマーは直後のbtnwaitにしか効かないのかと思ってました。
-5は……、修正するの忘れてました。
(一旦-5で検証し、途中でusewheel付け忘れていることに気付いてスクリプトのifを-2に変えたが、その後文章を書く際にいつもの癖で-5と書いてしまった)
ともあれ、thxです。
0799名前は開発中のものです。
2006/12/03(日) 17:33:17ID:9p424y0t「こんにちわv」
と同時にごく短い音
「ピピピピピ」(言葉と同じ数)
を入れて、ボイス風にしたいなあと思ってるんですが、
「こwave"pi.wav":んwave"pi.wav":にwave"pi.wav":ちwave"pi.wav":わvwave"pi.wav"」
とやるしか思いつかないんです;;;;;;
何か他に良い方法はないものでしょうか?
0800名前は開発中のものです。
2006/12/03(日) 18:02:39ID:fn8YKsNw; ------------
dwaveloop 2,"pi.wav"
「こんにちわv」
dwavestop 2
; ------------
とやるけど?
0801名前は開発中のものです。
2006/12/03(日) 18:21:32ID:y+daOw1x過去ログ読んでみれば、何か分かるかも
0802名前は開発中のものです。
2006/12/03(日) 18:27:12ID:9p424y0tdですvv
0803名前は開発中のものです。
2006/12/03(日) 20:03:08ID:SJJz0gGb文字数測ってその回数分鳴らせばいいだけだし。
0804799
2006/12/03(日) 21:54:24ID:9p424y0tそれが一番楽でかつ無駄がないかも。やってみる。
文字数数えて変数に代入して、for文で変数の数だけ繰り返し音を鳴らせばいいんだよね?
dです。
0805名前は開発中のものです。
2006/12/03(日) 22:59:42ID:2EIIicKTカーソルキーでキャラを上下左右に動かすスクリプトを組みたいのですが、
キーの押しっぱなしを拾う方法ってないでしょうか?
下記のように組んだら一歩一歩止まってしまいます・・・orz
;---
btndef clear
getcursor
btndown 1
*loop
btnwait %0
if %0==-40 gosub *ue ;上移動
if %0==-41 gosub *migi ;右移動
if %0==-42 gosub *sita ;下移動
if %0==-43 gosub *hidari ;左移動
goto *loop
0806名前は開発中のものです。
2006/12/04(月) 09:39:05ID:TEFzC6i00807名前は開発中のものです。
2006/12/04(月) 18:21:27ID:VZVcvksQそれマウスの左だけじゃなかったっけ?違ったらスマン
0808名前は開発中のものです。
2006/12/04(月) 18:37:53ID:sUYGUBr70809名前は開発中のものです。
2006/12/04(月) 21:42:00ID:lc791S0aisdownでも無理みたい・・・orz
0810名前は開発中のものです。
2006/12/04(月) 21:54:42ID:guiZFhtv0811名前は開発中のものです。
2006/12/04(月) 22:05:59ID:lc791S0aそれだ!
なんで気付かなかったんだ自分・・・orz
ありがとうございます!m(_ _)m
0812806
2006/12/04(月) 22:54:28ID:2OuCIxzJつか、押しっぱなし判定しなくても止まらず普通に動くと思うんだけどなぁ。
逆に何で止まるのか知りたくなってきたかも。
*define
game
*start
lsp 0,":s#ffffff文字列",200,200
btndef clear:getcursor
*loop
btnwait %0
if %0==-40 gosub *ue ;上移動
if %0==-41 gosub *migi ;右移動
if %0==-42 gosub *sita ;下移動
if %0==-43 gosub *hidari ;左移動
goto *loop
*ue
msp 0,0,-10,0:print 1:return
*migi
msp 0,10,0,0:print 1:return
*hidari
msp 0,-10,0,0:print 1:return
*sita
msp 0,0,10,0:print 1:return
0813805
2006/12/05(火) 00:22:57ID:TiowdF+Mどうもthxです。
各動作ルーチンの中で
; -------------
*sita
mov %3,0
mov %1,%51
for %51=%1 to %1+24 step 4
resettimer:waittimer 30
if %3==0 lsp 1,":l;data\chara\001_D_01.bmp",%50,%51:print 1:mov %3,1:goto *sita_next
if %3==1 lsp 1,":l;data\chara\001_D_03.bmp",%50,%51:print 1:mov %3,0:goto *sita_next
*sita_next
next
return
; -------------
って感じの動作処理を入れて動かしてるんですけど、
それだと綺麗な動作にならずに一歩一歩止まってしまうんですorz
試しに左クリックで飛ばしてみると止まらずにスムーズに動くので
たぶん、キーボードの押しっぱなし判定は拾えてない気がします。。。
0814805
2006/12/05(火) 00:25:40ID:TiowdF+M動くことは動きますけれど、途切れ途切れで綺麗に動かないという意味です。
分かりにくくてすいません。。。
0815名前は開発中のものです。
2006/12/06(水) 16:18:21ID:0C2kjNYy0816名前は開発中のものです。
2006/12/06(水) 17:16:06ID:CTG7k8IZ*start
|
├┐
1 2
├┘
|
*end
こんな感じで一本道から二本道にgosubでシナリオを分岐させていたんですが、
「2」のシナリオ中にカスタマイズメニューで作った*startに戻る処理(goto処理)を実行させると
gosubネストがスタックしてしまいますよね?
ぽまいらはどうやって上記のようなシナリオを上手く処理しているのか、是非教えて下さいm(_ _)m
分岐
質問です。
NScripterの*start
0817名前は開発中のものです。
2006/12/06(水) 17:16:52ID:CTG7k8IZ0818名前は開発中のものです。
2006/12/06(水) 17:53:41ID:QkW9qfn+中には怒るプラグインがあるかも
俺は動けば怒らんけど
動かなくても怒るほど感性豊かじゃないけどな
0819名前は開発中のものです。
2006/12/06(水) 18:32:32ID:GHYK1kcQスタックを削りつつgoto文と同じ感覚で飛ばせる
本当に*startに戻したいだけだったらresetすりゃいい気もするが
0820名前は開発中のものです。
2006/12/06(水) 18:39:52ID:NHJUEQZp大抵はgotoで処理できるんだけどな
というか、シナリオ分岐ならgosubじゃなくてgotoでいいじゃん・・・
resetでもいいけど、タイトルや戻り先にラベル指定してgotoで飛ばせばいいだけ
0821名前は開発中のものです。
2006/12/06(水) 19:40:02ID:8JPJe2atでも例えば、シナリオをシーンごとにわけておいて
主処理ではそれをgosubで拾っていくって形にしてるなら、
やっぱStartへ戻す処理をresetかdefineresetにするのが常道だろう。
(俺はこっちをやってる)
0822名前は開発中のものです。
2006/12/06(水) 19:52:01ID:CTG7k8IZ例では簡単に書きましたが、現在作っているものは既存のギャルゲーよりも
シナリオマトリクスがかなり複雑なものでgotoではやり辛かったんです。
(出来ることは出来ますが、フラグで飛び先を管理する事を考えるとgosubジャンプはかなり楽なので…)
という訳で>>821さん良い命令をありがとうございます。
0823名前は開発中のものです。
2006/12/09(土) 00:03:05ID:9SY8F3UT0824名前は開発中のものです。
2006/12/09(土) 00:19:44ID:wM5/090q0825名前は開発中のものです。
2006/12/09(土) 17:39:51ID:5PLhcp5U複数のbarをパラメーターを弄らず一時的に消したいのですが該当する命令ってあります?
使用箇所としては、RPGの戦闘画面でbarをライフポイントとして使用しているのですが、セーブ画面、ロード画面をlspで表示している時だけ非表示。
セーブ画面、ロード画面から戻った時。RPGの戦闘画面に戻ったら再表示という形です。
セーブ・ロード画面に行く時にbarclearかけて、戻る時に再度パラメーター指定してバー表示しなきゃ駄目かな?
0826名前は開発中のものです。
2006/12/09(土) 18:02:08ID:j7BiLCsa俺もそれやりたいんだけど、一旦クリアして戻ったら再描画するしか無いみたいだ。。。
せめてbarをスプライトよりも後ろに表示できれば
スプライトを上に乗せて隠すことも出来るんだけどなー・・・orz
0827名前は開発中のものです。
2006/12/09(土) 18:09:55ID:0CsgNBHw確かにNscで、一度メニュー画面にしてから復帰した時って
画面の復元とかって面倒だよね。
俺もそれと似たような悩みがあった。
結局俺は画面切り替える時に自動セーブして、
復帰する時にロードで復帰させるようにした。
けど、テキストもページ先頭に戻っちゃうので工夫が必要になる。
オススメできない。
0828名前は開発中のものです。
2006/12/09(土) 18:23:54ID:5PLhcp5Uまじですか。レスありがとう
完全に上くるから再表示させるっきゃないんだよね。
戦闘画面からセーブ画面、ロード画面、武器変更画面、etc...ってあるから手間かかるんだよねぇ
まぁ気合でどうにかしてみます。どもでした。
0829名前は開発中のものです。
2006/12/09(土) 18:33:04ID:0CsgNBHw「あ、ミスった。……ロードして一手前からやりなおしっと」
って事にならんか?
0830名前は開発中のものです。
2006/12/09(土) 18:37:17ID:TgPhyKPXヌル機能は装備しといて、使う使わないはユーザ任せでいい
「このゲームはやりなおしがめんどくせぇ」と思われるのが一番危険かと
0831名前は開発中のものです。
2006/12/09(土) 20:07:14ID:j7BiLCsaSLGなら分かるけどRPGで戦闘中セーブはかなり珍しいだろ
0832名前は開発中のものです。
2006/12/09(土) 20:27:55ID:FHCAxNIk0833名前は開発中のものです。
2006/12/09(土) 20:55:26ID:sz65gKpYそれ次第だな。
0834名前は開発中のものです。
2006/12/09(土) 21:29:36ID:BUp208IWつか、直前のレスくらい嫁w つ>>825
0835名前は開発中のものです。
2006/12/09(土) 21:53:08ID:sz65gKpY0836名前は開発中のものです。
2006/12/09(土) 23:35:55ID:5PLhcp5U折角の休みを戦闘コマンド(主にスキルとスキルに対する効果処理)を組み込む私って一体・・・
0837名前は開発中のものです。
2006/12/10(日) 01:55:20ID:6hpjCAtB確かにNスクは画像やテキストの扱いが簡単だけど
0838名前は開発中のものです。
2006/12/10(日) 11:45:09ID:qKJYWy1fNスクの利点を挙げてHSPを薦める理屈が分からん
0839名前は開発中のものです。
2006/12/10(日) 11:48:11ID:cRaBySnMS スパッツ
P プリンプリン
0840名前は開発中のものです。
2006/12/10(日) 12:01:19ID:EMhp2oxSしり?
プリンプリン
0841名前は開発中のものです。
2006/12/10(日) 12:53:44ID:Kl/z74Au画像やテキストの扱いがNscより難しいけど
あんたならやれるんじゃねーの?
って意味だろ。
0842名前は開発中のものです。
2006/12/10(日) 15:02:43ID:+eBvq6CT食堂でカツ丼を注文して既に食べている人間に対して、
「カツ丼よりも天丼のほうがいいぞ!美味しくないけど。
カツ丼を食えるあんたなら天丼でも食えるだろ!」
と薦めるようなものだな。
0843名前は開発中のものです。
2006/12/10(日) 15:04:12ID:9wf2M1DS0844名前は開発中のものです。
2006/12/10(日) 15:06:54ID:Kl/z74Au0845名前は開発中のものです。
2006/12/10(日) 16:38:10ID:Y4KJ3Nly0846名前は開発中のものです。
2006/12/10(日) 20:16:28ID:UaEKDl2c――と思ったけど、あんま変わってないな。
0847名前は開発中のものです。
2006/12/10(日) 21:11:44ID:9FtxcCGV0848名前は開発中のものです。
2006/12/10(日) 21:36:48ID:px7Y2MTk0849名前は開発中のものです。
2006/12/12(火) 18:33:17ID:/AKi6u9o今頃になって気が付いたよ。
でもマスククロスフェードが遅くなってるけど。
0850名前は開発中のものです。
2006/12/12(火) 19:43:39ID:FPJbbEYE構成的に見栄え落ちるけど。
0851名前は開発中のものです。
2006/12/13(水) 10:27:31ID:ry02KVprやっぱキリキリなのかな
■ このスレッドは過去ログ倉庫に格納されています