したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | まとめる | |

SphereScript言語仕様について

1 電プロ :2009/08/14(金) 00:20:30
8/16のベータ版リリースへ向けてSphereScriptの本格実装を急いでいる現状ですが、SphereEngine4の前にリリースする目的は、先に言語仕様を公開することで意見をもらい、SphereEngine4のリリース後に「こうしておけばよかった!」ということをなくすためです。

プロのエンジニアの方、RSEのスクリプトが初めてのプログラミングの方、双方からの提案をお待ちしています。

一応、プログラマ以外にも分かるように「RSEのスクリプト」と比較すると
・レジスタ、フラグ、ラベルを「変数」に統一化して自分で好きな名前が付けられる。必然的に個別の上限数も無くなった。(全体で上限8096件まで)
・カウンタは言語仕様からは消えた。代わりにスクリプト自体により記述され、機能提供されている。
・四則計算や論理計算がそのまま書けるので「敵機が8以上いてなおかつ味方機がその半分以下の状態で、自機の残りHPが30%以下になった場合」というスクリプトが1行で書けるようになった
・#includeによりスクリプトを分割、流用できる
・台詞ウィンドウの中身をスクリプト実行時に計算して作成できる
・スクリプトのサイズ制限がほぼ無くなった(各ファイル最大65536行256桁)
・スレッド数の制限もほぼ無くなった(互換性のため今は16本だが256本に拡張予定)

ついでに、プログラマ向けに現在のSphereScriptの言語仕様をANSI C言語と比較した場合の大きな違いを列挙しておきます。
SphereScriptには...
・switch~case構文が無い。
・doubleやshortやcharが無い。
・構造体、共用体、ビットフィールドがない。
・ポインタが無い、代わりに参照型がある。
・文字列-数値間にも暗黙の型キャストが行われる。必ず文字列になる。
・文字列と数値を+演算子でそのまま加算できる(数値が文字列展開されて結合される)
・変数宣言が無くてもいい。
・VBのようなvaliable型(可変型)がある。
・valiable型は関数の引数や戻り値にも指定できる。

69 wakaba :2010/05/05(水) 22:20:34
>>68 電プロさん
> 一撃でHTML化できるならば、SpsDocに合わせて書いてしまいます。
よろしくお願いします。
事実上の世界標準フォーマットをそのまま使ってるので、俺がくたばっても何とかなるのが強み。

2行に分ける場合は<br />タグを使ってください。
但し、関数コメントのサンプルの実装はお勧めしません。
メンテナンスが必須になるうえにリンクの追跡が事実上不可能なのでリスクが大きいためです。
出来れば別個のコンテンツとして用意しておいて頂ければと思います。
リンク張る事も出来ますし。

> 全ての演算子とその評価順位
それはこの辺りに追記ですね。ちと分量多すぎたのでスルーしてます。
http://rs.wakabadou.net/sps/#lang-reference.operators

SphereScriptリファレンスはPython, Ruby, Java, C#, PHPのリファレンスサイトを見て作っているので、一通りの記述はあるはずです。

70 wakaba :2010/06/15(火) 00:28:12
電プロさん

set_section 第二引数の仕様について確認させてください。

RSE3.5時点でset_sectionの第二引数は、第一引数で指定しているラベルのUNIT_TYPEに関わらず「0」を指定することができます。
RSE側のマニュアルを読む限り、「0」はTOYBOXのみ指定できる引数に見えます。

RSE3.5時点では「0」はUNIT_TYPEを問わずデフォルト動作をするという認識でよろしいでしょうか?

71 wakaba :2010/06/19(土) 12:54:58
電プロさん

Project ICKXとして雲の表示オプションについて要望です。

「雲の表示をあり」としている場合でも、スクリプト制御で強制的に「雲の表示をなし」とすることはできないでしょうか?

出来れば.spe、最悪の場合でも.rseにてミッション単位での制御を希望します。
.speで制御したいのは難易度によって表示を切り替えたいため、.rseで制御したいのは最悪の場合、任意のミッションでは非表示にしないとクリア困難なものがあるためです。

以上、ご検討のほどよろしくお願いします。

