Rigid Chips リファレンスマニュアル モデルデータ SCRIPTブロック


目次へ戻る

■SCRIPTブロック


◆変数


予約語や関数以外の文字列(英数字+アンダースコア"_")は、変数として見なされます。
VALブロックにて宣言されている変数は、現在保持されている値を参照します。
VALブロックにて最小値、最大値が宣言されている場合でも、値の補正はSCRIPTブロックの処理が1サイクル終了する毎に行われるため、SCRIPTブロックの途中では、宣言した範囲外の値を持つことがあります。
VALブロックにて宣言されていない変数は、SCRIPTブロック内でのみ値が保持され、SCRIPTブロックの処理が1サイクル終了するごとに消滅します。(次の処理サイクルに値を引き継げません。)

なお、SCRIPTブロック内では、変数は数値しか扱えません。(文字列は扱えません。)
また、"#HHHHHH"(H:0〜9,A〜F)と記述することで16進数として扱われます。


◆制御構造(予約語)


書式内容備考
if 条件式 {
    命令
    :
}
条件式が成立した場合(条件式が真(=1)の場合)、中括弧"{ }"内の命令(群)を実行します。
基本的にifは入れ子構造で記述することはできません。
以下のような記述では、命令2は実行されません。
(処理がいずれかのif文終端に達すると、全てのif文を抜けてしまいます。)
if 条件式1 {
    if 条件式2 {
        命令1
    }
    命令2
}
goto ラベル名 label文で定義した行に処理をジャンプします。

label ラベル名 SCRIPTブロック内記述行にラベル名で指定した名前を付けます。
ラベル名には英数字とアンダースコア"_"を使用することが可能です。
英字には大文字・小文字の区別はありません。
print 行番号 , 表示値 , 表示値 , ・・・ 画面左上の行番号で指定した行に、表示値で指定した文字列、または数値を表示します。
行番号=0〜24(上:0〜24:下)
表示値に文字列を指定する場合は、ダブルクォーテーション"文字列"で括ります。
文字列には半角カナや全角文字は使用できません。(表示されません。)
表示値には変数や関数を用いることが出来ます。
数値を表示する場合は、小数点以下第2位までが表示されます。
複数の表示値をつなげる場合は、各表示値をカンマ","で区切ってつなげます。
行頭に半角"&"を付けると等幅フォントで表示されます。


◆数式


以下の演算子を用いて、四則演算や論理演算などの数式を記述出来ます。
なお、数式は括弧"( )"で括ると、括弧内を優先して計算します。

算術演算子意味
-A符号反転
A + B加算
A - B減算
A * B乗算
A / B除算
B=0だとエラーになります。

関係演算子意味
A = B
A == B
AとBは等しい
A != B
A <> B
AとBは等しくない
A > BAはBより大きい
A < BAはBより小さい
A >= BAはB以上
A <= BAはB以下

論理演算子意味
A & B
A and B
AかつB(論理積)
A | B
A or B
AまたはB(論理和)


◆論理式


関係演算子または論理演算子を用いた数式は、括弧"( )"で括ることで、0または1の値を持つようになります。
上手に使うとif文を式で記述することが可能となります。(処理速度も若干上がるかも)

【例】

◆代入文


変数の値は代入文を用いて、値を定義・更新します。

【書式】

