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

追加命令要望スレッド

1電プロ:2006/09/15(金) 07:20:09
「あやしい仕様確認スレッド」で度々命令の追加要望があるので、スレを独立させました。
スクリプトの関数の追加、またはRSPファイルの仕様追加などがあれば相談してください。

2CLOCK:2006/09/16(土) 01:07:37
早速1つ要望です。

プレイヤーの使用機体、装備武装が何かを取得できるような命令は追加可能でしょうか?
取得命令を実行すると、レジスタに機体やメイン〜センター装備のUNIT_IDが格納される
ような感じになると思うのですが、如何でしょう。

3電プロ:2006/09/18(月) 20:27:36
>>2
了解です。
getstatus
命令に機能を追加しましょう。

4CLOCK:2006/09/18(月) 20:51:03
>>3
ありがとうございます。
武装使用をトリガーにした処理をやろうとした場合、選択武装がわからないと、
どのようなアクションを取らせば良いかわからない状態だったもので、助かります。

5Ironnitride:2006/10/02(月) 09:02:38
イベントシーン用にReidersに車輪を出させる
命令は追加できませんか?
例えば
geardown L10 ;L10の機体に着陸脚を出させる
といった具合で.

出撃シーンにつかえれば格好がいいかと思うのですが,
いかがでしょうか.

6電プロ:2006/10/10(火) 23:16:11
>車輪
子オブジェクトで定義して頑張ってください。
モデルは後でアップします。

7電プロ:2006/10/14(土) 11:14:28
車輪があっても座標も数もまちまちじゃん、ということで、
専用命令が必要ですね。作っておきますので少々お待ちを。

具体的には車輪のユニットを生成して子オブジェクトにくっ付ける命令です。

8Ironnitride:2006/10/17(火) 17:07:05
命令の追加ではないのですが,次バージョンのリリース時に
イージスシステムのモデル(xファイル)とそのテクスチャファイルを同梱して頂けませんか?
ブリーフィング画像とHUDに名前を表示する画像はあるのですが・・・

要望に次ぐ要望で申し訳ありませんが,よろしくお願いします.

9電プロ:2006/10/17(火) 19:14:22
イージスシステムにモデルファイルは無いので、ユニットとして配置したい場合は、
砲台か何かにくっつけてください。
実際、RS2のイージスシステムも昭和記念塔の上に「空っぽ」のモデルを乗せているだけです。

10電プロ:2006/10/19(木) 22:25:11
プロペラ機の要望があったので、やってみました。

レシプロ機エンジン音キット
http://rectangle.sucre.ne.jp/rs3/engine.zip

システム的にかなり無理をしてるので、この機能に関する追加要望はなしの方向で。

11電プロ:2006/10/22(日) 10:57:31
車輪がつくようになりました。
また、プレイヤーの機体IDと武器IDを取得する命令が追加されました。

車輪のユニットなどが増えているため、systemunit.rsuとgraphiscフォルダ内のランディングギアのモデルも必要となります。

http://rectangle.sucre.ne.jp/rs3/rs3_305.zip

↓武装IDの取得方法
getstatus PLAYERS_WEAPON ;R0に機体ID、R1〜R3に各パイロンの武器IDを代入

↓ハヤト機に車輪をつける
putgear L1
※一度出すと、しまえません。ユニットIDが「5」で固定なので、上手くラベル付けすれば出したり、しまったり、消したり出来るはず。

12Kail:2006/10/28(土) 21:09:22
shootmissileの命令で機銃や爆弾を撃てるようにできないでしょうか?

13電プロ:2006/10/29(日) 09:39:45
機体定義で
UNIT_WEAPON2
を爆弾系統にしておけば爆弾を投下します。
音がミサイル発射音限定ですが、これについては属性を見て音を変えるように修正しておきます。
なお、発射アルゴリズムが「発射ボタン」と異なるため、チェーンガンなどは打てません。

機銃に関しては、子オブジェクトとして銃座などを配置すれば実現可能です。

14電プロ:2006/10/29(日) 18:27:52
movegearheight命令を足しました。
あと、Ver3.04のリプレイファイルを読み込むようにしました。
リプレイが異常だったのは、ミサイルカメラのデータが破壊されていたのが原因で、
3.04のデータを再生する場合は、このデータを読み込まないようになっています。

http://rectangle.sucre.ne.jp/rs3/rs3_305c.zip
http://rectangle.sucre.ne.jp/rs3/rs3_script_ref.html

15CLOCK:2006/10/30(月) 22:00:38
確認ですが、RSE.exeについても仕様変更・追加依頼の期日はあるのでしょうか?
デグレなどを考えると、さすがに11/11以降には余程のことが無い限りはバグ修正だけでしょうけど。
進捗・業務連絡スレの方で書こうかとも思いましたが、こちらが本スレなので。

16電プロ:2006/10/30(月) 23:56:11
本来の筋からすると、10/31で追加命令は締め切りなのですが、
バグ回避だとかなんだかんだでバタバタするので、期日を決めてもしょうがないです。
ただ「要望」は11/11以降は発生し得ないはずなので、そこんとこ、了承願います。

で、ですね。正直なところ残件の把握が出来ていません。先週あたりから手ごろなものをまとめて処理し始めたので、
冬コミに関係なさそうなものや再現が面倒そうなバグは手をつけていません。

ごった煮ディスクの対象外の仕事をするゆとりは無いので、
自分の製作中の「収録する」ミッションに関わるもののみのピックアップをお願いします。
親子関係のバグはスクリプト側の原因であることが多いので、バグ部分を抽出した
スクリプトを用意してくれるとすばやく対応できます。

17CLOCK:2006/10/31(火) 00:23:00
>>16 電プロさん
了解です。