72 電プロ :2010/07/04(日) 20:09:48
>>71 wakabaさん
雲のON/OFFは天候依存なので、とりあえずは天候を快晴のものに変えてください。
RSE3.5のエンジンではスクリプトからの制御は難しいため、RSEファイルによる強制ON/OFFを考えています。

73 wakaba :2010/07/06(火) 00:33:01
>>72 電プロさん
返答ありがとうございます。

>>70についてはSC48で伺った通り『「0」はそのユニットのデフォルト動作に戻す』で了解しました。

>>71も了解です。幸い、天候の差し替えが可能なミッションのためスクリプト制御でなんとかします。

74 匿名希望 :2010/10/03(日) 22:23:04
get_rotで取得できる方位角の値について質問です。

AとBを向かい合わせたくて、get_rot で Aの角度を取得、
 Bの上下角度 = Aの上下角度 + 180°
 Bの方位角度 = Aの方位角度 + 180°
 Bの傾き角度 = Aの傾き角度 + 180°
とやったら、方位だけ意図と逆でした。
(Bの方位角度 = Aの方位角度 とやると向き合いました)

get_rot で取得できる"方位"の値が逆な(180°ずれている)気がしますが、これは意図した動作でしょうか。
(もしくは自分の理解が足りないのか...)

75 KEN :2010/10/05(火) 19:44:36
Bの上下角に180度足してるので機体が前転しているからでは?
さらにバンク角も180度足しているため、背面から戻ったのではないでしょうか?

76 匿名希望 :2010/10/05(火) 22:05:00
>>75
…言われてみればその通りですね。方位だけ180°足せば十分だったのか。
自分の理解が足りていなかったようです。オハズカシイ

77 enoch :2010/10/11(月) 03:13:36
質問です。

ver3.5で2次元配列もしくはマップの定義は可能ですか?
仮にver3.5で出来ないとしても、ver4.0では可能ですか?

78 enoch :2010/10/11(月) 08:24:04
もうひとつ質問です。

3.5以前は
getstatus L1,PLAYERS_WEAPON
でR0-R03のそれぞれに機体IDや
装備兵装の情報を設定していました。

現状はint型でかつ、get_posのように
与えた変数の戻り値を使う仕様でも
有りません。

3.5以降はどのようにプレーヤ機の機体IDや兵装IDを
取得すればよいですか?

79 匿名希望 :2010/10/11(月) 10:26:46
>>78
複数戻り値があるものは、引数で与えた変数に値が格納されるようになっているようです。
mission.inc の中身を参照すると、型名が refer になっているのがそれです。(C++の参照型と同じ?)
何番目に何の値が帰ってくるかは mission.inc の変数を見ればなんとなくわかるかと思います。

80 Project ICKX :2010/10/11(月) 14:51:37
こちらの掲示板では初めまして。Project ICKXです。
EFFY開発時にgetstatusなどの引数をまとめておいたので共有いたします。

次のエントリから資料にアクセスできます。
http://www.effy.info/special/blog/#b23

プレイヤー機体の兵装IDをベタ書きで実装すると次のイメージでしょうか。
player_pylon_main_unit_id = get_status('STATUS_PLAYERS_PYLON_MAIN', 1); //旧R1
player_pylon_sub_unit_id = get_status('PLAYERS_SUB_WEAPON', 1); //旧R2
player_pylon_center_unit_id = get_status('PLAYERS_CENTERWEAPON', 1); //旧R3

ライブラリをフルに活用すると下の書き方もできます。
player_pylon_main_unit_id = get_player_pylon_main(); //旧R1
player_pylon_sub_unit_id = get_player_pylon_sub(); //旧R2
player_pylon_center_unit_id = get_player_pylon_center(); //旧R3

81 enoch :2010/10/11(月) 16:10:39
>>80
情報サンクス
 getstatusでプレーヤ機の情報を取るのは"PLAYERS_PLANE"を
引数に与えればよいのですね。
 RS3の3.5verのソースやマニュアルなど、どこにも書いていない
パラメータなので不明でした。他にも既存ソースやマニュアルに無い
情報があるかもしれないので参考にさせて頂きます。
貴重な情報を有難うございました。
 RSE側に既存でconst.inc(定数定義クラスっぽいの)があると