◆関数


  1. 画面表示関連
  2. 関数名内容備考
    _DT()シミュレーションdt 内部処理の時間単位を返します。
    _DT()=1/_FPS()/10
    _FPS()Frame Per Second(FPS) 画面更新周期の速さを表します。
    _FPS()=1/_DT()/10
    _BASE()FPS制限値 FPS制限値を返します。
    FPS制限をしていない場合は30が返ります。
    _TICKS()描画フレーム数 モデルが表示されてから現在までの描画フレーム数を表します。(1ticks=1/30sec)
    FPSによって更新される速さが変わります。
    _SETTICKS()_TICKS()値設定 _TICKS()で返す値を0に初期化します。
    _WIDTH()画面幅 モデル表示窓の横幅
    【単位】pixel
    _HEIGHT()画面高さ モデル表示窓の高さ
    【単位】pixel
    _FACE()地形データポリゴン数 地形データ(Landデータ)で使用されているポリゴンの総数。

  3. 画面描画関連
  4. 関数名内容備考
    _SETCOLOR(値)3Dライン色設定 画面上に表示する3Dラインの表示色を24bitRGB形式で指定します。
    _MOVE3D(x, y, z)3Dライン描画始点座標設定 画面上に表示する3Dラインの始点座標を設定します。
    _LINE3D()関数とペアで使用します。
    _LINE3D(x, y, z)3Dライン描画終点座標設定 画面上に表示する3Dラインの終点座標を設定します。
    _MOVE3D()関数とペアで使用します。
    _MOVE2D(x, y)2Dライン描画始点座標設定 画面上に表示する2Dラインの始点座標を設定します。
    _LINE2D()関数とペアで使用します。
    座標は画面高さを2として正規化されています。
    画面上端:1、画面下端:-1
    _LINE2D(x, y)2Dライン描画終点座標設定 画面上に表示する2Dラインの終点座標を設定します。
    _MOVE2D()関数とペアで使用します。
    座標は画面高さを2として正規化されています。
    画面上端:1、画面下端:-1

  5. 入力インタフェース関連
  6. 関数名内容備考
    _KEY(ボタン番号) キー入力チェック1 ボタン番号で指定したキーが押されているかのチェックを行います。
    押されていれば1、押されていなければ0を返します。
    _KEYDOWN(ボタン番号) キー入力チェック2 ボタン番号で指定したキーが押されたかのチェックを行います。
    押されたフレームで1、押されていない又は押されたままの状態で0を返します。
    _KEYUP(ボタン番号) キー入力チェック3 ボタン番号で指定したキーが押された状態から離されたかのチェックを行います。
    離されたフレームで1、離されていない又は離されたままの状態で0を返します。
    _MX() マウスポインタX座標 マウスポインタのX座標を取得します。
    【単位】pixel
    _MY() マウスポインタY座標 マウスポインタのY座標を取得します。
    【単位】pixel
    _ML() マウス左ボタン状態 マウス左ボタンが押されているかのチェックを行います。
    押されていれば1、押されていなければ0を返します。
    _MR() マウス右ボタン状態 マウス右ボタンが押されているかのチェックを行います。
    押されていれば1、押されていなければ0を返します。
    _MM() マウス中ボタン状態 マウス中ボタンが押されているかのチェックを行います。
    押されていれば1、押されていなければ0を返します。
    _ANALOG(n)ジョイスティック アナログジョイスティックの入力値を-1000から1000で返します。
    n=0〜5
    _HAT(0)ジョイスティックハットスイッチ値 アナログジョイスティックのハットスイッチの値を1000倍した値を返します。

  7. モデル状態関連
  8. 関数名内容備考
    _CHIPS()モデルチップ数 モデル全体で使用しているチップ総数を返します。
    WHEEL、RLWは1個で2チップとカウントします。
    _WEIGHT()モデル質量 モデル全体の質量を返します。
    【単位】kg
    _FUEL(チップ番号)モデル合計燃料 チップ番号で指定したチップとつながった系のチップが有する燃料の残量合計を返します。
    なお、燃料の消費はWEIGHTチップから優先的に消費されます。
    _FUELMAX(チップ番号)モデル合計最大燃料 チップ番号で指定したチップとつながった系のチップが有する燃料の最大値合計を返します。
    _GX(チップ番号)モデル重心X座標 チップ番号で指定したチップとつながった系の重心位置のX座標を返します。
    _GY(チップ番号)モデル重心Y座標 チップ番号で指定したチップとつながった系の重心位置のY座標を返します。
    _GZ(チップ番号)モデル重心Z座標 チップ番号で指定したチップとつながった系の重心位置のZ座標を返します。

  9. チップ状態関連
  10. 関数名内容備考
    _M(チップ番号)チップ質量 チップ番号で指定したチップの質量を返します。
    【単位】kg
    _E(チップ番号)チップエネルギー充填量 チップ番号で指定したチップのエネルギー充填量を返します。
    現状、ARMチップでのみ意味を持ちます。
    _T(チップ番号)チップ耐久度 チップ番号で指定したチップの耐久度を返します。
    耐久度初期値はチップの種類に関係なく、一律10000です。
    破壊済みのチップは耐久度が-1となります。
    _X(チップ番号)チップX座標 チップ番号で指定したチップ中心のワールドX座標を返します。
    W(西):+〜−:E(東)
    _Y(チップ番号)チップY座標 チップ番号で指定したチップ中心のワールドY座標を返します。
    上:+〜−:下
    _Z(チップ番号)チップZ座標 チップ番号で指定したチップ中心のワールドZ座標を返します。
    S(南):+〜−:N(北)
    _H(チップ番号)チップ地上高 チップの地面からの高さ(鉛直方向距離)を返します。
    【範囲】-100000, 0〜10
    高さが0〜10の範囲の場合に有効値が返ります。
    鉛直方向距離10以内に地面が存在しない場合は-100000が返ります。
    海面は地面とは見なされません。
    _AX(チップ番号)チップX軸回転角度 チップ番号で指定したチップのX回転軸回りの回転角度を返します。
    【単位】ラジアン(RADIAN)
    【範囲】下:−π/2〜+π/2:上
    X回転軸は海面と水平なチップの左右方向に伸びる直線となります。
    (Y軸回転角度によって軸の向きが変わります。Z軸回転角度の影響は受けません。)
    X軸回転角度が‐π/2またはπ/2になると、Y回転軸とZ回転軸が重なり「ジンバルロック」が発生します。
    _AY(チップ番号)チップY軸回転角度 チップ番号で指定したチップのY回転軸回りの回転角度を返します。
    【単位】ラジアン(RADIAN)
    【範囲】左:−π〜+π:右
    Y回転軸は海面に対して垂直な上下方向に伸びる直線となります。
    (X軸、Z軸回転角度の影響は受けません。)
    _AZ(チップ番号)チップZ軸回転角度 チップ番号で指定したチップのZ回転軸回りの回転角度を返します。
    【単位】ラジアン(RADIAN)
    【範囲】右:−π/2〜+π/2:左
    Z回転軸はチップの前後方向に伸びる直線となります。
    (X軸、Y軸回転角度によって軸の向きが変わります。)
    なお、チップの表裏は無視された値が返ります。
    _EX(チップ番号)チップX軸オイラー角 チップ番号で指定したチップのX回転軸回りの回転角度を返します。
    【単位】ラジアン(RADIAN)
    【範囲】上:−π/2〜+π/2:下
    X回転軸は海面と水平なチップの左右方向に伸びる直線となります。
    (Y軸回転角度によって軸の向きが変わります。Z軸回転角度の影響は受けません。)
    X軸回転角度が‐π/2またはπ/2になると、Y回転軸とZ回転軸が重なり「シンバルロック」が発生します。
    基本的に_AX関数と同じですが、符号が逆になっているので注意が必要です。
    _EX(n)=-_AX(n)
    _EY(チップ番号)チップY軸オイラー角 チップ番号で指定したチップのY回転軸回りの回転角度を返します。
    【単位】ラジアン(RADIAN)
    【範囲】左:−π〜+π:右
    Y回転軸は海面に対して垂直な上下方向に伸びる直線となります。
    (X軸、Z軸回転角度の影響は受けません。)
    基本的に_AY関数と同じです。
    _EY(n)=_AY(n)
    _EZ(チップ番号)チップZ軸オイラー角 チップ番号で指定したチップのZ回転軸回りの回転角度を返します。
    【単位】ラジアン(RADIAN)
    【範囲】左:−π〜+π:右
    Z回転軸はチップの前後方向に伸びる直線となります。
    (X軸、Y軸回転角度によって軸の向きが変わります。)
    基本的に_AZ関数と同じですが、符号が逆になっているので注意が必要です。
    _EZ(n)=-_AZ(n)
    _RX(チップ番号, 参照チップ番号)相対X軸オイラー角 チップ番号で指定したチップから見た、参照チップ番号で指定されるチップのX軸オイラー角を返します。
    【単位】ラジアン(RADIAN)
    【範囲】上:−π/2〜+π/2:下
    _RY(チップ番号, 参照チップ番号)相対Y軸オイラー角 チップ番号で指定したチップから見た、参照チップ番号で指定されるチップのY軸オイラー角を返します。
    【単位】ラジアン(RADIAN)
    【範囲】左:−π〜+π:右
    _RZ(チップ番号, 参照チップ番号)相対Z軸オイラー角 チップ番号で指定したチップから見た、参照チップ番号で指定されるチップのZ軸オイラー角を返します。
    【単位】ラジアン(RADIAN)
    【範囲】左:−π〜+π:右
    _XX(チップ番号)
    _XY(チップ番号)
    _XZ(チップ番号)
    チップローカルX軸ベクトル チップ番号で指定したチップのローカルX軸のワールド空間上におけるベクトルを返します。
    _YX(チップ番号)
    _YY(チップ番号)
    _YZ(チップ番号)
    チップローカルY軸ベクトル チップ番号で指定したチップのローカルY軸のワールド空間上におけるベクトルを返します。
    _ZX(チップ番号)
    _ZY(チップ番号)
    _ZZ(チップ番号)
    チップローカルZ軸ベクトル チップ番号で指定したチップのローカルZ軸のワールド空間上におけるベクトルを返します。
    _QW(チップ番号)
    _QX(チップ番号)
    _QY(チップ番号)
    _QZ(チップ番号)
    チップクォータニオン チップ番号で指定したチップのクォータニオン(4元数)を返します。
    _VEL(チップ番号)チップ速さ チップの並進速度の絶対値を返します。
    【単位】m/sec
    【参考1】_VEL(n) = _SQRT( _VX(n) * _VX(n) + _VY(n) * _VY(n) + _VZ(n) * _VZ(n) ) = _LEN3( _VX(n), _VY(n), _VZ(n) )
    【参考2】画面のスピードメータ(単位:km/h)= _VEL(0)*3.6
    _VX(チップ番号)チップX軸並進速度 チップのローカルX軸(左右)方向の並進速度を返します。
    左:+〜−:右
    _VY(チップ番号)チップY軸並進速度 チップのローカルY軸(上下)方向の並進速度を返します。
    上:+〜−:下
    _VZ(チップ番号)チップZ軸並進速度 チップのローカルZ軸(前後)方向の並進速度を返します。
    後:+〜−:前
    _FX(チップ番号)チップX軸並進運動量 チップのローカルX軸(左右)方向の並進運動量を返します。
    左:+〜−:右
    _FX(n) = チップ質量 * _VX(n)
    _FY(チップ番号)チップY軸並進運動量 チップのローカルY軸(上下)方向の並進運動量を返します。
    上:+〜−:下
    _FY(n) = チップ質量 * _VY(n)
    _FZ(チップ番号)チップZ軸並進運動量 チップのローカルZ軸(前後)方向の並進運動量を返します。
    後:+〜−:前
    _FZ(n) = チップ質量 * _VZ(n)
    _WX(チップ番号)チップX回転軸角速度 チップのローカルX軸(左右軸)回りの角速度(回転速度)を返します。
    上:+〜−:下
    _WY(チップ番号)チップY回転軸角速度 チップのローカルY軸(上下軸)回りの角速度(回転速度)を返します。
    右:+〜−:左
    _WZ(チップ番号)チップZ回転軸角速度 チップのローカルZ軸(前後軸)回りの角速度(回転速度)を返します。
    左:+〜−:右
    _LX(チップ番号)チップX回転軸角運動量 チップのローカルX軸(左右軸)回りの角運動量を返します。
    上:+〜−:下
    _LX(n) = チップ質量 * _WX(n)
    _LY(チップ番号)チップY回転軸角運動量 チップのローカルY軸(上下軸)回りの角運動量を返します。
    右:+〜−:左
    _LY(n) = チップ質量 * _WY(n)
    _LZ(チップ番号)チップZ回転軸角運動量 チップのローカルZ軸(前後軸)回りの角運動量を返します。
    左:+〜−:右
    _LZ(n) = チップ質量 * _WZ(n)
    _I(チップ番号, 列番号, 行番号)チップ慣性テンソル行列 チップの慣性テンソル行列(3×3)を返します。
    列番号・行番号:0, 1, 2
    _TYPE(チップ番号)チップ種別 チップ番号で指定したチップの種類を表すコードを返します。
    CORE=0, CHIP=1, RUDDER=2, RIM(WHEEL/RLW)=3, WHEEL=4, RLW=5, TRIM=6, JET=7, WEIGHT=8, COWL=9, ARM=10, FRAME=33, RUDDERF=34, TRIMF=35
    _DIR(チップ番号)チップ接続方向 チップ番号で指定したチップの接続方向を返します。
    0:S、1:W、2:N、3:E
    _COLOR(チップ番号)チップCOLOR属性値 チップ番号で指定したチップのCOLOR属性値を返します。
    _ANGLE(チップ番号)チップANGLE属性値 チップ番号で指定したチップのANGLE属性値を返します。
    COREの場合は-1を返します。
    【単位】度(DEGREE)
    _DAMPER(チップ番号)チップDAMPER属性値 チップ番号で指定したチップのDAMPER属性値を返します。
    _SPRING(チップ番号)チップSPRING属性値 チップ番号で指定したチップのSPRING属性値を返します。
    _POWER(チップ番号)チップPOWER属性値 チップ番号で指定したチップのPOWER属性値を返します。
    POWER属性がない場合は0を返します。
    _BRAKE(チップ番号)チップBRAKE属性値 チップ番号で指定したチップのBRAKE属性値を返します。
    BRAKE属性がない場合は不定値になります。
    _OPTION(チップ番号)チップOPTION属性値 チップ番号で指定したチップのOPTION属性値を返します。
    _EFFECT(チップ番号)チップEFFECT属性値 チップ番号で指定したチップのEFFECT属性値を返します。
    _USER1(チップ番号)チップUSER1属性値 チップ番号で指定したチップのUSER1属性値を返します。
    _USER2(チップ番号)チップUSER2属性値 チップ番号で指定したチップのUSER2属性値を返します。
    _PARENT(チップ番号)チップ接続元 チップ番号で指定したチップの接続元チップ番号を返します。
    接続元がない(TOPチップの)場合は-1を返します。
    _TOP(チップ番号)チップトップ チップ番号で指定したチップが属する系のトップ(ルート)チップ番号を返します。
    _BYE(チップ番号)チップ切り離し1 チップ番号で指定したチップを接続元側の接続辺より切り離します。
    切り離された側では、接続されている動力系チップのPOWER属性が無効(常に0)となります。
    関数単体として使用可能ですが、動作が不安定になる場合があるため、戻り値を取得するように記述することが推奨されています。
    【推奨書式】T = _BYE(n)(Tはダミー変数)
    _SPLIT(チップ番号)チップ切り離し2 チップ番号で指定したチップを接続元側の接続辺より切り離します。
    切り離された側でも、接続されている動力系チップのPOWER属性は有効のままです。
    (Version 1.5.B4ではLUAブロック内で使用するとPOWER属性が無効となります。)
    関数単体として使用可能ですが、動作が不安定になる場合があるため、戻り値を取得するように記述することが推奨されています。
    【推奨書式】T = _SPLIT(n)(Tはダミー変数)

  11. オブジェクト状態関連
  12. 関数名内容備考
    _MOBJ(オブジェクト番号)オブジェクト質量 オブジェクト番号で指定したオブジェクトの質量を返します。
    【単位】kg
    _OX(オブジェクト番号)オブジェクトX座標 オブジェクト番号で指定されたオブジェクト中心のワールドX座標を返します。
    W(西):+〜−:E(東)
    オブジェクトが出現していない場合は0が返ります。
    _OY(オブジェクト番号)オブジェクトY座標 オブジェクト番号で指定されたオブジェクト中心のワールドY座標を返します。
    上:+〜−:下
    オブジェクトが出現していない場合は-1000000が返ります。
    _OZ(オブジェクト番号)オブジェクトZ座標 オブジェクト番号で指定されたオブジェクト中心のワールドZ座標を返します。
    S(南):+〜−:N(北)
    オブジェクトが出現していない場合は0が返ります。
    _IOBJ(オブジェクト番号, 列番号, 行番号)オブジェクト慣性テンソル行列 オブジェクトの慣性テンソル行列(3×3)を返します。
    列番号・行番号:0, 1, 2

  13. CCDカメラ状態関連
  14. 関数名内容備考
    _CCD(x, y)CCD色情報 CCDカメラの(x, y)座標のピクセルの色情報を15bitRGBで返します。
    CCDカメラの座標は、左上(0, 0)、左下(0, 63)、右上(63, 0)、右下(63, 63)となっています。
    【範囲】#0000〜#7FFF(16進数)、0〜32767(10進数)
    「Help>Show Meter」のチェックを外してメータ類の表示を行っていない場合は、0が返ります。
    【参考】15bitRGB(A)から24bitRGB(B)への変換式
        B = ( _MOD(_INT(A/1024, 32) * 65536 + _MOD(_INT(A/32), 32) * 256 + _MOD(A, 32) ) * 8
    _RED(x, y)CCD赤色情報 CCDカメラの(x, y)座標のピクセルの赤色要素の輝度を割合(0〜1)で返します。
    【範囲】0〜1
    「Help>Show Meter」のチェックを外してメータ類の表示を行っていない場合は、0が返ります。
    _GREEN(x, y)CCD緑色情報 CCDカメラの(x, y)座標のピクセルの緑色要素の輝度を割合(0〜1)で返します。
    【範囲】0〜1
    「Help>Show Meter」のチェックを外してメータ類の表示を行っていない場合は、0が返ります。
    _BLUE(x, y)CCD青色情報 CCDカメラの(x, y)座標のピクセルの青色要素の輝度を割合(0〜1)で返します。
    【範囲】0〜1
    「Help>Show Meter」のチェックを外してメータ類の表示を行っていない場合は、0が返ります。
    _ZOOM(視野角)CCD視野角 CCDカメラの視野角を指定します。
    視野角に0を指定すると現在の視野角を返します。
    【単位】度(DEGREE)
    【範囲】0, 1〜100
    【デフォルト値】17.19

  15. 算術演算関連
  16. 関数名内容備考
    _INT(値)整数部 値の整数部を返します。(_FIX(値)と同じ)
    【例】_INT(3.14)=3、_INT(-3.14)=-3
    _FIX(値)整数部 値の整数部を返します。(_INT(値)と同じ)
    【例】_FIX(3.14)=3、_FIX(-3.14)=-3
    _FLOOR(値)切り捨て 値の小数点以下を切り捨てた値を返します。
    【例】_FLOOR(3.14)=3、_FLOOR(-3.14)=-4
    _CEIL(値)切り上げ 値の小数点以下を切り上げた値を返します。
    【例】_CEIL(3.14)=4、_CEIL(-3.14)=-3
    _ROUND(値)四捨五入 値の小数点以下第1位を四捨五入した値を返します。
    【例】_ROUND(3.49)=3、_ROUND(3.5)=4、_ROUND(-3.49)=-3、_ROUND(-3.5)=-4
    (_FLOOR(値+0.5)とは同値ではありません。)
    _ABS(値)絶対値 値の絶対値を返します。
    【例】_ABS(3.14)=3.14、_ABS(-3.14)=3.14
    _SGN(値)符号 値の符号を-1/0/1で返します。
    【例】_SGN(3.14)=1、_SGN(-3.14)=-1、_SGN(0)=0
    _SQRT(値)平方根 値の平方根(√)を返します。
    値が負の数の場合、"-1.#J"を返します。(演算不能)
    _LEN2(a,b)2次元距離 2次元直交座標において、各軸方向の変位量が(a, b)である線分の長さを返します。
    _LEN2(a, b) = _SQRT( a * a + b * b )
    _LEN3(a,b,c)3次元距離 3次元直交座標において、各軸方向の変位量が(a, b, c)である線分の長さを返します。
    _LEN3(a, b, c) = _SQRT( a * a + b * b + c * c )
    _PI()円周率 円周率π(≒3.1415927)の近似値を返します。
    _SIN(値)正弦 値に対する正弦(サイン:sin)を返します。
    値の単位はラジアンです。
    _COS(値)余弦 値に対する余弦(コサイン:cos)を返します。
    値の単位はラジアンです。
    _TAN(値)正接 値に対する正接(タンジェント:tan)を返します。
    値の単位はラジアンです。
    _ASIN(値)逆正弦 値に対する逆正弦(アークサイン:arcsin)を返します。
    得られる値の単位はラジアンです。
    【戻り値範囲】−π/2〜+π/2
    _ACOS(値)逆余弦 値に対する逆余弦(アークコサイン:arccos)を返します。
    得られる値の単位はラジアンです。
    【戻り値範囲】0〜+π
    _ATAN(値)逆正接 値に対する逆正接(アークタンジェント:arctan)を返します。
    得られる値の単位はラジアンです。
    【戻り値範囲】−π/2〜+π/2
    _ATAN2(a, b)逆正接2 直交座標上の点(a, b)と原点を結ぶ線分が、a軸と成す角を返します。
    得られる値の単位はラジアンです。
    【戻り値範囲】−π〜+π
    なお、_ATAN2(0, 0)=0となります。
    _TODEG(rad)RADIAN→DEGREE変換 RADIAN値rad(ラジアン)をDEGREE値(度)に変換します。
    _TODEG(rad) = rad * 180 / _PI()
    _TORAD(deg)DEGREE→RADIAN変換 DEGREE値deg(度)をRADIAN値(ラジアン)に変換します。
    _TORAD(deg) = deg * _PI() / 180
    _MOD(a, b)剰余 aの絶対値をbの絶対値で割ったときの余りを返します。
    符号はaの符号をそのまま返します。
    【例】_MOD(34,7)=6、_MOD(34.56,-7)=6.56、_MOD(-34,-7)=-6、_MOD(-34.56,7)=-6.56
    (厳密な定義でのModuloと同値ではありません。)
    _POW(a, b)累乗 aのb乗を返します。
    _EXP(a)指数 自然対数の底eの累乗(eのa乗)を返します。
    【参考】e≒2.71828、_EXP(a)=_POW(e, a)
    _LOG(a)自然対数 底をeとするaの対数を返します。
    【参考】_LOG(a)=bのとき、a=_EXP(b)の関係がある。
    _LOG10(a)常用対数 底を10とするaの対数を返します。
    【参考】_LOG10(a)=bのとき、a=_POW(10, b)の関係がある。
             _LOG10(a)=_LOG(a)/_LOG(10)
    _RND()乱数 0以上1未満の乱数を返します。
    【参考】0〜100までの整数の乱数を得たい場合の数式:r=_INT(_RND()*101)

  17. ネットワーク関連
  18. 関数名内容備考
    _PLAYERS()プレーヤー数 ネットワークに接続しているプレーヤーの数を返します。
    自分、HOSTも含まれます。
    ネットワークに接続していないときは0が返ります。
    _PLAYERHOSTID()ホストID ネットワークHOSTのIDを返します。
    _PLAYERMYID()自ID ネットワーク上の自分のIDを返します。
    _PLAYERID(n)プレーヤーID n番目のプレーヤーのIDを返します。
    _PLAYERCHIPS(n)プレーヤーチップ数 n番目のプレーヤーのモデルのチップ数を返します。
    _PLAYERARMS(n)プレーヤーARM数 n番目のプレーヤーのモデルのARM数を返します。
    _PLAYERCOLOR(n)プレーヤーマーカ色 n番目のプレーヤーのマーカ色を24bitRGBで返します。
    _PLAYERCRUSHES(n)プレーヤー被破壊数 n番目のプレーヤーの破壊された(Coreの耐久度が0になった)回数を返します。
    _PLAYERRESETS(n)プレーヤーリセット数 n番目のプレーヤーが使用したリセットの回数を返します。
    _PLAYERINITS(n)プレーヤー初期化数 n番目のプレーヤーが使用した初期化の回数を返します。
    _PLAYERX(n)プレーヤーX座標 n番目のプレーヤーのモデルのCoreのX座標を返します。
    なお、返値には±5m程度のノイズが乗っています。
    _PLAYERY(n)プレーヤーY座標 n番目のプレーヤーのモデルのCoreのY座標を返します。
    なお、返値には±5m程度のノイズが乗っています。
    _PLAYERZ(n)プレーヤーZ座標 n番目のプレーヤーのモデルのCoreのZ座標を返します。
    なお、返値には±5m程度のノイズが乗っています。
    _PLAYERNAME(n)プレーヤー名 n番目のプレーヤーの名前を返します。
    Scriptでは4バイト分の数値が返り、Luaでは文字列が返ります。
    4バイト分の数値を文字として表示する場合は、「$_PLAYERNAME(n)」と記述します。
    _PLAYERNAME2(n,i)プレーヤー名2 n番目のプレーヤーの名前を返します。
    Scriptでは、i×4バイト目から4バイト分の数値が返ります。
    Luaでは使用不可です。


◆補足


目次へ戻る