// land1race.rcg—p val{ steerl(default=180,min=150,max=210,step=10,disp=1) steerr(default=180,min=150,max=210,step=10,disp=1) brkfl(default=0,min=0,max=1000,step=10,disp=1) brkfr(default=0,min=0,max=1000,step=10,disp=1) brkrl(default=0,min=0,max=1000,step=10,disp=1) brkrr(default=0,min=0,max=1000,step=10,disp=1) pow (default=0,min=-2500,max=15000,step=5000,disp=1) powfl(default=0,min=-2500,max=15000,step=100000,disp=1) powfr(default=0,min=-2500,max=15000,step=100000,disp=1) powrl(default=0,min=-2500,max=15000,step=100000,disp=1) powrr(default=0,min=-2500,max=15000,step=100000,disp=1) trqfl(default=1,min=0,max=1,step=0,disp=1) trqfr(default=1,min=0,max=1,step=0,disp=1) trqrl(default=1,min=0,max=1,step=0,disp=1) trqrr(default=1,min=0,max=1,step=0,disp=1) dmpf(default=0.9,disp=0) sprf(default=0.9,disp=0) dmpr(default=0.9,disp=0) sprr(default=0.9,disp=0) dmp(default=0.999,disp=0) spr(default=0.999,disp=0) check(default=5000,min=0,max=10000,step=0,disp=1) } key{ 4:brkfl(step=50),brkfr(step=50),brkrl(step=50),brkrr(step=50) 5:pow(step= 1200) 6:pow(step=-1000) } body{ core(){ //0 n:frame(spring=spr,damper=dmp){ //1 n:frame(spring=spr,damper=dmp){ //2 w:frame(spring=sprf,damper=dmpf){ //3 w:rudderf(angle=-steerl,spring=spr,damper=dmp){ //4 e:wheel(power=powfl,brake=brkfl,angle=-90,option=1,effect=4,name=nwfl,spring=spr,damper=dmp){ //5,6 } e:chip(angle=-90,spring=sprf,damper=dmpf){ //7 } } } e:frame(spring=sprf,damper=dmpf){ //8 e:rudderf(angle=steerr,spring=spr,damper=dmp){ //9 w:wheel(power=-powfr,brake=brkfr,angle=-90,option=1,effect=4,name=nwfr,spring=spr,damper=dmp){ //10,11 } w:chip(angle=-90,spring=sprf,damper=dmpf){ //12 } } } n:chip(angle=-162,spring=spr,damper=dmp){ //13 } } } s:frame(spring=spr,damper=dmp){ //14 s:chip(spring=spr,damper=dmp){ //15 w:frame(spring=sprr,damper=dmpr){ //16 w:wheel(power=powrl,brake=brkrl,angle=-90,option=1,effect=5,name=nwrl,spring=spr,damper=dmp){ //17,18 } } w:chip(angle=-90,spring=spr,damper=dmp){ //19 n:chip(){ //20 } } e:frame(spring=sprr,damper=dmpr){ //21 e:wheel(power=-powrr,brake=brkrr,angle=-90,option=1,effect=5,name=nwrr,spring=spr,damper=dmp){ //22,23 } } e:chip(angle=-90,spring=spr,damper=dmp){ //24 n:chip(){ //25 } } n:chip(angle=-165,spring=spr,damper=dmp){ //26 } } } //Side Body N:Cowl(angle=-15,option=1){ N:Cowl(angle=13,option=1){ W:Cowl(angle=14,option=0){ W:Cowl(color=#2020A0,angle=-150){W:Cowl(angle=-50){} S:Cowl(color=#2020A0,angle=30){W:Cowl(angle=-50){} S:Cowl(color=#2020A0,angle=-18){W:Cowl(angle=-50){} S:Cowl(color=#2020A0,angle=-10){W:Cowl(angle=-50){ S:Cowl(color=#E04000,angle=25){E:Cowl(color=#2020A0,angle=-30,option=3){} S:Cowl(color=#F02000,angle=-10){E:Cowl(color=#2020A0,angle=-30){}} }} } } } } } E:Cowl(angle=14,option=0){ E:Cowl(color=#2020A0,angle=-150){E:Cowl(angle=-50){} S:Cowl(color=#2020A0,angle=30){E:Cowl(angle=-50){} S:Cowl(color=#2020A0,angle=-18){E:Cowl(angle=-50){} S:Cowl(color=#2020A0,angle=-10){E:Cowl(angle=-50){ S:Cowl(color=#E04000,angle=25){W:Cowl(color=#2020A0,angle=-30,option=4){} S:Cowl(color=#F02000,angle=-10){W:Cowl(color=#2020A0,angle=-30){}} }} } } } } } //Center Body N:Cowl(option=1){ N:Cowl(angle=8,option=1){ N:Cowl(angle=-176){ N:Cowl(angle=12){ W:Cowl(option=3,angle=-65){} E:Cowl(option=4,angle=-65){} N:Cowl(angle=-10){ W:Cowl(angle=-60){} E:Cowl(angle=-60){} N:Cowl(angle=-4){ W:Cowl(angle=-60){} E:Cowl(angle=-60){} N:Cowl(color=#000040,angle=14){ W:Cowl(color=#000040,angle=-60){} E:Cowl(color=#000040,angle=-60){} N:Cowl(angle=-8){ W:Cowl(color=#000040,angle=-60){} E:Cowl(color=#000040,angle=-60){} N:Cowl(angle=-30){ W:Cowl(angle=-70){} E:Cowl(angle=-70){} N:Cowl(color=#404040,angle=20){ W:Cowl(color=#404040,angle=-90){} E:Cowl(color=#404040,angle=-90){} N:Cowl(color=#404040,angle=-90){} } } } } } } } } E:Cowl(color=#999999){} W:Cowl(color=#999999){} } } } } //Rear Wing S:Cowl(option=1){ S:Cowl(option=1){ S:Cowl(angle=-15,option=1){ W:Cowl(angle=-90,option=1){ W:Cowl(angle=90){} } E:Cowl(angle=-90,option=1){ E:Cowl(angle=90){} } } } } } } Lua{ NWFL=6 NWFR=11 NWRL=18 NWRR=23 tgn=0 tgx={} tgz={} tgx[tgn]= 157; tgz[tgn]=-154; tgn=tgn+1 tgx[tgn]= 201; tgz[tgn]=-222; tgn=tgn+1 tgx[tgn]= 200; tgz[tgn]=-305; tgn=tgn+1 tgx[tgn]= 167; tgz[tgn]=-346; tgn=tgn+1 tgx[tgn]= 124; tgz[tgn]=-347; tgn=tgn+1 tgx[tgn]= 51; tgz[tgn]=-290; tgn=tgn+1 tgx[tgn]=-101; tgz[tgn]=-287; tgn=tgn+1 tgx[tgn]=-163; tgz[tgn]=-268; tgn=tgn+1 tgx[tgn]=-218; tgz[tgn]=-228; tgn=tgn+1 tgx[tgn]=-256; tgz[tgn]=-168; tgn=tgn+1 tgx[tgn]=-262; tgz[tgn]=-112; tgn=tgn+1 tgx[tgn]=-256; tgz[tgn]= -48; tgn=tgn+1 tgx[tgn]=-236; tgz[tgn]= 155; tgn=tgn+1 tgx[tgn]=-252; tgz[tgn]= 223; tgn=tgn+1 tgx[tgn]=-358; tgz[tgn]= 359; tgn=tgn+1 tgx[tgn]=-357; tgz[tgn]= 416; tgn=tgn+1 tgx[tgn]=-328; tgz[tgn]= 459; tgn=tgn+1 tgx[tgn]=-235; tgz[tgn]= 488; tgn=tgn+1 tgx[tgn]=-186; tgz[tgn]= 482; tgn=tgn+1 tgx[tgn]= 133; tgz[tgn]= 397; tgn=tgn+1 tgx[tgn]= 338; tgz[tgn]= 396; tgn=tgn+1 tgx[tgn]= 400; tgz[tgn]= 366; tgn=tgn+1 tgx[tgn]= 444; tgz[tgn]= 267; tgn=tgn+1 tgx[tgn]= 412; tgz[tgn]= 209; tgn=tgn+1 tgx[tgn]= 347; tgz[tgn]= 196; tgn=tgn+1 tgx[tgn]= 11; tgz[tgn]= 257; tgn=tgn+1 tgx[tgn]= -51; tgz[tgn]= 236; tgn=tgn+1 tgx[tgn]= -82; tgz[tgn]= 206; tgn=tgn+1 tgx[tgn]= -86; tgz[tgn]= 183; tgn=tgn+1 tgx[tgn]= -44; tgz[tgn]= 139; tgn=tgn+1 tgx[tgn]= 162; tgz[tgn]= 124; tgn=tgn+1 tgx[tgn]= 286; tgz[tgn]= 99; tgn=tgn+1 tgx[tgn]= 319; tgz[tgn]= 29; tgn=tgn+1 tgx[tgn]= 311; tgz[tgn]= -3; tgn=tgn+1 tgx[tgn]= 244; tgz[tgn]= -53; tgn=tgn+1 tgx[tgn]= 198; tgz[tgn]= -43; tgn=tgn+1 tgx[tgn]= 102; tgz[tgn]= 67; tgn=tgn+1 tgx[tgn]= 27; tgz[tgn]= 82; tgn=tgn+1 tgx[tgn]= 5; tgz[tgn]= 67; tgn=tgn+1 tgx[tgn]= 0; tgz[tgn]= 8; tgn=tgn+1 dst0=99999999 function math.len2(a,b) r=math.sqrt(a*a+b*b) return r end function main() vel=-_VZ(0) wfl= _WY(NWFL) wfr=-_WY(NWFR) wrl= _WY(NWRL) wrr=-_WY(NWRR) if(CHECK==5000) then if(math.len2(_X(0),_Z(0))>=10) then CHECK=9999 else CHECK=0 end end if(CHECK~=9999) then while true do lx=tgx[CHECK]-_X(0) lz=tgz[CHECK]-_Z(0) dst=math.len2(lx,lz) if(dst=0)and(vel<1) then vel= 1 end if(vel>-1)and(vel<0) then vel=-1 end rfl=wfl/vel rfr=wfr/vel rrl=wrl/vel rrr=wrr/vel -- STEERING t=10/math.pow(math.abs(vel),0.5) if(_KEY(2)>0) then STEERL=STEERL+t STEERR=STEERR-t end if(_KEY(3)>0) then STEERL=STEERL-t STEERR=STEERR+t end -- ABS if(_KEY(4)~=0) then v=math.abs(vel)*0.3 if(rfl<2) then BRKFL=BRKFL*0.1 else BRKFL=BRKFL+v end if(rfr<2) then BRKFR=BRKFR*0.1 else BRKFR=BRKFR+v end if(rrl<2) then BRKRL=BRKRL*0.1 else BRKRL=BRKRL+v end if(rrr<2) then BRKRR=BRKRR*0.1 else BRKRR=BRKRR+v end BRKFL=BRKFL*0.5 BRKFR=BRKFR*0.5 end -- TRC if(rfl>2.7)or(rfr>2.7)or(rrl>2.7)or(rrr>2.7) then TRQFL=TRQFL*0.9 TRQFR=TRQFR*0.9 TRQRL=TRQRL*0.9 TRQRR=TRQRR*0.9 elseif(rfl<-1)or(rfr<-1)or(rrl<-1)or(rrr<-1) then TRQFL=0 TRQFR=0 TRQRL=0 TRQRR=0 else TRQFL=TRQFL+0.05 TRQFR=TRQFR+0.05 TRQRL=TRQRL+0.05 TRQRR=TRQRR+0.05 end -- POWCAL POWFL=POW*TRQFL*1.2 POWFR=POW*TRQFR*1.2 POWRL=POW*TRQRL POWRR=POW*TRQRR vel=math.sqrt(_VX(0)^2+_VY(0)^2+_VZ(0)^2) t=math.floor(vel*3.6) str="" for i=0,t,5 do str=str.."|" end out(0,"Chips=",_CHIPS(),", Weight=",_WEIGHT(),", FPS=",_FPS()) out(1,"VEL=",vel,", Speed=",vel*3.6) out(2,"SPEED:",str) out(3,"X=",_X(0),", Y=",_Y(0),", Z=",_Z(0)) -- out(4,"WFL=",wfl,", WFR=",wfr,", WRL=",wrl,", WRR=",wrr) -- out(5,"RFL=",rfl,", RFR=",rfr,", RRL=",rrl,", RRR=",rrr) end }