いいんですけどねー。
 当方で作成中のものは、そのうちwikiあたりに3.5verの
サンプルミッションとしてアップする予定です。

 もうすぐサンクリでエフィーの完成版発売ですね。
御健闘をお祈りいたします。

82 Project ICKX :2010/10/11(月) 17:12:15
>>81
お役に立てたようで何よりです。

> RSE側に既存でconst.inc(定数定義クラスっぽいの)があるといいんですけどねー。
無いので「RaidersSphere_const.inc」を作ってみました。
exeそのものから引いている情報もあるので、引数の情報は9割がたカバーできているはずです。

> もうすぐサンクリでエフィーの完成版発売ですね。御健闘をお祈りいたします。
ありがとうございます。
そちらのサンプルも楽しみにお待ちしております。

83 KEN :2010/10/17(日) 16:04:43
サンプルミッションを作ったのですが、原因不明のエラーが出ます。
int rader_target = 100;
と値を入れたのに、起動すると「 rader_target は定義されていない関数・・・・・」というメッセージが出ます。
いろいろ試しましたが解決できません。
uploaderにファイルがありますので、どなたかアドバイスをください。

84 通りすがり :2010/10/17(日) 16:47:01
>>83
変数の生存期間は、宣言した関数内のみになっています。
別関数に飛んだ場合、同じ名前の変数であっても別物となります。

real_rader_mission.spt を見てみましたが、
rader_set_up関数内で宣言した rader_target は 、
rader_loop関数内では有効でありません。そのためエラーが出ています。

rader_target をグローバル変数にするか、
rader_loop等の関数の引数を使って渡すと解消できるかと思います。

85 KEN :2010/10/22(金) 16:38:13
ありがとうございます 謎が解けてすっきりしました。 変数についてぜんぜんわかっていなかったようです・・

86 KEN :2010/12/07(火) 20:51:14
get_rotでrxに入る値の範囲はいくらですか?
もし90°以上のピッチ角、例えばrx=120 ry=0 rz=0 ならば、rx=60 ry=180 rz=0 とも表されると思うのですが、実際はどちらがはいるのでしょうか?

87 電プロ :2010/12/08(水) 21:55:01
>>86 KENさん

正解はrx=60 ry=180 rz=180。
基本的にはHUDのとおりです。というかHUDは内部的にget_rotを使ってます。
飛んでみると良くわかります。北向きまっすぐに飛んで、120度ピッチアップした状況を想像してください。

rxだけは±90°で、他は±180°。

ピッチ(rx)を上げると天頂(rx>=90°)を回った時点から方位(ry)とロール(rz)が-180°になります。あとはピッチアップするごとに(コックピットが上下反転しているので)rxは減少します。

88 ゆめの :2010/12/09(木) 02:36:36
get_rotの戻り値についてですが、

> rxだけは±90°で、他は±180°。

他はプラスマイナス180度とのことですが、テストすると、0〜360度でしたよ?これは想定外動作なんでしょうか。(現状、スクリプトでプラスマイナス180度になるようにする関数を書いて、間にかませて使っています。)

89 電プロ :2010/12/09(木) 22:59:47
>>88
>テストすると、0〜360度でしたよ?
すいません。↑これが正しいです。

RSE3を作った当時は「象限とかラジアンとかマイナスの方位は分かりにくいだろう」として今のスクリプト関数の仕様になっています。
方位に関しても時計回り方向にプラスになります。

とはいえ、この仕様はゲームプログラムの常識からするとかなりオカシイのと、凝ったスクリプトを書こうとするといろいろ無理が出てくるので、SpE4では数学的に正しい仕様に変更されます。
※RSEの内部的には全部ラジアンで処理していて、左手座標系の象限と角度は当然ですが一致しています。

