A-28A
+3
JHaskly
Timothy Ashtön
Echo_Delta_Oscar
7 posters
RigidChips :: Rigid-Chips :: Files :: Aircraft
Page 1 of 1
A-28A
This plane is clearly inspired by the Su-27/37 series.
It features a sort of stability control on pitch, autopilot, retractable landing gear, and reheat.
Pitch and roll control with arrow keys;
Yaw control with A/D;
Throttle control with W/S;
Reheat with Z;
Fire gun with Q;
Fire externally carried missiles with C;
Fire internally carried missiles with X;
E to deploy airbrakes and for wheel brakes during landing and taxying;
F to deploy/Retract landing gear;
G to toggle Autopilot;
When Autopilot is selected, up and down keys will regulate the climb angle with a step of 0.5, while A/D will controll the yaw with a step of 0.25, and the roll will change accordingly.
The plane can easily take-off, even fully loaded, from the default land. However, the load will stress the structure, and I suggest releasing it all before performing sharp manuvers.
It features a sort of stability control on pitch, autopilot, retractable landing gear, and reheat.
Pitch and roll control with arrow keys;
Yaw control with A/D;
Throttle control with W/S;
Reheat with Z;
Fire gun with Q;
Fire externally carried missiles with C;
Fire internally carried missiles with X;
E to deploy airbrakes and for wheel brakes during landing and taxying;
F to deploy/Retract landing gear;
G to toggle Autopilot;
When Autopilot is selected, up and down keys will regulate the climb angle with a step of 0.5, while A/D will controll the yaw with a step of 0.25, and the roll will change accordingly.
The plane can easily take-off, even fully loaded, from the default land. However, the load will stress the structure, and I suggest releasing it all before performing sharp manuvers.
- Code:
Val
{
RollE(default=0,min=-25,max=25,step=4)
RollW(default=0,min=-25,max=25,step=4)
PBar(default=0,min=-30,max=30,step=4)
Pitch(default=0,min=-30,max=30)
Yaw(default=0, min=-20, max=20, step=2)
Rudd(default=0, min=-20, max=20, step=0)
Ster(default=0, min=-20, max=20, step=2)
Trim(default=0, min=-360, max=360, step=0)
Throttle(default=0, min=0, max=200000, step=0)
Engine(default=0, min=0, max=300000, step=0)
Gear(default=0, min=0, max=1, step=0)
Gear1(default=90, min=90, max=180)
Gear2(default=90, min=0, max=90)
Conv(default=0, min=-90, max=20, step=0)
ALVL(default=0, min=0, max=1, step=0)
BRK(default=0, min=0, max=200, step=200)
ABR(default=0, min=0, max=45, step=3)
Reheat(default=0)
Afterburner(default=0, min=0, max=100000, step=1000)
Smoke(default=1, min=1, max=4)
Trig(default=0, min=0, max=2000000, step=2000000)
MissI(default=0)
MissEx(default=0)
}
Key
{
15:Throttle(step=4000)
8:Throttle(step=-4000)
7:Yaw(step=-2)
9:Yaw(step=2)
2:RollE(step=4), RollW(step=-4)
3:RollE(step=-4), RollW(step=4)
0:PBar(step=4)
1:PBar(step=-4)
16:BRK(step=10), ABR(step=15)
14:Trig(step=2000000)
}
Body {
Core(){
S:Cowl(color=#003050){
E:Cowl(angle=-120, effect=#a000){}
W:Cowl(angle=-120, effect=#a000){}
S:Cowl(color=#003050){S:Cowl(angle=45, color=#003050){}
S:Cowl(angle=-140, option=5, effect=#a000){}
E:Cowl(angle=-120, option=4, effect=#a000){}
W:Cowl(angle=-120, option=3, effect=#a000){}}}
N:Cowl(angle=-140, option=5, effect=#a000){}
E:Cowl(angle=-120, option=3, effect=#a000){}
W:Cowl(angle=-120, option=4, effect=#a000){}
E:Cowl(angle=120, color=#003050){}
W:Cowl(angle=120, color=#003050){}
N:Cowl(color=#003050){
E:Cowl(angle=120, color=#003050){}
W:Cowl(angle=120, color=#003050){}
N:Cowl(color=#000000){
N:Cowl(angle=140, option=5, effect=#a000){}
E:Cowl(angle=120, option=3, color=#000000){}
W:Cowl(angle=120, option=4, color=#000000){}}}
S:Frame(angle=90){
E:Cowl(angle=90, option=4, color=#003050){}
W:Cowl(angle=90, option=3, color=#003050){}
S:Frame(angle=-90){
N:Arm(power=Trig, option=20000){}
N:Cowl(angle=140, option=5, color=#003050){}
E:Cowl(angle=120, option=3, color=#003050){}
W:Cowl(angle=120, option=4, color=#003050){}
E:Cowl(angle=-90, color=#003050){}
W:Cowl(angle=-90, color=#003050){}
N:Cowl(angle=-45, option=5, color=#003050){}
S:Weight(option=2){
E:Cowl(angle=-90, color=#003050){}
W:Cowl(angle=-90, color=#003050){}
E:Cowl(angle=120, color=#003050){}
W:Cowl(angle=120, color=#003050){}
E:Trim(angle=-Pitch, color=#003565){
N:Cowl(option=4, color=#003050){}}
W:Trim(angle=Pitch, color=#003565){
N:Cowl(option=3, color=#003050){}}
S:Weight(option=3){S:Chip(angle=ABR, color=#003565){S:Chip(color=#003565){}}S:Chip(angle=-ABR, color=#003565){}
E:Cowl(angle=-90, option=4, color=#003050){}
W:Cowl(angle=-90, option=3, color=#003050){}
E:Cowl(angle=120, color=#003050){}
W:Cowl(angle=120, color=#003050){}
S:Cowl(angle=-136, color=#003050){}
N:TrimF(angle=90, option=1){N:RudderF(angle=Gear1){N:TrimF(angle=Ster, option=1){N:Wheel(angle=180, brake=Gear, effect=2){}}}}
S:Weight(option=3, color=#003565){
S:Cowl(angle=1, color=#003050){}
S:Cowl(angle=140, option=5, color=#003050){}
E:Cowl(angle=120, option=4, color=#003050){}
W:Cowl(angle=120, option=3, color=#003050){}
S:Frame(name=MCo){
S:Cowl(color=#003050){}
E:Chip(color=#003565){
N:Cowl(color=#003050){
E:Cowl(color=#003050){E:Cowl(option=3, color=#003050){}}
E:Cowl(angle=120, color=#003050){}
W:Cowl(angle=120, color=#003050){}
N:Cowl(color=#003050){
E:Cowl(angle=120, option=3, color=#000000){}
W:Cowl(angle=120, option=4, color=#000000){}
E:Cowl(option=3, color=#003050){}}}
N:Cowl(angle=-140, option=5, color=#003050){}
E:Cowl(angle=-120, option=3, color=#003050){}
W:Cowl(angle=-120, option=4, color=#003050){}
E:Cowl(angle=120, color=#003050){}
W:Cowl(angle=120, color=#003050){}
S:Chip(angle=RollE, color=#003565){}E:Chip(color=#003565){
W:Weight(name=Tank1, angle=90, option=3){S:Chip(){}N:Weight(option=4){S:Trim(angle=90){
N:Frame(angle=150){N:Jet(angle=120, power=-MissI, effect=4){}}
S:Chip(){}}N:Weight(option=2){}}}
E:Weight(name=Tank3, angle=90, option=1){S:Chip(){}N:Weight(option=4){S:Trim(angle=90){
N:Frame(angle=150){N:Jet(angle=120, power=-MissEx, effect=4){}}
S:Chip(){}}}}
N:Cowl(angle=-179, option=2, color=#aa0000){}
W:Frame(angle=Gear2){W:Wheel(brake=BRK, effect=2, color=#003565){}}
S:Chip(angle=RollE, color=#003565){}E:Chip(color=#003565){S:Chip(angle=RollE, color=#003565){}
E:Chip(color=#003565){S:Chip(angle=RollE, color=#003565){}}}}}
W:Chip(color=#003565){
N:Cowl(color=#003050){
W:Cowl(color=#003050){W:Cowl(option=4, color=#003050){}}
E:Cowl(angle=120, color=#003050){}
W:Cowl(angle=120, color=#003050){}
N:Cowl(color=#003050){
E:Cowl(angle=120, option=3, color=#000000){}
W:Cowl(angle=120, option=4, color=#000000){}
W:Cowl(option=4, color=#003050){}}}
N:Cowl(angle=-140, option=5, color=#003050){}
E:Cowl(angle=-120, option=3, color=#003050){}
W:Cowl(angle=-120, option=4, color=#003050){}
E:Cowl(angle=120, color=#003050){}
W:Cowl(angle=120, color=#003050){}
S:Chip(angle=RollW, color=#003565){}W:Chip(color=#003565){
E:Weight(name=Tank2, angle=90, option=3){S:Chip(){}N:Weight(option=4){S:Trim(angle=90){
N:Frame(angle=150){N:Jet(angle=120, power=-MissI, effect=4){}}
S:Chip(){}}N:Weight(option=2){}}}
W:Weight(name=Tank4, angle=90, option=1){S:Chip(){}N:Weight(option=4){S:Trim(angle=90){
N:Frame(angle=150){N:Jet(angle=120, power=-MissEx, effect=4){}}
S:Chip(){}}}}
N:Cowl(angle=-179, option=2, color=#aa0000){}
E:Frame(angle=Gear2){E:Wheel(brake=BRK, effect=2, color=#003565){}}
S:Chip(angle=RollW, color=#003565){}W:Chip(color=#003565){S:Chip(angle=RollW, color=#003565){}
W:Chip(color=#003565){S:Chip(angle=RollW, color=#003565){}}}}}
S:Frame(){
S:Cowl(color=#003050){}
S:Frame(){
S:Cowl(color=#003050){}
E:Cowl(option=1){
E:Cowl(angle=-120, color=#003050){S:Cowl(color=#003050){S:Cowl(angle=-15, option=5, color=#000000){}}N:Cowl(color=#003050){}}
W:Cowl(angle=-120, color=#003050){S:Cowl(color=#003050){S:Cowl(angle=-15, option=5, color=#000000){}}N:Cowl(color=#003050){}}
E:Cowl(angle=120, color=#003050){S:Cowl(color=#003050){S:Cowl(angle=15, option=5, color=#000000){}}N:Cowl(color=#003050){}}
W:Cowl(angle=120, color=#003050){S:Cowl(color=#003050){S:Cowl(angle=15, option=5, color=#000000){}}N:Cowl(color=#003050){}}}
W:Cowl(option=1){
E:Cowl(angle=-120, color=#003050){S:Cowl(color=#003050){S:Cowl(angle=-15, option=5, color=#000000){}}N:Cowl(color=#003050){}}
W:Cowl(angle=-120, color=#003050){S:Cowl(color=#003050){S:Cowl(angle=-15, option=5, color=#000000){}}N:Cowl(color=#003050){}}
E:Cowl(angle=120, color=#003050){S:Cowl(color=#003050){S:Cowl(angle=15, option=5, color=#000000){}}N:Cowl(color=#003050){}}
W:Cowl(angle=120, color=#003050){S:Cowl(color=#003050){S:Cowl(angle=15, option=5, color=#000000){}}N:Cowl(color=#003050){}}}
S:Frame(){
E:TrimF(angle=90, option=1){E:Jet(angle=180, power=Engine, effect=Smoke){}E:Frame(angle=90, option=1){
N:Frame(angle=160, option=1){
E:Cowl(color=#003050){S:Cowl(angle=1, option=2, color=#aa0000){}
S:Cowl(color=#003050){S:Cowl(color=#000000, option=3){}}
E:Cowl(color=#003050){S:Cowl(color=#003050, option=3){}
E:Cowl(color=#003050, option=4){}}}
S:Trim(angle=Yaw, color=#003565){N:Chip(color=#003565){}S:Chip(color=#000000){}}}}}
W:TrimF(angle=-90, option=1){W:Jet(angle=180, power=Engine, effect=Smoke){}W:Frame(angle=90, option=1){
N:Frame(angle=160, option=1){
W:Cowl(color=#003050){S:Cowl(angle=1, option=2, color=#aa0000){}
S:Cowl(color=#003050){S:Cowl(color=#000000, option=4){}}
W:Cowl(color=#003050){S:Cowl(color=#003050, option=4){}
W:Cowl(color=#003050, option=3){}}}
S:Trim(angle=Yaw, color=#003565){N:Chip(color=#003565){}S:Chip(color=#000000){}}}}}
E:Trim(angle=Pitch, color=#003565){E:Chip(color=#003565){
N:Cowl(option=4, color=#003050){}
E:Chip(color=#003565){}}}
W:Trim(angle=-Pitch, color=#003565){W:Chip(color=#003565){
N:Cowl(option=3, color=#003050){}
W:Chip(color=#003565){}}}
}}}}}}}}}
}}
Script(){
print 0,"Cleared to Proceed"
print 1,"3P RULE!"
print 2,"Power at ", Throttle/2000,"%"
print 3,"Speed: ", _VEL()*3600/1852," knots, ",_VEL()," m/s"
print 5," Width=",_WIDTH()," Height=",_HEIGHT()," Weight=",_WEIGHT()," Fuel:",_FUEL()
print 6,"Fuel LVL: ",_FUEL()/915000,"%"
print 7,"Heading: ",_TODEG(_AY())
print 14,"Max Speed: 271 kts"
print 15,"Route Home: ",90-_TODEG(_ATAN2(_Z(), _X()))
print 16,"Distance Home: ", _LEN2(_Z(),_X()), " m"
ALVL=_MOD(ALVL+_KEYDOWN(13),2)
if _KEY(0)>(0) & ALVL=(0) &_TODEG(_EZ())<(65) &_TODEG(_EZ())>(-65){
Pitch=Pbar
Trim=_TODEG(_AX())}
if _KEY(1)>(0) & ALVL=(0) &_TODEG(_EZ())<(65) &_TODEG(_EZ())>(-65){
Pitch=Pbar
Trim=_TODEG(_AX())}
if _KEY(0)=(0) & _KEY(1)=(0) & ALVL=(0) &_TODEG(_EZ())<(65) &_TODEG(_EZ())>(-65){
Pitch=PBar+(-Trim+_TODEG(_AX()))/(1+_VEL()/50)}
if _TODEG(_EZ())>(65){
Pitch=Pbar}
if _TODEG(_EZ())<(-65){
Pitch=PBar}
Engine=Throttle+Afterburner
Reheat=_MOD(Reheat+_KEYDOWN(4),2)
if Reheat=(1){
Afterburner=100000}
Gear=_MOD(Gear+_KEYDOWN(12),2)
if Gear=(0){
Gear1=Gear1-2
Gear2=Gear2+2
Gear3=Gear3+4
Ster=Yaw}
if Gear=(1){
Gear1=Gear1+2
Gear2=Gear2-2
Gear3=Gear3-4
Ster=0
BRK=BRK+1}
if ALVL=(1){
Yaw=Rudd
Pitch=-Trim+_TODEG(_AX())
RollE=-_TODEG(_AZ())-Yaw*2
RollW=_TODEG(_AZ())+Yaw*2
print 12,"AUTO LEVEL ON"}
if ALVL=(1) & _KEY(9)>0{
Rudd=Rudd+1/4}
if ALVL=(1) & _KEY(7)>0{
Rudd=Rudd-1/4}
if ALVL=(1) & _KEY(0)>0{
Trim=Trim-1/2}
if ALVL=(1) & _KEY(1)>0{
Trim=Trim+1/2}
if ALVL=(0){
print 12,"AUTO LEVEL OFF"}
if _KEY(5)>(0){
_SPLIT(Tank1)}
if _KEY(5)>(0){
_SPLIT(Tank2)}
if _KEY(6)>(0){
_SPLIT(Tank3)}
if _KEY(6)>(0){
_SPLIT(Tank4)}
if _ABS(_Y(MCo)-_Y(Tank1))>2 & _ABS(_Y(MCo)-_Y(Tank2))>2{
MissI=MissI+1000}
if _ABS(_Y(MCo)-_Y(Tank3))>1 & _ABS(_Y(MCo)-_Y(Tank4))>1{
MissEx=MissEx+1000}
if Throttle>(0){
Smoke=1}
if Throttle>(70000){
Smoke=2}
if Throttle>(150000){
Smoke=3}
if Throttle>(170000){
Smoke=4}
if Reheat>(0){
Smoke=4}
}
Echo_Delta_Oscar- Hover
- Posts : 105
Join date : 2011-03-24
Re: A-28A
'Whoa' Is really all I can say, probably the best plane I've flown in a while. Awesome work, keep going!
Last edited by Timothy Ashtön on Wed Jun 08, 2011 8:25 am; edited 1 time in total
Re: A-28A
Thanks a lot! I'll do my best. It's a pity it is not possible to strike a target with a missile in RC.
Echo_Delta_Oscar- Hover
- Posts : 105
Join date : 2011-03-24
Re: A-28A
Well, it is possible, but definitely not easy to do.
JHaskly- Admin
- Posts : 235
Join date : 2010-07-16
Age : 28
Location : Brisbane
Re: A-28A
Troublesome question, but is it possible the shaking is due to chip layout or because of Script layout? Dunno if you guys get the shaking, but when I fly around it's nose goes left and right
Re: A-28A
It's true, and it is possibly due to the amount of payload attached under the wings, coupled with high thrust load and a feedforward loop on the pitch control. Maybe with LUA the problem could be taken down to size, but the load will remain.
Echo_Delta_Oscar- Hover
- Posts : 105
Join date : 2011-03-24
Re: A-28A
If you want missiles you could have a look at the tutorial section where the forum was trying to help me make a missile. Its latest version is working good and its around 700 kph, unfortunately i am still too bad at scripting to make a script that finds the average coordinate of another player (and so reduce the interference)... Besides that my missile is halfways percise and flies stable. Its constructed to kill I8 armor on long range hits, but doesnt even detonate right now. It just seeks its target, but it will miss due to the noise. Anyway in case you are interested here it is: The harpoon E1-B
- Code:
// [RCD]
Val
{
ARMED(default=0, max=1)
BDX(default=0, min=-10000)
BDY(default=0, min=-10000)
BDZ(default=0, min=-10000)
DX(default=0, min=-10000)
DY(default=0, min=-10000)
DZ(default=0, min=-10000)
ENG(default=0)
LAUNCH1(default=0, max=2)
LAUNCH2(default=0, max=1)
R(default=0, min=-25, max=25)
STAB(default=0, min=-10000)
U1(default=180, max=180)
U2(default=150, min=-30, max=150)
U3(default=0, max=90)
U4(default=180, min=29, max=180)
U5(default=180, max=180)
PU5A(default=0, min=-35, max=35)
PU5V(default=0, min=-35, max=35)
U5A(default=0, min=-35, max=35)
U5V(default=0, min=-35, max=35)
}
Key
{
}
Body
{
Core() {
S:Frame(angle=-50) {
S:Frame(angle=-100) {
S:Jet(angle=90, power=ENG, effect=2, color=#000000, name=MCore) {
N:Frame(angle=119, color=#000000) {
S:Arm(angle=209, color=#000000) { }
}
S:Frame(angle=119, color=#000000) {
S:Chip(angle=U2, color=#000000) {
S:Trim(angle=U3, color=#000000) {
S:Chip(angle=-U5V, color=#000000) { }
E:Trim(angle=-R, color=#000000) { }
W:Trim(angle=-R, color=#000000) { }
}
S:Chip(color=#000000, name=guide) {
N:Trim(angle=U3, color=#000000) {
N:Chip(angle=U1, color=#000000) {
N:Cowl(angle=U1, option=5, color=#000000) { }
}
N:Frame(angle=U4, color=#000000) {
N:Arm(angle=-209, color=#000000) { }
}
N:Frame(angle=-U4, color=#000000) {
N:Arm(angle=209, color=#000000) { }
}
}
S:Chip(angle=U1, color=#000000) { }
E:Trim(angle=-U5A, color=#000000) { }
W:Trim(angle=U5A, color=#000000) { }
}
N:Chip(angle=U1, option=5, color=#000000) {
N:Cowl(angle=U1, option=5, color=#000000) { }
}
}
N:Arm(angle=209, color=#000000) { }
}
}
}
}
S:Chip() {
S:Chip() {
S:Chip() {
S:Chip() {
S:Chip(angle=90) {
S:Weight() { }
}
}
}
}
}
E:Chip() {
E:Chip(angle=90) {
E:Weight() { }
}
}
W:Chip() {
W:Chip(angle=90) {
W:Weight() { }
}
}
N:Chip() {
N:Chip(angle=90) {
N:Weight() { }
}
}
}
}
Script
{
STAB = _AZ(guide)
if _key(7)>0 {Launch1=1}
if Launch1=1 {U1=U1-10}
if Launch1=1 {U2=U2-10}
if Launch1=1 {U3=U3+5}
if Launch1=1 {U4=U4-9}
if ARMED=0 {PU5A=U5}
if ARMED=0 {PU5V=U5}
if U2=-30 & Launch1=1 {Launch1=2}
if Launch1=2 {U5=U5-9}
if PU5A=0 {Launch1=0}
if PU5A=0 {Launch2=1}
if Launch2=1 {
ENG=200000
_SPLIT(MCore)
}
if ENG=200000 {ARMED=1}
if ARMED=1 {R=STAB*5}
if ARMED=1 {PU5V=bdX/35}
if ARMED=1 {PU5A=bdy/35}
if PU5A<U5A {U5A=U5A-1}
if PU5A>U5A {U5A=U5A+1}
if PU5V<U5V {U5V=U5V-1}
if PU5V>U5V {U5V=U5V+1}
dx = _PLAYERX(1)-_X(guide)
dy = _PLAYERY(1)-_Y(guide)
dz = _PLAYERZ(1)-_Z(guide)
bdx = dx*_XX(guide)+dy*_XY(guide)+dz*_XZ(guide)
bdy = dx*_YX(guide)+dy*_YY(guide)+dz*_YZ(guide)
bdz = dx*_ZX(guide)+dy*_ZY(guide)+dz*_ZZ(guide)
print 1,$_PLAYERNAME(0)," ID=",_PLAYERID(0)," Color=",_PLAYERCOLOR(0)," arm=",_PLAYERARMS(0)
print 2," crush=",_PLAYERCRUSHES(0)," init=",_PLAYERINITS(0)," reset=",_PLAYERRESETS(0)
print 3," x=",_PLAYERX(0)," y=",_PLAYERY(0)," z=",_PLAYERZ(0)
print 4,$_PLAYERNAME(1)," ID=",_PLAYERID(1)," Color=",_PLAYERCOLOR(1)," arm=",_PLAYERARMS(1)
print 5," crush=",_PLAYERCRUSHES(1)," init=",_PLAYERINITS(1)," reset=",_PLAYERRESETS(1)
print 6," x=",_PLAYERX(1)," y=",_PLAYERY(1)," z=",_PLAYERZ(1)
print 7,$_PLAYERNAME(2)," ID=",_PLAYERID(2)," Color=",_PLAYERCOLOR(2)," arm=",_PLAYERARMS(2)
print 8," crush=",_PLAYERCRUSHES(2)," init=",_PLAYERINITS(2)," reset=",_PLAYERRESETS(2)
print 9," x=",_PLAYERX(2)," y=",_PLAYERY(2)," z=",_PLAYERZ(2)
}
Warbird- Tank
- Posts : 60
Join date : 2010-10-27
Age : 30
Location : Germany
Re: A-28A
Oh and dont worry i had the problem too on my attempt to make a C130 spectre. Its really large and there you have your shaking. Another time i had this on propeller planes with high propeller speeds (e.g. my entry for my propeller plane contest)
Warbird- Tank
- Posts : 60
Join date : 2010-10-27
Age : 30
Location : Germany
Re: A-28A
try using trim props..
BTW, you might want to spam player position-related functions and average them in order to cancel some of the noise
BTW, you might want to spam player position-related functions and average them in order to cancel some of the noise
RA2lover- Walker
- Posts : 382
Join date : 2010-10-11
Age : 29
Location : Brazil
Re: A-28A
This is one heck of a neat plane, but as you mention, the missiles weigh an enormous amount and stress the plane structure and the engines badly.
Is there a need for the missiles to be so heavy and constructed out of so many weight chips? It seems a better balance of fuel capacity and weight could/should be managed; I seem to recall functional missile designs that were significantly lighter than this.
Is there a need for the missiles to be so heavy and constructed out of so many weight chips? It seems a better balance of fuel capacity and weight could/should be managed; I seem to recall functional missile designs that were significantly lighter than this.
Rainman- Tank
- Posts : 80
Join date : 2011-02-14
Age : 32
Location : New England, US
Re: A-28A
now i knoww i sound a bit dumb but this is my first time using this system but how can i be able to use that vehicle??
nicky_smithy- Cube
- Posts : 2
Join date : 2011-11-03
RigidChips :: Rigid-Chips :: Files :: Aircraft
Page 1 of 1
Permissions in this forum:
You cannot reply to topics in this forum