トップページgamedev
439コメント144KB

◆◆SRCについて語ろう◆◆(゚Д゚)

■ このスレッドは過去ログ倉庫に格納されています
0001ななしの01/11/07 03:09ID:???
http://www.src.jpn.org/

さぁ、語ってくれ。
0255名前は開発中のものです。2008/02/20(水) 22:44:47ID:G46JN4R/
>>254
ほお、こんなのあるんだ。凄いな。
でも目が悪くなりそうだw
0256名前は開発中のものです。2008/02/24(日) 21:59:07ID:XS9B2ebT
SP回復精神って複数乗りパイロットに使ったら効果値が半分になるんだな
知らなかった
0257名前は開発中のものです。2008/02/24(日) 22:34:16ID:kr7lcR75
半分じゃないし、ヘルプに書いてあるがな。

>ユニットに複数のパイロットが乗っている場合、全員のSPが回復しますが個々の回復量は以下のように減少します。
>個々の回復量 = 元の回復量/5 + 元の回復量/パイロット総数。
0258名前は開発中のものです。2008/02/25(月) 10:42:22ID:nB+tdgzF
ありゃ、そうなのか。よく見てなかった。
SP20回復の精神を三人乗りに使ったら、ちょうど10ずつ回復したから早とちりしてしまった。
本家スパロボでも一括して同じ値で回復してたくらいなのに、ずいぶんややこしい計算式が入っているんだな。
0259名前は開発中のものです。2008/02/25(月) 20:53:41ID:HsAh2ESl
SRCで全員同じ量回復させたら、ゲームバランス崩れやすくなるからだろうな
0260名前は開発中のものです。2008/02/25(月) 21:46:49ID:nB+tdgzF
>>259
スパロボでもαの期待やインパクトの献身など十分ヤバかったからね。
多人数乗りにかけるのが前提みたいな精神になっていたし。
SRCのローカル設定を抜きに考えても、バランスを考えれば適当な処置だと思う。
0261名前は開発中のものです。2008/03/03(月) 12:59:33ID:pkc6/eUR
召喚Lv3のアビリティを敵に使わせたら、召喚ユニットは三体出てきたんだが、行動したのは一体だけ。
ABCといて、Bに攻撃してもAにエフェクトが発生、そしてHPなどの数値は三体とも同じになる。
Aが破壊された後BとCはその場に残ったがユニット情報などは表示されず、倒したAに対して何故かターゲット指定ができてしまう。
攻撃したらエラーで強制終了。

召喚したユニットに追加パイロット及び召喚ユニットの特殊能力がついているのは確認済み。
まさかこういう仕様だということもないだろうから、どこかがおかしいんだろうと思うんだけど分からない…
0262名前は開発中のものです。2008/03/03(月) 13:22:24ID:3PLOFvdu
召喚とか追加パイロットとかはよくバグが出る機能だから油断できない。

現象を聞く限りだと、被召喚ユニット全部に同じユニットIDが割り振られちゃってるのかもなー。
もしもそうならバグの可能性大
0263名前は開発中のものです。2008/03/03(月) 21:01:16ID:pkc6/eUR
自己解決しました。追加パイロットに(ザコ)指定がついていなかった。
凡ミスだ…
0264名前は開発中のものです。2008/03/08(土) 17:29:01ID:dYO0s+Cz
Gotoコマンドの記述に式(変数読み込み)は使えないのかな?

Set ラベル用変数 目標ラベル

目標ラベル:
〜〜〜
Exit

〜〜〜
Goto ラベル用変数

のような要領で書いたが、「ラベル『ラベル用変数』が見つかりません」的なメッセージが出てしまう。
複数のイベントファイルを用意して、プレイヤーに選択させ、Requireコマンドで読み込み、
イベントファイル内のラベルに飛んで実行、という流れを想定している。
選択肢が多くなりそうなので、できれば並列処理ではなく、変数で処理したいのだが…。
0265名前は開発中のものです。2008/03/08(土) 18:48:25ID:GDuwBvkn
Goto Eval(ラベル用変数)
で行けないか?
0266名前は開発中のものです。2008/03/08(土) 20:15:06ID:dYO0s+Cz
>>265
それも試していたんだが、Requireコマンドの実行時にエラーが出てしまうようなので、
これはダメだと思い他のやり方を試していたんだが、原因は分からないがRequireコマンドのエラーが
頻発するようになってしまった。
イベント内容自体を変えていないのに、実行される時とエラーで終了してしまう時の二通りの反応が出てしまう。
というか、エラーの方が多い。
ちなみにエラーメッセージは「\srcall\シナリオ名\が開けません」という感じ。
02672642008/03/08(土) 20:40:40ID:dYO0s+Cz
解決しました。
システム変数「選択」の値が、「Wait Click」コマンドを挟んで消去されたりされなかったりしていたらしい。
その一つ上のコマンドまでは毎回正常に参照できていたのに、Talkコマンドを使って調べたら、
そんな状態になっていた。
コマンドの並びを変えてやったら正常に読み込めるようになった。
で、本件の

>Goto Eval(ラベル用変数)
>で行けないか?