90 ゆめの :2010/12/09(木) 23:02:13
すみません、手元の環境でのget_rotの動作テストの詳細ですが、
自機についてget_pos(), get_rot()した結果をそのままメッセージ表示する形で行いました。(換算は行っていません)
●使用スクリプト:http://hatsuyume.flop.jp/rsedit/uploda/src/RS_file47.zip
●実行の様子:http://www.youtube.com/watch?v=Al2unoe2IqI
ピッチ角rxは0〜90度と270〜360度、方位角およびロール角は0〜360度となっているように見えます。
当方のテストスクリプト上での関数の使用方法等に問題がある可能性もありますので、仕様と違う動作かどうか、ご確認いただければ幸いです。

91 ゆめの :2010/12/09(木) 23:04:39
>>テストすると、0〜360度でしたよ?
>すいません。↑これが正しいです。

ああ、ほぼ同時に書き込みになってしまいました。すいません。
仕様について、了解いたしました。
回答くださりありがとうございます。

92 ゆめの :2010/12/09(木) 23:23:06
(恥のかきついでに…)
質問が2つほどあるのですが、ご回答いただければ幸いです。
現行のRSE3.5(最新のRSE.exe)において、
航空機ユニットを別のユニットの子ユニットとすると、子ユニットにした航空機ユニットの座標が毎フレームめちゃくちゃになって正常に動作しないのですが、これはそのような仕様でしょうか。それとも環境依存で当方だけに起きている現象でしょうか…
また、何かの子ユニットとなっているユニット(種別は問わない)に対してget_pos()関数を使用すると、親ユニットに対する相対座標ではなく絶対座標系での座標が得られるようになっているようですが、これはそのような仕様でしょうか。(get_rot()と動作が違うように感じます)

93 wakaba :2010/12/12(日) 10:10:22
変数の型宣言について質問です。

11月12日付公開版のspe.exeではobject型、array型ともに引数の型、戻り値の型としては使用できましたが、変数の型として使用できませんでした。

こちら、本来は変数の型としてもobject型、array型は指定できる認識で正しいでしょうか?

RSEclipseの実装に影響を与えるため、ご回答頂ければ幸いです。

94 wakaba :2010/12/12(日) 10:16:56
これは多分Bug報告 ;p

11月12日付公開版のspe.exeに同梱されているtest6.sptにて仕様と外れたJSON形式の行があります。
# しかも実行可能

21:vector={x:5, y=9, z=11}; //オブジェクトの定義

こちら、y及びzの後ろが「=」となっています。
JSONの場合、名前の後ろは必ず「:」となるため、コンパイルエラーとするのが正と考えられます。

95 電プロ :2010/12/12(日) 21:09:01
>>92 ゆめのさん
get_posではユニットのワールド座標(絶対座標)を取得します。

航空機が何かに「くっついて飛ぶ」のは矛盾しているので、航空機を子ユニットにすると正しく動作しなくなります。
スクリプトでどのように書いても、内部制御でワールド座標変換を行っていますので、必ず座標が飛んでしまいます。

おそらく「子ユニットのHUD表示を航空機にしたい」のだと推測されますが、RSE3.5ではそのような動作は出来ません。SpE4で実装予定です。

96 電プロ :2010/12/12(日) 21:15:35
>>93-94 wakabaさん
変数の型にobjetを指定すると「中身が空っぽ」になってしまうので、現状では
array arr; // 配列型変数arrを定義
というような書き方は出来ません。かならず中身の定義とセットにする必要があります。
arr=[100,1,1]; // 配列型変数arrを初期化して生成
これでは統一性に欠けるため、いずれは空っぽのオブジェクトの型定義もできるようにします。

JSON式のイコールについては意図的に解釈できるようにしています。
SphereScriptの構文解析のルールに合わせているためです。
JSON式の完全準拠ではありません。

97 シャーデンフロイデ :2011/01/01(土) 16:55:22
こんにちは
SphereEngine4に関して質問です。
 現状はミサイルの発射音や、FLACKGUNやチェーンガンの兵装ごとの
効果音は一種類だけしか出力できませんが、SE4では各武器ごとに効果
音を変えることは可能ですか?ユニットIDの違う、チェーンガンの
兵装が違う音を出すといった感じで。
 また、自機以外は機銃とミサイルは1つづつの選択となりますが、プレーヤ側のように複数の兵装を持たせ、距離やロックタイプに応じた
