// [RCD] Val { AILELON(default=0, min=-10, max=10, step=2) COUNTA(default=0, max=10000, step=1) ELEVATOR(default=0, min=-10, max=10, step=1) EN(default=0, min=-5000, max=5000, step=500, disp=0) ENGINE(default=0, min=-30000, max=50000, step=1000) FLAP(default=0, max=20, step=1, disp=0) KEY(default=0, max=20) LTB(default=0, min=-10000, max=10000) M(default=0, min=-100000, max=1000000, step=1) RUDDER(default=0, min=-10, max=10, step=2, disp=0) SINA(default=0, min=-0.99, max=0.99) SINTB(default=0, min=-10000, max=10000) V(default=0, min=-10000, max=1000000, step=1) WR(default=0, max=14, step=2) XB(default=0, min=-10000, max=10000, disp=0) XT(default=0, min=-10000, max=10000, disp=0) XTMB(default=0, min=-10000, max=10000, disp=0) YB(default=0, min=-10000, max=10000, disp=0) YL(default=0, min=-10000, max=10000, disp=0) YLMR(default=0, min=-10000, max=10000) YM(default=0, min=-10000, max=100000) YMA(default=0, min=-3.3, max=3.3) YQ(default=0, min=-1000000, max=1000000) YR(default=0, min=-10000, max=10000, disp=0) YT(default=0, min=-10000, max=10000, disp=0) YTMB(default=0, min=-10000, max=10000) YW(default=0, min=-1000000, max=1000000) ZB(default=0, min=-10000, max=10000, disp=0) ZT(default=0, min=-10000, max=10000, disp=0) ZTMB(default=0, min=-10000, max=10000, disp=0) } Key { } Body { Core(name=M) { S:Frame(angle=90) { S:Chip(angle=-90) { N:Chip() { N:Chip() { N:Chip() { N:Chip(name=T) { S:Trim(angle=90) { N:RudderF(angle=10) { W:Wheel(brake=1) { } } N:Chip(angle=rudder) { } } N:Arm() { } } N:Chip(angle=-WR) { } } E:Rudder(angle=-5) { E:Chip() { E:Chip(name=R) { E:Chip() { } } S:Chip(angle=AILELON) { E:Chip() { } } } S:Chip(angle=flap) { } } W:Rudder(angle=5) { W:Chip() { W:Chip(name=L) { W:Chip() { } } S:Chip(angle=-AILELON) { W:Chip() { } } } S:Chip(angle=flap) { } } S:Weight() { } } } S:Chip() { S:Chip(name=B) { } W:TrimF(angle=ELEVATOR) { E:Rudder(angle=140) { E:Rudder(angle=20) { W:Rudder(angle=20) { } } } } E:TrimF(angle=-ELEVATOR) { W:Rudder(angle=-140) { W:Rudder(angle=-20) { E:Rudder(angle=-20) { } } } } S:Trim(angle=90) { E:Chip() { } N:Jet(angle=-90, power=-engine) { } N:Jet(angle=90, power=engine) { } N:Chip(angle=0) { N:Chip(angle=-rudder) { } } } } E:Wheel(angle=90, power=en, brake=10) { } W:Wheel(angle=90, power=-en, brake=10) { } } } } } Script {print 1," FPS=",_FPS()," print 2," Vel=",_VEL(), " VELOCITY=",_VEL()*3.57 print 3," X=",_X()," Y=",_Y()," Z=",_Z()," print 4,"モード 『待機』 " V=_VEL()*3.57 M=_Y(M) YT=_Y(T) YB=_Y(B) XT=_X(T) XB=_X(B) ZT=_Z(T) ZB=_Z(B) YTMB=YT-YB XTMB=XT-XB ZTMB=ZT-ZB LTB=_LEN3(YTMB,XTMB,ZTMB) YL=_Y(L) YR=_Y(R) YLMR=YL-YR SINTB=YTMB/LTB if M<50 & V<200 & KEY=2 {FLAP=flap+1} if _KEYDOWN(16)=1 {KEY=KEY+1} if _KEYDOWN(15)=1 {KEY=KEY-1} if _KEY(0)=1 {en=en+500} if _KEY(8)=1 {rudder=rudder-1} if _KEY(9)=1 {rudder=rudder+1} if KEY=0 {GOTO Z} if _KEY(4)=1 {ENGINE=ENGINE-2000} if _KEY(7)=1 {ENGINE=ENGINE+2000} if KEY=1 {print 4,"モード 『マニュアル飛行』 "GOTO B} if KEY=2 {print 4,"モード 『離陸』 "GOTO C} if KEY=3 {print 4,"モード 『オートパイロット』 "GOTO D} if KEY=4 {KEYA=1} if KEYA=1 {KEY=0} if KEY>=2 {GOTO Z} LABEL A ENGINE=0 GOTO Z LABEL B if V>300 {ENGINE=0} if _KEY(0)=1 {ELEVATOR=ELEVATOR-1} if _KEY(1)=1 {Elevator=elevator+1} if _KEY(2)=1 {AILELON=AILELON+1} if _KEY(3)=1 {AILELON=AILELON-1} if _KEY(4)=1 {ENGINE=ENGINE-2000} if _KEY(7)=1 {ENGINE=ENGINE+2000} GOTO Z LABEL C if M>100 {KEY=3} COUNTA=COUNTA+1 if COUNTA >=0 & COUNTA < 50 {print 5, "     preparing..."} if COUNTA >50 {ENGINE=ENGINE+1000 print 5,"     landing..."} if YLMR> 0.03 {ailelon=YLMR*2} if YLMR< -0.03 {ailelon=YLMR*2} if YLMR>0.05 | YLMR<-0.05 {GOTO Z} if SINTB>0.27 {elevator=4-YTMB*3} if SINTB <0.27 & SINTB >0.23 {elevator=2+YTMB} if SINTB <0.23 |M <20{elevator=elevator+3} if M<0.3 {wr=wr+0.1} GOTO Z LABEL D if YLMR> 0.03 {ailelon=YLMR*4} if YLMR< -0.03 {ailelon=YLMR*4} if YT<30 {GOTO H} if YTMB >0.1 {elevator=-2-YTMB*6} if YTMB < 0.1 & YTMB>-0.1 {elevator=0.5+YTMB*-5.5} if YTMB <-0.1 {elevator=3-YTMB*6} LABEL H elevator=elevator+3 GOTO Z LABEL Z }