18CLOCK:2007/07/09(月) 00:46:08
お久しぶりです、CLOCKです。
さっそくなのですが。

・スクリプト有のネット対戦時でプレイヤー機出現位置を固定する方法
 これは巨大トンネルを作った際にプレイヤー機がトンネル外へ配置される可能性があるためです。
 出現ポイント付近を巨大な空間にすればよいのですが、
 その場合初期配置の巨大空間での戦闘がメインになりかねずトンネルっぽくなりません。
 できればRS2の地下トンネル面のように、数箇所の出現ポイントのどれかに
 ランダム配置できるような機構があるとありがたいのですが・・・。

・スクリプト自体の#include
 こちらは簡単にできればで良いのですが、共通処理が多い場合はこの機能があると
 共通関数を外出しした共通ライブラリ的sptを作ることができるため、
 修正や管理が非常に楽になるのですが・・・。

19Lotus:2007/07/13(金) 00:03:04
こんばんは。

機能追加要望です

・機銃の有効射程距離を任意で指定できるようにして欲しい
 現在は機銃弾の射程は約300ですが、これを伸ばせるように
して欲しいです。地上兵力の強化や、大型兵器に対して装備させ
迫力を出したいです。

・指定した時間が経過すると起爆するミサイル
ACのリムファクシやグレイプニルのミサイル風味

20ななし:2007/08/13(月) 18:00:42
機能追加要望です、あまりうまく表現できないかもしれませんが・・
getpad・setpadにブレーキとブーストキーの追加
ユニットのスピードをレジスタに代入できるような命令の追加

あとここで聞いていいのかは不明ですがついでに
UNIT_TYPE2で現状指定できるのはどのようなものがあるのか

21CLOCK:2007/08/13(月) 23:31:34
>>20ななしさん

UNIT_TYPE2に関しては、あやしい仕様確認スレッドの以下のレスで多少話題になっていましたので、
参考までにどうぞ。

http://jbbs.livedoor.jp/bbs/read.cgi/otaku/7445/1157379817/59
http://jbbs.livedoor.jp/bbs/read.cgi/otaku/7445/1157379817/60
http://jbbs.livedoor.jp/bbs/read.cgi/otaku/7445/1157379817/61

22神名隆秋:2007/09/21(金) 23:36:38
RS2のときにあったリングとゲート(潜ると消えるやつです)
のRS3での復活と
トレーニングのパッケージに含まれているコンテナとバルーン
これらをrs3unit.rsuに組み込んだバージョンを希望します

23神名隆秋:2007/09/22(土) 21:39:44
低反動砲などから発射できる弾頭にミサイルも
指定できるようにできませんか?

24ながら:2007/09/22(土) 21:47:10
ADV、広げてもシナリオ系キャンペーンやる人にしか
関係のない話で申し訳ないですが、
*.midが使えるとADVの日常サウンドやブリーフィング・機体選択の
非戦闘系音楽の素材選択の幅が広がるので「playmidi」(?)命令を
希望します。容量的にも小さくなりそうですし。

25神名隆秋:2007/09/24(月) 21:30:54
現在、全ての航空機と武装はユニットID254までに含めなければいけない仕様のようですが
これを全IDまで拡張できますか?
実現できれば自作武装と機体の追加がかなり楽になるかと

26CLOCK:2007/09/24(月) 22:18:38
すみません、ちょっと横から失礼します。

>>25
多分それをやっちゃうと、既存のセーブデータとの互換性問題が出るような気がします。
旧RSE作成のセーブデータを新RSEで使うのは多分プログラム的にも難しくはないと(勝手に)思うのですが、
RSEver3.11cと3.10eのように、3.11cでは正常動作しないけど古い3.10eでは大丈夫というミッションがあった場合、
RSEのダウングレードを行うと旧RSEのセーブデータを使用できない可能性があると思います。

俺も以前同じようなUNIT_IDの並べ替え作業を延々やったことがあるので苦労はわかるのですが・・・。

27電プロ:2007/09/24(月) 22:37:10
>>25
まさしくCLOCKさんの言うとおりなのですが、セーブデータのコンバートも出来ないこともないです。
結構需要ありそうですね。

セーブデータにバージョン情報のフィールドは存在しないのですが、
幸い「すきま」が非常に多いつくりになっているので、適当に何とかします。

28電プロ:2007/09/24(月) 22:41:39
midi,MP3,CD-DAなどなどの対応ですが、実は初期のRectangle作品でやっておりました。
ただしMediaPlayerのコンポーネントを呼び出す関係上、簡単には一時停止したりフェードアウトさせたり出来ないので、カオリン以降使っておりませんでした。
ソースコードは引っ張り出せるので使えないこともないのですが、需要はどれくらいあるのでしょうか?
重いイベント処理読み込み時などに音飛びしたりするリスクがありますが。

29CLOCK:2007/09/24(月) 23:32:22
音関係の話が出たのでついでに追加命令要望を。
rad,wavファイルの「途中から」再生が可能な命令の追加か既存命令修正は可能でしょうか?

playwave BGM, "bgm\sample.rad", -1, 88200 ;最終引数が開始位置
playwave2 BGM, "bgm\sample.rad", 88200, -1, ;88200が開始位置

こんな感じで再生開始位置を設定できるような命令です。


>>25 神名さん
>>26 電プロさん
失礼、蛇足だったようですね。

>>28 電プロさん
MP3については私も1票を。
ただmidiやMP3でも従来のplaywav命令のようなループポイント設定やループ再生はできるのでしょうか?

30電プロ:2007/09/24(月) 23:44:57
>>27
対応しました。
データコンバートにも対応していますのでユーザーは気にせず使えます。

31:2007/10/02(火) 10:46:03
機能追加要望です。