挙動(対空兵装は対空のみ、対地兵装は対地へのみ使用など)は
可能ですか?

98 電プロ :2011/01/04(火) 11:10:03
>>97 シャーデンフロイデさん
細かい仕様の部分はまだ決まっていません。
爆装した敵機はきちんと爆撃するようにはしたいと思っていますが、
発射音については発想自体が無かったですね。
面白そうなので出来るように考えておきます。
ただ、何でもかんでも出来ることを増やすとサウンドカードの負荷が超えて音飛びしたりしそうなのが怖いところですが。

Win7のおかげでオンボードグラフィックの性能向上が目覚しいですが、
サウンド性能はここ10年変わっていないような気がするのです。

100 JoJo :2011/05/01(日) 23:53:09
お世話になります。
3.5の新関数fog_color(int near, int far, int r, int g, int b)についての質問です。
前半2つの引数int near, int farのデフォルト値(または用法用量)を教えて下さい。
数値に関わらず分割されたマップの輪郭線がはっきり見えてしまう問題(下記SS)に遭遇しています。
http://twitpic.com/4ryijj
宜しくお願いします。

101 電プロ :2011/05/02(月) 00:02:44
>>100 JoJoさん
以下を参照してください。
マップ輪郭線の問題は、near/farではなく色(r,g,b)の問題です。

/*----------------------
fog_color(int near, int far, int r, int g, int b);

<引数>
near:フォグの開始距離(晴天時はゼロ)
far:フォグの終了距離(晴天時は1000)
(r,g,b):フォグ色(空の色と合わせる事。0,0,0だと黒になり、255,255,255だと白になる。)

※rに負の値を入力すると、フォグカラーは「現在値」になるので、距離だけ変えたい場合は、
fog_color(near, far, -1, -1, -1);
と記述すると良い。
----------------------*/

102 JoJo :2011/05/02(月) 00:49:52
>>101
有難うございます。デフォルト値と用法については了解しました。
では例えば、戦場の照明色を緑にしたい場合には緑の空を用意する必要があり、かつ今のところ差し替え不可能ということですか?

103 濡烏 :2011/05/11(水) 12:14:44
SphereEngine4についての質問です
1.SpE4では自機の地上歩行や停止などは実現可能になるのでしょうか?
2.ゲーム中でユニットのパラメータやテクスチャを変更することは可能になるでしょうか?
また、その変更を保存できるでしょうか?

104 電プロ :2011/05/11(水) 23:27:30
>>102 JoJoさん
空テクスチャはエンジンに組み込まれているので変えられません。
地中トンネルのような閉鎖空間ならば空が見えないのでごまかしが効きますが、上空では無理ですね。

>>103 濡烏さん
回答します。
>1.SpE4では自機の地上歩行や停止などは実現可能になるのでしょうか?
SpE4では「動かない自機」も用意するので、スクリプト側で動作を作れば好きな乗り物になります。各種行列計算や当たり判定計算も用意するので、車両も作れます。
カメラとの位置関係も変えられるので、車を人に変えれば、何の変哲もない兵隊FPSを作ることも出来ます。

2.ゲーム中でユニットのパラメータやテクスチャを変更することは可能になるでしょうか?
出来るようになります。定義データを変更してから再読み込みするとか、別のユニットに変更するとか、いくらでも。
結果を保存するのも、そのようにスクリプトを組めば作れます。

105 濡烏 :2011/05/12(木) 13:35:31
>>104
返信ありがとうございます
さらに追加で質問なのですが、
1.車両やモビルスーツみたいなのを自機側のみならず
敵ユニットにも同じような動作をするようにできますか?
2.四肢のあるユニットを作成したとして、ゲーム中で四肢を動かすことはできますか?
(モビルスーツがガシャガシャと歩行するモーションなどが実現可能かどうか)

要はモビルスーツ同士の戦闘を作ってみたいんですが・・・

106 電プロ :2011/05/12(木) 20:36:42
>>105 濡烏さん
敵の動きもスクリプトで組めば、そのとおりに動きますし、
アニメーションを使えるので、スクリプトと統合して歩かせることも容易です。
ただこの「容易」はプログラマにとっての話であって、そうでない場合かなりの茨の道になるかと思います。