このやり方でうまくいけました。即レス感謝です。
何気このスレはすごく頼りになるなあ。
0268名前は開発中のものです。2008/03/08(土) 22:09:29ID:GDuwBvkn
スレを問わず、技術的なマジっぽい質問を見かけたらとりあえずマジレスして回ってるだけだぜ。
もちろん自分が分かるものならだが

0269名前は開発中のものです。2008/03/10(月) 19:35:09ID:4zoYX/hc
攻撃力0の転属性攻撃を敵が使ってくれないんだが、何かいい方法はないかな。
イメージはドラクエのバシルーラ。

・攻撃力を1にする。・・・どうしても無理な場合の妥協策。
・脱orD属性L0を付加。・・・アニメーションは消せるが、「気力を下げた(吸収した)」
 とのメッセージが出てしまうのが難。
0270名前は開発中のものです。2008/03/10(月) 22:59:08ID:NUH54dWI
ふーむ、相手に特殊効果無効化=脱D持たせちゃうと、
わざわざ脱Dを武器につけている意味がないっぽいんだな。
(脱Dが付いてないものとしてCPUが行動するから)


すごく強引な愚案は思いついた。

ユニットに
攻撃属性=非表示 DL0 バシルーラ (!攻撃中ダミー)
(武器にDL0は付けない。L0である必要はない)

データのinclude.eveに
*使用 全 バシルーラ:
SetSkill 対象パイロット 攻撃中ダミー -1
exit
*使用後 全 バシルーラ:
*破壊 全:
ClearSkill 対象パイロット 攻撃中ダミー
exit


動作は試してない。
0271名前は開発中のものです。2008/03/11(火) 07:05:33ID:j1ubW7kj
>>270
おもしろいw
後で試してみるよ。
0272名前は開発中のものです。2008/03/11(火) 20:14:52ID:VBlxwbo9
>>270
基本アイディアはこのままに、少々アレンジを加えて、無事望んでいた動作になったよ。
そのままだと援護攻撃時なんかに問題が起こるので、メッセージデータに直接組み込んだ。

参考までに。

攻撃属性=非表示 脱L1 バシルーラ (!バシルーラ制御)

バシルーラ, $(Call(バシルーラ処理))
バシルーラ(クリティカル), $(Call(バシルーラ処理))
バシルーラ(ダメージ), $(Call(バシルーラ処理))
バシルーラ(回避), $(Call(バシルーラ処理))

バシルーラ処理:
If Not Skill(対象パイロット, バシルーラ制御) Then
 SetSkill 対象パイロット バシルーラ制御 -1
Else
 ClearSkill 対象パイロット バシルーラ制御
Endif
Return

ちなみにバシルーラ(命中)でClearSkillすると、その後にクリティカル判定が来るのでダメだった。
何はともあれアイディアに感謝です。
0273名前は開発中のものです。2008/03/11(火) 21:22:16ID:IvbkVCZP
メッセに仕込む場合は、
沈黙状態みたいにメッセが強制的に変わる場合には対応できないって欠点があるんだよね。

援護時に処理されないのはそれ以上にどうしようもないけど。
0274名前は開発中のものです。2008/03/11(火) 22:24:33ID:VBlxwbo9
>>273
そういう問題があるのか…。知らなかった。一長一短だな。
メッセージが変わるのは沈黙と恐怖、混乱?
恐怖と混乱は確かメッセージを定義してなければ変わらなかったとは思うけど。

二重措置として、使用イベントでそれらの状態にあるかどうかを判定して、
Skillを制御してやればマシになるかな。
特殊状態で援護攻撃されたらアウトだけど。
0275名前は開発中のものです。2008/03/11(火) 23:02:55ID:IvbkVCZP
とりあえず、もしも処理が抜けてもメッセージ以外には支障が出ない無いように
脱L0にしておいた方が良いんじゃない?
0276名前は開発中のものです。2008/03/11(火) 23:06:35ID:XSFy1AvP
しかし、この手の質問と回答を纏めておける場所が無いってのは色々と辛いよな
0277名前は開発中のものです。2008/03/12(水) 00:33:51ID:f36mXThy
本家Wikiのシナリオ作成応用編…に載せるには特殊すぎるよなぁ。
0278名前は開発中のものです。2008/03/17(月) 17:12:15ID:fS12muy3
アビリティの射程って延長できない?SPなり特殊能力なりで
0279名前は開発中のものです。2008/03/19(水) 04:27:45ID:+pfn8F4C
> 277

 いや、いいんじゃねぇの?
0280名前は開発中のものです。2008/03/19(水) 09:19:31ID:Gyfysq60
2001年から2008年まで生き延びたスレか
0281名前は開発中のものです。2008/03/20(木) 01:48:48ID:6bFObjdJ
 279の続き。
 SRC Wikiには「これ以上は特殊すぎる」なんて下限はないだろう。
 むしろ今はまだ、追加ペースが寂しい→既存執筆者も力が沸かんことが問題で、書けば他の執筆者の励みになると思う。

 それに、このままでは特殊でも、書けば誰かが手を加えて「敵が使わない武器を使わせる方法」とでもするかもしれない。