ネット対戦でプレイヤー機は全て「〜.plc」内で指定した同一のラベルコードになってしまいます。
ラベルコードを用いる命令はいくつもあるのですが
区別ができないので、実質プレイヤー機には使えない命令がいくつもあります。

そこでプレイヤー機のラベルコードを変更できる命令を希望します。
必要になるのはオンライン時のみになるはずなのでネットワークIDで識別して

 setlabelplayer NETWORK_ID, ラベルコード

のようにできないでしょうか。
これを使えば>>18
>・スクリプト有のネット対戦時でプレイヤー機出現位置を固定する方法
の解決策にもなると思います。(○○番ラベルは××にsetposというように)

32Ironnitride:2007/10/05(金) 21:41:06
>>電プロ氏
命令追加要望です。

プレイ中の画面に現在にフラグもしくはカウンタの値を表示させることはできませんか?
一例
look_status F1 ;フラグ1の内容を規定の位置に表示する
もしくは、
look_status C1, 100, 200 ;カウンタC1 の値をX=100,Y=20の位置に表示する。

公開前の制作者デバッグ作業の際に有効かと思いますので、
検討願います。

33Ironnitride:2007/10/05(金) 23:00:37
>>32について。
正:プレイ中の画面に現在の〜
誤:プレイ中の画面に現在に〜

正:〜カウンタC1 の値をX=100,Y=200の位置に〜
誤:〜カウンタC1 の値をX=100,Y=20の位置に〜

です。誤記申し訳ございません。

34電プロ:2007/10/08(月) 23:10:48
>>29
MediaPlayerのモジュールを流用するので、流しっぱなし以外使えません。
ループ再生や途中再生機能はありません。
カオリン以降使わなかった理由はコレです。

最後まで再生したら、また再生される(←連続再生ではない)ようにRSE側で制御するので、
十分長い曲データを作っておいて、フェードアウトさせるとよいでしょう。

>>33
内部変数の表示機能は非常に便利でなおかつ作るのが簡単なので、
早めにと実装してしまいます。

35wakaba:2007/10/16(火) 07:43:06
命令ではないですが、要望なのでこちらへ。

RSphereServer.exeのログファイルの出力ファイル名と出力先について要望です。

1. ログファイルの出力ファイル名
現在のログファイル名はポート番号のみでユニークをとっているため、
重複するポートでサーバを再起動した場合に過去のファイルを上書きする事があります。

ログは現在の状況やトラブル発生時の貴重な情報源となるため、誤上書きを回避するために
ログファイル名にファイル書き出し開始日時を付与して頂けませんでしょうか?

2. ログファイルの出力先
現在のログファイルの出力先は原則、最後に開いたフォルダとなります。
そのため、場合によって出力先がまちまちとなっています。

追跡性向上のため、以下のどちらかの実装を要望します。
・RSphereServer.exeと同じ場所への出力
・新規にログファイルの出力先を設定可能とし、そこへの出力。

お忙しい所申し訳ありませんが、ご対応のほどよろしくお願いします。

36GWB:2007/10/21(日) 13:09:35
Here are a few command that I think would be convienient:
1.getpadnow/trg for "C" and "V" key.(Engine thrust check. In fact this is the key for the player to control the robot unit after transformation, Allowing the unit to move more like a robot than a plane.)
2.a command that turns the gravity(stall calculation) on/off in .rse.(makes it possible to reduce to 0 speed without stalling in scenarios other than space1/2/3.)
3.playmovie command.(for MPG1/MPG2 standard 4:3 resolution videos)

37MF社テストプレイヤー:2008/01/12(土) 19:35:53
実現可能かどうかは分かりませんが、ネタだけ振ってみます。
ロボット戦車(SpaceCherryのロボットみたいな二足歩行型機体)で、
加速ボタンでジャンプできるようになりませんか。
通常はビルの隙間に隠れてるが、高速道路や工場の屋根に上がって攻撃とか。
実現したらフロントミッションごっこみたいなことができなかな〜と。

38Dragon:2008/01/13(日) 22:51:22
命令追加の希望です。

現状で可能であればパイロンを選択して武装の補給を可能にして欲しいのですが。
(supplyweaponでパイロン選択して補給といった感じで)

また、RSO2で使用するわけではないのですが、
現在選択しているパイロンor発射した武装のIDを取得する命令があれば、
特殊な武装が多数作成できるので追加希望なのですが。

39水月:2009/04/14(火) 23:53:59
機能追加要望です。

ネット対戦中に
レーダーに味方のマーカーしか表示されないようにすることは可能でしょうか?

40オストマルク:2009/07/26(日) 21:08:17
こんばんは。
 日記にて今後の展開を見せていただきました。
要望の取り込みついて記載されていましたが、
まずは現状RSEで何が出来るのかをまとめ、
全ての命令が動作することを確認して
欲しいです。
 機銃の射程延長やミサイルポッドなど
イロイロ増えていますが、rsuファイルに
関するリファレンスが無く現状何が出来る
のか分かりません。
また、大分前にdestroy命令に不具合があり
本編すら動かないこともありました。

41電プロ:2009/07/27(月) 21:35:30
>>オストマルクさん
rsuリファレンスについては過去に作成し、それを元にHTML化したコンテンツが若葉堂で用意されているはずなので探してみてください。

バージョンアップで追加された命令については単体では全て動作します。
また、既存命令についてもRS3は正しく動作します。
destroy命令が本編ですら動かないのは単なるバグでした。
その件以降、本編でも動作チェックするようにしていますので、恥ずかしい不具合は減っているはずです。

また、RSEではスクリプトの記述制限がかなりユルイため、電プロの想定外の利用方法がされている自作ミッションが非常に多く、過去の自作ミッションが動かない互換性問題が発生しています。
今からガチガチに記述制限を固め直すよりは、過去のバージョンを公開することで対応することにしています。

