1 名前:名前は開発中のものです。 [2011/07/29(金) 13:42:31.89 ID:eqalPxic] 商業流通でなければフリーで利用可能な ゲームエンジンNScripterについて語るスレです。 ・本家 ttp://www.nscripter.com/ ・うpろだ ttp://nscuploader.pa.land.to/
375 名前:名前は開発中のものです。 mailto:sage [2011/12/07(水) 01:09:50.49 ID:nk3FgMQ4] 透明度0の場合は cspとかvspで最後処理してるから気付かんかったけど 2.93でも残ってるな
376 名前:名前は開発中のものです。 mailto:sage [2011/12/07(水) 04:43:36.47 ID:YHaNY0b7] 新バージョン、ウィンドウサイズの設定自由度が大幅にアップしてるね これが本来の意図通りの動作だったのかも
377 名前:名前は開発中のものです。 mailto:sage [2011/12/07(水) 08:52:49.68 ID:IL5G/2PQ] TIPSのブルーインパルスに入れてもスピード遅くなってないな。安心した
378 名前:名前は開発中のものです。 mailto:sage [2011/12/07(水) 22:09:07.13 ID:nk3FgMQ4] TIPSの報告で 1280x960pixと1280x720pixの表示確認。ワイド時フルスクリーン抑制らしいから うちの環境下でスケーリングの設定をアスペクト比固定なしで画像が伸びたりしないか 確認のために試したけどフルスクリーンに出来ないな ただ、geforce6800とかロートルだからかもしれんけど
379 名前:名前は開発中のものです。 mailto:sage [2011/12/08(木) 12:58:49.10 ID:9FwC+kkj] うちの環境だとなぜか起動してすぐ固まる 横1024と1280で4:3と16:9試してみたけどだめだった Win7のせいかな?
380 名前:名前は開発中のものです。 mailto:sage [2011/12/08(木) 15:14:52.54 ID:wSDHaOPo] >>379 最新バージョン使ってる? こないだまでだと同じ動作だったけど、 今回のは大丈夫だったぞ@64bit win7
381 名前:名前は開発中のものです。 mailto:sage [2011/12/09(金) 17:25:24.62 ID:cULTbQGu] >>380 さんくす 公式から最新の落としたら無事できました 間違えて古い方ので試してた・・・
382 名前:名前は開発中のものです。 mailto:sage [2011/12/09(金) 20:24:03.90 ID:l63F9P98] おk 安心したわ
383 名前:名前は開発中のものです。 mailto:sage [2011/12/10(土) 06:09:13.64 ID:EfF2gWDS] if %1 == 100 mod %1,20 if %1 == 100 mod %5,100 みたいに、if文の後ろに mod を入れると 条件成立の可否に関わらず、Nスクがエラーで落ちるけど これはバグ?それとも、そういう物?
384 名前:名前は開発中のものです。 mailto:sage [2011/12/10(土) 07:37:52.52 ID:YyLYvlMQ] >>383 それ、%1==100の成否で、modを実行してるつもりかも知れんけど、 modが演算子として解釈されてるんじゃないかな。 if %1==(100 mod %1) puttext ",20" こんな感じで実行しようとしてると思う。 で、%1が0だったりしたら、NScripterが死ぬとか。 昔のバージョンのNScripterが、ゼロ除算エラーでエラーも吐かずに落ちるのと同じような現象とか。 試してないからわからんけど。
385 名前:名前は開発中のものです。 mailto:sage [2011/12/10(土) 08:06:14.09 ID:EfF2gWDS] >>384 ああ、なるほど! わかりやすい説明ありがとうございました。 道理でね!なるほど!
386 名前:名前は開発中のものです。 mailto:sage [2011/12/10(土) 10:56:28.60 ID:jqbs6ORv] modは命令文より式としての扱いのが優先なんだな。俺も気をつけよ
387 名前:名前は開発中のものです。 mailto:sage [2011/12/10(土) 16:29:25.85 ID:YyLYvlMQ] >>384 自己レス あるスクリプトで見たんだけど、 if %1==100:mod %1,20 こんな風に、他の言語のthenと同じようなつもりで命令区切りの:を使っている例もあった。 これなら、最初に意図したとおりに動くかな? ま、一例として。
388 名前:名前は開発中のものです。 mailto:sage [2011/12/10(土) 22:09:19.01 ID:EfF2gWDS] >>387 試しに手元でテストしてみたら、: 区切りで問題なく動作しました 助かりました。ありがとうー この辺りの事、Tipsさんか、覚え書きさんに載せておいてー と無理矢理リクエストしておくよ!
389 名前:名前は開発中のものです。 mailto:sage [2011/12/11(日) 00:08:07.98 ID:KDeEX3jj] 解釈間違ってるかもしれんけど 変数書いてある下の方に一応メモっといたよ>by覚え書き
390 名前:名前は開発中のものです。 mailto:sage [2011/12/11(日) 03:05:13.69 ID:vPNFHhzi] 乙彼
391 名前:名前は開発中のものです。 mailto:sage [2011/12/11(日) 23:32:17.69 ID:/GWuTjW2] XP暫定版、ボタン待ちするとCPUが100%になる 2.95はそんなことないのに 環境:XPSP3 DirextX9.0c(いまさっき最新版なのを確認) 試したスクリプトはこれです *define game *start あいうえおかきくけこさしすせそ。 bexec %0 end
392 名前:名前は開発中のものです。 mailto:sage [2011/12/12(月) 02:18:05.43 ID:firhqnOX] >>391 うちじゃ、それなんないわ@win7 64bit OS依存かね
393 名前:名前は開発中のものです。 mailto:sage [2011/12/12(月) 04:05:28.34 ID:OFDcZryz] 俺も最新の暫定版だと100%になった 旧バージョンだと100%にならない OSはXPでシングルコア
394 名前:名前は開発中のものです。 mailto:sage [2011/12/12(月) 12:49:37.08 ID:firhqnOX] すまん。392だけどコア数2だったから言われてる通りだわ。 295に戻したら全然違った。ノートPCのバッテリー考えて一度295に戻すわ。
395 名前:名前は開発中のものです。 mailto:sage [2011/12/12(月) 20:46:20.70 ID:X9vqvTpj] 画面サイズに拘らない場合は旧版使ったほうがいいのかな(´・ω・`)
396 名前:名前は開発中のものです。 mailto:sage [2011/12/13(火) 01:02:06.05 ID:IzlzKUms] >>395 今のところ295(2000対応最終版)を使うのが1番良いと思う btnwaitでコア1つ100%使い切っちゃう件はムッシュ高橋に報告しておいた方が良い予感
397 名前:名前は開発中のものです。 mailto:sage [2011/12/14(水) 16:29:03.19 ID:k0eqjGXd]
398 名前:名前は開発中のものです。 mailto:sage [2011/12/15(木) 22:09:37.03 ID:1wiCqtVm] バグ治ったー(゚∀゚)
399 名前:名前は開発中のものです。 mailto:sage [2011/12/16(金) 18:14:55.55 ID:UIQrrAmR] 素人質問ですみません。 現在、制作中のゲームの機能で [フローチャート画像からボタンクリックでそのシーンに移動する] という機能を制作中なのですが、どう作っていいものかまったくわかりません。 イメージとしては、かまいたちの夜にあったような機能です。 どうかご教授いただきたいのですが……。 現状 縦長のフローチャート画像表示 OK 縦長のフローチャート画像を、マウスホイール上下でスクロールさせる OK ここまでは出来ているのですが、ここから先、lsp命令でボタンを表示したり、 フローチャート画像の上下スクロールに合わせて、ボタンが上下に連動して動くようにしたいのですが……。
400 名前:名前は開発中のものです。 mailto:sage [2011/12/16(金) 19:06:31.09 ID:3yP3sX4z] それは、単に画像のスクロールと同時にボタンも同じx,y量動かすだけだよ 本気のアドバイスだけど、399がシナリオライター兼スクリプターじゃないなら後々死ぬからやめとけ
401 名前:名前は開発中のものです。 mailto:sage [2011/12/16(金) 22:58:34.46 ID:QScEilv1] >>399 >[フローチャート画像からボタンクリックでそのシーンに移動する] そのシーンが終わった後、フローチャートに戻ってくるの? 飛ばすだけなら簡単だけど、戻ってくるのは意外と難しいんだぜ。 (最初から戻ってくる前提でスプライト番号なんかを管理しないとダメ) ボタンのスクロールは、>>400 の言ってる通り。 lspでボタン画像を読み込んで、spbtnとかでボタン化。 あとはホイールからの入力があるたびにボタン画像の位置を移動して再度spbtnでボタン化。 この繰り返し。
402 名前:名前は開発中のものです。 mailto:sage [2011/12/17(土) 10:51:38.52 ID:pIu+j/Ie] 更新来てたんだな 前回うちでダメだったフルスクリーンも出来るようになって良い感じ これで4:3液晶の場合フルスクリーンワイドサイズでのツールバーの位置が 黒帯びを越えて画面上部に表示されれば不満ないんだけど 今時4:3も無いし贅沢だな
403 名前:名前は開発中のものです。 mailto:sage [2011/12/18(日) 01:13:59.75 ID:QH47WfEb] 1コア占有のバグ、もう対応されたのか! さすがムッシュ高橋!
404 名前:名前は開発中のものです。 mailto:sage [2011/12/18(日) 01:18:17.38 ID:QH47WfEb] >>399 >>401 フローチャートに戻るだけなら、 フローチャート画面をセーブしといて ロードで戻ってくるという荒技もある
405 名前:名前は開発中のものです。 mailto:sage [2011/12/18(日) 02:08:01.07 ID:pNmEs5Ri] >>404 天才! と思ったけど、セーブデータが残るのはちょっとカコワルイ
406 名前:名前は開発中のものです。 mailto:sage [2011/12/18(日) 02:13:14.99 ID:88g7rnRp] それやってたゲーム知ってる。動けばいいんだから間違ってないよな
407 名前:名前は開発中のものです。 [2011/12/18(日) 23:21:15.24 ID:BSQ+YZEK] 普段はシステムファイルっぽくしておいて読み込む瞬間だけluaでリネームって手がある
408 名前:名前は開発中のものです。 mailto:sage [2011/12/20(火) 17:08:57.09 ID:1qtsK81v] 文字列の比較で困っていまして、どなたかお力添え願えないでしょうか。 NScripterに文字配列は無いみたいですが そこで例えば cmp %0,$1,$100〜$200 と比較して行きたいのですが、forで回す手段はありますでしょうか? 数が多いのでifで記述していくと見辛いなぁと思いまして。
409 名前:名前は開発中のものです。 mailto:sage [2011/12/20(火) 18:12:45.88 ID:6SPirSDQ] mov %1,100 $%1 で$100と同じ意味になるよ
410 名前:名前は開発中のものです。 mailto:sage [2011/12/20(火) 18:13:26.08 ID:6SPirSDQ] 高橋氏がツイッターでやってるSGEの仕様話が興味深い
411 名前:名前は開発中のものです。 mailto:sage [2011/12/20(火) 19:08:35.20 ID:1qtsK81v] >>409 助言頂いた物を使って無事回す事が出来ました。 同時に、他の無理矢理回していた所もスッキリ改善でき非常に助かりました。 本当に有難うございます。
412 名前:名前は開発中のものです。 mailto:sage [2011/12/21(水) 01:20:37.27 ID:svWZMgiY] Nスクは配列が使えない代わりに こういう変な変数の重ねがけで配列の代用は出来ますよ 詳しく解説してるサイトもあったと思うから読んでおくのおすすめです
413 名前:名前は開発中のものです。 mailto:sage [2011/12/21(水) 23:19:50.56 ID:ZzMTyHXY] 本当に高橋氏はバージョン管理システム使ってないんだな せめて開発版と安定版の2つだけでも システマチックに管理してほしいんだが
414 名前:名前は開発中のものです。 mailto:sage [2011/12/21(水) 23:26:17.34 ID:9kZAdAIk] Twitterのか? 10年前の思い出話だろ。
415 名前:名前は開発中のものです。 mailto:sage [2011/12/22(木) 00:31:50.24 ID:6Jy2FIPJ] そういうこと出来るなら とっくにマニュアル整備されてると思うw
416 名前:名前は開発中のものです。 mailto:sage [2011/12/22(木) 01:05:51.25 ID:vW72j6Du] 別に開発者が、どういう方法でバックアップをとってようが 外野が口出しする事じゃないと思うが? Nスクのマニュアル不備とは、全く関係ない話題だし どや顔でプロに環境指南したがる素人の気持ちは理解できんな
417 名前:名前は開発中のものです。 mailto:sage [2011/12/22(木) 01:57:15.66 ID:4T8fHS8O] んだな
418 名前:名前は開発中のものです。 mailto:sage [2011/12/22(木) 04:22:12.82 ID:ht5OP0zp] Nスクは$%と%%のおかげでかなり救われてる部分があるね。あとLua
419 名前:名前は開発中のものです。 mailto:sage [2011/12/22(木) 05:07:29.32 ID:dFOLySve] >>416 バックアップじゃなくてバージョン管理の話でしょ
420 名前:名前は開発中のものです。 mailto:sage [2011/12/22(木) 08:17:09.04 ID:6Jy2FIPJ] >>416 ドヤ顔でバッサリ切る素人の気持ちも理解できないな
421 名前:名前は開発中のものです。 mailto:sage [2011/12/22(木) 10:11:34.37 ID:qqSnTMuQ] 大きな功績を残した人間のアラを探して「ここに関しては俺の方が立派だな」と 悦に浸る小物の気持ちはとてもよく理解できる。
422 名前:名前は開発中のものです。 mailto:sage [2011/12/22(木) 10:31:54.45 ID:kJuu0qI2] マターリしようよ(古
423 名前:名前は開発中のものです。 mailto:sage [2011/12/22(木) 16:07:48.27 ID:g2kSIKVt] 袋文字来ないかなあ
424 名前:名前は開発中のものです。 mailto:sage [2011/12/22(木) 18:13:10.38 ID:Cukr/bXa] そういう事に口出ししたがる奴ほど本人はノースキルで顔だけ開発者気取りしたがるもんだ
425 名前:名前は開発中のものです。 mailto:sage [2011/12/23(金) 06:45:21.78 ID:L3SrcYYf] せやな
426 名前:名前は開発中のものです。 mailto:sage [2011/12/23(金) 07:52:37.56 ID:eKrZqEve] NスクはVistaや7のUACで止まったはりしない?
427 名前:名前は開発中のものです。 mailto:sage [2011/12/23(金) 13:07:45.03 ID:L3SrcYYf] しないな俺んとこは
428 名前:名前は開発中のものです。 mailto:sage [2011/12/24(土) 06:56:57.61 ID:k5+9vckt] Luaに取りかかってるが全く分からん システムカスタマイズは、一通りマスターしてるレベルだけど Luaは、やろうとしても、最初の取っ掛かりから分からん Nスクを初めて触った時は、 最初に、0.txt を作って、ってレベルで解説があって、 そのレベルから始めてシスカマまで出来るようになったけど、 Lua は、フォルダの中に、最初にどんなファイルを置いて、 中に何を書けばいいのかも分からんとか、 そういうレベルで教えてくれるサイトが皆無で辛い。 Nスクは、最初に、このファイルをつくって、 次に、*define を置いて、game を書けば、 とりあえず、こう動く、動いたのを見て、後は身体で覚えろ って感じで、一通り動かしていくうちに、いろんな記述の意味を把握していった という感じで学習したけど、 Luaだと、そういうゼロから、動かしていく、基礎のキみたいな部分が分からなくて、 学習のとっかかりがつかめん。 どの講座も、いきなりLuaのサンプルが置いてあって、 え?このサンプル、スクリプトのどのファイルに記述すればいいんだ…… という状態。
429 名前:名前は開発中のものです。 mailto:sage [2011/12/24(土) 07:34:57.99 ID:k5+9vckt] Nスクの講座サイトで、よく「ラベル*defineは存在しません」を出して馬鹿にされてる事があるけど、 Luaに苦戦してる今の俺が、正にその状態なんだろうな
430 名前:名前は開発中のものです。 mailto:sage [2011/12/24(土) 09:36:08.08 ID:o+W5ba/7] >そういうレベルで教えてくれるサイトが皆無で辛い そこで躓いてるレベルだとまだ覚えるの難しいと思うが まず、講座じゃなくてNスク付属のサンプル動かせれば 何がどう必要か分かるんじゃないだろうか ちなみにサンプルはXP暫定版には付いてないよ
431 名前:名前は開発中のものです。 mailto:sage [2011/12/24(土) 11:49:56.93 ID:pvZTNxt8] サンプルわかるようになったら >>1 のろださんの非公式マニュアルもオススメ シスカマからluaはここでお世話になったYO!
432 名前:名前は開発中のものです。 mailto:sage [2011/12/24(土) 13:37:21.79 ID:D30lsGcF] >>428 defsubの拡張版だと思うといいよ function〜endっていうのがひとつのかたまり *label〜returnみたいなもん たとえばcspの連番処理 これをdefsubでかくとこうなり、 *cspr getparam %101,%102 for %100=%101 to %102: csp %100: next return luasubでかくとこうなる。 function NSCOM_cspr() local n,n2; n = NSPopInt(); NSPopComma(); n2 = NSPopInt(); for i=n,n2 do NSExec('csp '..i); end end で、luasubは可変引数が使えるから、従来のcsp+連番機能なんていう命令が作れたりする function NSCOM_csp() local n,n2; n = NSPopInt(); if (NSCheckComma()) then NSPopComma(); n2 = NSPopInt(); else n2 = n; end for i=n,n2 do NSExec('csp '..i); end end csp 1 ;ふつうのcsp csp 1,10 ;1から10番までを消す
433 名前:名前は開発中のものです。 mailto:sage [2011/12/24(土) 13:37:56.47 ID:D30lsGcF] 長々とやったけど、まあ単純にNスクでこう書くものは、luaではこう書けるなって遊びながら覚えてくのがいいと思う ローカル変数だのブロックがどうのとかはあとからでいい あと雰囲気としてはjavascriptがかなり近いと思う こっちのほうが解説してるサイト多いので、のぞいてみてもいいかもね 要するに>>428 は雛形みたいなのがないからわけわかんねって言ってるんだと思うけど luaはたぶんそういう感じで使ったりするものじゃない気がするよ
434 名前:名前は開発中のものです。 mailto:sage [2011/12/24(土) 13:58:07.72 ID:oOmXgU53] まさにその状態……てことは つまりマニュアル読んでないのか
435 名前:名前は開発中のものです。 mailto:sage [2011/12/24(土) 18:06:20.56 ID:SMeLLO6e] NSLuaなら公式のマニュアルと、 TIPSと永字八法とNScripter Scripting Factoryのブログ記事で充分じゃね? あとは普通のLua系記事をググって探せばOK。
436 名前:名前は開発中のものです。 mailto:sage [2011/12/25(日) 03:08:22.62 ID:coIpYXkJ] スクリプトも動かせるようになって、luasubとかluacallとかの概念は理解出来てきた、と思う。 とりあえず、分からないなりに進めてるけど、最初の例題 ******************************************************************************** -- 例題 -- 以下でOKが表示されるよう、関数funcを定義してみること。 str, num = func("", 1) if str == "関数" and num == 3 then NSOkBox("OK!", "") end str, num = func("変数と", 123) if str == "変数と関数" and num == 369 then NSOkBox("OK!", "") end ******************************************************************************** これが、超難問 おそらく、func という関数を自作して、引数として "" と 1 を受け取り、 それをfunc内で処理して、結果を戻り値として、変数str, numに代入する、 という、引数・戻り値・代入の3つの作業を同時に行わなくてはならない、 超エキスパート向けの難問なのだろうと、理解してとりかかる。 考えた回答を書いてみる ******************************************************************************** str, num = func("", 1) if str == "関数" and num == 3 then NSOkBox("OK!", "") end str, num = func("変数と", 123) if str == "変数と関数" and num == 369 then NSOkBox("OK!", "") end function func(str_tmp,num_tmp) --""と1 をfuncに受け取る方法が分からない if str_tmp == nil then return str_tmp = "関数",num_tmp + 2 end if str_tmp == "変数と" then return str_tmp = "変数と関数",num_tmp + 246 end end ******************************************************************************** 動かしてみるとエラーメッセージ --------------------------- [string "str, num = func("", 1)..."]:1: attempt to call global 'func' (a nil value) --------------------------- ってなんだorz 多分、文法が間違ってるんだろうけどわからんorz
437 名前:名前は開発中のものです。 mailto:sage [2011/12/25(日) 08:50:59.36 ID:6cu7T9Y+] >>436 二つミスがある。 一つはfuncそのもの。 このfuncは、引数として与えられた文字列と数値を加工して返すものだと想像できる。 a.文字列については、"関数"と言う文字列を末尾に加えて返し、 b.数値については3倍して返す そういう動作をするものだと考えられる。 function func(str, num) return str.."関数", num*3 end これが一番簡単な実装。欲を言えば引数チェックも欲しい。 function func(str, num) if type(str)~="string" then NSOkBox("第一引数には文字列を指定してください。", "func"); NSEnd() end if type(num)~="number" then NSOkBox("第二引数には数値を指定してください。", "func"); NSEnd() end return str.."関数", num*3 end 二つ目のミスは、記述の順番。 Luaに限った話ではないが、プログラムは上から下に向かって実行される。 >>436 では、下の方でfuncを定義しているので、上の方ではまだfuncが未定義である。 なのにfuncを実行しようとしているので、「funcはnil(未定義)なのに、関数として実行しようとした」と言うエラーメッセージが出る。 順番を入れ替えるとこれは解消される。 NScripterでは、実行の前にラベルを解析してしまうので、これでも動くのだが、Luaではそうはいかない。
438 名前:名前は開発中のものです。 mailto:sage [2011/12/25(日) 09:36:34.45 ID:6cu7T9Y+] >>436 しかしまあ、どこの例題か知らんけど、例題のための例題って感じがして、糧になりにくいと思わせるなあ。 前提として、以下のURLの記述を仕様とせよ。 wikiwiki.jp/imagine/?%B0%AD%CB%E2%B9%E7%C2%CE%2F2%BF%C8%B9%E7%C2%CE 一体の悪魔は、一つのテーブルで表現されるとする。 例)妖精ピクシーの場合 pixie = {} pixie.level = 4 -- レベルは4 pixie.race = "ピクシー" -- 種族はピクシー pixie.category = "妖精" -- 分類は妖精 悪魔表は一つのテーブルで表現されるとする。 例) daemons = {} daemons[1] = pixie daemons[2] = garm 以下、たくさん。 参考)kimamaneko.fc2web.com/megami/devil/devil-kyu2.htm 例題1)引数に悪魔を一体受け、その合体コストを返す関数how_much_for_uniteを作成せよ。 例題2)引数に悪魔を二体受け、それらが合体した場合の新しい分類名を返す関数new_categoryを作成せよ。 ※合体できない組みわせの場合は、nilを返すものとする。 例題3)引数に悪魔を二体受け、それらが合体した場合の新しいレベルを返す関数new_levelを作成せよ。 ※合体できない組み合わせの場合は、nilを返すものとする。 例題4)引数にレベルと分類を受け取り、それに最も近い悪魔を返す関数select_daemonを作成せよ。 ※レベルと分類が完全に一致する悪魔を返すのがよいが、それがなければ、レベルを一つ落として再検索せよ。これを見つかるまで繰り返す。 ※レベルが0が検索されるようであれば、nilを返せ。
439 名前:名前は開発中のものです。 mailto:sage [2011/12/25(日) 09:40:50.39 ID:mQBMbhjV] >>438 それはそれで抽象的すぎてだめじゃね? 合体コストって概念何よ?って話にもなるし。答え幅広すぎ。 なら単体テストみたいなさっきの例のが確実だと思うけどなあ。
440 名前:438 mailto:sage [2011/12/25(日) 09:44:00.24 ID:6cu7T9Y+] 例題5)悪魔合体の成功率を返す関数success_rate_for_uniteを作成せよ。 ※仕様は適当。自分がルールデザイナーになった気分で考えること。 ※なお、悪魔とプレイヤーとの親密度が高いほど、成功率も高くなるものとする。 こういうゲームのルールを自分で設定して、そのルールを実装するのが、一番訓練になると思う。 その時に心掛けるのは、最初から全部作ろうとしないで、バラバラの部品にしてしまうこと。 難度100の問題を1個解くよりも、難度1の問題を100個解く方が簡単で早いからね。 例題6)例題1〜5までの成果物を組み合わせて、悪魔合体の関数daemon_uniteが作れ。 ※実際にはまだ足りないものがあるはずなので、足りない部分を指摘せよ。 ※足りない部分は作成せよ。
441 名前:438 mailto:sage [2011/12/25(日) 09:51:11.63 ID:6cu7T9Y+] >>439 うん、抽象的すぎると思う。俺も思う。 言われたこと、仕様書をただ実装するだけのコーダーならその反論もありだと思う。 けど、このスレにいるのはプログラマーだけじゃないだろうし、 少人数での同人ゲーム開発なんかの場合、ルールデザイナーとプログラマーが兼任することも多いんじゃないか。 なので、ルールデザイナーとしての練習もやって損はないと思う。 ちなみに例題のように分割してやると、後でルールが変わった時にも変更箇所が少なくなって楽になる。
442 名前:438 mailto:sage [2011/12/25(日) 10:07:01.45 ID:6cu7T9Y+] 例題1)の回答例 悪魔合体のコストは、悪魔のレベルの二乗の半分切り捨て。 function how_much_for_unite(daemon) local level = daemon.level return math.floor(level * level / 2) end
443 名前:438 mailto:sage [2011/12/25(日) 10:14:30.54 ID:6cu7T9Y+] 例題2)の回答例 予め、可能な組み合わせ表を作っておく。 local unite_matrix = {} unite_matrix["鬼神+女神"] = "地母" -- こういうのがずらっと続く function new_category(daemon1, daemon2) local key = daemon1.category.."+"..daemon2.category return unite_matrix[key] end
444 名前:438 mailto:sage [2011/12/25(日) 10:18:39.99 ID:6cu7T9Y+] 例題3)の回答例 合体後の悪魔のレベルの最低値は、合体前悪魔のレベルの平均(切り捨て)+1 function new_level(daemon1, daemon2) return math.floor((daemon1.level + daemon2.level)/2)+1 end
445 名前:438 mailto:sage [2011/12/25(日) 10:26:24.71 ID:6cu7T9Y+] 例題4)の回答例 お詫び。ルールの読解に間違いがあった模様。合体後のレベルは、例題3の関数で計算した後、そのレベルより上でもっとも近いものだった。 よって、例題4は変更する。 例題4)引数にレベルと分類を受け取り、それに最も近い悪魔を返す関数select_daemonを作成せよ。 ※レベルと分類が完全に一致する悪魔を返すのがよいが、それがなければ、レベルを一つ増やして再検索せよ。これを見つかるまで繰り返す。 ※レベルが100以上で検索されるようであれば、nilを返せ。 悪魔表を使う。 function select_daemon(category, level) if level>99 then return nil end -- デフォルトでレベルが100以上の悪魔は存在しないので、自動的に失敗。 for i, daemon in ipairs(daemons) do -- daemonsは悪魔表テーブル if daemon.category==category and daemon.level == level then -- カテゴリーとレベルが一致したならば、 return daemon -- その悪魔を返す。 end end return select_daemon(category, level+1) -- 一致する悪魔がいなければ、レベルを一つ増やして再検索。 end
446 名前:名前は開発中のものです。 mailto:sage [2011/12/25(日) 12:02:48.17 ID:mQBMbhjV] >>441 うーん。考え方の相違だな。 Lua手を出している時点で、シスカマ範囲ではできないやりたいことを実装する目的があるはずだから、 考えるクセをつけよう!練習だ。というより、いきなりガチでLua実装入った方が早いと思う。 他人の出す目的より、自分の目的のがモチベが高いわけで。 ただ、ルールデザイン練習はやっといた方がいいのは同意。 だけど、シスカマ時点でクセついてる筈ってのが俺の持論。これは互いに持論の違いだな。
447 名前:名前は開発中のものです。 mailto:sage [2011/12/25(日) 15:44:14.14 ID:CITFEZji] >シスカマ時点でクセついてる筈 これは俺も同意だな 出来てないのにLuaやろうって無茶にも程があると思う
448 名前:名前は開発中のものです。 mailto:sage [2011/12/25(日) 20:37:17.55 ID:CO8tyEqs] シスカマ覚えられるんならLuaだって大丈夫じゃないの 俺はLua覚えたけど未だにシスカマする気にならんぞ
449 名前:名前は開発中のものです。 mailto:sage [2011/12/28(水) 14:59:14.62 ID:67PNxtfr] 立ち絵の着せ替え(オプションで設定した通りに全立ち絵が変わる)ってどうやるんですか?初心者レベルじゃ無理でしょうか
450 名前:名前は開発中のものです。 mailto:sage [2011/12/28(水) 15:09:37.42 ID:FVTT5C1u] 余裕で出来るけど、説明がやたらめんどくさいから自分で考えろw とりあえず、今出てる立ち絵データは配列にとっとけ。 オプション画面出るときにそっから判断して画面変わる前に差し替えろ。
451 名前:名前は開発中のものです。 mailto:sage [2011/12/28(水) 18:37:44.72 ID:auOwyvQc] 懐かしいな。ひぐらしのなく頃にのスクリプトが、 それやろうとしてたんだよな。 魅音がずっとスク水で過ごすモード。 切り替える部分作ってなかだったんだよね。
452 名前:名前は開発中のものです。 mailto:sage [2011/12/28(水) 20:04:43.99 ID:wkb7Gx1k] >解像度を変えないフルスクリーン化に対応 これで横にビヨーンと伸びなくなるのかな?
453 名前:名前は開発中のものです。 mailto:sage [2011/12/28(水) 20:20:53.69 ID:zY7ar4DP] 知らんが、何処からの引用だ
454 名前:名前は開発中のものです。 mailto:sage [2011/12/28(水) 20:48:27.10 ID:wkb7Gx1k] >>453 高橋氏のツイッターだよ
455 名前:名前は開発中のものです。 mailto:sage [2011/12/28(水) 22:04:44.22 ID:zY7ar4DP] そうなのか ちなみに最新のは画像伸びないの知ってるよな?
456 名前:名前は開発中のものです。 mailto:sage [2011/12/28(水) 22:22:37.29 ID:wkb7Gx1k] そうなんだ!教えてくれてありがとう
457 名前:名前は開発中のものです。 mailto:sage [2011/12/29(木) 00:11:43.79 ID:jRKB4rGM] >>455 ver2.95だとどうなん?
458 名前:名前は開発中のものです。 mailto:sage [2011/12/29(木) 01:03:08.66 ID:SNxc9XSS] >>457 グラボのドライバ設定でどうにでもなると思うよ?
459 名前:名前は開発中のものです。 mailto:sage [2011/12/31(土) 00:50:16.65 ID:YeI6Bhyl] バックログでのボイス再生機能作ってるけど難しい。
460 名前:名前は開発中のものです。 mailto:sage [2011/12/31(土) 01:32:04.11 ID:yk889r9A] 凝ったことしないなら簡単だぞ。素直に文字変数ログ分用意しる
461 名前:名前は開発中のものです。 mailto:sage [2011/12/31(土) 01:36:55.71 ID:5la37KAr] $に文字代入してのエンディングリスト作ったんだけど 表示されるのにすごいもっさーとしてしまう どうすれば軽く表示できるかな?
462 名前:名前は開発中のものです。 mailto:sage [2011/12/31(土) 03:22:37.60 ID:YeI6Bhyl] バックログでのボイス再生機能の何が難しいって、 テキスト表示単位をページごとにするとタグの読込や改行の動作がおかしくなることなんです。
463 名前:名前は開発中のものです。 mailto:sage [2011/12/31(土) 03:34:38.22 ID:YeI6Bhyl] menu_click_pageを使うと改行時にタグを上書きしてしまうようなので、 自作フラグで表示単位が1ページごとの場合はクリック待ち部分を回避する仕組みにしたのですが、 そうすると今度は@のあとに改行があっても無視して次の文章が表示されるようになってしまいました。
464 名前:名前は開発中のものです。 mailto:sage [2011/12/31(土) 04:16:07.93 ID:4URI+33P] >>461 質問の意味がちょい分からんのでやや詳しく
465 名前:名前は開発中のものです。 mailto:sage [2011/12/31(土) 16:16:44.79 ID:5la37KAr] >>464 エンディングを見るたび表示が変わるエンディングリストを作りたい 最初に$200から$210まで"まだ見ていません"を代入 エンディングごとに$200(〜210) "○○ルートクリア"と代入されるようにして $200から$210を一括表示すれば、見たエンディングは"○○ルートクリア" 見てないのは"まだ見ていません"と表示される ↑この方法でやってみたけど、パッと表示されず、すごく遅い もっと軽く出来る方法ってあるの? 初歩的な質問で申し訳ない
466 名前:名前は開発中のものです。 mailto:sage [2011/12/31(土) 19:03:06.91 ID:7XtNfDfo] 200から210って事はたかだが11個? Nscが遅いといってもそこまでかかるもんかな? 何か他に余計な事やってたりしない?
467 名前:名前は開発中のものです。 mailto:sage [2011/12/31(土) 19:15:46.36 ID:YeI6Bhyl] 自己解決しました。 menu_click_pageを使うとバグる。 そこで自作する。 まず、pretextgosubラベルへ飛ぶ。 そこで、改ページ待ちではなくクリック待ちの時に、 タグの読込を行わずにreturn。 これで改行時にタグが上書きされることを防ぐ。 さらに、textgosubラベルで、 自作の文章表示単位変数で1ページごとの表示かをチェックし、 改ページ待ちではなクリック待ちの時に、 texecの後にreturnでボタンウエイトをすっ飛ばす。 という方法でした。 ポイントはtexecを挟むこと。これ重要。 これでmenu_click_pageで生じるバグを回避しつつ、 その挙動を再現できる。
468 名前:名前は開発中のものです。 mailto:sage [2011/12/31(土) 19:28:24.50 ID:YeI6Bhyl] と思ったら駄目だあああああああああああ 今度は普通のモードでタグの上書きが発生する。 どうやらnscの仕様では、 改行時はクリック待ちと同じフラグが立っているらしい。
469 名前:名前は開発中のものです。 mailto:sage [2011/12/31(土) 21:09:11.35 ID:YeI6Bhyl] と思ったら治った。バグが治った原因がわからないのが怖い・・。
470 名前:名前は開発中のものです。 mailto:sage [2011/12/31(土) 22:02:40.41 ID:yk889r9A] よし、ここはお前の日記帳だ
471 名前:名前は開発中のものです。 mailto:sage [2011/12/31(土) 22:09:23.47 ID:YeI6Bhyl] だって誰も反応してくれないんだもん。 苦労したけど自力で完成させたよ。 バックログボイスと1ページごとの表示の両立は、 やってるサークルも少ないと思われる。
472 名前:名前は開発中のものです。 mailto:sage [2011/12/31(土) 22:19:22.65 ID:scp7LHB9] 片っ端からLuaの配列にでも放り込んで、改行ごとに適当な印付けりゃいいんじゃないの
473 名前:名前は開発中のものです。 mailto:sage [2011/12/31(土) 22:35:45.59 ID:5QKdvwFd] そりゃスルーされるさ 一喜一憂して楽しむのは良いけど 目新しい試みでもないし どんだけ苦労しようと無関係だからな
474 名前:名前は開発中のものです。 mailto:sage [2011/12/31(土) 23:17:36.13 ID:yk889r9A] >>471 少なくねえよゴロゴロしてんじゃんw 分かんないならここで愚痴っぽく遊んでないで コード切り出してうpろだに上げて質問するとか真面目に助け求めれよw
475 名前:名前は開発中のものです。 mailto:sage [2012/01/02(月) 06:18:59.66 ID:kfpmSDFL] Lua連携のおかげで複雑な処理も大半は機械的に解決できるようになったからな。 いや喜ばしいことなんだが