0282名前は開発中のものです。2008/03/20(木) 03:01:40ID:PqIuvE3+
あそこ「あらかじめ意見交換掲示板で書く内容を吟味しなければならない」って
ルールが無かったっけ?どこかの小が付いて一が付いて郎が付くバカがごねたせいで。
0283名前は開発中のものです。2008/03/20(木) 14:25:14ID:e8BoqiTL
ないない。
例えそんな話でまとまっていたとしても、ルールとして明文化されてなければ無意味

少なくとも今すでにある応用編とかを追加していく分には大丈夫。


>>281
だが、小数点以下レベルの挙動みたいな特殊すぎる話ばっか載ってると
他の情報が載せづらいんだぜ、気分的に。

VBの仕様がどうだからこうなってる、なんてのは
SRC使う分には全く意味が無いんだからコメントアウトでいいだろうと。
0284名前は開発中のものです。2008/03/21(金) 00:55:04ID:5unyiL01
> だが、小数点以下レベルの挙動みたいな特殊すぎる話ばっか載ってると
> 他の情報が載せづらいんだぜ、気分的に。

 「ヘルプファイル補足」のほうは性質上、特殊な話が多くなるもんだろう。
0285名前は開発中のものです。2008/03/21(金) 01:13:02ID:5unyiL01
 というか、「ヘルプファイル補足」で、特殊でない話をどれだけ載せれるんだろう。
 どうしても、特定の特殊能力とか特定のコマンドとかの話がほとんどになりそうな
気がする。

 「よくある質問集」のほうは現状あんまり特殊でないので、「他の情報が載せづら
い」というのはよくわからん。
0286名前は開発中のものです。2008/03/21(金) 01:20:14ID:5unyiL01
> VBの仕様がどうだからこうなってる、なんてのは
> SRC使う分には全く意味が無いんだからコメントアウトでいいだろうと。

 283が削除編集するか、削除提案をコメントに入れたら?
0287名前は開発中のものです。2008/03/31(月) 19:45:31ID:ui6wfclk
For文で無限ループさせるにはどうしたらいいんだ?
最初はFor i = 1 to (i + 1)で出来るかと思ったら2回しか実行してくれないし。


あと、
For i = 1 to 12
Local X$(i) = 1
Next
というふうにX1〜X12という変数に次々と数値を代入していくような処理もしたいんだけど、
上手くいかない
0288名前は開発中のものです。2008/03/31(月) 20:43:59ID:UkrJ9JsZ
Forで無限ループされる必要がどこにある。
素直にDo使うんじゃだめなのか?

X$(i) = 1 なんて書き方は無理。
色々間違いすぎてるからヘルプの変数やら式やらを読み直せ
0289名前は開発中のものです。2008/03/31(月) 23:20:53ID:ui6wfclk
>>288
ありがとう、Doならカウンターの数を変更しなければ無限ループに出来るんだな、
上手くいった。

>X$(i) = 1 なんて書き方は無理
となると、For文内などで次々と連続する変数に数値を代入するには、どうしたらいいんでしょう?
0290名前は開発中のものです。2008/03/31(月) 23:46:31ID:UkrJ9JsZ
そもそも、
>X1〜X12という変数
は連続する変数とはみなされない。
X1とX2はSRCのプログラムにとってはまったく別の変数であって、関連しているものとして扱ってはくれない。


…X1〜X12みたいにやろうと思ってできないことはないはずだけど、
もっと単純で一般的な方法として配列を使うのが普通。

変数のページと、少し凝ったシナリオのeveを眺めてみた方が良いよ
0291名前は開発中のものです。2008/04/01(火) 01:31:26ID:dgppVkw4
ごめんなさい、ありがとうございました。
配列というものを使ってみたらNum[$(i)]という形で変数に数値を代入することが出来ました。

あと2つだけすみませんが教えてもらえないでしょうか?
1:前提:Args(1) = 240、Args(3) = -500、figures = -500の桁数(3)

Local kariX = Args(1) - (figures * 16 / 2)
For i = 1 To figures
 Local posX = kariX + 16 * (i - 1)
 Local Num[$(i)] = RoundDown((Abs(Args(3)) Mod (10 ^ i)) / (10 ^ (i - 1)))
Next

こういう状況で、Args(1)、Args(3)、figures、kariXにちゃんと数字が入っていることをConfirmで確認しているのに、
常にposXに0が代入されてしまいます。また、Args(3)の各桁の数字をNum[$(i)]に代入しようと
4行目を描いたのですが、こちらも常に0が代入されてしまいます。何故でしょうか?

2:前提:posX = 前述どおり、Args(2) = 240、PPopt = 透過 フィルタ RGB(0,0,255) 50%

PaintPicture bitmap\Event\numPicture0.gif posX Eval(Args(2)) PPopt

こういう形でPaintPictureのオプションを変数で指定しようとしたのですが、"PPopt"や$(PPopt)にしても
エラーが出てしまいます。PaintPictureのオプションを変数で指定するにはどうすればいいのでしょうか?
0292名前は開発中のものです。2008/04/01(火) 02:42:18ID:q4rOSi+J
正直ツッコミどころが多すぎてどこから指摘していいか分からないのだが


Num[$(i)] = 〜〜
って書き方は普通しない。
つまり、$()の使い方が理解できてないんだよな? 式の所をちゃんと読み直すこと。
読んで理解してれば
>"PPopt"や$(PPopt)にしても エラーが出てしまいます。
なんて頓珍漢なことを書かなくても済む。