42jojo:2009/08/02(日) 14:35:18
こんにちわ
3.5の開発お疲れ様です。公開を楽しみにしております。

一段落してからで構いませんので、
TOYBOXのsectionで、ミサイルが当たったときの衝撃波エフェクトを追加して頂けないでしょうか?
非常にリアルで秀逸なエフェクトですので、使いどこが多々あると思った次第です。

43水没王子:2009/08/30(日) 02:33:46
こんばんは。
スクリプトに関してですが、getpadnow命令でヨーボタン
の認識の追加は可能でしょうか?
relrotと組み合わせて自機のY軸の回転速度を上げるのに
使いたいです。

44電プロ:2009/08/30(日) 12:25:49
>>42 jojoさん
TOYBOXよりはcreatebombのように、特定座標にエフェクトを出すほうが制御しやすいと思います。

>>43 水没王子さん
今思えばそもそも操縦のアナログ値を取得する機能が無いですね。どれもON/OFFだけ。アナログ値を取得する機能が必要です。

いずれも、機能追加については旧スクリプトへの追加は考えていません。
2重検証になり開発時間が2倍になることに加え、その期間だけRaidersShphere4thの発売が2倍で遅れるだけだからです。
SphereScriptへの追加ということでよろしいでしょうか?

45kiris:2009/08/30(日) 18:18:19
MMDという3Dモデルにモーションを付けて動かすソフトが流行っているようですが
このモーションデータをRSEに組み込むようなことはできないでしょうか。

具体的には、歩く動きをMMDで作成し、
人型ロボの動きのパターンとして上記モーションデータを指定する、といった使い方です。
複雑な軌道を描くミサイルにも利用できるかもしれません。

難しいこととは思いますが、御一考の程、よろしくお願いします。

46電プロ:2009/08/30(日) 21:16:14
>>45 kiris さん
それ、2年後にやる予定です。RaidersSphere4thの「その次」ですね。
メタセコイアがアマチュアモデラの事実上標準になっているように、
MMDがどうなるか、動向を気にしています。

47水没王子:2009/08/31(月) 01:27:52
>>44
はい、SphereScriptへの追加をお願いいたします。

48電プロ:2009/09/04(金) 00:07:34
(以下、ネットワークプログラムに詳しい方の情報提供をお待ちしています。)

今UDPの導入を進めているのですが、ここで疑問。
「UDPはルータを超えられるのか?」という点。

たとえばTCPの場合、クライアント側からセッションの確立を行えば、動的NAPTテーブルが構築されるのでクライアントで禁止しない限りは何もルータ設定しなくても問題なく双方向にTCPで通信できます。(つまりサーバ側だけ静的NAPT設定すればよい)
ところがUDPの場合、セッションが無いため、クライアントからサーバへはソケットが開けても、サーバからクライアントへはNAPTテーブルが無いからソケットが開けないのでは?などを考えてしまいました。

先にクライアントからサーバへUDP送信が行われていれば、ルータがその辺の空気を読んで反対側も許可してくれるんでしょうか?
家の中で実験できないので、困っています。

49wakaba:2009/09/06(日) 01:09:23
>>48
一般的にはクライアント側ルータのUDPポート開放が必須になるはずです。
UPnP使えばルータがその辺の空気を読んで許可してくれますね。

実験については、日当たり\600-で利用できるWiMAXサービスに加入するか、人を集めて試すのは如何でしょうか?
個人的には後者がお勧めです。(ルータによって挙動がまったく違うため)

50電プロ:2009/09/16(水) 21:35:30
>>49 wakabaさん
SkypeがUDPを使っている以上、何か方法はあるはずだ、と人に聞いたりネットで調べたり、実験したりでいろいろ分かってきました。
結論は、ソフトで工夫すればポート開放はサーバ側だけでOK。
※実証実験していないので実際はこの連休中に実験します。

手順
1.サーバがUDPソケットを作成、バインド(事前にポートを空けておく)
2.クライアントがUDPソケットを作成
3.クライアントが最初にUDPデータグラムを送信。(ここでクライアント側ルータにも送受信できる穴が開く)
4.受信したサーバは送信元(つまりクライアントの)ポート番号を保持
5.サーバからクライアントに送る場合は4で受信したアドレス・ポート番号へ送る。
6.クライアントは3で送信したソケットでデータを受信

必ずクライアント側が最初にデータを送るということと、サーバはrecvfrom関数で得られた「送信元」にデータを送るという2点がコツ。
UDPはバインドしなくても、最後に送信したポートを覚えている挙動をするようです。

このへんの話、昔取ったテクニカルエンジニア試験[ネットワーク]を思い出します…。

51wakaba:2009/09/22(火) 17:24:57
>> 電プロさん

以下2点の命令の追加を希望します。
お手数ですが、ご確認頂ければ幸いです。

1. 未定義を検知する方法について
現在のSphereScriptでは未定義の変数、定数、関数を検知する方法はありますでしょうか?
もしも無いようでしたら、以下の関数の追加を希望します。
exist_var(変数名);//変数が未定義かどうかを返す。既に存在している場合はtrue、そうでない場合はFALSE
//exist_var(current_hp);など

exist_define(定数名);//定数が未定義かどうか返す。既に存在している場合はtrue、そうでない場合はFALSE
//exist_define(MAX_HP);など

exist_function(関数名);//関数が未定義かどうか返す。既に存在している場合はtrue、そうでない場合はFALSE
//exist_function(get_hp);など

