// "Ghost hound Armd01" // // ※モデルを呼び出したらF8キーを1回押してください。 // // 〜マウス操作〜 // カーソル移動=機体方向操作 // 左クリック=マシンキャノン発射 // 右クリック=ブレーキ // // 〜キーボード操作〜 // Q=上昇 W=前進 E=上昇 // A=左移動 S=後退 D=右移動 // Z=下降 C=下降 // F=ダガー発射 // Xを押しながらFを離す=ダガー発射キャンセル // V=ダガーの発射方式変更 // W二度押し=制御無効前進 // X=最小出力モード(非常用) // GB=機体カラーの変更 // ↑=ガイドラインの色を反転させる // ↓=ガイドライン表示/非表示 // ←→=拡張兵装分離 // Val { //マシンキャノン //1 CANOP101(default=-0,min=-1000000,max=1000000,step=1000000,disp=0) CANOP102(default=-0,min=-1000000,max=1000000,step=1000000,disp=0) CANOP103(default=-0,min=-1000000,max=1000000,step=1000000,disp=0) CANOP104(default=-0,min=-1000000,max=1000000,step=1000000,disp=0) CANOP105(default=-0,min=-1000000,max=1000000,step=1000000,disp=0) CANOP106(default=-0,min=-1000000,max=1000000,step=1000000,disp=0) CANOP107(default=-0,min=-1000000,max=1000000,step=1000000,disp=0) CANOP108(default=-0,min=-1000000,max=1000000,step=1000000,disp=0) CANOP109(default=-0,min=-1000000,max=1000000,step=1000000,disp=0) CANOP110(default=-0,min=-1000000,max=1000000,step=1000000,disp=0) CANOA101(default=90,min=-360,max=360,step=0,disp=0) CANOA102(default=90,min=-360,max=360,step=0,disp=0) CANOA103(default=90,min=-360,max=360,step=0,disp=0) CANOA104(default=90,min=-360,max=360,step=0,disp=0) CANOA105(default=90,min=-360,max=360,step=0,disp=0) CANOA106(default=90,min=-360,max=360,step=0,disp=0) CANOA107(default=90,min=-360,max=360,step=0,disp=0) CANOA108(default=90,min=-360,max=360,step=0,disp=0) CANOA109(default=90,min=-360,max=360,step=0,disp=0) CANOA110(default=90,min=-360,max=360,step=0,disp=0) //2 CANOP111(default=-0,min=-1000000,max=1000000,step=1000000,disp=0) CANOP112(default=-0,min=-1000000,max=1000000,step=1000000,disp=0) CANOP113(default=-0,min=-1000000,max=1000000,step=1000000,disp=0) CANOP114(default=-0,min=-1000000,max=1000000,step=1000000,disp=0) CANOP115(default=-0,min=-1000000,max=1000000,step=1000000,disp=0) CANOP116(default=-0,min=-1000000,max=1000000,step=1000000,disp=0) CANOP117(default=-0,min=-1000000,max=1000000,step=1000000,disp=0) CANOP118(default=-0,min=-1000000,max=1000000,step=1000000,disp=0) CANOP119(default=-0,min=-1000000,max=1000000,step=1000000,disp=0) CANOP120(default=-0,min=-1000000,max=1000000,step=1000000,disp=0) CANOA111(default=90,min=-360,max=360,step=0,disp=0) CANOA112(default=90,min=-360,max=360,step=0,disp=0) CANOA113(default=90,min=-360,max=360,step=0,disp=0) CANOA114(default=90,min=-360,max=360,step=0,disp=0) CANOA115(default=90,min=-360,max=360,step=0,disp=0) CANOA116(default=90,min=-360,max=360,step=0,disp=0) CANOA117(default=90,min=-360,max=360,step=0,disp=0) CANOA118(default=90,min=-360,max=360,step=0,disp=0) CANOA119(default=90,min=-360,max=360,step=0,disp=0) CANOA120(default=90,min=-360,max=360,step=0,disp=0) //ダガー //角度 //W NSAW101(default=180,min=-360,max=360,disp=0) NSAW102(default=180,min=-360,max=360,disp=0) NSAW103(default=180,min=-360,max=360,disp=0) NSAW104(default=180,min=-360,max=360,disp=0) NSAW105(default=180,min=-360,max=360,disp=0) NSAW106(default=180,min=-360,max=360,disp=0) NSAW107(default=180,min=-360,max=360,disp=0) NSAW108(default=180,min=-360,max=360,disp=0) //E NSAE101(default=180,min=-360,max=360,disp=0) NSAE102(default=180,min=-360,max=360,disp=0) NSAE103(default=180,min=-360,max=360,disp=0) NSAE104(default=180,min=-360,max=360,disp=0) NSAE105(default=180,min=-360,max=360,disp=0) NSAE106(default=180,min=-360,max=360,disp=0) NSAE107(default=180,min=-360,max=360,disp=0) NSAE108(default=180,min=-360,max=360,disp=0) //トリガー //W NSPW101(default=0,max=2000000,step=2000000,disp=0) NSPW102(default=0,max=2000000,step=2000000,disp=0) NSPW103(default=0,max=2000000,step=2000000,disp=0) NSPW104(default=0,max=2000000,step=2000000,disp=0) NSPW105(default=0,max=2000000,step=2000000,disp=0) NSPW106(default=0,max=2000000,step=2000000,disp=0) NSPW107(default=0,max=2000000,step=2000000,disp=0) NSPW108(default=0,max=2000000,step=2000000,disp=0) //E NSPE101(default=0,max=2000000,step=2000000,disp=0) NSPE102(default=0,max=2000000,step=2000000,disp=0) NSPE103(default=0,max=2000000,step=2000000,disp=0) NSPE104(default=0,max=2000000,step=2000000,disp=0) NSPE105(default=0,max=2000000,step=2000000,disp=0) NSPE106(default=0,max=2000000,step=2000000,disp=0) NSPE107(default=0,max=2000000,step=2000000,disp=0) NSPE108(default=0,max=2000000,step=2000000,disp=0) //対反動 AR_JW(default=0000,min=-1000000,max=1000000,disp=0) AR_JE(default=0000,min=-1000000,max=1000000,disp=0) //スタンド STAND_A(default=-0,min=-360,max=360,step=0,disp=0) //-20 0 STAND_B(default=-90,min=-360,max=360,step=0,disp=0) //-70 -90 //ジェット //方向 JVX(default=000,min=-2000000,max=2000000,disp=0) JVY(default=-000,min=-2000000,max=2000000,disp=0) JVZ(default=-000,min=-2000000,max=2000000,disp=0) //X軸 JAXF(default=000,min=-2000000,max=2000000,disp=0) JAXR(default=000,min=-2000000,max=2000000,disp=0) //Y軸 JAYW(default=000,min=-2000000,max=2000000,disp=0) JAYE(default=000,min=-2000000,max=2000000,disp=0) //Z軸 JAZW(default=000,min=-2000000,max=2000000,disp=0) JAZE(default=000,min=-2000000,max=2000000,disp=0) //機体カラー COLOR1(default=#676c73,disp=0) //カウル以外 COLOR2(default=#454a51,disp=0) //カウル COLOR3(default=#FF5c6c,disp=0) //センサー COLOR4(default=#444444,disp=0) } Key{} Body { //ボディ制作開始 Core(){ //コア----------------WEIGHT CHIP FRAME COWL TRIM RUDDER JET ARM RLW N:WEIGHT(name=CORE2,angle=0,option=2,color=COLOR1){ N:COWL(name=GL_S,angle=0.0,Option=0,color=COLOR2,Effect=#ffff){} //ガイドライン N:JET(name=JVYN,angle=180,POWER=JVY,color=#111111){} //Y方向 S:JET(angle=0,POWER=JAXR,color=COLOR1){} //X軸 //カウル上 S:COWL(angle=-164,Option=0,color=COLOR1,Effect=#ffff){ //前 S:COWL(angle=-20,Option=0,color=COLOR2,Effect=#0000){ W:COWL(angle=-90,Option=0,color=COLOR2,Effect=#0000){} E:COWL(angle=-90,Option=0,color=COLOR2,Effect=#0000){} N:COWL(angle=-90,Option=0,color=#000000,Effect=#0000){ } N:COWL(angle=179,option=0,effect=#F000,color=COLOR2){ N:COWL(angle=-179,option=2,effect=#0000,color=COLOR2){ }} } //後 S:COWL(angle=177,Option=0,color=COLOR2,Effect=#0000){ W:COWL(angle=91,Option=3,color=COLOR2,Effect=#0000){} E:COWL(angle=91,Option=4,color=COLOR2,Effect=#0000){} } } //砲身(カウル) S:COWL(angle=172,Option=0,color=COLOR1,Effect=#0000){ S:COWL(angle=-172,Option=0,color=COLOR1,Effect=#0000){ //砲身・上----------------WEIGHT CHIP FRAME COWL TRIM RUDDER JET ARM RLW S:COWL(angle=-170,Option=1,color=COLOR1,Effect=#0000){ S:COWL(angle=-12,Option=0,color=COLOR4,Effect=#0000){ S:COWL(angle=-69,Option=1,color=COLOR4,Effect=#ffff){ S:COWL(angle=145,Option=1,color=COLOR4,Effect=#ffff){ S:COWL(angle=98,Option=0,color=COLOR1,Effect=#0000){ W:COWL(angle=91,Option=4,color=COLOR1,Effect=#0000){} E:COWL(angle=91,Option=3,color=COLOR1,Effect=#0000){} } }} S:COWL(angle=-0,Option=0,color=COLOR2,Effect=#0000){ S:COWL(angle=-164,Option=1,color=COLOR2,Effect=#0000){} S:COWL(angle=0,Option=0,color=COLOR2,Effect=#0000){ S:COWL(angle=-168,Option=1,color=COLOR2,Effect=#0000){} }}} } //砲身・下 S:COWL(angle=170,Option=1,color=COLOR1,Effect=#0000){ S:COWL(angle=12,Option=0,color=COLOR4,Effect=#0000){ S:COWL(angle=-0,Option=0,color=COLOR4,Effect=#0000){ S:COWL(angle=164,Option=1,color=COLOR2,Effect=#0000){} S:COWL(angle=-0,Option=0,color=COLOR4,Effect=#0000){ S:COWL(angle=168,Option=1,color=COLOR2,Effect=#0000){} }}} } }} //センサー(カウル) N:COWL(angle=20,option=0,effect=#F000,color=COLOR2){ N:COWL(angle=-20,effect=#0F00,option=5,color=COLOR3){ //発光部 //カバー・上 N:COWL(angle=-177,option=0,effect=#F000,color=COLOR4){ N:COWL(angle=178,option=5,effect=#0000,color=COLOR4){ }} N:COWL(angle=177,option=0,effect=#F000,color=COLOR2){ N:COWL(angle=-178,option=5,effect=#0000,color=COLOR4){ }} }} //左右側面----------------WEIGHT CHIP FRAME COWL TRIM RUDDER JET ARM RLW W:WEIGHT(angle=90,option=2,color=COLOR1){ S:WEIGHT(angle=20,option=2,color=COLOR1){} //機体後部装甲 E:JET(name=JVXNW,angle=-180,POWER=JVX,color=COLOR1){} //X方向 W:WEIGHT(angle=STAND_B,option=2,color=COLOR1){} //足 //サイドジェット //Z軸 E:WEIGHT(angle=-120,option=2,color=COLOR1){ E:JET(name=JAZWN,angle=-150,POWER=JAZW,color=#111111){} E:WEIGHT(angle=-120,option=2,color=COLOR1){ }} //Y軸 S:WEIGHT(angle=-120,option=2,color=COLOR1){ S:JET(name=JAYWN,angle=-150,POWER=JAYW,color=#111111){} //ダガー //砲身 S:WEIGHT(name=SAW1,angle=-60,option=2,color=COLOR4){ S:COWL(name=GL_L,angle=0.0,Option=0,color=COLOR2,Effect=#ffff){} //ガイドライン S:JET(angle=180,color=COLOR1){ N:ARM(name=NSNW101,angle=NSAW101,option=1600000,power=NSPW101,color=COLOR4){} N:ARM(name=NSNW102,angle=NSAW102,option=1600000,power=NSPW102,color=COLOR4){} N:ARM(name=NSNW103,angle=NSAW103,option=1600000,power=NSPW103,color=COLOR4){} N:ARM(name=NSNW104,angle=NSAW104,option=1600000,power=NSPW104,color=COLOR4){} } S:JET(angle=180,color=COLOR1){ N:ARM(name=NSNW105,angle=NSAW105,option=1600000,power=NSPW105,color=COLOR4){} N:ARM(name=NSNW106,angle=NSAW106,option=1600000,power=NSPW106,color=COLOR4){} N:ARM(name=NSNW107,angle=NSAW107,option=1600000,power=NSPW107,color=COLOR4){} N:ARM(name=NSNW108,angle=NSAW108,option=1600000,power=NSPW108,color=COLOR4){} } //外装(カウル) N:COWL(angle= 150,Option=1,color=#222222,Effect=#0000){ N:COWL(angle=55,Option=0,color=COLOR1,Effect=#0000){} N:COWL(angle=-150,Option=0,color=COLOR2,Effect=#0000){ N:COWL(angle=1,Option=0,color=COLOR2,Effect=#0000){ }}} S:COWL(angle= 150,Option=1,color=#222222,Effect=#0000){} } //対反動ジェット S:WEIGHT(name=SAW2,angle=90,option=2,color=COLOR4){ S:JET(angle= 120,POWER= AR_JW,Effect=1,color=COLOR1){} S:COWL(angle=120,Option=0,color=COLOR2,Effect=#0000){} } S:WEIGHT(name=SAW3,angle=150,option=2,color=COLOR4){ S:JET(angle=-120,POWER=-AR_JW,Effect=1,color=COLOR1){} } S:WEIGHT(angle=-120,option=2,color=COLOR1){ }} } E:WEIGHT(angle=90,option=2,color=COLOR1){ S:WEIGHT(angle=20,option=2,color=COLOR1){} //機体後部装甲 //底部中心 E:WEIGHT(angle=90,option=3,color=COLOR1){ //N:JET(angle=180,POWER=-JVY,color=#111111){} //Y方向 //前 N:WEIGHT(angle=-20,option=3,color=COLOR1){ //足 //対地シールド----------------WEIGHT CHIP FRAME COWL TRIM RUDDER JET ARM RLW N:WEIGHT(angle=90,option=4,color=COLOR1){} W:WEIGHT(angle=91,option=3,color=COLOR1){ S:COWL(angle=1,option=3,effect=#0000,color=COLOR4){} } E:WEIGHT(angle=91,option=3,color=COLOR1){ S:COWL(angle=1,option=4,effect=#0000,color=COLOR4){} } } N:WEIGHT(angle=0,option=2,color=COLOR1){ N:JET(angle=180,POWER=JAXF,color=COLOR1){} //X軸 } //後 S:WEIGHT(angle=STAND_A,option=3,color=COLOR1){} //足 S:WEIGHT(angle=0,option=3,color=COLOR1){ //マシンキャノン1----------------WEIGHT CHIP FRAME COWL TRIM RUDDER JET ARM RLW N:JET(angle=180,option=0,color=COLOR1){ S:JET(angle=-CANOA101,option=0,color=#111111){S:ARM(NAME=CANON101,angle=CANOA101,Option=100000,POWER=CANOP101,color=#111111){}} S:JET(angle=-CANOA102,option=0,color=#111111){S:ARM(NAME=CANON102,angle=CANOA102,Option=100000,POWER=CANOP102,color=#111111){}} S:JET(angle=-CANOA103,option=0,color=#111111){S:ARM(NAME=CANON103,angle=CANOA103,Option=100000,POWER=CANOP103,color=#111111){}} S:JET(angle=-CANOA104,option=0,color=#111111){S:ARM(NAME=CANON104,angle=CANOA104,Option=100000,POWER=CANOP104,color=#111111){}} S:JET(angle=-CANOA105,option=0,color=#111111){S:ARM(NAME=CANON105,angle=CANOA105,Option=100000,POWER=CANOP105,color=#111111){}} } //マシンキャノン2 N:JET(angle=180,option=0,color=COLOR1){ S:JET(angle=-CANOA106,option=0,color=#111111){S:ARM(NAME=CANON106,angle=CANOA106,Option=100000,POWER=CANOP106,color=#111111){}} S:JET(angle=-CANOA107,option=0,color=#111111){S:ARM(NAME=CANON107,angle=CANOA107,Option=100000,POWER=CANOP107,color=#111111){}} S:JET(angle=-CANOA108,option=0,color=#111111){S:ARM(NAME=CANON108,angle=CANOA108,Option=100000,POWER=CANOP108,color=#111111){}} S:JET(angle=-CANOA109,option=0,color=#111111){S:ARM(NAME=CANON109,angle=CANOA109,Option=100000,POWER=CANOP109,color=#111111){}} S:JET(angle=-CANOA110,option=0,color=#111111){S:ARM(NAME=CANON110,angle=CANOA110,Option=100000,POWER=CANOP110,color=#111111){}} } //マシンキャノン3 N:JET(angle=180,option=0,color=COLOR1){ S:JET(angle=-CANOA111,option=0,color=#111111){S:ARM(NAME=CANON111,angle=CANOA111,Option=100000,POWER=CANOP111,color=#111111){}} S:JET(angle=-CANOA112,option=0,color=#111111){S:ARM(NAME=CANON112,angle=CANOA112,Option=100000,POWER=CANOP112,color=#111111){}} S:JET(angle=-CANOA113,option=0,color=#111111){S:ARM(NAME=CANON113,angle=CANOA113,Option=100000,POWER=CANOP113,color=#111111){}} S:JET(angle=-CANOA114,option=0,color=#111111){S:ARM(NAME=CANON114,angle=CANOA114,Option=100000,POWER=CANOP114,color=#111111){}} S:JET(angle=-CANOA115,option=0,color=#111111){S:ARM(NAME=CANON115,angle=CANOA115,Option=100000,POWER=CANOP115,color=#111111){}} } //マシンキャノン4 N:JET(angle=180,option=0,color=COLOR1){ S:JET(angle=-CANOA116,option=0,color=#111111){S:ARM(NAME=CANON116,angle=CANOA116,Option=100000,POWER=CANOP116,color=#111111){}} S:JET(angle=-CANOA117,option=0,color=#111111){S:ARM(NAME=CANON117,angle=CANOA117,Option=100000,POWER=CANOP117,color=#111111){}} S:JET(angle=-CANOA118,option=0,color=#111111){S:ARM(NAME=CANON118,angle=CANOA118,Option=100000,POWER=CANOP118,color=#111111){}} S:JET(angle=-CANOA119,option=0,color=#111111){S:ARM(NAME=CANON119,angle=CANOA119,Option=100000,POWER=CANOP119,color=#111111){}} S:JET(angle=-CANOA120,option=0,color=#111111){S:ARM(NAME=CANON120,angle=CANOA120,Option=100000,POWER=CANOP120,color=#111111){}} } } } S:JET(name=JVZN,angle=090,POWER=JVZ,color=#111111){} //Z方向 W:JET(name=JVXNE,angle=-180,POWER=-JVX,color=#111111){} //X方向 E:WEIGHT(angle=STAND_B,option=2,color=COLOR1){} //足 //サイドジェット----------------WEIGHT CHIP FRAME COWL TRIM RUDDER JET ARM RLW //Z軸 W:WEIGHT(angle=-120,option=2,color=COLOR1){ W:JET(name=JAZEN,angle=-150,POWER=JAZE,color=#111111){} W:WEIGHT(angle=-120,option=2,color=COLOR1){ }} //Y軸 S:WEIGHT(angle=-120,option=2,color=COLOR1){ S:JET(name=JAYEN,angle=-150,POWER=JAYE,color=#111111){ } //ダガー //砲身 S:WEIGHT(name=SAE1,angle=-60,option=2,color=COLOR4){ S:COWL(name=GL_R,angle=0.0,Option=0,color=COLOR2,Effect=#ffff){} //ガイドライン S:JET(angle=180,color=COLOR1){ N:ARM(name=NSNE101,angle=NSAE101,option=1600000,power=NSPE101,color=COLOR4){} N:ARM(name=NSNE102,angle=NSAE102,option=1600000,power=NSPE102,color=COLOR4){} N:ARM(name=NSNE103,angle=NSAE103,option=1600000,power=NSPE103,color=COLOR4){} N:ARM(name=NSNE104,angle=NSAE104,option=1600000,power=NSPE104,color=COLOR4){} } S:JET(angle=180,color=COLOR1){ N:ARM(name=NSNE105,angle=NSAE105,option=1600000,power=NSPE105,color=COLOR4){} N:ARM(name=NSNE106,angle=NSAE106,option=1600000,power=NSPE106,color=COLOR4){} N:ARM(name=NSNE107,angle=NSAE107,option=1600000,power=NSPE107,color=COLOR4){} N:ARM(name=NSNE108,angle=NSAE108,option=1600000,power=NSPE108,color=COLOR4){} } //外装(カウル) N:COWL(angle= 150,Option=1,color=#222222,Effect=#0000){ N:COWL(angle=55,Option=0,color=COLOR1,Effect=#0000){} N:COWL(angle=-150,Option=0,color=COLOR2,Effect=#0000){ N:COWL(angle=1,Option=0,color=COLOR2,Effect=#0000){ }}} S:COWL(angle= 150,Option=1,color=#222222,Effect=#0000){} } //対反動ジェット S:WEIGHT(name=SAE2,angle=90,option=2,color=COLOR4){ S:JET(angle= 120,POWER= AR_JE,Effect=1,color=COLOR1){} S:COWL(angle=120,Option=0,color=COLOR2,Effect=#0000){} } S:WEIGHT(name=SAE3,angle=150,option=2,color=COLOR4){ S:JET(angle=-120,POWER=-AR_JE,Effect=1,color=COLOR1){} } S:WEIGHT(angle=-120,option=2,color=COLOR1){ }} } S:WEIGHT(angle=0,option=2,color=COLOR1){} //機体後部装甲 } } //コアここまで } //ボディ制作終了 LUA { --初期設定---------------- --機体の初期カラー(1-7) BODY_COLOR=1 --ガイドラインの色 --カラー1 --明 COL_R1L=255 --赤 COL_G1L=30 --緑 COL_B1L=30 --青 --暗 COL_R1D=150 --赤 COL_G1D=15 --緑 COL_B1D=15 --青 --カラー2 --明 COL_R2L=0 --赤 COL_G2L=255 --緑 COL_B2L=196 --青 --暗 COL_R2D=0 --赤 COL_G2D=170 --緑 COL_B2D=128 --青 --モーション変数設定---------------- --{現在値,指定値,モードスイッチ,指定値との距離,指定移動量} --スタンド Stand_A={STAND_A,STAND_A,0,0,4} Stand_B={STAND_B,STAND_B,0,0,4} --ダガー --W for LOOP=1,8 do _G["nsaw"..100+LOOP]={_G["NSAW"..100+LOOP],_G["NSAW"..100+LOOP],0,0,15} end --E for LOOP=1,8 do _G["nsae"..100+LOOP]={_G["NSAE"..100+LOOP],_G["NSAE"..100+LOOP],0,0,15} end --変数設定------------------------ stand_sw=0 Purge_W,Purge_E=0,0 pX,pY,pZ={0,0},{0,0},{0,0} COMMAND_MEMORY={0,0,0,0,0,0} COMMAND_MEMORY[0],C_out=0,0 --グラデーションデータ --1 COL_RG1=math.max(COL_R1L,COL_R1D)-math.min(COL_R1L,COL_R1D) COL_GG1=math.max(COL_G1L,COL_G1D)-math.min(COL_G1L,COL_G1D) COL_BG1=math.max(COL_B1L,COL_B1D)-math.min(COL_B1L,COL_B1D) --2 COL_RG2=math.max(COL_R2L,COL_R2D)-math.min(COL_R2L,COL_R2D) COL_GG2=math.max(COL_G2L,COL_G2D)-math.min(COL_G2L,COL_G2D) COL_BG2=math.max(COL_B2L,COL_B2D)-math.min(COL_B2L,COL_B2D) --メイン--------------------------- function main() --コア分離 dummy=_SPLIT(CORE2) --スタンド昇降 if _H(CORE2)>0 then if _H(CORE2)<=2 then stand_sw=1 end if _H(CORE2)> 2.5 then stand_sw=0 end end if stand_sw==0 then Stand_A[2]= 0 Stand_A[3]=2 Stand_B[2]=-90 Stand_B[3]=2 elseif stand_sw==1 then Stand_A[2]=-20 Stand_A[3]=2 Stand_B[2]=-70 Stand_B[3]=2 end --各種制御 FLOAT_CONTROL() --浮遊制御 FIRE_CONTROL1() --火器制御(マシンキャノン) if Purge_W+Purge_E>=0 then FIRE_CONTROL2() --火器制御(ダガー) end MOUSE_CONTROL() --マウスコントロール MOTION_CONTROL() --モーションコントロール CHANGE_COLOR() --機体カラー --ダガー分離 if _KEY(2)==1 and Purge_W==0 then dummy,dummy,dummy,Purge_W=_BYE(SAW1),_BYE(SAW2),_BYE(SAW3),1 end if _KEY(3)==1 and Purge_E==0 then dummy,dummy,dummy,Purge_E=_BYE(SAE1),_BYE(SAE2),_BYE(SAE3),1 end --ガイドライン if _KEYDOWN(1)==1 then if GLW==1 then GLW=0 else GLW=1 end end if GLW==0 then G_line() end --情報 out(0,"Ghost hound Armd01") if _TICKS()<320 then out(1,"Dagger : Wait...",320-_TICKS()) else out(1,"Dagger : Ready") end if Purge_W+Purge_E<0 then out(1,"Dagger : Stop") end out(2," | Shell : "..Ammo_number_W+Ammo_number_E) out(3," | Top charge : ",top_charge*100) out(4," | Fire type : Double") if Fire_type==0 then out(4," | Fire type : Switch") end out(5,"Altitude : ",_Y(CORE2)) out(6,"G distance : ",_H(CORE2)) if _H(CORE2)<0 then out(6,"G distance : Extent out") end out(7,"Speed : ",new_Speed) out(8,"Color : "..BODY_COLOR,".",COL_name) if C_out==1 then out(9,"<>") end if _MR()==1 then out(9,"<>") end if Minimum==0 then out(10,"<>") end if _TICKS()<150 then out(11,"<>") end end --マウス操作------------------------------------------ Border_X,Border_Y=0.7,0.5 M_dir,M_dir_MAX=0,30 M_ang,M_ang_MAX=0,30 base_ang,base_ang_MINI=0,0 base_dir,base_dir_MINI=0,0 function MOUSE_CONTROL() --カーソル位置 Mx=-(_MX()-(_WIDTH()/2))/(_WIDTH()/2)*(_WIDTH()/_HEIGHT()) My=(_MY()-(_HEIGHT()/2))/(_HEIGHT()/2) --領域情報 --変数初期化 Rein_X,Rein_Y=0,0 Reout_X,Reout_Y=0,0 --Y --領域内 Rein_Y=-My/Border_Y if Rein_Y>1 then Rein_Y=1 elseif Rein_Y<-1 then Rein_Y=-1 end --領域外 if My<0 then Reout_Y=(My+Border_Y)/(-1+Border_Y) if Reout_Y<0 then Reout_Y=0 elseif Reout_Y> 1 then Reout_Y= 1 end elseif My>0 then Reout_Y=-(My-Border_Y)/(1-Border_Y) if Reout_Y>0 then Reout_Y=0 elseif Reout_Y<-1 then Reout_Y=-1 end end --X --領域内 Rein_X=Mx/Border_X if Rein_X>1 then Rein_X=1 elseif Rein_X<-1 then Rein_X=-1 end --領域外 if Mx<0 then Reout_X=-(Mx+Border_X)/(-1+Border_X) if Reout_X>0 then Reout_X=0 elseif Reout_X<-1 then Reout_X=-1 end elseif Mx>0 then Reout_X=(Mx-Border_X)/(1-Border_X) if Reout_X<0 then Reout_X=0 elseif Reout_X> 1 then Reout_X= 1 end end --基本方位修正 base_dir=base_dir+math.rad(Reout_X*5) base_ang=base_ang+math.rad(Reout_Y*5) --角度リミッター if base_ang> math.rad(90-M_ang_MAX) then base_ang= math.rad(90-M_ang_MAX) end if base_ang<-math.rad(90-M_ang_MAX) then base_ang=-math.rad(90-M_ang_MAX) end total_ang=(Rein_Y*M_ang_MAX+math.deg(base_ang))/90 --総合結果 XA=math.rad(Rein_Y*M_ang_MAX)+base_ang YA=math.rad(Rein_X*M_dir_MAX)+base_dir+Def_YA end --浮遊制御--------------------------------- base_pow=_WEIGHT()*56.84--初期機体重量*仮想重力値 XA,YA,ZA,Def_YA=0,0,0,-_AY(CORE2) YZAS,XAS={0,0},{0,0} Counter1,Counter2=0,0 Spin_X,Spin_Y,Spin_Z={0,0},{0,0},{0,0} alt=_Y(CORE2) VY,VY_ave={0,0},{0,0,0,0,0} Minimum=1 CHIPS,WEIGHT_memo=0,0 function FLOAT_CONTROL() --機体重量測定 for LOOP=00,10 do if _TOP(CHIPS+LOOP)==1 or (_TOP(CHIPS+LOOP)==0 and _PARENT(CORE2)~=-1) then if _TYPE(CHIPS+LOOP)~= 9 then --カウルは無視 if _TYPE(CHIPS+LOOP)== 0 then WEIGHT_memo=WEIGHT_memo+25.200002670288086 --CORE elseif _TYPE(CHIPS+LOOP)== 1 then WEIGHT_memo=WEIGHT_memo+25.200002670288086 --CHIP elseif _TYPE(CHIPS+LOOP)== 2 then WEIGHT_memo=WEIGHT_memo+25.200002670288086 --RUDDER elseif _TYPE(CHIPS+LOOP)== 3 then WEIGHT_memo=WEIGHT_memo+42.411502838134766 --RIM(WHEEL/RLW) elseif _TYPE(CHIPS+LOOP)== 4 then WEIGHT_memo=WEIGHT_memo+36.756637573242188 --WHEEL elseif _TYPE(CHIPS+LOOP)== 5 then WEIGHT_memo=WEIGHT_memo+36.756637573242188 --RLW elseif _TYPE(CHIPS+LOOP)== 6 then WEIGHT_memo=WEIGHT_memo+25.200002670288086 --TRIM elseif _TYPE(CHIPS+LOOP)== 7 then WEIGHT_memo=WEIGHT_memo+36.756637573242188 --JET elseif _TYPE(CHIPS+LOOP)== 8 then --WEIGHT --オプション補正 if _OPTION(CHIPS+LOOP)>0 then WEIGHT_memo=WEIGHT_memo+100.800010681152340*_OPTION(CHIPS+LOOP) else WEIGHT_memo=WEIGHT_memo+100.800010681152340 end elseif _TYPE(CHIPS+LOOP)==10 then WEIGHT_memo=WEIGHT_memo+50.400005340576172 --ARM elseif _TYPE(CHIPS+LOOP)==33 then WEIGHT_memo=WEIGHT_memo+12.600001335144043 --FRAME elseif _TYPE(CHIPS+LOOP)==34 then WEIGHT_memo=WEIGHT_memo+12.600001335144043 --RUDDERF elseif _TYPE(CHIPS+LOOP)==35 then WEIGHT_memo=WEIGHT_memo+12.600001335144043 --TRIMF end end end end CHIPS=CHIPS+10 --base_pow更新 if CHIPS>_CHIPS() then base_pow=WEIGHT_memo*56.84 WEIGHT_memo,CHIPS=0,0 end --速度算出 pX,pY,pZ={pX[2],_X(CORE2)},{pY[2],_Y(CORE2)},{pZ[2],_Z(CORE2)} pX[0],pY[0],pZ[0]=pX[1]-pX[2],pY[1]-pY[2],pZ[1]-pZ[2] new_Speed=math.sqrt(pX[0]*pX[0]+pY[0]*pY[0]+pZ[0]*pZ[0])*100 --変数初期化 JVX,JVY,JVZ,JAXF,JAXR,JAYW,JAYE,JAZW,JAZE=0,0,0,0,0,0,0,0,0 --X軸制御 --方向基準点 XX,XY,XZ=math.cos(YA),0,math.sin(YA) --Xライン ZX=math.cos(YA+math.rad(-90))*math.cos(XA) ZY=math.sin(XA) ZZ=math.sin(YA+math.rad(-90))*math.cos(XA) --Zライン(ベクトル) --内積 nai_x1,nai_y1,nai_z1=-_ZX(CORE2),-_ZY(CORE2),-_ZZ(CORE2) nai_x2,nai_y2,nai_z2=0,1,0 --正規化1 length=math.sqrt(nai_x1^2+nai_y1^2+nai_z1^2) length=1/length nai_x1,nai_y1,nai_z1=nai_x1*length,nai_y1*length,nai_z1*length --正規化2 length=math.sqrt(nai_x2^2+nai_y2^2+nai_z2^2) length=1/length nai_x2,nai_y2,nai_z2=nai_x2*length,nai_y2*length,nai_z2*length nai=(nai_x1*nai_x2+nai_y1*nai_y2+nai_z1*nai_z2) ang1=math.acos(nai)*180/math.pi --角度変換 --外積 x1,y1,z1=-_ZX(CORE2),-_ZY(CORE2),-_ZZ(CORE2) x2,y2,z2=0,1,0 x3,y3,z3=(y1*z2-z1*y2),(z1*x2-x1*z2),(x1*y2-y1*x2) --正規化 length=math.sqrt(x3^2+y3^2+z3^2) if length>0 then length=1/length else length=0 end x3,y3,z3=x3*length,y3*length,z3*length --符号判別 len=math.ceil(math.sqrt((x3-_XX(CORE2))^2+(y3-_XY(CORE2))^2+(z3-_XZ(CORE2))^2)) if len==2 then ang1=-ang1 end --Zライン(座標) --内積 nai_x1,nai_y1,nai_z1=ZX,ZY,ZZ nai_x2,nai_y2,nai_z2=0,1,0 --正規化1 length=math.sqrt(nai_x1^2+nai_y1^2+nai_z1^2) if length>0 then length=1/length else length=0 end nai_x1,nai_y1,nai_z1=nai_x1*length,nai_y1*length,nai_z1*length --正規化2 length=math.sqrt(nai_x2^2+nai_y2^2+nai_z2^2) if length>0 then length=1/length else length=0 end nai_x2,nai_y2,nai_z2=nai_x2*length,nai_y2*length,nai_z2*length nai=(nai_x1*nai_x2+nai_y1*nai_y2+nai_z1*nai_z2) ang2=math.acos(nai)*180/math.pi --角度変換 --外積 x1,y1,z1=ZX,ZY,ZZ x2,y2,z2=0,1,0 x3,y3,z3=(y1*z2-z1*y2),(z1*x2-x1*z2),(x1*y2-y1*x2) --正規化 length=math.sqrt(x3^2+y3^2+z3^2) if length>0 then length=1/length else length=0 end x3,y3,z3=x3*length,y3*length,z3*length --符号判別 len=math.ceil(math.sqrt((x3-XX)^2+(y3-XY)^2+(z3-XZ)^2)) if len==2 then ang2=-ang2 end --角度差 ang3=ang1-ang2 ang3=ang3-math.floor(ang3/360)*360 if ang3<-180.0 then ang3=ang3+360.0 end if ang3> 180.0 then ang3=ang3-360.0 end ang3=ang3/180 --速度制御 --速度算出 XAS={XAS[2],math.abs(ang3)} XAS[0]=(XAS[1]-XAS[2]) mark=-1 if XAS[0]<0 then mark=1 end --符号判別 XAS[0]=math.abs(_WX(CORE2))*mark --カウンター Counter=1 if XAS[0]>0.00 then Counter=1+XAS[0]*5 end --出力総合 JAXF=base_pow*(ang3*2-_WX(CORE2)*0.01)*Counter JAXR=-JAXF --Z,Y軸制御(ニンジン誘導方式) --方向基準点 ZX,ZY,ZZ=math.sin(-YA),0,math.cos(-YA) --Zライン --内積 nai_x1,nai_y1,nai_z1=_XX(CORE2),_XY(CORE2),_XZ(CORE2) nai_x2,nai_y2,nai_z2=XX,XY,XZ --正規化1 length=math.sqrt(nai_x1^2+nai_y1^2+nai_z1^2) if length>0 then length=1/length else length=0 end nai_x1,nai_y1,nai_z1=nai_x1*length,nai_y1*length,nai_z1*length --正規化2 length=math.sqrt(nai_x2^2+nai_y2^2+nai_z2^2) if length>0 then length=1/length else length=0 end nai_x2,nai_y2,nai_z2=nai_x2*length,nai_y2*length,nai_z2*length nai=(nai_x1*nai_x2+nai_y1*nai_y2+nai_z1*nai_z2) rot=math.acos(nai)*180/math.pi --角度変換 --外積1 x1,y1,z1=XX,XY,XZ x2,y2,z2=_XX(CORE2),_XY(CORE2),_XZ(CORE2) x3,y3,z3=(y1*z2-z1*y2),(z1*x2-x1*z2),(x1*y2-y1*x2) --外積2 x1,y1,z1=XX,XY,XZ x2,y2,z2=x3,y3,z3 x3,y3,z3=-(y1*z2-z1*y2),-(z1*x2-x1*z2),-(x1*y2-y1*x2) --正規化 length=math.sqrt(x3^2+y3^2+z3^2) if length>0 then length=1/length else length=0 end x3,y3,z3=x3*length,y3*length,z3*length --球面上の二点間距離 x4,y4,z4=0,0,0 if rot>0.01 then for loop=rot,rot-rot*0.11,-rot*0.1 do loop_cos=math.cos(math.rad(loop)) loop_sin=math.sin(math.rad(loop)) x4=XX*loop_cos+x3*loop_sin y4=XY*loop_cos+y3*loop_sin z4=XZ*loop_cos+z3*loop_sin end end --内積 JAZW=(x4*_YX(CORE2)+y4*_YY(CORE2)+z4*_YZ(CORE2))*125 JAYW=(x4*_ZX(CORE2)+y4*_ZY(CORE2)+z4*_ZZ(CORE2))*125 --速度算出 nai_x1,nai_y1,nai_z1=x3,y3,z3 nai_x2,nai_y2,nai_z2=x4,y4,z4 --正規化1 length=math.sqrt(nai_x1^2+nai_y1^2+nai_z1^2) if length>0 then length=1/length else length=0 end nai_x1,nai_y1,nai_z1=nai_x1*length,nai_y1*length,nai_z1*length --正規化2 length=math.sqrt(nai_x2^2+nai_y2^2+nai_z2^2) if length>0 then length=1/length else length=0 end nai_x2,nai_y2,nai_z2=nai_x2*length,nai_y2*length,nai_z2*length nai=(nai_x1*nai_x2+nai_y1*nai_y2+nai_z1*nai_z2) rot=math.acos(nai)*180/math.pi --角度変換 YZAS={YZAS[2],rot} YZAS[0]=(YZAS[1]-YZAS[2]) --速度制御 --装備補正 dam=0.09 if Purge_W==1 then dam=dam-0.04 end if Purge_E==1 then dam=dam-0.04 end --結果 damper=0.1+YZAS[0]*dam if YZAS[0]>0.00 then damper=damper*1.5 end --out(16,dam) --回転抑制 Spin_X,Spin_Y,Spin_Z={Spin_X[2],_XX(CORE2)},{Spin_Y[2],_XY(CORE2)},{Spin_Z[2],_XZ(CORE2)} Spin_X[0],Spin_Y[0],Spin_Z[0]=Spin_X[1]-Spin_X[2],Spin_Y[1]-Spin_Y[2],Spin_Z[1]-Spin_Z[2] x4n,y4n,z4n=_XX(CORE2)-x4,_XY(CORE2)-y4,_XZ(CORE2)-z4 --正規化1 length=math.sqrt(Spin_X[0]^2+Spin_Y[0]^2+Spin_Z[0]^2) if length>0 then length=1/length else length=0 end Spin_Xn,Spin_Yn,Spin_Zn=Spin_X[0]*length,Spin_Y[0]*length,Spin_Z[0]*length --正規化2 length=math.sqrt(x4n^2+y4n^2+z4n^2) if length>0 then length=1/length else length=0 end x4n,y4n,z4n=x4n*length,y4n*length,z4n*length --内積 nai=x4n*Spin_Xn+y4n*Spin_Yn+z4n*Spin_Zn rot=math.acos(nai)*180/math.pi --角度変換 --抑制実行判定 JAZW2,JAYW2=0,0 if rot>60 and rot<120 then JAZW2=(Spin_X[0]*_YX(CORE2)+Spin_Y[0]*_YY(CORE2)+Spin_Z[0]*_YZ(CORE2))*125 JAYW2=(Spin_X[0]*_ZX(CORE2)+Spin_Y[0]*_ZY(CORE2)+Spin_Z[0]*_ZZ(CORE2))*125 end --出力総合 JAZW=(base_pow*0.1*JAZW2)+(base_pow*JAZW*damper) JAZE=-JAZW JAYW=(base_pow*0.1*JAYW2)+(base_pow*JAYW*damper) JAYE=-JAYW --制御無効前進スイッチ ALL_MEMORYS=0 COMMAND_MEMORY[0]=_KEYDOWN(15) for LOOP=1,5 do ALL_MEMORYS=ALL_MEMORYS+COMMAND_MEMORY[LOOP] end if ALL_MEMORYS>=2 or (_KEY(15)==1 and C_out==1) then COMMAND_MEMORY={0,0,0,0,0} C_out=1 alt=_Y(CORE2) alt3=VY_ave[0] alt_lock=1 else COMMAND_MEMORY={COMMAND_MEMORY[0],COMMAND_MEMORY[1],COMMAND_MEMORY[2],COMMAND_MEMORY[3],COMMAND_MEMORY[4]} C_out=0 end --高度維持 VY={VY[2],_Y(CORE2)} VY[0]=VY[1]-VY[2] --上下速度平均 VY_ave={VY_ave[2],VY_ave[3],VY_ave[4],VY_ave[5],VY[0]} VY_ave[0]=(VY_ave[1]+VY_ave[2]+VY_ave[3]+VY_ave[4]+VY_ave[5])/5*1.5 if VY_ave[0]> 1 then VY_ave[0]= 1 end if VY_ave[0]<-1 then VY_ave[0]=-1 end --基本出力 JVX=JVX+-base_pow*_XY(CORE2)/2 JVY=JVY+-base_pow*_YY(CORE2) JVZ=JVZ+ base_pow*_ZY(CORE2) --基準高度変更 --一段階 if _KEYUP(14)+_KEYUP(16)+_KEYUP(4)+_KEYUP(6)>0 then alt=_Y(CORE2) alt3=VY_ave[0] alt_lock=1 end --二段階 if alt_lock==1 then if alt3>0 and VY_ave[0]<=0 then alt=_Y(CORE2) alt_lock=0 end if alt3<0 and VY_ave[0]>=0 then alt=_Y(CORE2) alt_lock=0 end end --維持 if _KEY(14)+_KEY(16)+_KEY(4)+_KEY(6)+C_out==0 then alt2=(alt-_Y(CORE2))*2+VY[0]*10 JVX=JVX+-base_pow*_XY(CORE2)/2*alt2 JVY=JVY+-base_pow*_YY(CORE2)*alt2 JVZ=JVZ+ base_pow*_ZY(CORE2)*alt2 end --移動 --最小出力モード if _KEYDOWN(5)==1 and _KEY(12)==0 then if Minimum==1 then Minimum=0 else Minimum=1 end end --上下 if _KEY(14)==1 or _KEY(16)==1 then JVX=JVX+-base_pow*_XY(CORE2)/2 JVY=JVY+-base_pow*_YY(CORE2) JVZ=JVZ+ base_pow*_ZY(CORE2) JAZW=JAZW+base_pow*_YY(CORE2)*Minimum JAZE=JAZE+base_pow*_YY(CORE2)*Minimum JAYW=JAYW+base_pow*_ZY(CORE2)*Minimum JAYE=JAYE+base_pow*_ZY(CORE2)*Minimum elseif _KEY(4)==1 or _KEY(6)==1 then JVX=JVX+base_pow*_XY(CORE2)/2 JVY=JVY+base_pow*_YY(CORE2) JVZ=JVZ+-base_pow*_ZY(CORE2) JAZW=JAZW-base_pow*_YY(CORE2)*Minimum JAZE=JAZE-base_pow*_YY(CORE2)*Minimum JAYW=JAYW-base_pow*_ZY(CORE2)*Minimum JAYE=JAYE-base_pow*_ZY(CORE2)*Minimum end --左右 if _KEY(9)==1 and _VX(CORE2)>-45 then JVX=JVX+base_pow*(1+7*Minimum) --対反動減速 if _VX(CORE2)>0then JVX=JVX+base_pow*_VX(CORE2) end end if _KEY(7)==1 and _VX(CORE2)< 45 then JVX=JVX-base_pow*(1+7*Minimum) --対反動減速 if _VX(CORE2)<0then JVX=JVX+base_pow*_VX(CORE2) end end --制御無効前進 if _KEY(15)==1 and _VZ(CORE2)>-45 and C_out==1 then JVX=JVX+base_pow*_XZ(CORE2)/2 JVY=JVY+base_pow*_YZ(CORE2) JVZ=JVZ-base_pow*_ZZ(CORE2) JVZ =JVZ -base_pow JAYW=JAYW-base_pow JAYE=JAYE-base_pow JAXF=JAXF+base_pow*0.05 JAXR=-JAXF --対反動減速 if _VZ(CORE2)>0then JVZ =JVZ -base_pow*_VZ(CORE2) end end --前後 if _KEY(15)==1 and _VZ(CORE2)>-45 and C_out==0 then --X --内積 nai_x1,nai_y1,nai_z1=_XX(CORE2),_XY(CORE2),_XZ(CORE2) nai_x2,nai_y2,nai_z2=-ZX,-ZY,-ZZ --正規化1 length=math.sqrt(nai_x1^2+nai_y1^2+nai_z1^2) if length>0 then length=1/length else length=0 end nai_x1,nai_y1,nai_z1=nai_x1*length,nai_y1*length,nai_z1*length --正規化2 length=math.sqrt(nai_x2^2+nai_y2^2+nai_z2^2) if length>0 then length=1/length else length=0 end nai_x2,nai_y2,nai_z2=nai_x2*length,nai_y2*length,nai_z2*length nai=(nai_x1*nai_x2+nai_y1*nai_y2+nai_z1*nai_z2) rot=((math.acos(nai)*1/math.pi)-0.5)/0.5 --角度変換 JVX=JVX+base_pow*rot/2 --Y --内積 nai_x1,nai_y1,nai_z1=_YX(CORE2),_YY(CORE2),_YZ(CORE2) nai_x2,nai_y2,nai_z2=-ZX,-ZY,-ZZ --正規化1 length=math.sqrt(nai_x1^2+nai_y1^2+nai_z1^2) if length>0 then length=1/length else length=0 end nai_x1,nai_y1,nai_z1=nai_x1*length,nai_y1*length,nai_z1*length --正規化2 length=math.sqrt(nai_x2^2+nai_y2^2+nai_z2^2) if length>0 then length=1/length else length=0 end nai_x2,nai_y2,nai_z2=nai_x2*length,nai_y2*length,nai_z2*length nai=(nai_x1*nai_x2+nai_y1*nai_y2+nai_z1*nai_z2) rot=((math.acos(nai)*1/math.pi)-0.5)/0.5 --角度変換 JVY=JVY+base_pow*rot JAZW=JAZW-base_pow*rot*Minimum JAZE=JAZE-base_pow*rot*Minimum --Z --内積 nai_x1,nai_y1,nai_z1=_ZX(CORE2),_ZY(CORE2),_ZZ(CORE2) nai_x2,nai_y2,nai_z2=-ZX,-ZY,-ZZ --正規化1 length=math.sqrt(nai_x1^2+nai_y1^2+nai_z1^2) if length>0 then length=1/length else length=0 end nai_x1,nai_y1,nai_z1=nai_x1*length,nai_y1*length,nai_z1*length --正規化2 length=math.sqrt(nai_x2^2+nai_y2^2+nai_z2^2) if length>0 then length=1/length else length=0 end nai_x2,nai_y2,nai_z2=nai_x2*length,nai_y2*length,nai_z2*length nai=(nai_x1*nai_x2+nai_y1*nai_y2+nai_z1*nai_z2) rot=((math.acos(nai)*1/math.pi)-0.5)/0.5 --角度変換 JVZ=JVZ-base_pow*rot JAYW=JAYW-base_pow*rot*Minimum JAYE=JAYE-base_pow*rot*Minimum end if _KEY(8) ==1 and _VZ(CORE2)< 42.5 then --X --内積 nai_x1,nai_y1,nai_z1=_XX(CORE2),_XY(CORE2),_XZ(CORE2) nai_x2,nai_y2,nai_z2=-ZX,-ZY,-ZZ --正規化1 length=math.sqrt(nai_x1^2+nai_y1^2+nai_z1^2) if length>0 then length=1/length else length=0 end nai_x1,nai_y1,nai_z1=nai_x1*length,nai_y1*length,nai_z1*length --正規化2 length=math.sqrt(nai_x2^2+nai_y2^2+nai_z2^2) if length>0 then length=1/length else length=0 end nai_x2,nai_y2,nai_z2=nai_x2*length,nai_y2*length,nai_z2*length nai=(nai_x1*nai_x2+nai_y1*nai_y2+nai_z1*nai_z2) rot=((math.acos(nai)*1/math.pi)-0.5)/0.5 --角度変換 JVX=JVX-base_pow*rot/2 --Y --内積 nai_x1,nai_y1,nai_z1=_YX(CORE2),_YY(CORE2),_YZ(CORE2) nai_x2,nai_y2,nai_z2=-ZX,-ZY,-ZZ --正規化1 length=math.sqrt(nai_x1^2+nai_y1^2+nai_z1^2) if length>0 then length=1/length else length=0 end nai_x1,nai_y1,nai_z1=nai_x1*length,nai_y1*length,nai_z1*length --正規化2 length=math.sqrt(nai_x2^2+nai_y2^2+nai_z2^2) if length>0 then length=1/length else length=0 end nai_x2,nai_y2,nai_z2=nai_x2*length,nai_y2*length,nai_z2*length nai=(nai_x1*nai_x2+nai_y1*nai_y2+nai_z1*nai_z2) rot=((math.acos(nai)*1/math.pi)-0.5)/0.5 --角度変換 JVY=JVY-base_pow*rot JAZW=JAZW+base_pow*rot*Minimum JAZE=JAZE+base_pow*rot*Minimum --Z --内積 nai_x1,nai_y1,nai_z1=_ZX(CORE2),_ZY(CORE2),_ZZ(CORE2) nai_x2,nai_y2,nai_z2=-ZX,-ZY,-ZZ --正規化1 length=math.sqrt(nai_x1^2+nai_y1^2+nai_z1^2) if length>0 then length=1/length else length=0 end nai_x1,nai_y1,nai_z1=nai_x1*length,nai_y1*length,nai_z1*length --正規化2 length=math.sqrt(nai_x2^2+nai_y2^2+nai_z2^2) if length>0 then length=1/length else length=0 end nai_x2,nai_y2,nai_z2=nai_x2*length,nai_y2*length,nai_z2*length nai=(nai_x1*nai_x2+nai_y1*nai_y2+nai_z1*nai_z2) rot=((math.acos(nai)*1/math.pi)-0.5)/0.5 --角度変換 JVZ=JVZ+base_pow*rot JAYW=JAYW+base_pow*rot*Minimum JAYE=JAYE+base_pow*rot*Minimum end --ブレーキ if _MR()==1 then JVX=JVX+_VX(CORE2)*base_pow*0.5 --左右 JVY=JVY+_VY(CORE2)*base_pow*0.5 --上下 JVZ=JVZ-_VZ(CORE2)*base_pow*0.5 --前後 end end --火器制御1-[マシンキャノン]-------------------------------- FIRE_ORDER,M_int,rest_point=1,1,9 J_count=999 function FIRE_CONTROL1() --180 30 AR_J=0 --角度初期化 for LOOP=01,20 do _G["CANOA"..100+LOOP]=90 end -- if _ML()==1 and M_int150 then _G["CANOP"..100+FIRE_ORDER]=1000000 FIRE_ORDER=FIRE_ORDER+1 --対反動 JAXF=JAXF-base_pow*0.17 JAXR=-JAXF end M_int=M_int+1 if M_int>rest_point then M_int=1 end if FIRE_ORDER>20 then FIRE_ORDER=1 end _G["CANOA"..100+FIRE_ORDER]=50 end --火器制御2-[ダガー]---------------------------------------------- Fire_type,switch=1,0 F_loop_W,F_loop_E=1,1 F_loop_W_max={8,8,8,8,8,8,8,7} F_loop_E_max={8,8,8,8,8,8,8,7} Back_arm_W={2,3,4,5,6,7,8,1} Back_arm_E={2,3,4,5,6,7,8,1} Ammo_number_W,Ammo_number_E,top_charge=0,0,0 FIRE_ORDER_W,FIRE_ORDER_E=1,1 FIRE_ORDER_WR,FIRE_ORDER_ER=1,1 J_count_W,J_count_E=999,999 function FIRE_CONTROL2() --発射方式変更 if _KEYDOWN(10)==1 then if Fire_type==1 then Fire_type=0 else Fire_type=1 end end if Purge_W+Purge_E>0 then Fire_type=0 end --角度初期化 for LOOP=1,8 do _G["nsaw"..100+LOOP][2]=180 _G["nsaw"..100+LOOP][3]=2 end --W for LOOP=1,8 do _G["nsae"..100+LOOP][2]=180 _G["nsae"..100+LOOP][3]=2 end --E --変数初期化 Ammo_number_W,Ammo_number_E,top_charge=0,0,0 FIRE_ORDER_WR,FIRE_ORDER_ER=0,0 AR_JW,AR_JE=0,0 --アーム探査 --W --分離判定 if Purge_W==0 then --探査 for LOOP=F_loop_W,8 do if _TOP(_G["NSNW"..100+LOOP])>=0 and _TOP(_G["NSNW"..100+LOOP])<=1 and _OPTION(_G["NSNW"..100+LOOP])==_E(_G["NSNW"..100+LOOP]) then FIRE_ORDER_W,F_loop_W=LOOP,LOOP break end if LOOP==8 then F_loop_W,FIRE_ORDER_W=1,0 end end --残存アームカウント for LOOP=1,8 do --残弾数 if _TOP(_G["NSNW"..100+LOOP])>=0 and _TOP(_G["NSNW"..100+LOOP])<=1 and _OPTION(_G["NSNW"..100+LOOP])==_E(_G["NSNW"..100+LOOP]) then Ammo_number_W=Ammo_number_W+1 end --トップチャージ1 if _E(_G["NSNW"..100+LOOP])~=_OPTION(NSNW101) then top_charge=math.max(top_charge,_E(_G["NSNW"..100+LOOP])) end end --次弾準備 if FIRE_ORDER_W>0 then for LOOP=Back_arm_W[FIRE_ORDER_W],F_loop_W_max[FIRE_ORDER_W] do if _TOP(_G["NSNW"..100+LOOP])>=0 and _TOP(_G["NSNW"..100+LOOP])<=1 and _OPTION(_G["NSNW"..100+LOOP])==_E(_G["NSNW"..100+LOOP]) then FIRE_ORDER_WR=LOOP break end end end end --E --分離判定 if Purge_E==0 then --探査 for LOOP=F_loop_E,8 do if _TOP(_G["NSNE"..100+LOOP])>=0 and _TOP(_G["NSNE"..100+LOOP])<=1 and _OPTION(_G["NSNE"..100+LOOP])==_E(_G["NSNE"..100+LOOP]) then FIRE_ORDER_E,F_loop_E=LOOP,LOOP break end if LOOP==8 then F_loop_E,FIRE_ORDER_E=1,0 end end --残存アームカウント for LOOP=1,8 do --残弾数 if _TOP(_G["NSNE"..100+LOOP])>=0 and _TOP(_G["NSNE"..100+LOOP])<=1 and _OPTION(_G["NSNE"..100+LOOP])==_E(_G["NSNE"..100+LOOP]) then Ammo_number_E=Ammo_number_E+1 end --トップチャージ1 if _E(_G["NSNE"..100+LOOP])~=_OPTION(NSNE101) then top_charge=math.max(top_charge,_E(_G["NSNE"..100+LOOP])) end end --次弾準備 if FIRE_ORDER_E>0 then for LOOP=Back_arm_E[FIRE_ORDER_E],F_loop_E_max[FIRE_ORDER_E] do if _TOP(_G["NSNE"..100+LOOP])>=0 and _TOP(_G["NSNE"..100+LOOP])<=1 and _OPTION(_G["NSNE"..100+LOOP])==_E(_G["NSNE"..100+LOOP]) then FIRE_ORDER_ER=LOOP break end end end end --トップチャージ2 top_charge=top_charge/_OPTION(NSNW101) if top_charge==0 then top_charge=1 end --角度移動 if Fire_type==1 then if FIRE_ORDER_W>0 then _G["nsaw"..100+FIRE_ORDER_W][2]=0.05 _G["nsaw"..100+FIRE_ORDER_W][3]=2 end if FIRE_ORDER_E>0 then _G["nsae"..100+FIRE_ORDER_E][2]=0.05 _G["nsae"..100+FIRE_ORDER_E][3]=2 end else if FIRE_ORDER_W>0 then _G["nsaw"..100+FIRE_ORDER_W][2]=0 _G["nsaw"..100+FIRE_ORDER_W][3]=2 end if FIRE_ORDER_E>0 then _G["nsae"..100+FIRE_ORDER_E][2]=0 _G["nsae"..100+FIRE_ORDER_E][3]=2 end end if FIRE_ORDER_WR>0 then _G["nsaw"..100+FIRE_ORDER_WR][2]=90 _G["nsaw"..100+FIRE_ORDER_WR][3]=2 end if FIRE_ORDER_ER>0 then _G["nsae"..100+FIRE_ORDER_ER][2]=90 _G["nsae"..100+FIRE_ORDER_ER][3]=2 end --発射 --同時 if Fire_type==1 then if FIRE_ORDER_W>0 and _KEYUP(12)==1 and _G["nsaw"..100+FIRE_ORDER_W][1]<=0.055 and _KEY(5)==0 then _G["NSPW"..100+FIRE_ORDER_W]=2000000 J_count_W=0 end if FIRE_ORDER_E>0 and _KEYUP(12)==1 and _G["nsae"..100+FIRE_ORDER_E][1]<=0.055 and _KEY(5)==0 then _G["NSPE"..100+FIRE_ORDER_E]=2000000 J_count_E=0 end else --交互 --W if _KEYUP(12)==1 and switch==0 and FIRE_ORDER_W>0 and _G["nsaw"..100+FIRE_ORDER_W][1]<=0 and _KEY(5)==0 then _G["NSPW"..100+FIRE_ORDER_W]=2000000 J_count_W=0 if Ammo_number_E>0 then switch=1 end --E elseif _KEYUP(12)==1 and switch==1 and FIRE_ORDER_E>0 and _G["nsae"..100+FIRE_ORDER_E][1]<=0 and _KEY(5)==0 then _G["NSPE"..100+FIRE_ORDER_E]=2000000 J_count_E=0 if Ammo_number_W>0 then switch=0 end end end --対反動 if J_count_W<2 then AR_JW=-459000 J_count_W=J_count_W+1 end if J_count_E<2 then AR_JE=-459000 J_count_E=J_count_E+1 end --分離判定 if Purge_W+Purge_E==2 then Purge_W,Purge_E,top_charge=-1,-1,0 end end --モーション制御 1.01-------------------------------- function MOTION_CONTROL() --スタンド if Stand_A[3]>0 and Stand_A[3]<=2 then broker=Stand_A MCF() Stand_A=broker STAND_A=Stand_A[1] end if Stand_B[3]>0 and Stand_B[3]<=2 then broker=Stand_B MCF() Stand_B=broker STAND_B=Stand_B[1] end --ダガー --W for LOOP=1,8 do if _G["nsaw"..100+LOOP][3]>0 and _G["nsaw"..100+LOOP][3]<=2 then broker=_G["nsaw"..100+LOOP] MCF() _G["nsaw"..100+LOOP]=broker _G["NSAW"..100+LOOP]=_G["nsaw"..100+LOOP][1] end end --E for LOOP=1,8 do if _G["nsae"..100+LOOP][3]>0 and _G["nsae"..100+LOOP][3]<=2 then broker=_G["nsae"..100+LOOP] MCF() _G["nsae"..100+LOOP]=broker _G["NSAE"..100+LOOP]=_G["nsae"..100+LOOP][1] end end end function MCF() --総移動角 if broker[3]==2 and broker[1]~=0 and broker[2]==0 then broker[2]=-broker[1] --現在値から指定値(0) elseif broker[3]==2 then broker[2]=broker[2]-broker[1] end --現在値から指定値 --1フレームごとの移動角 if broker[3]==2 then broker[4]=broker[5] end --指定移動角入力 --符号切り替え判定 if broker[3]==2 and broker[2]<0 then broker[4]=-broker[4] end broker[3]=1 --最終移動 if (broker[2]<=broker[4] and broker[2]>=0) -- + or (broker[2]>=broker[4] and broker[2]<=0) then -- - pomp,broker[2],broker[3],broker[4]=broker[2],0,0,0 --移動 else pomp=broker[4] broker[2]=broker[2]-broker[4] end broker[1]=broker[1]+pomp end --ガイドライン------------------------ GLW=0 G_col_Switch=0 G_col_MODE=1 G_speed=10 function G_line() --ラインカラー if _KEYDOWN(0)==1 then if G_col_MODE==1 then G_col_MODE=0 elseif G_col_MODE==0 then G_col_MODE=1 end end LINE_COLOR() --3D --マシンキャノン Length=-2000 L_adjust=3.14*31.4 if _KEY(12)==0 then --色 dummy=_SETCOLOR(Line_col_G) if _TICKS()<=150 then REV_COLOR() dummy=_SETCOLOR(Line_col_G) REV_COLOR() end --ベクトル合成 VEC_X=(_ZX(GL_S)*Length-pX[0]*L_adjust) VEC_Y=(_ZY(GL_S)*Length-pY[0]*L_adjust) VEC_Z=(_ZZ(GL_S)*Length-pZ[0]*L_adjust) dummy=_MOVE3D(_X(GL_S),_Y(GL_S),_Z(GL_S)) dummy=_LINE3D(_X(GL_S)+VEC_X,_Y(GL_S)+VEC_Y,_Z(GL_S)+VEC_Z) end --ダガー if Purge_W+Purge_E>=0 and _KEY(12)==1 then if Fire_type==1 or (Fire_type==0 and switch==0 and _KEY(12)==1) then --色 if FIRE_ORDER_W>0 and _G["NSAW"..100+FIRE_ORDER_W]<=0.055 and _TICKS()>320 and Ammo_number_W>0 and _KEY(5)==0 then dummy=_SETCOLOR(Line_col_G) else REV_COLOR() dummy=_SETCOLOR(Line_col_G) REV_COLOR() end --ベクトル合成 VEC_X=(_ZX(GL_L)*Length+pX[0]*L_adjust) VEC_Y=(_ZY(GL_L)*Length+pY[0]*L_adjust) VEC_Z=(_ZZ(GL_L)*Length+pZ[0]*L_adjust) --描画 dummy=_MOVE3D(_X(GL_L),_Y(GL_L),_Z(GL_L)) dummy=_LINE3D(_X(GL_L)-VEC_X,_Y(GL_L)-VEC_Y,_Z(GL_L)-VEC_Z) end if Fire_type==1 or (Fire_type==0 and switch==1 and _KEY(12)==1) then --色 if FIRE_ORDER_E>0 and _G["NSAE"..100+FIRE_ORDER_E]<=0.055 and _TICKS()>320 and Ammo_number_E>0 and _KEY(5)==0 then dummy=_SETCOLOR(Line_col_G) else REV_COLOR() dummy=_SETCOLOR(Line_col_G) REV_COLOR() end --ベクトル合成 VEC_X=(_ZX(GL_R)*Length+pX[0]*L_adjust) VEC_Y=(_ZY(GL_R)*Length+pY[0]*L_adjust) VEC_Z=(_ZZ(GL_R)*Length+pZ[0]*L_adjust) --描画 dummy=_MOVE3D(_X(GL_R),_Y(GL_R),_Z(GL_R)) dummy=_LINE3D(_X(GL_R)-VEC_X,_Y(GL_R)-VEC_Y,_Z(GL_R)-VEC_Z) end end --2D --コンパス --基準位置 KBX=-0.725*(_WIDTH()/_HEIGHT()) KBY=-0.65 --中心点 dummy=_SETCOLOR(Line_col_G) --北 Dir_X=math.cos(_AY(CORE2)-(math.pi/4*90)) Dir_Y=math.sin(_AY(CORE2)-(math.pi/4*90)) dummy=_MOVE2D(KBX,KBY) dummy=_LINE2D(-Dir_X*0.25+KBX,-Dir_Y*0.25+KBY) --方位盤 for Dir_Loop=0,337.5,22.5 do Dir_X=math.cos(_AY(CORE2)-(math.pi/4*(90+Dir_Loop)))*0.25 Dir_Y=math.sin(_AY(CORE2)-(math.pi/4*(90+Dir_Loop)))*0.25 --色 dummy=_SETCOLOR(Line_col_G) --北 if Dir_Loop==180 then REV_COLOR() dummy=_SETCOLOR(Line_col_G) REV_COLOR() end --凸凹 Dir_len=0.9 if math.mod(Dir_Loop/22.5,2)==0 then Dir_len=0.8 end --描画 dummy=_MOVE2D((Dir_X*Dir_len)+KBX,(Dir_Y*Dir_len)+KBY) dummy=_LINE2D(Dir_X+KBX,Dir_Y+KBY) end --針 REV_COLOR() dummy=_SETCOLOR(Line_col_G) REV_COLOR() dummy=_MOVE2D(KBX,KBY+0.195) dummy=_LINE2D(KBX-0.015,KBY+0.1) dummy=_LINE2D(KBX+0.015,KBY+0.1) dummy=_LINE2D(KBX,KBY+0.195) --□スクウェア --境界線 dummy=_SETCOLOR(Line_col_G) --左右 if Mx>0 then --左 dummy=_MOVE2D(-Border_X,-0.08-My) dummy=_LINE2D(-Border_X,0.08-My) --限界線 --dummy=_MOVE2D(-1,-0.08-My) --dummy=_LINE2D(-1,0.08-My) elseif Mx<0 then --右 dummy=_MOVE2D(Border_X,-0.08-My) dummy=_LINE2D(Border_X,0.08-My) --限界線 --dummy=_MOVE2D(1,-0.08-My) --dummy=_LINE2D(1,0.08-My) end --上下 if My>0 then --上 dummy=_MOVE2D(-0.08-Mx,-Border_Y) dummy=_LINE2D(0.08-Mx,-Border_Y) elseif My<0 then --下 dummy=_MOVE2D(-0.08-Mx,Border_Y) dummy=_LINE2D(0.08-Mx,Border_Y) end --移動マーク REV_COLOR() dummy=_SETCOLOR(Line_col_G) REV_COLOR() --上 if My<-Border_Y then dummy=_MOVE2D(-0.08-Mx,Border_Y+0.03) dummy=_LINE2D(0.08-Mx ,Border_Y+0.03) dummy=_LINE2D(-Mx ,Border_Y+0.16) dummy=_LINE2D(-0.08-Mx,Border_Y+0.03) --下 elseif My>Border_Y then dummy=_MOVE2D(-0.08-Mx,-Border_Y-0.03) dummy=_LINE2D(0.08-Mx ,-Border_Y-0.03) dummy=_LINE2D(-Mx ,-Border_Y-0.16) dummy=_LINE2D(-0.08-Mx,-Border_Y-0.03) end --左 if Mx>Border_X then dummy=_MOVE2D(-Border_X-0.03,-0.08-My) dummy=_LINE2D(-Border_X-0.03,0.08-My) dummy=_LINE2D(-Border_X-0.16,-My) dummy=_LINE2D(-Border_X-0.03,-0.08-My) --右 elseif Mx<-Border_X then dummy=_MOVE2D(Border_X+0.03,-0.08-My) dummy=_LINE2D(Border_X+0.03,0.08-My) dummy=_LINE2D(Border_X+0.16,-My) dummy=_LINE2D(Border_X+0.03,-0.08-My) end --制御無効前進 if C_out==1 then REV_COLOR() dummy=_SETCOLOR(Line_col_G) REV_COLOR() dummy=_MOVE2D(-0.080,0+0.03) dummy=_LINE2D(0,0.080+0.03) dummy=_LINE2D(0.080,0+0.03) dummy=_MOVE2D(-0.1125,0+0.03) dummy=_LINE2D(0,0.1125+0.03) dummy=_LINE2D(0.1125,0+0.03) end --メーター --下地 REV_COLOR() dummy=_SETCOLOR(Line_col_G) REV_COLOR() dummy=_MOVE2D(Border_X-0.09, Border_Y-0.05) dummy=_LINE2D(Border_X-0.09,-Border_Y+0.05) dummy=_MOVE2D(Border_X-0.07, Border_Y-0.05) dummy=_LINE2D(Border_X-0.07,-Border_Y+0.05) --角度マーカー REV_COLOR() dummy=_SETCOLOR(Line_col_G) REV_COLOR() dummy=_MOVE2D(Border_X-0.055,(Border_Y-0.05)*total_ang) dummy=_LINE2D(Border_X-0.020, 0.02+(Border_Y-0.05)*total_ang) dummy=_LINE2D(Border_X-0.020,-0.02+(Border_Y-0.05)*total_ang) dummy=_LINE2D(Border_X-0.055,(Border_Y-0.05)*total_ang) --地上距離 --G_dis G_dis=(_H(CORE2)-5)*0.2 if _H(CORE2)<=0 or _H(CORE2)>=10 then if _Y(CORE2)>10 then G_dis=1 elseif _Y(CORE2)<00 then G_dis=-1 else G_dis=(_Y(CORE2)-5)*0.2 end end REV_COLOR() dummy=_SETCOLOR(Line_col_G) REV_COLOR() dummy=_MOVE2D(Border_X-0.105,(Border_Y-0.05)*G_dis) dummy=_LINE2D(Border_X-0.140, 0.02+(Border_Y-0.05)*G_dis) dummy=_LINE2D(Border_X-0.140,-0.02+(Border_Y-0.05)*G_dis) dummy=_LINE2D(Border_X-0.105,(Border_Y-0.05)*G_dis) --角度メーター dummy=_SETCOLOR(Line_col_G) dummy=_MOVE2D(Border_X-0.07,0) dummy=_LINE2D(Border_X-0.07,(Border_Y-0.05)*total_ang) --上下速度メーター dummy=_SETCOLOR(Line_col_G) dummy=_MOVE2D(Border_X-0.09,0) dummy=_LINE2D(Border_X-0.09,(Border_Y-0.05)*-VY_ave[0]) --中心線 dummy=_SETCOLOR(Line_col_G) dummy=_MOVE2D(Border_X-0.06,0) dummy=_LINE2D(Border_X-0.10,0) --上限線 dummy=_MOVE2D(Border_X-0.06,Border_Y-0.05) dummy=_LINE2D(Border_X-0.10,Border_Y-0.05) --下限線 dummy=_MOVE2D(Border_X-0.06,-Border_Y+0.05) dummy=_LINE2D(Border_X-0.10,-Border_Y+0.05) --激突注意マーク if _Y(CORE2)<=10 or (_H(CORE2)>0 and _H(CORE2)<=10) then REV_COLOR() dummy=_SETCOLOR(Line_col_G) REV_COLOR() dummy=_MOVE2D(-Border_X+0.59,-Border_Y+0.03) dummy=_LINE2D( Border_X-0.59,-Border_Y+0.03) dummy=_MOVE2D(-0.015,-Border_Y+0.17) dummy=_LINE2D(-0.015,-Border_Y+0.04) dummy=_LINE2D(-Border_X+0.62,-Border_Y+0.1) dummy=_MOVE2D( 0.015,-Border_Y+0.17) dummy=_LINE2D( 0.015,-Border_Y+0.04) dummy=_LINE2D( Border_X-0.62,-Border_Y+0.1) end --ウェイトマーク if _TICKS()<150 then --フレーム数チェック --ウェイトマーク LINE_TIMER=0.1*((150-_TICKS())/150) REV_COLOR() dummy=_SETCOLOR(Line_col_G) dummy=_MOVE2D(-LINE_TIMER,0.015) dummy=_LINE2D(LINE_TIMER,0.015) dummy=_MOVE2D(-LINE_TIMER,-0.015) dummy=_LINE2D(LINE_TIMER,-0.015) REV_COLOR() end --リロードゲージ if Purge_W+Purge_E>=0 then ajy=0.28 --残弾量 REV_COLOR() for loop=1,16 do if Ammo_number_E+Ammo_number_W>=loop then REV_COLOR() end dummy=_SETCOLOR(Line_col_G) dummy=_MOVE2D(-Border_X+0.04,-Border_Y+(0.05-0.025)+loop*0.025+ajy) dummy=_LINE2D(-Border_X+0.10,-Border_Y+(0.05-0.025)+loop*0.025+ajy) if Ammo_number_E+Ammo_number_W>=loop then REV_COLOR() end end REV_COLOR() --トップチャージ REV_COLOR() dummy=_SETCOLOR(Line_col_G)REV_COLOR() dummy=_MOVE2D(-Border_X+0.03,-Border_Y+0.05+ajy) dummy=_LINE2D(-Border_X+0.03,-Border_Y+0.05+0.025*15+ajy) dummy=_SETCOLOR(Line_col_G) dummy=_MOVE2D(-Border_X+0.03,-Border_Y+0.05+ajy) dummy=_LINE2D(-Border_X+0.03,-Border_Y+0.05+0.025*15*top_charge+ajy) end --発射方式 --枠 dummy=_SETCOLOR(Line_col_G) dummy=_MOVE2D(-Border_X+0.03,-Border_Y+(0.05-0.025)+17*0.025+ajy) dummy=_LINE2D(-Border_X+0.10,-Border_Y+(0.05-0.025)+17*0.025+ajy) dummy=_LINE2D(-Border_X+0.10,-Border_Y+(0.05-0.025)+19.5*0.025+ajy) dummy=_LINE2D(-Border_X+0.03,-Border_Y+(0.05-0.025)+19.5*0.025+ajy) dummy=_LINE2D(-Border_X+0.03,-Border_Y+(0.05-0.025)+17*0.025+ajy) --アロー if Fire_type==1 then REV_COLOR() dummy=_SETCOLOR(Line_col_G)REV_COLOR() dummy=_MOVE2D(-Border_X+0.05,-Border_Y+(0.05-0.025)+17.2*0.025+ajy) dummy=_LINE2D(-Border_X+0.05,-Border_Y+(0.05-0.025)+19.2*0.025+ajy) dummy=_MOVE2D(-Border_X+0.08,-Border_Y+(0.05-0.025)+17.2*0.025+ajy) dummy=_LINE2D(-Border_X+0.08,-Border_Y+(0.05-0.025)+19.2*0.025+ajy) else REV_COLOR() dummy=_SETCOLOR(Line_col_G)REV_COLOR() dummy=_MOVE2D(-Border_X+0.065,-Border_Y+(0.05-0.025)+17.2*0.025+ajy) dummy=_LINE2D(-Border_X+0.065,-Border_Y+(0.05-0.025)+19.2*0.025+ajy) end end function REV_COLOR() --カラー逆転 if G_col_MODE==1 then G_col_MODE=0 elseif G_col_MODE==0 then G_col_MODE=1 end LINE_COLOR() end function LINE_COLOR() --ラインカラー if G_col_MODE==0 then --カラー1 Line_col_G=math.floor(COL_RG1*math.abs(math.sin(_TICKS()/G_speed))+COL_R1D)*65536 +math.floor(COL_GG1*math.abs(math.sin(_TICKS()/G_speed))+COL_G1D)*256 +math.floor(COL_BG1*math.abs(math.sin(_TICKS()/G_speed))+COL_B1D) else --カラー2 Line_col_G=math.floor(COL_RG2*math.abs(math.cos(_TICKS()/G_speed))+COL_R2D)*65536 +math.floor(COL_GG2*math.abs(math.cos(_TICKS()/G_speed))+COL_G2D)*256 +math.floor(COL_BG2*math.abs(math.cos(_TICKS()/G_speed))+COL_B2D) end end --機体カラー--------------------------------- COL_name="" COLOR1,COLOR2=0,0 BODY_COLOR=1 function CHANGE_COLOR() --カラー変更 if _KEYDOWN(13)==1 then BODY_COLOR=BODY_COLOR+1 elseif _KEYDOWN(11)==1 then BODY_COLOR=BODY_COLOR-1 end if BODY_COLOR>8 then BODY_COLOR=1 elseif BODY_COLOR<1 then BODY_COLOR=8 end --初期カラー if BODY_COLOR==1 then COL_name="Default" COLOR1=tonumber("676c73",16) --チップ、ウエイト COLOR2=tonumber("454a51",16) --カウル COLOR3=tonumber("FF5c6c",16) --センサー COLOR4=tonumber("444444",16) -- end --アスファルト if BODY_COLOR==2 then COL_name="Asphalt" COLOR1=tonumber("666666",16) --チップ、ウエイト COLOR2=tonumber("444444",16) --カウル COLOR3=tonumber("222222",16) COLOR4=tonumber("666666",16) end --泥 if BODY_COLOR==3 then COL_name="Mud" COLOR1=tonumber("645847",16) --チップ、ウエイト COLOR2=tonumber("544837",16) --カウル COLOR3=tonumber("222222",16) COLOR4=tonumber("645847",16) end --緑 if BODY_COLOR==4 then COL_name="Green" COLOR1=tonumber("447733",16) --チップ、ウエイト COLOR2=tonumber("447733",16) --カウル COLOR3=tonumber("222222",16) COLOR4=tonumber("447733",16) end --砂漠 if BODY_COLOR==5 then COL_name="Desert" COLOR1=tonumber("BBAA88",16) --チップ、ウエイト COLOR2=tonumber("AA9966",16) --カウル COLOR3=tonumber("222222",16) COLOR4=tonumber("BBAA88",16) end --コンクリート if BODY_COLOR==6 then COL_name="Concrete" COLOR1=tonumber("bbbbbb",16) --チップ、ウエイト COLOR2=tonumber("999999",16) --カウル COLOR3=tonumber("222222",16) COLOR4=tonumber("999999",16) end --雪 if BODY_COLOR==7 then COL_name="Snow" COLOR1=tonumber("FFFFFF",16) --チップ、ウエイト COLOR2=tonumber("F4F4F4",16) --カウル COLOR3=tonumber("222222",16) COLOR4=tonumber("FFFFFF",16) end --アナザー if BODY_COLOR==8 then COL_name="Violet" COLOR1=tonumber("3f386b",16) --チップ、ウエイト COLOR2=tonumber("453e77",16) --カウル COLOR3=tonumber("FF5c6c",16) COLOR4=tonumber("2c2255",16) end end }