Localコマンドはサブルーチン中に一度で十分。

Confirmで確認って言うが、その確認するときに間違ってるってオチはないよな?
こっちが試す限りposXに数値は入ってるわけだが。

>Eval(Args(2))
わざわざEval関数を使っている理由が知りたい

オプションを変数で指定しようとする前に、
>PaintPicture bitmap\Event\numPicture0.gif 240 240
で表示されることは確認したか?
慣れてないうちは欲張らず、一つ一つ段階を踏んでやっていくべきだと思うんだが。
PaintPictureコマンドに限らず。


ところで、動かない原因を特定する努力をどれだけしたのか知りたいわけだが。…まあいいか
0293名前は開発中のものです。2008/04/01(火) 03:27:45ID:dgppVkw4
>Num[$(i)] = 〜〜 って書き方は普通しない。
と、するとどのように記述すればよいのでしょうか?Num[Eval(i)]?

>つまり、$()の使い方が理解できてないんだよな? 式の所をちゃんと読み直すこと
確かに、よくわかりません。ただどうも$()でくくってやらないと計算をするときに
数値と認識してくれないみたいなのでつけておいたのですが……

>Confirmで確認って言うが、その確認するときに間違ってるってオチはないよな?
Local kariX = Args(1) - (figures * 16 / 2) の直後に
Confirm "$(kariX) $(Args(1)) と posXとArgs(1)"
その直後のFor文内にある
Local posX = kariX + 16 * (i - 1) の直後に
Confirm "$(posX)"
を代入していますが、前者は正しく数値が代入されているので多分確認間違いではないと思います。

>わざわざEval関数を使っている理由が知りたい
どういう状況でなら変数が代入されている数値として認識されるのかさっぱりわからず、
とりあえず$()やEval()でくくると動くみたいなのでくくってみました。

>PaintPicture bitmap\Event\numPicture0.gif 240 240
こちらは一通り確認してみました。


一応ヘルプファイルを片手に組んでいたのですが、正直ヘルプの内容が省かれすぎで
よくわからないです……
0294名前は開発中のものです。2008/04/01(火) 03:28:51ID:dgppVkw4
×Confirm "$(kariX) $(Args(1)) と posXとArgs(1)"
○Confirm "$(kariX) $(Args(1)) と kariXとArgs(1)"
0295名前は開発中のものです。2008/04/01(火) 13:41:06ID:q4rOSi+J
それで、ヘルプの式のところは読んだのかと。

確かにヘルプの記述は省かれてる所が多いが、
書いてあるものを読み飛ばしてるんならそれはヘルプの問題じゃないぞ。


@式
>「"」で囲まれた文字列に「$(式)」という文字列が含まれていた場合、その部分が式の値に置換されます。
>これにより式の値を利用した文字列を簡単に記述することができます。この機能を式置換と呼びます。

@イベントコマンド
>イベントコマンドの引数は式として扱われます。従って引数に変数や関数を使うこともできます。

これらが原則。


コマンドによってはこれらの原則と違うことがあるが、そういう場合はヘルプに書いてある。
例えばTalkコマンドの場合
>メッセージ内に「$(式)」という文字列を入れることで任意の式の値を表示することもできます。
Askコマンドなら
>書式1の場合、選択肢は直接記述します。選択肢に「$(式)」という文字列を入れることで任意の式の値を表示することもできます。

裏返せば、これらの場合は$()で囲まないとメッセージ/選択肢中に式は使えないって事でもある。


原則と違うのに書いてなかったら記述抜けだからバグ報告板池
0296名前は開発中のものです。2008/04/01(火) 14:17:45ID:dgppVkw4
>これらが原則
すみません、そこは一応理解しています。
ただ、そもそも「式の定義がなにか」ということと、式置換の使いどころがよくわかりません。

今回の例で言うと、
PaintPicture 〜.gif posX Args(2) PPopt
と記述した場合PPoptがオプションとして認識されないので、「$()でくくって
実際の値になおしてやらないといけないのか?」と思い""や$()でくくってみたのですが……

それと、Num[$(i)] = 〜〜 はどのように記述するのが普通なのでしょうか。
0297名前は開発中のものです。2008/04/01(火) 16:02:21ID:DluGZjWi
一応どころか全然理解してないねwww
0298名前は開発中のものです。2008/04/01(火) 20:50:17ID:YtIbi2Yc
>>296
Num["$(i)"]とか、"Num[$(i)] "とかかな。

俺も最初は全然分からなかったから、ひたすら手探りで使えるパターンを試していったよ。
$()でいい場合もあれば、""でくくってやる必要がある場合、Evalをつかってやる必要がある場合など様々だ。
ひたすら試行錯誤していけば、使えるパターンが蓄積されていくから、あとはそれを使い回していけばいい。

ちなみに似たような処理(?)で俺はこんなことをしている。

Set 仮変数["$(Count(仮変数) + 1)"] 〜〜
0299名前は開発中のものです。2008/04/02(水) 00:56:44ID:wqwJMVAd
>>288-298
回答ありがとうございます。
posXについては、うっかりLocal宣言を二回繰り返していました。凡ミスすみません。
あとは
Local Num[$(i)] = RoundDown((Abs(Args(3)) Mod (10 ^ i)) / (10 ^ (i - 1)))