2. 変数の型を確認する方法
現在のSphereScriptでは変数の型を検知する方法はありますでしょうか?
もしも無いようでしたら、以下の関数の追加を希望します。
var_dump(変数名);//変数名で指定された変数の持つ、型と値を"標準出力する"
get_type(変数名);//変数名で指定された変数の持つ、型を文字列として返す

52電プロ:2009/09/22(火) 18:18:34
>>wakabaさん
デバッグ用のヘルプ機能ですか?
今は何も無いです。

別の場所に書きましたが、#defineをはじめとするプリプロセッサはコンパイラがどうこうできる範囲外なので
基本的に「実行時に何かする」ことが原理的に出来ません。理由はコンパイラが食った時点でdefine内容に置き換えられているから。

変数と関数は内部的に同一なので、
get_type(変数名);
でint,float,string,function,refer,NULLのどれかが返ってくる、で良いと思います。
現在のwait_time関数みたいに、システムコールを追加して、関数でラップすれば出来ないこともなさそう。

53wakaba:2009/09/23(水) 02:02:29
>>52 電プロさん
> デバッグ用のヘルプ機能ですか?
そうなります。
それに加えて、初心者向け学習コンテンツ用と基盤系構築用です。
特にexist_varはstaticと組み合わせれば、かなり安全な基盤を作れるので。

> 別の場所に書きましたが、#defineをはじめとするプリプロセッサはコンパイラがどうこうできる範囲外なので
> 基本的に「実行時に何かする」ことが原理的に出来ません。理由はコンパイラが食った時点でdefine内容に置き換えられているから。
了解です。ってかそりゃそうですね。

なければ定義するしあれば何もしないとか、動的に定義を変更したい定数が合った場合は、constが必要になるイメージでしょうか?
--以下、フレームワークでよく見る例をconstで表現してみる---
const PACKAGE_ROOT = 'rs3original/'+ user_name +'/'+ package_name +'/';
if (!exist_const(PACKAGE_VOICE_ROOT)) { //定数"PACKAGE_VOICE_ROOT"が未定義の場合
const PACKAGE_VOICE_ROOT = PACKAGE_ROOT + 'voice/'; //定数"PACKAGE_VOICE_ROOT"を作成する 場所はパッケージフォルダ直下のvoiceとする。
}
-----
ちなみに、極力組み込み関数側に処理を持たせたほうが実行効率が上がると考えていますが、認識としてはあっていますでしょうか?
# スクリプト言語では配列の全要素に処理を掛ける場合に、スクリプト言語上のforよりも言語を作っているCの上で走る組み込み関数で処理を行った方が劇的に速いとかがザラにあるので。
もしもそうでないならば、片っ端から関数定義と言うのも手なのかもしれませんね。

> 変数と関数は内部的に同一なので、
なるほど。
function var_dump(value)
{
print_string(get_type(value) +":"+ value +"\n");
}
で一応カバーできますね。
配列を再帰的に表現したい場合はどうしたものか。

そういやNULLってあったんでしたっけ?

# print"_string"を書くのがだるくなってきましたorz
# 文字列しか出せない事は自明なので、printじゃ駄目なのでしょうか?
# いっそ、()も略して print "ほげふが";とか出来れば楽なのに。

54wakaba:2009/09/27(日) 00:31:48
電プロさん

お疲れ様です。RSEclipse開発チーム、若葉です。

sps.exeに以下のオプションの追加を希望します。
・「-c」および「-p」

現在のsps.exeでは外部から呼び出された場合、実行終了後に明示的にEnterが押されない限り、呼び出し元に出力結果を返す事ができません。
そのため、Enterを明示的に入力できない場合、なんら出力を返すことなくゾンビライクなプロセスとなってしまいます。

また、(input_string()関数を使って)対話機能をスクリプトで実装した場合も、Enterが押されるまで内容が出力されません。
# 「ほげほげを入力してください」としていても、その文章すら表示されません。

これらを回避するために、以下のオプションの追加を希望します。

----
・-c
スクリプト実行後、ユーザ入力を待たずにそのまま処理を終了します。
----
・-p
スクリプト実行時、適宜文字列の表示を行います。
このオプションはパフォーマンスの劣化を招く場合があります。
----

これらのオプションが導入された場合、以下の作業パターンを構築することができます。
1. RSEclipse上で、SphereScriptファイルを編集する
2. Ctrl+Enterを押下する。
3. 現在編集中のSphereScriptファイルが画面下のコンソールで実行され、結果が返ってくる。
4. コンパイルエラーが出た場合2.に戻って修正する。
5. コンパイルエラーが出なくなったら「RSEを起動する」ボタンを押して、ミッションを一括反映。デバッグする。
こうすることで、RSE起動まではマウスに触れる事なくスクリプトの開発を行えます。
結構神経を使う、ファイルのドラグアンドドロップをする必要もなくなります。
多分、今まで30分かかっていたスクリプト開発作業が20分くらいにはなるはず。

この機能が追加された場合「既存開発者の開発スピードを上げ」「新規ユーザのスクリプト学習効率を上げ」何より「電プロさんのスクリプトデバッグ時間の削減」を図ることが出来ます。

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

追伸:
上記オプションを実現するにあたって、RSEclipse開発チームで調査した結果を以下に残します。
・-cオプション
-cオプションが渡されている場合、終了時の入力待ちをスキップする処理を追加。

・-pオプション
input_string()関数などの入力待ちが発生する関数実行時に、-pオプションが渡されている場合は「flushall()関数(Cですね)」を呼び出す。
RSEclipse開発チーム側での実験では、gets()関数の前にflushall()関数を呼べば、それまでの出力は表示されるようになるようです。

追伸の2:
本件はRSEclipse開発チームでは以下のチケットで管理しています。
https://ssl.wakabadou.net/trac/rs/tool/rseclipse/ticket/155

