Butter fly

View previous topic View next topic Go down

Butter fly

Post by orrrrz on Wed Jun 20, 2012 4:19 pm

BLACK
Code:

// [RCD]
// 十一号Ⅲを小型化
// 地表緊急回避機構を搭載
Val
{
   CCL1(default=#000000, disp=0)
   CCL2(default=#000000, disp=0)
   CCL3(default=#000000, disp=0)
   ENGWX(default=0, min=-10000000, max=10000000)
   ENGWY(default=0, min=-10000000, max=10000000)
   ENGWZ(default=0, min=-10000000, max=10000000)
   ENGX(default=0, min=-10000000, max=10000000)
   ENGY(default=0, min=-10000000, max=10000000)
   ENGZ(default=0, min=-10000000, max=10000000)
   SPIX(default=0, min=-100, max=100, step=20)
   SPIY(default=0, min=-100, max=100, step=20)
   SPIZ(default=0, min=-100, max=100, step=20)
   VELX(default=0, min=-100, max=100, step=20)
   VELY(default=0, min=-100, max=100, step=20)
   VELZ(default=0, min=-100, max=100, step=20)
   WIEF1(default=#006000, disp=0)
   WIEF2(default=#00A000, disp=0)
   WING1(default=0, min=-30, max=30)
   WING2(default=0, min=-30, max=30)
   WING3(default=-30, min=-60, max=30)
   WING4(default=0, min=-90, max=30)
}
Key
{
}
Body
{
   Core(color=COL1) {
      S:Frame(angle=180, color=col1) {
         W:TrimF(angle=90, option=1) {
            E:Jet(power=ENGZ, color=col1) { }
         }
         S:TrimF(angle=90, option=1) {
            N:Jet(power=ENGX, color=col1) { }
         }
         E:TrimF(angle=90, option=1) {
            W:RLW(power=-ENGWZ, brake=10, color=col1) { }
         }
         N:TrimF(angle=90, option=1) {
            S:RLW(power=-ENGWX, brake=10, color=col1) { }
         }
         S:Jet(angle=180, power=ENGY, color=col1) { }
         E:RLW(angle=180, power=ENGWY, brake=10, color=col1) { }
      }
      S:Cowl(angle=wing2, color=0, effect=#0000) {
         S:Cowl(angle=wing2, color=0, effect=#0000) {
            S:Cowl(angle=90, color=0, effect=#0000) {
               S:Cowl(angle=90, color=CCL2, effect=#0000) {
                  S:Cowl(angle=-wing2, color=CCL2, effect=#0000) { }
               }
            }
            W:Cowl(angle=90, color=CCL1, effect=#0000) {
               W:Cowl(angle=wing3, option=3, color=CCL3, effect=#0000) { }
            }
            E:Cowl(angle=90, color=CCL1, effect=#0000) {
               E:Cowl(angle=wing3, option=4, color=CCL3, effect=#0000) { }
            }
         }
         W:Cowl(angle=90, color=0, effect=#0000) {
            W:Cowl(angle=wing3, option=3, color=CCL3, effect=#0000) { }
            N:Cowl(color=CCL1, effect=#0000) {
               W:Cowl(angle=wing3, option=3, color=CCL3, effect=#0000) { }
               N:Cowl(angle=90, color=CCL2, effect=#0000) {
                  N:Cowl(angle=90, color=CCL2, effect=#0000) {
                     W:Cowl(angle=wing3, option=4, color=CCL3, effect=#0000) { }
                  }
                  S:Cowl(angle=85, option=2, color=#0000FF, effect=#0000) { }
                  N:Cowl(angle=85, option=2, color=#0000FF, effect=#0000) { }
                  E:Cowl(angle=-70, option=4, color=CCL2, effect=#0000) { }
                  E:Cowl(angle=-70, option=3, color=CCL2, effect=#0000) { }
                  W:Cowl(angle=90, color=CCL2, effect=#0000) {
                     W:Cowl(angle=-wing2, color=CCL2, effect=#0000) { }
                  }
               }
            }
         }
         E:Cowl(angle=wing4, color=CCL1, effect=WIEF1) {
            E:Cowl(angle=wing1, color=0, effect=WIEF1) {
               E:Cowl(angle=wing1, color=0, effect=WIEF1) {
                  E:Cowl(angle=wing1, option=3, color=0, effect=#0000) {
                     S:Cowl(option=3, color=#FF0000, effect=WIEF2) { }
                  }
                  S:Cowl(color=CCL1, effect=WIEF1) {
                     S:Cowl(angle=WING1, color=0, effect=WIEF1) {
                        S:Cowl(angle=wing1, color=CCL1, effect=WIEF1) {
                           S:Cowl(angle=wing1, option=3, color=CCL1, effect=#0000) { }
                        }
                        E:Cowl(angle=wing1, option=3, color=0, effect=#0000) {
                           S:Cowl(option=3, color=#FF0000, effect=WIEF2) { }
                        }
                        W:Cowl(angle=wing1, option=4, color=0, effect=#0000) {
                           S:Cowl(option=4, color=#FF0000, effect=WIEF2) { }
                        }
                     }
                  }
                  N:Cowl(color=CCL1, effect=WIEF1) {
                     N:Cowl(color=0, effect=WIEF1) {
                        N:Cowl(angle=wing1, color=CCL1, effect=WIEF1) {
                           N:Cowl(angle=wing1, option=4, color=CCL1, effect=#0000) { }
                        }
                        E:Cowl(angle=wing1, option=4, color=0, effect=#0000) {
                           N:Cowl(option=4, color=#FF0000, effect=WIEF2) { }
                        }
                        W:Cowl(angle=wing1, option=4, color=CCL1, effect=#0000) { }
                     }
                  }
               }
               S:Cowl(angle=wing1, option=3, color=0, effect=#0000) {
                  W:Cowl(option=3, color=#FFFFFF, effect=WIEF2) { }
               }
               N:Cowl(angle=wing1, option=4, color=0, effect=#0000) {
                  W:Cowl(option=4, color=#FFFFFF, effect=WIEF2) { }
               }
            }
         }
         W:Cowl(angle=WING4, color=CCL1, effect=WIEF1) {
            W:Cowl(angle=wing1, color=0, effect=WIEF1) {
               W:Cowl(angle=wing1, color=0, effect=WIEF1) {
                  W:Cowl(angle=wing1, option=4, color=0, effect=#0000) {
                     S:Cowl(option=4, color=#FF0000, effect=WIEF2) { }
                  }
                  N:Cowl(color=CCL1, effect=WIEF1) {
                     N:Cowl(color=0, effect=WIEF1) {
                        N:Cowl(angle=wing1, color=CCL1, effect=WIEF1) {
                           N:Cowl(angle=wing1, option=3, color=CCL1, effect=#0000) { }
                        }
                        W:Cowl(angle=wing1, option=3, color=0, effect=#0000) {
                           N:Cowl(option=3, color=#FF0000, effect=WIEF2) { }
                        }
                        E:Cowl(angle=wing1, option=3, color=CCL1, effect=#0000) { }
                     }
                  }
                  S:Cowl(color=CCL1, effect=WIEF1) {
                     S:Cowl(angle=WING1, color=0, effect=WIEF1) {
                        S:Cowl(angle=wing1, color=CCL1, effect=WIEF1) {
                           S:Cowl(angle=wing1, option=4, color=CCL1, effect=#0000) { }
                        }
                        W:Cowl(angle=wing1, option=4, color=0, effect=#0000) {
                           S:Cowl(option=4, color=#FF0000, effect=WIEF2) { }
                        }
                        E:Cowl(angle=wing1, option=3, color=0, effect=#0000) {
                           S:Cowl(option=3, color=#FF0000, effect=WIEF2) { }
                        }
                     }
                  }
               }
               S:Cowl(angle=wing1, option=4, color=0, effect=#0000) {
                  E:Cowl(option=4, color=#FFFFFF, effect=WIEF2) { }
               }
               N:Cowl(angle=wing1, option=3, color=0, effect=#0000) {
                  E:Cowl(option=3, color=#FFFFFF, effect=WIEF2) { }
               }
            }
         }
         N:Cowl(color=0, effect=#0000) { }
         E:Cowl(angle=90, color=0, effect=#0000) {
            E:Cowl(angle=wing3, option=4, color=CCL3, effect=#0000) { }
         }
      }
   }
}
Lua
{CN=0
WING=1
--ホバーが受ける重力
MG=_WEIGHT()*9.80665*4
--コア切り離しの場合"-_M(0)"を足す。

--変更値係数
vb=2

--加速度記録用  (a=_VX(CN)-vx)
vx=0
vy=0
vz=0
--角加速度記録用 (wa=_WX(CN)-wx)
wx=0
wy=0
wz=0
--基準の座標
valx=_X(CN)
valy=_Y(CN)
valz=_Z(CN)
function OnFrame()

WING1=WING1+WING
WING2=WING2+WING/5
WING3=WING3+WING/2
WING4=WING4+WING*2
if WING1>20 then WING=-1 end
if WING1<-20 then WING=1 end

out(0,"FPS",_FPS())
out(1," x",valx,"  y",valy,"  z",valz)
out(2,"vb",vb)

_SETCOLOR(0)
_MOVE3D(valx+5,valy,valz)
_LINE3D(valx-5,valy,valz)
_MOVE3D(valx,valy+5,valz)
_LINE3D(valx,valy-5,valz)
_MOVE3D(valx,valy,valz+5)
_LINE3D(valx,valy,valz-5)


vb=vb+(_KEY(11)-_KEY(10))*0.1
vb=math.min(10,math.max(0.1,vb))

valx=valx+((_KEY(4)-_KEY(6))*_XX(CN)+(_KEY(14)-_KEY(16)+WING/5/vb)*_YX(CN)+(_KEY(8)-_KEY(15))*_ZX(CN))*vb
valy=valy+((_KEY(4)-_KEY(6))*_XY(CN)+(_KEY(14)-_KEY(16)+WING/5/vb)*_YY(CN)+(_KEY(8)-_KEY(15))*_ZY(CN))*vb
valz=valz+((_KEY(4)-_KEY(6))*_XZ(CN)+(_KEY(14)-_KEY(16)+WING/5/vb)*_YZ(CN)+(_KEY(8)-_KEY(15))*_ZZ(CN))*vb
SPIX=SPIX+(_KEY(1)-_KEY(0))*vb/5
SPIY=SPIY+(_KEY(9)-_KEY(7))*vb/5
SPIZ=SPIZ+(_KEY(3)-_KEY(2))*vb/5
vx=_VX(CN)
vy=_VY(CN)
vz=_VZ(CN)
wx=_WX(CN)
wy=_WY(CN)
wz=_WZ(CN)

ENGX=(_XX(CN)*(valx-_X(CN))+_XY(CN)*(valy-_Y(CN))+_XZ(CN)*(valz-_Z(CN)))*10000
    +(VELX-_VX(CN))*10000+(_VX(CN)-vx)*10000
    +_XY(CN)*MG

ENGY=(_YX(CN)*(valx-_X(CN))+_YY(CN)*(valy-_Y(CN))+_YZ(CN)*(valz-_Z(CN)))*10000
    +(VELY-_VY(CN))*10000+(_VY(CN)-vy)*10000
    +_YY(JET1)*MG

ENGZ=(_ZX(CN)*(valx-_X(CN))+_ZY(CN)*(valy-_Y(CN))+_ZZ(CN)*(valz-_Z(CN)))*10000
    +(VELZ-_VZ(CN))*10000+(_VZ(CN)-vz)*10000
    +_ZY(CN)*MG

if _H(CN)>=0 and _H(CN)<3 then valy=math.min(10000,math.max(valy+0.1,vb))
ENGX=ENGX+_XY(CN)*10000 ENGY=ENGY+_YY(CN)*10000 ENGZ=ENGZ+_ZY(CN)*10000 end

ENGWX=(SPIX-_WX(CN))*200+(_WX(CN)-wx)*100
ENGWY=(SPIY-_WY(CN))*200+(_WY(CN)-wy)*100
ENGWZ=(SPIZ-_WZ(CN))*200+(_WZ(CN)-wz)*100
end}
YELLOW
Code:

// [RCD]
// 十一号Ⅲを小型化
// 地表緊急回避機構を搭載
Val
{
   CCL1(default=#E4DC38, disp=0)
   CCL2(default=#A29A15, disp=0)
   CCL3(default=#6F6A0F, disp=0)
   ENGWX(default=0, min=-10000000, max=10000000)
   ENGWY(default=0, min=-10000000, max=10000000)
   ENGWZ(default=0, min=-10000000, max=10000000)
   ENGX(default=0, min=-10000000, max=10000000)
   ENGY(default=0, min=-10000000, max=10000000)
   ENGZ(default=0, min=-10000000, max=10000000)
   SPIX(default=0, min=-100, max=100, step=20)
   SPIY(default=0, min=-100, max=100, step=20)
   SPIZ(default=0, min=-100, max=100, step=20)
   VELX(default=0, min=-100, max=100, step=20)
   VELY(default=0, min=-100, max=100, step=20)
   VELZ(default=0, min=-100, max=100, step=20)
   WIEF1(default=#006000, disp=0)
   WIEF2(default=#00A000, disp=0)
   WING1(default=0, min=-30, max=30)
   WING2(default=0, min=-30, max=30)
   WING3(default=-30, min=-60, max=30)
   WING4(default=0, min=-90, max=30)
}
Key
{
}
Body
{
   Core(color=COL1) {
      S:Frame(angle=180, color=col1) {
         W:TrimF(angle=90, option=1) {
            E:Jet(power=ENGZ, color=col1) { }
         }
         S:TrimF(angle=90, option=1) {
            N:Jet(power=ENGX, color=col1) { }
         }
         E:TrimF(angle=90, option=1) {
            W:RLW(power=-ENGWZ, brake=10, color=col1) { }
         }
         N:TrimF(angle=90, option=1) {
            S:RLW(power=-ENGWX, brake=10, color=col1) { }
         }
         S:Jet(angle=180, power=ENGY, color=col1) { }
         E:RLW(angle=180, power=ENGWY, brake=10, color=col1) { }
      }
      S:Cowl(angle=wing2, color=0, effect=#0000) {
         S:Cowl(angle=wing2, color=0, effect=#0000) {
            S:Cowl(angle=90, color=0, effect=#0000) {
               S:Cowl(angle=90, color=CCL2, effect=#0000) {
                  S:Cowl(angle=-wing2, color=CCL2, effect=#0000) { }
               }
            }
            W:Cowl(angle=90, color=CCL1, effect=#0000) {
               W:Cowl(angle=wing3, option=3, color=CCL3, effect=#0000) { }
            }
            E:Cowl(angle=90, color=CCL1, effect=#0000) {
               E:Cowl(angle=wing3, option=4, color=CCL3, effect=#0000) { }
            }
         }
         W:Cowl(angle=90, color=0, effect=#0000) {
            W:Cowl(angle=wing3, option=3, color=CCL3, effect=#0000) { }
            N:Cowl(color=CCL1, effect=#0000) {
               W:Cowl(angle=wing3, option=3, color=CCL3, effect=#0000) { }
               N:Cowl(angle=90, color=CCL2, effect=#0000) {
                  N:Cowl(angle=90, color=CCL2, effect=#0000) {
                     W:Cowl(angle=wing3, option=4, color=CCL3, effect=#0000) { }
                  }
                  S:Cowl(angle=85, option=2, color=#0000FF, effect=#0000) { }
                  N:Cowl(angle=85, option=2, color=#0000FF, effect=#0000) { }
                  E:Cowl(angle=-70, option=4, color=CCL2, effect=#0000) { }
                  E:Cowl(angle=-70, option=3, color=CCL2, effect=#0000) { }
                  W:Cowl(angle=90, color=CCL2, effect=#0000) {
                     W:Cowl(angle=-wing2, color=CCL2, effect=#0000) { }
                  }
               }
            }
         }
         E:Cowl(angle=wing4, color=CCL1, effect=WIEF1) {
            E:Cowl(angle=wing1, color=0, effect=WIEF1) {
               E:Cowl(angle=wing1, color=0, effect=WIEF1) {
                  E:Cowl(angle=wing1, option=3, color=0, effect=#0000) {
                     S:Cowl(option=3, color=#FF0000, effect=WIEF2) { }
                  }
                  S:Cowl(color=CCL1, effect=WIEF1) {
                     S:Cowl(angle=WING1, color=0, effect=WIEF1) {
                        S:Cowl(angle=wing1, color=CCL1, effect=WIEF1) {
                           S:Cowl(angle=wing1, option=3, color=CCL1, effect=#0000) { }
                        }
                        E:Cowl(angle=wing1, option=3, color=0, effect=#0000) {
                           S:Cowl(option=3, color=#0000FF, effect=WIEF2) { }
                        }
                        W:Cowl(angle=wing1, option=4, color=0, effect=#0000) {
                           S:Cowl(option=4, color=#0000FF, effect=WIEF2) { }
                        }
                     }
                  }
                  N:Cowl(color=CCL1, effect=WIEF1) {
                     N:Cowl(color=0, effect=WIEF1) {
                        N:Cowl(angle=wing1, color=CCL1, effect=WIEF1) {
                           N:Cowl(angle=wing1, option=4, color=CCL1, effect=#0000) { }
                        }
                        E:Cowl(angle=wing1, option=4, color=0, effect=#0000) {
                           N:Cowl(option=4, color=#FF0000, effect=WIEF2) { }
                        }
                        W:Cowl(angle=wing1, option=4, color=CCL1, effect=#0000) { }
                     }
                  }
               }
               S:Cowl(angle=wing1, option=3, color=0, effect=#0000) {
                  W:Cowl(option=3, color=#FFFF00, effect=WIEF2) { }
               }
               N:Cowl(angle=wing1, option=4, color=0, effect=#0000) {
                  W:Cowl(option=4, color=#FFFF00, effect=WIEF2) { }
               }
            }
         }
         W:Cowl(angle=WING4, color=CCL1, effect=WIEF1) {
            W:Cowl(angle=wing1, color=0, effect=WIEF1) {
               W:Cowl(angle=wing1, color=0, effect=WIEF1) {
                  W:Cowl(angle=wing1, option=4, color=0, effect=#0000) {
                     S:Cowl(option=4, color=#FF0000, effect=WIEF2) { }
                  }
                  N:Cowl(color=CCL1, effect=WIEF1) {
                     N:Cowl(color=0, effect=WIEF1) {
                        N:Cowl(angle=wing1, color=CCL1, effect=WIEF1) {
                           N:Cowl(angle=wing1, option=3, color=CCL1, effect=#0000) { }
                        }
                        W:Cowl(angle=wing1, option=3, color=0, effect=#0000) {
                           N:Cowl(option=3, color=#FF0000, effect=WIEF2) { }
                        }
                        E:Cowl(angle=wing1, option=3, color=CCL1, effect=#0000) { }
                     }
                  }
                  S:Cowl(color=CCL1, effect=WIEF1) {
                     S:Cowl(angle=WING1, color=0, effect=WIEF1) {
                        S:Cowl(angle=wing1, color=CCL1, effect=WIEF1) {
                           S:Cowl(angle=wing1, option=4, color=CCL1, effect=#0000) { }
                        }
                        W:Cowl(angle=wing1, option=4, color=0, effect=#0000) {
                           S:Cowl(option=4, color=#0000FF, effect=WIEF2) { }
                        }
                        E:Cowl(angle=wing1, option=3, color=0, effect=#0000) {
                           S:Cowl(option=3, color=#0000FF, effect=WIEF2) { }
                        }
                     }
                  }
               }
               S:Cowl(angle=wing1, option=4, color=0, effect=#0000) {
                  E:Cowl(option=4, color=#FFFF00, effect=WIEF2) { }
               }
               N:Cowl(angle=wing1, option=3, color=0, effect=#0000) {
                  E:Cowl(option=3, color=#FFFF00, effect=WIEF2) { }
               }
            }
         }
         N:Cowl(color=0, effect=#0000) { }
         E:Cowl(angle=90, color=0, effect=#0000) {
            E:Cowl(angle=wing3, option=4, color=CCL3, effect=#0000) { }
         }
      }
   }
}
Lua
{CN=0
WING=1
--ホバーが受ける重力
MG=_WEIGHT()*9.80665*4
--コア切り離しの場合"-_M(0)"を足す。

--変更値係数
vb=2

--加速度記録用  (a=_VX(CN)-vx)
vx=0
vy=0
vz=0
--角加速度記録用 (wa=_WX(CN)-wx)
wx=0
wy=0
wz=0
--基準の座標
valx=_X(CN)
valy=_Y(CN)
valz=_Z(CN)
function OnFrame()

WING1=WING1+WING
WING2=WING2+WING/5
WING3=WING3+WING/2
WING4=WING4+WING*2
if WING1>20 then WING=-1 end
if WING1<-20 then WING=1 end

out(0,"FPS",_FPS())
out(1," x",valx,"  y",valy,"  z",valz)
out(2,"vb",vb)

_SETCOLOR(0)
_MOVE3D(valx+5,valy,valz)
_LINE3D(valx-5,valy,valz)
_MOVE3D(valx,valy+5,valz)
_LINE3D(valx,valy-5,valz)
_MOVE3D(valx,valy,valz+5)
_LINE3D(valx,valy,valz-5)


vb=vb+(_KEY(11)-_KEY(10))*0.1
vb=math.min(10,math.max(0.1,vb))

valx=valx+((_KEY(4)-_KEY(6))*_XX(CN)+(_KEY(14)-_KEY(16)+WING/5/vb)*_YX(CN)+(_KEY(8)-_KEY(15))*_ZX(CN))*vb
valy=valy+((_KEY(4)-_KEY(6))*_XY(CN)+(_KEY(14)-_KEY(16)+WING/5/vb)*_YY(CN)+(_KEY(8)-_KEY(15))*_ZY(CN))*vb
valz=valz+((_KEY(4)-_KEY(6))*_XZ(CN)+(_KEY(14)-_KEY(16)+WING/5/vb)*_YZ(CN)+(_KEY(8)-_KEY(15))*_ZZ(CN))*vb
SPIX=SPIX+(_KEY(1)-_KEY(0))*vb/5
SPIY=SPIY+(_KEY(9)-_KEY(7))*vb/5
SPIZ=SPIZ+(_KEY(3)-_KEY(2))*vb/5
vx=_VX(CN)
vy=_VY(CN)
vz=_VZ(CN)
wx=_WX(CN)
wy=_WY(CN)
wz=_WZ(CN)

ENGX=(_XX(CN)*(valx-_X(CN))+_XY(CN)*(valy-_Y(CN))+_XZ(CN)*(valz-_Z(CN)))*10000
    +(VELX-_VX(CN))*10000+(_VX(CN)-vx)*10000
    +_XY(CN)*MG

ENGY=(_YX(CN)*(valx-_X(CN))+_YY(CN)*(valy-_Y(CN))+_YZ(CN)*(valz-_Z(CN)))*10000
    +(VELY-_VY(CN))*10000+(_VY(CN)-vy)*10000
    +_YY(JET1)*MG

ENGZ=(_ZX(CN)*(valx-_X(CN))+_ZY(CN)*(valy-_Y(CN))+_ZZ(CN)*(valz-_Z(CN)))*10000
    +(VELZ-_VZ(CN))*10000+(_VZ(CN)-vz)*10000
    +_ZY(CN)*MG

if _H(CN)>=0 and _H(CN)<3 then valy=math.min(10000,math.max(valy+0.1,vb))
ENGX=ENGX+_XY(CN)*10000 ENGY=ENGY+_YY(CN)*10000 ENGZ=ENGZ+_ZY(CN)*10000 end

ENGWX=(SPIX-_WX(CN))*200+(_WX(CN)-wx)*100
ENGWY=(SPIY-_WY(CN))*200+(_WY(CN)-wy)*100
ENGWZ=(SPIZ-_WZ(CN))*200+(_WZ(CN)-wz)*100
end}


orrrrz
Tank
Tank

Posts : 55
Join date : 2012-06-19
Age : 22
Location : Tokyo

View user profile

Back to top Go down

View previous topic View next topic Back to top

- Similar topics

 
Permissions in this forum:
You cannot reply to topics in this forum