「簡単に俺得ロボットアクションが作りたい」というイメージでの質問であれば「できません」という回答です。

まぁ、「飛行機しか飛ばせない」はずのRSE3.5で戦車造った人がいるくらいですから、1年くらい待ってれば誰かがロボットアクションのスクリプトを作って公開してそうな気はしますw

107 アルマロス :2011/05/15(日) 03:28:32
>>106
ロボットアクションについて質問させてください。

1.オブジェクトとの接触について
 現状ではビルや地面に接触すると、当たった角度に
よってダメージを受け弾き飛ばされます。
オブジェクトとの接触時にダメージを受けたり弾かれる
ことが無いようにできますか?

2.地面に立たせた際の挙動について
 橋などのステージ既存オブジェクトや、後から追加したオブジェクト
の上に乗るという挙動は可能ですか?
現状はスクリプト側で高度0まで下方向に移動させるように
すれば地面に立っているようにはできます。しかし、それだと
高度0より高い位置にあるオブジェクトの上に乗ろうとすると
貫通して高度0まで落下してしまいます。

3.被弾時の挙動
 例えばFLAKの弾を受けると機体が左右に傾きますが、
ロボットアクションの場合、常に機体は水平である
必要が有ります。被弾時に機体が左右に傾かない
ようにすることは可能ですか?

108 電プロ :2011/05/15(日) 17:54:25
なんかロボットアクションに反応する人多いなw

>>107 アルマロスさん
今のところの構想では、「何もしない」自機を用意しておき、スクリプトで全て、移動・アタリ判定計算・移動制限などを実装する仕組みになります。

飛行機として持っている挙動だけでなく、重力や当たり判定なども全て無効化しますので、全てプログラマが実装してください。
エンジン側は何もしないので、逆に言えばプログラマの好きに作れます。
ロボットとなるとちょっと大変ですが、戦車くらいならば(本職のプログラマならば)1日で実装できそうです。もちろんが壁あたればダメージを受けずに停止するように作れます。

一応、自動車の走行や航空機の離着陸などを想定して、走行可の建物とそうでない建物、というような使い方の出来るフラグは用意するつもりです。
それと、今回はユニットに「重さ」というパラメータが加わるので、自機を重くして、弾を軽くすればダメージだけ受けて自機は動かなくなります。

109 FROST :2011/06/10(金) 01:27:47
SpEで行列の計算をするにはどうすればいいのでしょうか。

110 FROST :2011/06/10(金) 15:54:13
言葉足らずでした。
行列を扱える型があるのかどうか知りたいのです。また、もしあるなら、そのような型で定義した型同士を足したり掛けたりすると、行列の計算になりますか?

111 電プロ :2011/06/11(土) 11:05:27
>>110 FROSTさん
SphereScriptはオブジェクト(C言語でいうと構造体と配列、代数学で言うと行列)が型として使え、線形計算も行われるため、行列の加減算はそのまま書けます。

オブジェクト(行列)の掛け算および割り算は、代数学的な拡張が多すぎるので、サポートしていません。必要に応じて関数を自作して、内部で要素ごとの計算により逆行列・内積・外積などを実現してください。

DirectXのDXライブラリで言う、D3DXVECTOR3及びD3DXMATRIX型に相当する標準の行列及び各種計算関数はSpE4で提供される予定です。


行列という単語が出てくるということは、恐らくアフィン変換をやろうとしているのだと思いますが、SpE4ではあんまり『行列』って意識をしないでも必要十分な座標計算ができるようなライブラリを用意します。
例えば、
・ユニットから見た、ある絶対空間ベクトルの相対空間ベクトルを得る関数
・ユニットから見た、ある相対空間ベクトルの絶対空間ベクトルを得る関数(↑の逆関数)
・自機の上下、前後、左右に相当する絶対空間上の単位ベクトルを得る関数
・オイラー角表現からその方向の単位ベクトルを得る関数
・単位ベクトル表現からその方向のオイラー角を得る関数
などなど。