55電プロ:2009/09/27(日) 22:43:26
>>54 wakabaさん
>・-c
>スクリプト実行後、ユーザ入力を待たずにそのまま処理を終了します。
これはともかく、
>・-p
>スクリプト実行時、適宜文字列の表示を行います。
これの意味が分かりません。print_stringのあとにinput_stringすればきちんと表示されるはずですが…。
出ないとしたらたぶんOS依存の不具合です。

なお、SphereScriptのマルチスレッドはWindowsのスレッドを使っているわけではないので、
コンソール入力やメッセージボックス出力で全スレッドが『同期を取って』止まります。


-cオプションを追加するにあたり、外部プログラムから呼び出されたことを考えると、
返り値を渡せると良いかもしれません。ここで言う「外部プログラム」にはもちろんSphereScriptも含みます。

56wakaba:2009/09/28(月) 04:55:28
>>55 電プロさん
> これの意味が分かりません。print_stringのあとにinput_stringすればきちんと表示されるはずですが…。
私が確認した環境ではXPでした。
とりあえず、窓7あたりで確認を行ってみます。

> なお、SphereScriptのマルチスレッドはWindowsのスレッドを使っているわけではないので、
> コンソール入力やメッセージボックス出力で全スレッドが『同期を取って』止まります。
このイメージ、説明だとどうやって伝えればいんだー。orz

> -cオプションを追加するにあたり、外部プログラムから呼び出されたことを考えると、
> 返り値を渡せると良いかもしれません。ここで言う「外部プログラム」にはもちろんSphereScriptも含みます。
基本、返り値は標準出力ですね。
ちなみに現在の問題は、標準出力を受け取れないので何も表示できなくなっている状態だったりします。

どちらかというとオプションの追加をより切実に希望したいところです。

-package 11th_ONLINE.rsp -size 800x600 -window -online -host rectangle.jp -port 17328 -name wakaba -team #00000000 -autostart
# -windowでウィンドウモードで起動する、-onlineでネットワーク接続をする、-autostartで起動ボタンを押さなくても、そのまま起動する
とか。

ちなみに「-package 11th_ONLINE.rsp」オプションがあるとRSEclipseからRSE.exeを起動した時点でパッケージ選択済みと出来るので、より開発が容易になったりもします。
敵配置エディタの起動も含めると、-sizeと-windowもですね。

57オストラヴァ:2009/11/04(水) 22:20:57
こんばんは
要望に関してです。可能であればお願いいたします。

1.移動する地上敵
 今のところ船舶が該当しますが、AAUNやSAMが
多少は動きつつ攻撃できるようになって欲しいです。
地上敵は倒し方がワンパターンで直ぐに終わって
しまうので動きがあるとうれしいです。
航空機が機体を水平に保ちつつ高度0で障害物
を避けて動くようなイメージ。

2.自動ロックが出来るミサイル
 rsuファイルで、UNIT_ATTRIBUTEをAUTOLOCKに
すると子弾頭が自分がロックした敵以外を攻撃
します。これを最初から発射できるように
して欲しいです。つまり敵をロックせず
ミサイルを発射し、有効射程内の敵をランダム
で攻撃できるような感じで。

58jojo:2009/11/09(月) 01:58:38
お世話になります&kari4お疲れ様です。

現在オン対レーシングと戦車のミッションを作っておりますが
これに関する追加命令要望を出します。

1)文字表示機能。
レーシングで順位表示をするのに使います。
1位 だれだれ(get_player_nameで取得)
といった風にする予定です。

2)スプライトを全クライアントではなく、生成したクライアントにのみ表示(オンライン)
レーシングでコースマップを表示機能があるのですが
あるクライアントが生成したコースマップスプライトを、
ほかのクライアントも受信してしまい、画面がカオスと化します。
rsuでNO_NETWORK属性も効果ありませんでした。

3)get_pad_trg/nowに左右ヨー、加減速キーを追加
戦車の操作に使用します。

4)機銃の射程の分だけ照準マーカーを表示できるオプション
戦車搭載の対空砲の操作に使用します。
現在、AIR_RANGE 1000でも 300付近からしか表示されません。
距離1000から照準マーカーが出るようになると、フェアな地対空バトルが可能になります。

3)、4)は優先度低めです。
お忙しいところ申し訳ありませんが、宜しくお願いします。

59電プロ:2009/11/15(日) 19:34:42
>>57 オストラヴァさん
両方ともRS4では入ります。お楽しみに。

>>58 jojoさん
ゲーム画面の場合いわゆるprintfと概念からして違うので、想像しているような文字表示は非常に困難です。
SpE4.0ではウィンドウをスクリプト側から制御できるようにするのですが、
現在製作中のゲームがあるならば、実験(というか人柱)として先行実装しようと思います。

すぴらいとがネットワークを止められない件は、単に不具合だと思うのですが、
11thでは正常に動いています。(他クライアントには送られない)
RSPファイルを見てみないと分かりません。

操縦桿とスロットルについては、get_pad_analog命令を追加しようと思っています。

ガンサイトの射程はRS4でなんとかします。


が、上記全て現在対応できる状況ではありません。冬コミ後になると思います。
冬コミでそれを「売る」ならば別ですが…。

60jojo:2009/11/22(日) 19:37:12
>>59
ありがとうございます。冬コミ後に対応して頂ければ幸いです。

SPRITEの問題だけ5分くらいで解決できそうでしたら助けて下さい。
RSPというとincludeされたrsuのことですか?
;------------------------------------
UNIT_ID 254
UNIT_NAME "レースマップ"
TEXTUREFILE_LARGE Testtube\graphics\sprite\racemap.bmp
TEXTURESTYLE SPRITE
UNIT_TYPE EFFECT ;種別(FIGHTER(戦闘機)/PLANE(航空機)/VTOL(ヘリ等)/SHIP(船舶)/VEHICLE(車両)/FACILITY(施設)/EFFECT(エフェクト))
UNIT_ATTRIBUTE OBJECT ;属性(OBJECT(飾り:攻撃対象外))
UNIT_ATTRIBUTE UNLISTED ;属性(UNLISTED(エディタでリストアップしない))
UNIT_ATTRIBUTE NO_NETWORK

