シナリオファイル(.rcs)の関数 v1.5 通常のRigidChips関数に加えて、以下の関数が使えます v1.5追加分 _CTRLLOCK(制御番号,フラグ) --制御を無効にする --制御番号 0:Init,1:Reset,2:OpenChips,3:ReloadChips,4:OpenLand,5:OpenGame,6:YForce,7:Title,-1:全て --フラグ:0以外でロック(無効化) --Init,Resetを無効にしてもOnInit,OnResetは呼ばれる _SENDALL(文字列) --文字列の送信、文字列は64文字まで --同じシナリオを使用しているすべてのプレイヤに送信される --ただし、実際の送信は10フレーム程度間隔で、 --その間の_SENDALLは、送信文字列バッファの更新のみを行う _RECEIVE(n) --戻り値:n番目のプレイヤの受信文字列バッファ --送信側と同じシナリオでないと受信できない --再受信されるまで更新されない、クリアもされない _RECEIVECLEAR(n) --n番目のプレイヤの受信文字列バッファを意図的にクリア(""にする) _FOPEN(ファイル名,モード) --戻り値:ファイル番号(0〜32)、失敗の場合は-1を返す --ファイル名のファイルをモードに応じてオープンしファイル番号を返す --モードはC言語のfopenのモードに準拠(というより、内部的にはfopenをそのまま使用) -- "w"(書き込み),"a"(追加書き込み),"r"(読み込み) --ファイル名のドライブとパスはキャンセルされ、シナリオと同じドライブ/パスとして扱われる _FCLOSE(ファイル番号) --ファイル番号のファイルを閉じる _FPUTS(ファイル番号,文字列) --ファイル番号のファイルに文字列を書き込む --文字列はLuaのformat文を使用すると便利 _FGETS(ファイル番号) --戻り値:1行分の文字列(内部バッファは1024バイトなので注意) --ファイル番号のファイルから文字列を読み込む --文字列の処理はLuaのstrfind文を使用すると便利 _CHAT() --戻り値:最後に表示されたチャット文字列 --合わせてチャットに文字が入ったときに呼び出されるコールバック関数 --function OnChat() 〜 end を用意した v1.4d変更 _SET,_GETに"FUEL","FUELMAX"を追加 こちらは_FUEL(),_FUELMAX()と違って、チップごとの燃料と最大燃料を設定/取得を行う (_FUEL(),_FUELMAX()は所属する系の合計燃料と合計最大燃料を取得する) _TOP関数が返す値が間違っていたのを修正 v1.4c変更 _SET,_GETに"USER1","USER2"を追加 _GETHITから"CHIP"を削除(いずれ追加の予定) v1.4b変更 _RESETの誤記を修正 v1.4追加分 _RESET(チップ番号) --チップ番号以下に繋がる系を初期状態にする _COMPASS(x,y,z) --コンパスに付くナビゲーションマークのターゲット座標を設定する --y値が-1000000以下の時解除 _SETVIEWUP(x,y,z) --ユーザービューの上ベクトルを設定する --設定しないと自動的に(0,1,0)になる v1.3追加分 _KEYLOCK(キー番号,値) --キー番号のキーをモデルから取得できないようにする(値が0以外のとき) --ロックを外すには値に0を入れる --すべてのキーを表すキー番号は-1 _STICKS() --_TICK()と同様だがリセット時にも値がリセットされない 変更 _SET/_GETでの"DUMPER"は綴り間違い。"DAMPER"に修正 v1.2追加分 _SETVIEW(視点x,視点y,視点z,参照点x,参照点y,参照点z) --ユーザービューの設定 _GETVIEW() --ユーザービューの取得(戻り値:視点x,視点y,視点z,参照点x,参照点y,参照点z) _SETVIEWTYPE(ビュー番号) --既存ビュー(A〜J)への設定(ビュー番号は0〜9) _GETVIEWTYPE() --ビューの取得(ビュー番号は0〜9,ユーザービューは-1) _SETVIEWZOOM(視野角) --ズームの設定(単位は度) _GETVIEWZOOM() --ズームの取得(戻り値:視野角、単位は度) v1.1追加分 _GET(チップ番号,属性名) --チップの属性値を取得する(属性名="ANGLE","POWER","SPRING", -- "DUMPER","BRAKE","COLOR","OPTION","EFFECT","DIR","PARENT","TOP", -- "USER1","USER2") -- DIRは接続方向(0='S',1='W',2='N',3='E')を取得する -- PARENTは親のチップ番号を取得する(無い場合は-1を返す) -- TOPはその系のルートチップ番号を取得する -- 戻り値=取得値 _GETCHILD(チップ番号,子番号) --子番号(0〜11)から子のチップ番号を取得する(無い場合は-1を返す) v1.0 _SETREG(レギュレーション文字,設定値) --レギュレーション設定(レギュレーション文字="G","A","T","J","U","C","S") _LOADLAND("地形ファイル名") --地形データの読み込み _SETWIND(x,y,z) --風の向き・強さの設定 _GETWIND() --風の向き・強さの取得(戻り値:x,y,z) _ADDBALL(半径,位置x,位置y,位置z,比重) --ボールの追加(最大20個、戻り値:オブジェクト番号) _SETOBJFIX(オブジェクト番号,値) --オブジェクトを固定(値=1),可動(値=0) _SETOBJCOLOR(オブジェクト番号,r,g,b) --オブジェクトの色設定(rgbはそれぞれ0〜1) _SETRINGSTATE(リング番号,状態) --リングの状態をセット(リング番号は0〜99、状態0=透明,1=半透明,2=表示) _GETRINGSTATE(リング番号) --リングの状態を取得(戻り値:状態) _SETRING(リング番号,位置x,位置y,位置z,x軸回転角,y軸回転角,z軸回転角,半径) リングの位置方向の設定 _GETRING(リング番号) --リングの位置方向の取得(戻り値:位置x,位置y,位置z, -- x軸回転角,y軸回転角,z軸回転角,半径) _SETRINGCOLOR(リング番号,r,g,b) --リングの色設定(rgbはそれぞれ0〜1) _CHECK(リング番号,チップ番号) --リングを球としてチップが球内にあるか(戻り値:0=偽,1=真) _CHECKOBJ(リング番号,オブジェクト番号) --リングを球としてオブジェクトが球内にあるか(戻り値:0=偽,1=真) _CHECK2(リング番号,チップ番号) --リングの円平面をチップが通り抜けたかのチェック(戻り値:0=偽,1=真) _CHECK2OBJ(リング番号,オブジェクト番号) --リングの円平面をオブジェクトが通り抜けたかのチェック(戻り値:0=偽,1=真) _WARP(チップ番号,位置x,位置y,位置z) --チップ番号を含む系を強制的に位置xyzに移動 _WARPOBJ(オブジェクト番号,位置x,位置y,位置z) --オブジェクトを強制的に位置xyzに移動 _FORCE(チップ番号,x,y,z) --チップに力(x,y,z)を加える _FORCEOBJ(オブジェクト番号,x,y,z) --オブジェクトに力(x,y,z)を加える _TORQUE(チップ番号,x軸,y軸,z軸) --チップにトルク(x軸,y軸,z軸)を加える _TORQUEOBJ(オブジェクト番号,x軸,y軸,z軸) --オブジェクトにトルク(x軸,y軸,z軸)を加える _GETHIT(チップ番号,接触物名) --チップの接触を調べる(接触物名="OBJ","LAND","BULLET") _GETHITOBJ(オブジェクト番号,接触物名) --オブジェクトの接触を調べる(接触物名="OBJ","LAND","BULLET","CHIP") _SET(チップ番号,属性名,属性値) --チップの属性値をセットする(属性名="ANGLE","POWER","SPRING", -- "DUMPER","BRAKE","COLOR","OPTION","EFFECT","USER1","USER2") _ROTATE(チップ番号,x軸,y軸,z軸) --チップ番号を含む系を強制的に回転(,x軸,y軸,z軸、相対値) _ROTATEOBJ(オブジェクト番号,x軸,y軸,z軸) --オブジェクトを強制的に回転(,x軸,y軸,z軸、相対値) _DIRECT(チップ番号) --チップ番号を含む系を強制的に回転(x軸,y軸,z軸、直値) _DIRECTOBJ(オブジェクト番号,x軸,y軸,z軸) --オブジェクトを強制的に回転(,x軸,y軸,z軸、直値) _ENERVATE(チップ番号) --チップ番号を含む系の力の状態をリセットする _ENERVATEOBJ(オブジェクト番号) --オブジェクトの力の状態をリセットする _PAUSE() --シミュレーション計算を停止する _PLAY() --シミュレーション計算を再開する _SKEY(システムキー番号) --システムキーの状態を取得する(戻り値:0=押されてない,1=押されている) --システムキー番号はデフォルトで(0=Hキー,1=Jキー,2=Nキー,3=Mキー) _SKEYDOWN(システムキー番号) --システムキーが押された時を取得する(戻り値:0=押されてない,1=押された) _SKEYUP(システムキー番号) --システムキーが離された時を取得する(戻り値:0=離されていない,1=離された) _GETY(x,z) --座標(x,z)での地形の最大高さを取得する(戻り値:地形の高さ) _ADDCHIP(チップ番号,チップタイプ名,方角名,angle値) --チップ番号の子としてチップを生成する(戻り値:生成されたチップの番号) --チップタイプ名="CHIP","FRAME","WEIGHT","COWL","RUDDER","RUDDERF", -- "TRIM","TRIMF","JET","ARM","WHEEL",""RLW" --方角名="N","E","W","S" --angle値は単位は度 _RELOAD() --現在のチップモデルを再読み込みする _SAVE(ファイル名) --現在のチップモデルを保存する