112 FROST :2011/06/11(土) 12:12:18
 なるほど、加減算はできても掛け算はできないんですか。回転行列を何回か使うので行列の掛け算ができたら楽だったんですが… 行列の掛け算は無理やり何とかしようと思います。
 自機の上下、前後、左右に相当する絶対空間上の単位ベクトルを得る関数は是非欲しいですね。

113 アルマロス :2011/07/06(水) 23:53:08
こんばんは

get_pad_nowに関してです。
 現状は加減速やヨーの入力に対応していませんが、
次期では対応するものと考えて良いですか?
 また、PSのアナログパッドのR3スティック
(右側のアナログ方向キー)の入力を読み取る
ことは可能ですか?
視点切り替えなどに使えるものなら使ってみたいです。

114 電プロ :2011/07/09(土) 09:41:24
>113 アルマロスさん
加減速やヨーは「軸」なので、get_pad_analogで取得できます。

get_pad_analog("PAD_ROLL");
get_pad_analog("PAD_PITCH");
get_pad_analog("PAD_THROTTLE");
get_pad_analog("PAD_YAW");

115 アルマロス :2011/07/18(月) 08:47:40
<<114 電プロさん

上記114の加速やヨーの読み取りに関してです。

リファレンスが無いので使い方の確認です。
get_pad_analog("PAD_THROTTLE")>0;//加速ボタン押下
こうですか?分かりません。

また、ストール中など加減速やヨーが自由に出来ない
状態でもパッドを押下した事自体は読み取られますか?


次期verについて質問です。
1.ロックオンが発生する範囲
 ロックオンカーソルが発生する範囲が
知りたいです。ミサイルの射程に敵がいる場合、
画面の中心からみてどの位置にいる敵にロック
が発生しますか?
 また、ロックオンが発生する上下左右の範囲を
任意で設定はできますか?


2.兵装の装填数
 任意の数値を設定することは可能ですか?
機体の搭載量と兵装のリロード時間とパイロン
で割り出されているようですが、任意の装填数
を設定したいです?
 機体や兵装の設定を変えた際、出撃しないと装填
数が分からないのでバランスをとるのが非常に
手間がかかります。

116 ジオペリア :2011/07/20(水) 23:54:17
こんばんは、早速質問があるのですが、今更こんな事いうのもアレですがSphereEngine4のエディターで旧スクリプト(RS2ndで使ってたやつ)は使えるのですか?

117 電プロ :2011/07/21(木) 21:54:27
アルマロスさん

>get_pad_analog("PAD_THROTTLE")>0;//加速ボタン押下
>こうですか?
そのとおりです。

失速中でも、スロットル値は入力どおりに読み取れたはずです。

>1.ロックオンが発生する範囲
このアイディアはなかったのですが、変えられると面白そうなので、一応変えられるようにするつもりです。
敵の対空砲や地対空ミサイルなどは既に射撃範囲をパラメータ化できているので、それに順ずる形で航空機のロックオン範囲も設定できるようにします。

>2.兵装の装填数
RS2nd/RS3rdと、この仕様のおかげでゲームバランス調整が容易になっているという実績が有るので、
リロード時間で自動計算させるという基本仕様は今回も変えません。

ただしこれも例によって、スクリプト側で変えられるようにはなっているので、
自分で作るなり、誰かに頼むなり、もしくは電プロに頼むなりして、
任意の武装数に設定できる仕様を作ればそのとおりになります。
例えば『原作と同じバランス(キャラ設定や見た目など?)にしたい』という意味でのバランス調整であれば、
搭載量を即値指定するほうがやりやすいのは確かなので。


ジオペリアさん
旧スクリプトは使えません。
ちなみに、現状の新スクリプトについてもライブラリが完全に入れ替わるので
RSE3.5のゲームをSpE4に持ってくるには、かなり本格的な「移植作業」が必要となります。

118 <削除> :<削除>
<削除>


新着レスの表示


名前: E-mail(省略可)


■ したらば のおすすめアイテム ■

俺の後輩がこんなに可愛いわけがない(1)特装版

黒猫たんが可愛くないはずないっ!

この欄のアイテムは掲示板管理メニューから自由に変更可能です。


掲示板管理者へ連絡 無料レンタル掲示板 powered by Seesaa