61通行人T:2009/11/22(日) 20:55:44
>UNIT_ATTRIBUTE NO_NETWORK
           ↑ココ
……全角スペースだからじゃないっすか?

62jojo:2009/11/22(日) 21:57:56
マヌケが見つかったようです
お騒がせしました。
>>61通行人Tさん本当に有難うございます。助かりました。

63堀江伸一:2010/01/26(火) 20:10:34
機体の物理挙動を表す連立方程式に一回微分を導入することで、機体の向きと機体の進行方向をばらばらにすることができるような?

後は、特定の操作が行われたとき、上昇や下降や回転などが行われたときに機体の向きを変える関数。
これらの関数に機体の向きと進行方向の2つの変数を追加して機体挙動を設定してやれば、やればなんとなくリアルっぽいフライトシミュレータになるような。

後は機体の速度、機体の各速度で機体を回す関数をかましてやって、、、、
いやなんでもないです。


妄想です、寝ます^_^

64JoJo:2010/02/01(月) 02:28:54
4の台本お疲れ様です。
開発日記にありました「3.51のオンライン部分の見直し」に際して、1つお願いがあります。
もしお時間があればご検討下さい。宜しくお願いします。

現在、『舟_ONLINE』(ttp://renars3.blog46.fc2.com/blog-entry-50.html)という
小船(高速艇)を操縦できるオンラインパッケージを公開しています。

オンライン対戦では遅延対策として、速度、角度などからRの未来位置を
予測しつつ動かしていると思いますが、これが船で裏目に出ております。

set_posでプレイヤーユニットを一カ所に固定しても
予測動作で動き続け、飛び立とうとします。(ttp://livetube.cc/Hiko/RaidersSphere_船ONLINE )

この結果、見た目もさることながら、狙いが非常につけにくくなり対戦になりません。
(大人数で大幅に遅延するとき等、特にひどくなります。)
大きなマイナスポイントになっています。

将来的に公開される戦車のパッケージでも同じ現象が起きますので
予測飛行をしないUNIT_ATTRIBUTEを実装して頂けると有り難いです。

;-----------------------------------------
以下別件です。
v3.21以前から
自機の近くから発射されたレーザー(自機含む)の
(LARGE,HUGE属性への?)当たり判定が極近距離で消えています。
入射角など諸条件で消える閾値が変わりますが、おおまか50程かと思います。

例えば、短距離レーザーで「剣」を再現すると切れないナマクラになってしまいます。

65電プロ:2010/02/05(金) 23:18:39
>JoJoさん
どのようにして船を実現しているかにもよるのですが、
何も小細工せずにHUDに表示される速度、またはset_speed();した速度を元に軌道予測するのが本来の仕様です。
ユニットの座標跳びが酷くなった県も関連性があるはずですが、全体的に見直す必要があるので、
これらの件もまとめて対応します。

レーザーについては、当たり前ですが短距離レーザーを想定していなかったので、計算がバグっているのかも知れません。
画像範囲に合わせるのが本来の動作ですので、内部の処理を確認しておきます。

66ドレイク:2010/07/06(火) 11:52:18
要望です。
可能であれば実装して欲しいです。

1.自機以外の機体の装備を複数設定可能に
 現状では敵機は機銃+ミサイル一種類だけですが、
サブやセンターの武装を可能にして個性を出せる
ようにして欲しいです。
 エースコンバットのように敵機がたまに高性能ミサイルや
長距離ミサイルを撃てれば戦いにメリハリが出せると
思います。

2.カウンターを画面表示出来る関数
 エースコンバットのようにハードモードでは機銃に
制限をつけ、残り弾数が表示できるようにしたいです。
自作でやっているのを見たこと有りますが、ソースが
有り得ないボリュームになっていたので、共通関数
として使うことが出来ればうれしいです。
 表示する座標と数字を指定し画面表示できる
関数を希望します。

以上です。

67KEN:2010/08/09(月) 16:59:40
やはり機体は最高速度だけでなく、加速性能もほしいです。実機つくるとすごい速さでマッハ2ぐらいになったりするのは違和感が出てしまいます。
ミサイルが加速性能を決められるなら何とかなりませんか?

68<削除>:<削除>
<削除>

69KEN:2011/02/15(火) 16:14:16
敵機体のユニットIDを取得するにはどうすればいいですか? できなければ追加していただきたいのですが。

70ジオペリア:2011/02/15(火) 20:57:30
はじめまして。
 追加命令の要望です。可能なら実装してくれると嬉しいです。
追加命令の内容   「画面を揺らす」
イベントモードでトーチカや大型の武装船が発砲したときや、フォーチュンなどのデカいヤツが墜落したとき等に画面を揺らせばイベントシーンにも味が出ると思います。

71JoJo:2011/02/21(月) 02:42:52
ロックオン(ミサイルシーカーが赤)した敵機のラベルを取りたいのですが
get_lockでは
いったんロックオンした後ロックオンから外れた場合も
距離、画面内外に関係なく(次のロックオンまで)
同じ敵機の値を返し続けてきます。

ロックオン中のみラベルを返し、
その他の場合は0ないし-1を返す新関数あるいは仕様変更をお願いします。

72KEN:2011/02/22(火) 22:45:39
JoJoさん get_lock命令は返値でロックしているか否かを返すから、それで判断させてはダメなのですか?

ところで捕捉範囲外でも、ロックオンしようとして選択した敵機のラベルを返すのですか? それはそれでBVRミサイルを再現するのに使えそうだと思うのですが。

73電プロ:2011/02/22(火) 23:59:51
>>ジオペリアさん
このあたり、RS4thでいろいろ機能拡張を考えています。

>>JoJoさん、KENさん
「最後にロックした敵」が分かるようにあえて値を保持しています。
ロック解除かどうかは戻り値で判断してください。
書くのが面倒ならばラッパー関数を作ればよいでしょう。
ここで「誰か作ってー!」って叫べば多分誰か作ってくれるはず。
(誰も作らなかったら電プロが作ります)

74JoJo:2011/02/23(水) 01:23:48
>>KENさん、電プロさん
返り値は盲点でした。有難うございます。

76Y1:2011/03/08(火) 14:53:30
RS4でRaidersを「手動で」着陸させるような事は出来ないでしょうか・・・
出来たらかなり拡張性が広がると思うのですが、いかがでしょうか?

77電プロ:2011/03/23(水) 23:52:00
>>76 Y1さん
RS4thでは、というかSpE4では「着陸可能ユニット」が用意されますので、空港も空母も自由自在に作れます。
チョロッと弄ればレースゲームもどきも作れるか?

78Y1:2011/03/27(日) 18:47:59
成程・・・深い

ありがとうございます!

79ホビロン:2011/04/18(月) 08:16:12
RS4thの追加要望です。

1.機銃の弾の差別化
 ガンとビームガンは音が違うだけで特に違いが有りません。
例えば、ガンだとダメージを受け易く、ビームガンだとダメージを
受けにくいといった防御面での調整を可能にして欲しいです。

2.チェーンガンのカスタマイズ
 パイロンに装備する兵装で、ボタン押しっぱなしのとき一定間隔で
射撃、ボタンを離すと撃つのをやめるといった兵装が欲しいです。
 搭載機銃とミサの同時撃ちをやめさせたり、また、空いた
搭載機銃のボタンで何かやったりしてみたいです。

以上です。

80電プロ:2011/04/21(木) 20:58:31
>>79 ホビロンさん
SpE4では両方とも出来るようになるでしょう。
2はちょっと大変そうですが、スクリプトから強制的に武器発射させてフルオート射撃させればほぼ同じ結果が得られるはず。

81KEN:2011/04/21(木) 22:08:56
>>80
しかし、選択中の武装を取得する関数がないので、うまくいかないのでは? ミッション開おめるとか始からボタンを監視しても、イベント中は止めたりとめんどくさいんですよね・・・

82\(^o^)/:2011/04/21(木) 22:31:41
エンジン炎を「EFFY」風なモノに出来ないでしょうか

83濡烏:2011/04/23(土) 00:34:53
命令要望というわけではないのですが、
使用する3Dモデルのテクスチャを複数枚にしてもOKになりませんか?
テクスチャを1枚絵にまとまるのはなかなか手ごわい作業ですので…

84電プロ:2011/04/23(土) 11:30:02
>>81
「SpE4では」両方とも出来るようになります。
構造が根本的に変わって「選択中の武装」という概念がスクリプトに委ねられるので、武器周りの自由度はかなり上がります。

>>82
エンジン炎はユニットごとにXファイルで指定するようにしたので、
モデルを作れば簡単にEFFY風になります。

>>83
複数テクスチャは、ゲームを作る時の管理が大変だなーと思って、
エンジンの簡易化のために1枚になっています。
テクスチャ2枚使用の検証用データ(当たり判定とかバンプマップの妥当性も含めて)もないので、今のところ対応しません。
ワイドディスプレイもXBOX360コントローラもそうですが、検証用の素材があればそのうち対応できると思います。何かあれば送ってください。

ただ、複数テクスチャにすると、バンプマップもスペキュラマップも全部全部増えるので、ゲーム製作において自爆する人が出てくるんじゃないかとちょっと心配です。

85濡烏:2011/04/25(月) 16:24:50
>>84
http://hatsuyume.flop.jp/rsedit/uploda/src/RS_file63.zip
参考までに1種類から3種類までのテクスチャを使ったxファイルをアップしておきました。
検証用の材料として使っていただければと思います。

86電プロ:2011/04/29(金) 11:30:17
>>85
サンプルデータありがとうございました。

できました。
http://hatsuyume.flop.jp/rsedit/uploda/src/RS_file64.jpg

描画エンジン自体は元々(実はRS3の頃から)複数テクスチャに対応していたのですが、
テクスチャを別口で指定するというRaidersSphereEngineの都合上、
マテリアル番号との関連付けが「手作業で一個一個確認しながら」になるので、見送っていました。

作っているときは意識していないでしょうが、頂いたサンプルにはマテリアル情報が8個、テクスチャがそれぞれ独立して8個、
ただし重複分を除くと結果的に3個、というデータ形態になります。

バンプマップなども含めるとパラメータが膨大になるので、
この管理を製作者にやらせるのか否か、という判断になります。
RS3では「リソース管理で苦労させるよりもモデルで苦労させるほうがまだマシ」として1枚テクスチャ縛りにしています。

87KEN:2011/04/30(土) 18:07:44
今のところ「味方」と「敵」の2勢力での戦闘しかできませんが、3勢力の三つ巴の戦闘はできませんか? 通信対戦で乱戦ができるなら、ミッションでもできるといいのですが。

88濡烏:2011/04/30(土) 22:21:39
>>86
サンプルはDOGAで速攻で作ったものなので
マテリアルとかまで意識してませんでした

いつか複数テクスチャに対応するときがくるのかもしれませんが、
しばらくは1枚テクスチャと格闘しようと思います


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

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