PaintPicture
の動作が上手くいけばほぼ完成なのですが……
PaintPictureのオプション引数に変数を指定する場合どういう形で指定する必要があるんでしょうか?
PPopt、"PPopt"、$(PPopt)、Eval(PPopt)、あるいはPPopt = "透過 フィルタ RGB(0,0,255) 50%"を括りをとったり
$()でくくったりも試したのですが、イベントデータが不正と吐き出されてしまいます。

>>298
ありがとうございます。しかし、Num[""$(i)]や"Num[$(i)]"ですとエラーになってしまうみたいです。
提示された例文の処理は、仮変数[1]、仮変数[2]が定義されている場合、次の処理では
仮変数[3#配列の要素数=2個 +1]に値が代入される、ということでしょうか
0300名前は開発中のものです。2008/04/02(水) 01:37:49ID:0giqmtIE
問題:""で囲まれた文字列のうち、$()で囲まれてない部分はどう扱われるでしょうか?
答えは、
「$()で囲まれてる部分は式として扱われる」んだから、
「$()で囲まれてない部分は式として扱われない」

式として扱われないんだから、"PPopt"は、 PPopt が変数だろうとなんだろうと、
「PPopt」と言う文字列として扱われて、変数名としては扱ってくれない。
だから、エラーが出て当然。変数として扱われる方が変、おかしい、異常事態。

これはっきり言って基本。これが理解できないうちはインクルなんて組まない方がマシ。
凝ったものなんか作ろうとしないでサンプルシナリオ改変して作れるぐらいの初歩的なイベントだけを使って、
その中でいかに面白いものを作るかを目指すべき段階。
君がやろうとしてるのは、ヨチヨチ歩きしかできないのに全力疾走しようとしてるようなもん。気が早いにもほどがある

別に頭で理解しなくても、色々試行錯誤しながら覚えてもいいわけだけど、
少なくとも「"PPopt"ってやったけどだめでした」なんて言っちゃてるのは、「私は全く読解力がありません」って言ってるのと同じだよ。

$()は""で囲まれた中で使うのが原則。""で囲まれてない所で使うほうが例外。


そして君は全く原則を理解してない。まずそこを自覚しろ。
かけらもわかってないくせに「一応理解してる」なんて見栄を張って何がしたいんだ?

繰り返して言う、
君は全く理解できてない。理解するための努力をしろ


ちなみに、二つ以上の引数を一つの変数で指定するのは無理。
理由を説明するのめんどくさいし、しても理解できないだろうから書かない。
0301名前は開発中のものです。2008/04/02(水) 01:44:45ID:jPHeUSId
>300
そうカリカリすんなよ
四月馬鹿にでも引っかかったのか?
0302名前は開発中のものです。2008/04/02(水) 01:49:01ID:wqwJMVAd
>>300
失礼ですが。
>なお、一つの引数に複数のオプションを指定することが出来ます。
>例 変数optに"透過 白黒"を代入しておき、PaintPictureコマンドの引数にoptを指定する。
とはっきりヘルプに書かれています。

PPopt と記述して認識されないのですから多分使わないだろう、と思っていても
考えうる全ての記述の仕方を試してみることがいけないことなのですか?

ヘルプでは""の中で$()を使う。確かにそう記述されていますが前述の
Num[i]みたいに$()でくくってやらないと動かない場合もあるのですから、
とにかくだめもとで試してみるのは質問する前の当然の義務だと思ってやったのですが、いけないのでしょうか。
0303名前は開発中のものです。2008/04/02(水) 04:57:16ID:bZtm8gMY
なんつーかさあ
なんでSRC始める奴にはヘルプも読まずに始めて
他人に頼るだけ頼って逆ギレする奴が多いんだろうなあ

だからいまいち盛り上がらないんだよな、SRCの界隈って。
0304名前は開発中のものです。2008/04/02(水) 13:18:06ID:FACUuKFr
>>302
ごちゃごちゃ書いてあって何が聞きたいのかさっぱりわかんないけど、
Num[$(i)]
なんて表記しないで
Num[i]
じゃうごかんの?
0305名前は開発中のものです。2008/04/02(水) 21:12:46ID:0giqmtIE
考えうるすべての記述の仕方を書いてるんだから、
Num[i]は真っ先に試してダメだったから聞いてんじゃないの?


RGB関数や#******以外のオプションは変数に入れて大丈夫だな。
読み落とした癖に偉そうに言ってた。そこはスマン

ただのバグだと思った
0306名前は開発中のものです。2008/04/02(水) 21:58:04ID:BJXT/qrB
>>278
もう解決しているかもしれないが、
射程以外同じものを複数つけて必要技能で細かく条件づけすれば良いかと
SPでやる場合はインクルードも絡めて地道にやるしかないと思う

===
ケアル,  回復Lv1, 3, -, 10, -, 魔術 (!AVI射程延長Lv1)
ケアル,  回復Lv1, 4, -, 10, -, 魔術 (AVI射程延長Lv1 !AVI射程延長Lv2)
ケアル,  回復Lv1, 5, -, 10, -, 魔術 (AVI射程延長Lv2)
0307名前は開発中のものです。2008/04/02(水) 22:10:41ID:SPBR0ZwE
>>308
なるほど、やはりその手の力技しかないか…。
種類が多いと面倒すぎるね。
0308名前は開発中のものです。2008/04/03(木) 03:04:06ID:JPUvLOkB
外道エムブレムという作品ではもっとすごい力技で独自のシステムを構築していたな
アレを見てからじゃちょっとやそっとの力技じゃ驚けなくなった
0309名前は開発中のものです。2008/04/10(木) 07:34:54ID:mt4yUcEz
独自システムと言えば、バトルコンフィグがいまひとつ良く解らんのだが

デフォルト式はなんとか弄れるんだが「命中率・CT率を5%以下にしない
(最低値を設定する)」とか、少し捻ろうとするとすぐ詰まるんだなこれが
0310名前は開発中のものです。2008/04/10(木) 11:54:19ID:gEZZQ0Va
最終命中率
Max(最終値,5)

でダメのかね
0311名前は開発中のものです。2008/04/10(木) 20:45:02ID:mt4yUcEz
命中率の式の中に組み込む訳じゃないのか。
試してみる。サンクス
0312名前は開発中のものです。2008/04/13(日) 22:15:23ID:GXNUN5cd
命中修正
100 + 命中 + 反応 + 運動性 + 攻撃値

↑このデフォルト計算式から運動性を抜いてみたんだが、それでも運動性が命中率に影響してしまうっぽい。
運動性の高いユニット、低いユニットで明らかに命中率に差が出る。
なんでだろ?
0313名前は開発中のものです。2008/04/13(日) 22:59:30ID:S6GW1o8H
命中修正じゃなくて命中補正
0314名前は開発中のものです。2008/04/14(月) 12:30:25ID:xdGdpIPn
マジか!でも回避と合わせていじっていて、反映自体はされていたようなんだけどな。
また後で試してみます。
0315名前は開発中のものです。2008/04/15(火) 11:00:50ID:inNtLV1a
SRCでファミコンウォーズみたいな戦略シミュレーションを実現させた例ってある?
ちょっと考えてみたんだけど、CPUに拠点の占領、防衛や
状況に合わせた生産といった概念を教え込むのは無理があるかな。
0316名前は開発中のものです。2008/04/15(火) 11:19:27ID:/SNrefSS
一見無理っぽいものを力ずくで実現してるシナリオって意外と多いからなぁ。
とはいえファミコンウォーズ的な戦術SLGの実例を俺は思い当たらないわけだが


可能かもしれないが、CPUのルーチンをイベントファイル上で一から組みなおす事になるだろうから
少なくとも作る手間はすごくかかると思う。

CPUの思考ルーチンに関しては最近の意見交換で話題に挙げてる人がちらほらいたと思うけど・・・
さっぱり意見が付いてなかった気もするな。
SRC的には未開拓&需要が無い分野なのかしらん
0317名前は開発中のものです。2008/04/15(火) 11:32:19ID:inNtLV1a
やっぱそうだよなあ…。
基本的な仕組みは作れても、肝心のCPUがお馬鹿じゃ遊んでもおもしろくないからな。
0318名前は開発中のものです。2008/04/15(火) 21:16:24ID:a4K/gt/L
敵が拠点占領やユニット生産を行ってくるシナリオというと
「アズラエルの野望」というシナリオが結構すごいよ
あとは「天魔召喚」とか「カプセルモンスター」もすこし毛色は違うがこのタイプ
ほかにもあるかもしれないけれど俺が思い出せるのはこれくらい
参考にしてみたらどうかね
0319名前は開発中のものです。2008/04/15(火) 22:54:43ID:I46+prEV
アズラエルの野望と野望アトラリス?だかアトラリウスだか忘れたけど、
この二つのシナリオで使われているインクルをアレンジすれば、
巨大作品による戦略シミュレーションの制作も可能かもな
0320名前は開発中のものです。2008/04/15(火) 22:56:13ID:s3/A6HD5
>>318
ありがとう、ちょっと覗いてみたけどなかなか参考になるな。
0321名前は開発中のものです。2008/04/26(土) 06:58:49ID:zzmnaLqc
>>315
軍板SRCはどうだ?
思考ルーチンはお馬鹿だが
基本的システムは出来上がっている
03223152008/04/27(日) 09:37:22ID:NIM4yEgx
そんな板にスレあるのかw
ちょっと見てくる。実はこっちも自前でそこそこ動かせるようにはなってる。
0323名前は開発中のものです。2008/04/29(火) 04:20:47ID:cVxvum1B
昔あった。今は無い。経緯は察しろ。
0324名前は開発中のものです。2008/04/29(火) 08:14:22ID:6Ga1O83p
経緯は分からないけど(過疎?)まとめサイトは残ってたからシナリオは見れたよ。
なかなかがんばって作ってあるな。
目指すものが近くても、人によって実現方法が違うのがおもしろい。

今試行錯誤しながら作っているけど、最初考えていたほど複雑なインクルは要らなくて、
発想+ヘルプの熟読でなんとかなることが多い。
0325名前は開発中のものです。2008/05/25(日) 21:50:46ID:s4Y1NuMK
>>324
頑張れよー
03263152008/05/27(火) 16:22:37ID:0K3WDbBo
実はすでに身内、というか知っている人向けに仮公開してます。
いろいろ教えてもらったので、ここでも報告した方がいいのかなーとも思ったけど、
まだ試作段階だし、わざわざ宣伝するような真似をしなくてもいいだろうと思って。
0327名前は開発中のものです。2008/05/28(水) 12:06:45ID:gPSHUrGn
まあ、匿名掲示板なんて利用したい時に利用したいように利用すればいいのさ。
他の住人の邪魔さえしなければ

よいSRCライフを
0328名前は開発中のものです。2008/05/28(水) 16:03:58ID:eUxBOJii
なんという良スレ
0329名前は開発中のものです。2008/06/07(土) 18:04:10ID:vaLzD+Jx
あらかじめ入力された配列A、B、Cがあるとして、それらをAskコマンドなどで任意に選択した際、
Countコマンドを使って選択した配列の要素数を確認しようとしているのだが、

Count(選択)

のようにしても選択した配列(例えばA)を認識してくれない。
この場合「選択」が配列名として認識されてしまうらしく、返り値が「0」になってしまう。
$つけたりEvalつけたり""で囲ってみたり色々やってみたが、どうしても式の値に置換してくれない。
何かいい手はないかな?

「選択」に配列名が格納されていること、各配列名に直接Countを当てると正常に返り値が出ることなどは確認済み。
0330名前は開発中のものです。2008/06/07(土) 18:30:08ID:Yk7mYAWv
if 選択 = "配列A" then
 count(配列A)〜〜
elseif 選択 = "配列B" then
 count(配列B)〜〜
elseif 選択 = "配列C" then
 count(配列C)〜〜
elseif …


endif

じゃまずい?
0331名前は開発中のものです。2008/06/07(土) 19:00:19ID:jpvH5wZr
とりあえずこんな感じでどうだろうか
多分もっとうまく出来る手段があるだろうけど

set あるふぁ[0] "あ"
set べーた[0] "あ"
べーた[1] = "あ"
set がんま[0] "あ"
がんま[1] = "あ"
がんま[2] = "あ"
set しーた

Ask どれ?
あるふぁ
べーた
がんま
End

Switch 選択
Case 1
しーた = Count(あるふぁ)
Case 2
しーた = Count(べーた)
Case 3
しーた = Count(がんま)
EndSw

Talk システム
$(しーた)
End
0332名前は開発中のものです。2008/06/07(土) 19:41:51ID:vaLzD+Jx
>>330-331
即レス感謝。一括処理は無理ってことですね、やっぱり。できそうでできない…。
配列数20以下だし、お二方が提示されたような並列処理に頼ることにします。
0333名前は開発中のものです。2008/06/09(月) 15:29:28ID:myHKuzUF
>>332
Countのカッコの中は一切式が使えないみたいだね。だからEvalも無効
だから
 Local カウント用
 Copyarray Eval(選択) カウント用
で、配列ごとコピーしておけば
Count(カウント用) で、選択した配列の要素数が取れる。

要素数が多くてLocal変数の作成数制限に引っかかりそうなら
イベント処理の最後に
 Unset カウント用
で。


亀気味レススマソ
0334名前は開発中のものです。2008/06/09(月) 18:59:04ID:fg4i9IZl
>>333
おお、こりゃ目から鱗。試してみたところちゃんと動作しました。
Copyarrayコマンドなんて使ったことがないので、こんな方法思いつきもしませんでしたw
一人で根詰めて考えて分からない問題も、こうやって他の人の視点を借りると
意外な解法が分かって本当にありがたいです。
0335名前は開発中のものです。2008/07/01(火) 20:16:15ID:7+c09EXk
ヴァルゴ更新キタ━━━━━━(゚∀゚)━━━━━━━!!!
0336名前は開発中のものです。2008/07/02(水) 17:57:12ID:04u4/6uB
誤爆?
0337名前は開発中のものです。2008/07/02(水) 18:46:25ID:XjyI++VS
反応不要だと思う。
0338名前は開発中のものです。2008/07/02(水) 18:50:08ID:k0f1W9Q+
ヴァルゴって何だ?と思って調べてみたら、数年前から更新停止してる化石シナリオじゃん
あんなシナリオよりもナインナンバーとかスーパーロボット大戦BBSとかの方が面白いよ
0339名前は開発中のものです。2008/07/05(土) 18:50:48ID:10D5WWQf
ここもまだ製作に使えないって事は良く分かった
いい試金石をありがとう>>553
0340名前は開発中のものです。2008/07/17(木) 21:13:23ID:RTSrFJ0t
敵ユニットって合体できんの?
0341名前は開発中のものです。2008/07/17(木) 21:47:59ID:LowcFbwc
味方ユニット以外はルーチン的にやらない=できない
0342名前は開発中のものです。2008/07/17(木) 22:15:35ID:RTSrFJ0t
レスはええw
CPUが自動で合体を行うことはないというのは分かるけど、
Combineコマンドなどシステム的なことを用いても不可能ということかな。
ちょっと面倒だけど何かしら擬似的な方法に頼るしかないか。
0343名前は開発中のものです。2008/07/17(木) 23:10:30ID:LowcFbwc
ゴメン、敵であってもCombine前にUnitで合体後のを作っておけば大丈夫っぽい。
0344名前は開発中のものです。2008/07/18(金) 08:58:48ID:5ulojfPS
RemoveとCreate使った方が早いと思うけどな。
0345名前は開発中のものです。2008/07/18(金) 09:35:46ID:eELt0fyD
>>344
単発のイベント絡みなら確かにそっちで十分だと思う。
実はダンジョンでランダム精製されるザコ同士の合体だから、
システム側で処理してもらった方が確実っぽいんだ。
まだいろいろ試してみないと分からないけど。

Unitコマンドで作られるのは味方ユニットだと思っていた。
0346名前は開発中のものです。2008/07/18(金) 11:47:53ID:nmF6NkkK
Unitコマンドで作られるのは味方だよ。
それが例外の一つとして、敵をメインにCombineで合体すると敵になる。

ただ、合体先をUnitで作ってそのままにしてると、
インターミッションセーブデータには存在する味方のはずなのにユニットステータス画面に表示されないみたいだね
0347名前は開発中のものです。2008/07/18(金) 13:50:33ID:eELt0fyD
>>347
なるほど。
今回のこととは関係ないけど、例えば機体入手のイベントを作る時
Unitコマンドで精製するだけではダメということなのか?
0348名前は開発中のものです。2008/07/18(金) 13:51:49ID:eELt0fyD
あ、「合体先」というのがミソなのか
0349名前は開発中のものです。2008/07/18(金) 14:32:34ID:nmF6NkkK
サンプルシナリオでちょっと試してみた。

1.ユニットステータス画面に表示されないがセーブデータに残る場合。

・味方以外の合体元ユニットが存在する時に、Unitコマンドで合体後ユニットを作成し、その後一度もCombineしないでマップを終了する。
   例
    Create 敵 キャリバーン 0 ジェイド=ソウマ 1 1 1
    Unit エクスカリバー 0
    Continue

・味方の合体ユニットが分離した後に、分離後ユニットが全員それぞれ個別に味方以外になる。
    Create 味方 キャリバーン 0 ジェイド=ソウマ 1 1 1
    Create 味方 ヴィヴィアン 0 アリス 1 1 1
    Unit エクスカリバー 0
    Combine ジェイド=ソウマ エクスカリバー
    Split ジェイド=ソウマ
    ChangeParty ジェイド=ソウマ 敵
    ChangeParty アリス 敵
    Continue

*味方以外の合体ユニットが分離した後に、分離後ユニットが全員それぞれ個別に味方になった場合は、合体後ユニットを改めてUnitで作成する必要がある
    Create 敵 キャリバーン 0 ジェイド=ソウマ 1 1 1
    Create 敵 ヴィヴィアン 0 アリス 1 1 1
    Unit エクスカリバー 0
    Combine ジェイド=ソウマ エクスカリバー
    Split ジェイド=ソウマ
    ChangeParty ジェイド=ソウマ 味方
    ChangeParty アリス 味方
    Continue
0350名前は開発中のものです。2008/07/18(金) 14:33:47ID:nmF6NkkK
続き

2.パイロット不在のユニットとして、ユニットステータス画面に存在する
・敵味方問わず合体元ユニットが存在しない時に、Unitコマンドで合体後ユニットを作成し、その後一度も合体しないでマップを終了する。
    Unit エクスカリバー 0
    Create 敵 キャリバーン 0 ジェイド=ソウマ 1 1 1
    Create 味方 ヴィヴィアン 0 アリス 1 1 1
    Continue


なんか複雑だが、
・味方以外用の合体後ユニットをUnitで作成したら、一度はCombineさせる。
・合体元ユニットの陣営を変更する場合には、できるだけ合体状態で行う。
を守れば変なことは起きないハズ
0351名前は開発中のものです。2008/07/18(金) 15:33:07ID:eELt0fyD
細かく検証乙です。
ちょっとややこしいけど、ちゃんと敵の合体にも対応できるようにシステムが作られているんですね。
確認ですが、「合体後ユニット」の定義はユニット用特殊能力の「分離」を持っているということでおkですか?
0352名前は開発中のものです。2008/07/19(土) 22:23:27ID:MJ32axWs
なんとかできたっぽいです。
Unitコマンド挿入でデフォルトユニットが変わってしまうのをうっかりして、
てこずってしまった。
いろいろ教えてくれた方々感謝です。
0353名前は開発中のものです。2008/08/26(火) 15:47:23ID:fsHkGMIb
Talkコマンドのcharacterは変数使用不可かな?

Ask
パイロットA
パイロットB
パイロットC
End
Talk $(選択)
〜〜〜
End

↑のような使い方を想定している。
Evalや$()で試していたがうまくいかないようだった。
例によって並列処理ならば何の問題もないのだけれど、可能ならば何かと手間が省けるかなと。
どうも無理っぽい気はするが。
0354名前は開発中のものです。2008/08/26(火) 16:38:42ID:y74bsupJ
つ「Askコマンドの説明を読み直す」
つ「変数"選択"に何が入ってるか確認する」
■ このスレッドは過去ログ倉庫に格納されています