Mark Class Submarine
2 posters
RigidChips :: Rigid-Chips :: Files :: Watercraft
Page 1 of 1
Mark Class Submarine
It has been a while since my last submarine, and I used some experience I gathered from aricrafts to script a decent control system for depth manteineance and control.
- Code:
Val{
Bearing(min=-180, max=180)
Ballast(default=1000, min=0, max=1500, step=0)
CBF()
CBR()
Eng(default=0, min=-50000, max=100000, step=0)
Bank(default=0, min=-20, max=20)
DiveB(default=0, min=-20, max=20, step=5)
DPar(min=-20, max=20)
DH(default=-5, min=-5, max=105)
DMC(default=1, min=0, max=1, step=0)
Per()
PRS(default=0, max=125, step=0)
PRS2(default=0, min=0, max=250, step=0)
Deck(default=#806500)
Hull1(default=#000000)
Hull2(default=#700000)
Prop(default=90, min=45)
TRP(default=0, min=-10, max=10)
TRR(default=0, min=-10, max=10)
Thrust(default=0, max=150000)
Fire()
BRK(default=100000)
Roll(default=0 min=-20, max=20)
}
Key{
15:Eng(step=500)
8:Eng(step=-500)
2:Bank(step=-1)
3:Bank(step=1)
}
Body{
Core(color=Hull1){
S:Frame(angle=90, option=1){N:TrimF(angle=Bearing, option=1){
S:Frame(option=1){
E:Cowl(angle=120, option=3, color=Hull1){S:Cowl(color=Hull1){S:Cowl(angle=PRS, color=Hull1){}}}
W:Cowl(angle=120, option=4, color=Hull1){S:Cowl(color=Hull1){S:Cowl(angle=PRS, color=Hull1){}}}
S:Cowl(angle=180, color=Hull1){}N:Cowl(angle=140, option=5, color=Hull1){}
S:Cowl(color=Hull1){S:Cowl(angle=PRS, color=Hull1){}}
S:Frame(angle=PRS, option=1){S:Frame(angle=-PRS2, option=1){
S:Frame(angle=PRS, option=1){
E:Cowl(angle=120, option=1, color=Hull1){S:Cowl(color=Hull1){N:Cowl(angle=PRS, color=Hull1){}S:Cowl(angle=PRS, color=Hull1){}}}
W:Cowl(angle=120, option=1, color=Hull1){S:Cowl(color=Hull1){N:Cowl(angle=PRS, color=Hull1){}S:Cowl(angle=PRS, color=Hull1){}}}
S:Cowl(angle=180, color=Hull1){}
S:Cowl(color=Hull1){S:Cowl(angle=PRS, color=Hull1){}}
S:Frame(angle=PRS, option=1){S:Frame(angle=-PRS2, option=1){S:Frame(angle=PRS, option=1){
N:Cowl(angle=-90, color=Hull1){N:Cowl(color=Hull1){N:Cowl(option=5, color=Hull1){}}}
E:Cowl(angle=-90, color=Hull1){E:Cowl(angle=-15, color=Hull1){E:Cowl(color=Hull1){}}}
W:Cowl(angle=-90, color=Hull1){W:Cowl(angle=-15, color=Hull1){W:Cowl(color=Hull1){}}}
N:Cowl(angle=90, color=Hull1){N:Cowl(option=5, color=Hull1){}}
E:Cowl(angle=90, color=Hull1){E:Cowl(angle=30, effect=#a000){}}
W:Cowl(angle=90, color=Hull1){W:Cowl(angle=30, effect=#a000){}}
S:Frame(option=1){S:Frame(option=1){S:Weight(angle=-90, option=4, color=Hull2){N:Weight(name=Hull, option=4, color=Hull2){}}}
S:Frame(angle=-90, option=1){
N:Jet(power=Ballast, option=2, color=Hull1){}
S:Jet(power=Ballast, option=2, color=Hull1){}
E:Trim(angle=Roll){}W:Trim(angle=Roll){}
N:Frame(option=1){
N:Jet(power=Ballast, option=2, color=Hull1){}
S:Jet(power=Ballast, option=2, color=Hull1){}
N:Frame(option=1){
N:Jet(power=Ballast, option=2, color=Hull1){}
E:Cowl(option=1){E:Cowl(angle=-136, color=Hull1){S:Cowl(color=Hull1){}}E:Cowl(angle=136, color=Hull2){S:Cowl(color=Hull2){}}}
W:Cowl(option=1){W:Cowl(angle=-136, color=Hull1){S:Cowl(color=Hull1){}}W:Cowl(angle=136, color=Hull2){S:Cowl(color=Hull2){}}}
E:Cowl(angle=-90, option=1){E:Cowl(angle=136, color=Hull1){s:Cowl(color=Hull1){}}}
W:Cowl(angle=-90, option=1){W:Cowl(angle=136, color=Hull1){S:Cowl(color=Hull1){}}}
E:Cowl(angle=90, option=1){E:Cowl(angle=-136, color=Hull2){S:Cowl(color=Hull2){}}}
W:Cowl(angle=90, option=1){W:Cowl(angle=-136, color=Hull2){S:Cowl(color=Hull2){}}}
N:Cowl(angle=-90, option=1){N:Cowl(angle=-90, color=Deck){}}
N:Cowl(angle=90, option=1){N:Cowl(angle=90, color=Hull2){}}
N:Frame(option=1){
N:Jet(power=CBF, option=2, color=Hull1){}
E:Cowl(option=1){E:Cowl(angle=-136, color=Hull1){}E:Cowl(angle=136, color=Hull2){}}
W:Cowl(option=1){W:Cowl(angle=-136, color=Hull1){}W:Cowl(angle=136, color=Hull2){}}
E:Cowl(angle=-90, option=1){E:Cowl(angle=136, color=Hull1){}}
W:Cowl(angle=-90, option=1){W:Cowl(angle=136, color=Hull1){}}
E:Cowl(angle=90, option=1){E:Cowl(angle=-136, color=Hull2){}}
W:Cowl(angle=90, option=1){W:Cowl(angle=-136, color=Hull2){}}
N:Cowl(angle=-90, option=1){N:Cowl(angle=-90, color=Deck){}}
N:Cowl(angle=90, option=1){N:Cowl(angle=90, color=Hull2){}}
N:Frame(option=1){
N:Jet(power=CBF, option=2, color=Hull1){}
E:Cowl(option=1){E:Cowl(angle=-136, color=Hull1){}E:Cowl(angle=136, color=Hull2){}}
W:Cowl(option=1){W:Cowl(angle=-136, color=Hull1){}W:Cowl(angle=136, color=Hull2){}}
E:Cowl(angle=-90, option=1){E:Cowl(angle=136, color=Hull1){N:Cowl(angle=3, option=5, color=Hull1){}}}
W:Cowl(angle=-90, option=1){W:Cowl(angle=136, color=Hull1){N:Cowl(angle=3, option=5, color=Hull1){}}}
E:Cowl(angle=90, option=1){E:Cowl(angle=-136, color=Hull2){}}
W:Cowl(angle=90, option=1){W:Cowl(angle=-136, color=Hull2){}}
N:Cowl(angle=-90, option=1){N:Cowl(angle=-90, color=Deck){}}
N:Cowl(angle=90, option=1){N:Cowl(angle=90, color=Hull2){}}
N:Weight(name=Bow, option=1){
S:Weight(name=Torpedo, color=#aa0000){N:Arm(color=#aa0000){}S:Weight(color=#101010){
E:Trim(angle=TRR, color=#101010){}
W:Trim(angle=TRR, color=#101010){}
S:Chip(color=#101010){S:Trim(angle=90, color=#101010){E:Chip(color=#101010){}W:Chip(color=#101010){}}
S:Frame(angle=-30, option=1){
S:Cowl(angle=50, color=#101010){E:Cowl(angle=97, option=4, color=#101010){}W:Cowl(angle=97, option=3, color=#101010){}
N:Cowl(angle=20, color=#101010){E:Cowl(angle=95, color=#101010){}W:Cowl(angle=95, color=#101010){}
N:Cowl(color=#101010){E:Cowl(angle=95, color=#101010){}W:Cowl(angle=95, color=#101010){}
N:Cowl(color=#101010){E:Cowl(angle=95, color=#101010){}W:Cowl(angle=95, color=#101010){}
N:Cowl(color=#101010){E:Cowl(angle=95, color=#101010){}W:Cowl(angle=95, color=#101010){}
N:Cowl(angle=30, color=#aa0000){E:Cowl(angle=97, option=3, color=#aa0000){}W:Cowl(angle=97, option=4, color=#aa0000){}}}}}
S:Cowl(angle=90, option=1){S:Cowl(angle=-110, color=#101010){E:Cowl(angle=-97, option=4, color=#101010){}W:Cowl(angle=-97, option=3, color=#101010){}
N:Cowl(angle=-20, color=#101010){E:Cowl(angle=-95, color=#101010){}W:Cowl(angle=-95, color=#101010){}
N:Cowl(color=#101010){E:Cowl(angle=-95, color=#101010){}W:Cowl(angle=-95, color=#101010){}
N:Cowl(color=#101010){E:Cowl(angle=-95, color=#101010){}W:Cowl(angle=-95, color=#101010){}
N:Cowl(color=#101010){E:Cowl(angle=-95, color=#101010){}W:Cowl(angle=-95, color=#101010){}
N:Cowl(angle=-30, color=#aa0000){E:Cowl(angle=-97, option=3, color=#aa0000){}W:Cowl(angle=-97, option=4, color=#aa0000){}}}}}}}}}}
S:RLW(angle=120, power=Thrust, brake=BRK, color=#101010){N:Trim(angle=Prop, color=#101010){}S:Trim(angle=Prop, color=#101010){}}
S:RLW(angle=120, power=-Thrust, brake=BRK, color=#101010){N:Trim(angle=-Prop, color=#101010){}S:Trim(angle=-Prop, color=#101010){}}}
S:Chip(color=#101010){E:Trim(angle=TRP, color=#101010){}W:Trim(angle=-TRP, color=#101010){}}}}}
E:Cowl(option=1){
E:Cowl(angle=-140, color=Hull1){N:Cowl(angle=-6, option=5, color=Hull1){}}
E:Cowl(angle=140, color=Hull2){N:Cowl(angle=6, option=5, color=Hull2){}}}
W:Cowl(option=1){
W:Cowl(angle=-140, color=Hull1){N:Cowl(angle=-6, option=5, color=Hull1){}}
W:Cowl(angle=140, color=Hull2){N:Cowl(angle=6, option=5, color=Hull2){}}}
E:Cowl(angle=-90, option=1){E:Cowl(angle=140, color=Hull1){N:Cowl(angle=5, option=5, color=Hull1){}}}
W:Cowl(angle=-90, option=1){W:Cowl(angle=140, color=Hull1){N:Cowl(angle=5, option=5, color=Hull1){}}}
E:Cowl(angle=90, option=1){E:Cowl(angle=-140, color=Hull2){N:Cowl(angle=-5, option=5, color=Hull2){}}}
W:Cowl(angle=90, option=1){W:Cowl(angle=-140, color=Hull2){N:Cowl(angle=-5, option=5, color=Hull2){}}}
N:Cowl(angle=-90, option=1){N:Cowl(angle=-90, color=Deck){}}
N:Cowl(angle=90, option=1){N:Cowl(angle=90, color=Hull2){}}
N:Cowl(option=1){
E:Cowl(option=1){E:Cowl(angle=-150, color=Hull1){}E:Cowl(angle=150, color=Hull2){}}
W:Cowl(option=1){W:Cowl(angle=-150, color=Hull1){}W:Cowl(angle=150, color=Hull2){}}
E:Cowl(angle=-90, option=1){E:Cowl(angle=150, color=Hull1){N:Cowl(angle=10, option=5, color=Hull1){}}}
W:Cowl(angle=-90, option=1){W:Cowl(angle=150, color=Hull1){N:Cowl(angle=10, option=5, color=Hull1){}}}
E:Cowl(angle=90, option=1){E:Cowl(angle=-150, color=Hull2){N:Cowl(angle=-10, option=5, color=Hull2){}}}
W:Cowl(angle=90, option=1){W:Cowl(angle=-150, color=Hull2){N:Cowl(angle=-10, option=5, color=Hull2){}}}
N:Cowl(angle=-90, option=1){N:Cowl(angle=-90, color=Deck){}}
N:Cowl(angle=90, option=1){N:Cowl(angle=90, color=Hull2){}}
N:Cowl(option=1){
E:Cowl(option=1){
E:Cowl(angle=-150, color=Hull1){N:Cowl(angle=-35, option=3, color=Hull1){}}
E:Cowl(angle=150, color=Hull2){N:Cowl(angle=35, option=3, color=Hull2){}}}
W:Cowl(option=1){
W:Cowl(angle=-150, color=Hull1){N:Cowl(angle=-35, option=4, color=Hull1){}}
W:Cowl(angle=150, color=Hull2){N:Cowl(angle=35, option=4, color=Hull2){}}}
E:Cowl(angle=-90, option=1){E:Cowl(angle=170, color=Hull1){N:Cowl(angle=10, option=5, color=Hull1){}}}
W:Cowl(angle=-90, option=1){W:Cowl(angle=170, color=Hull1){N:Cowl(angle=10, option=5, color=Hull1){}}}
E:Cowl(angle=90, option=1){E:Cowl(angle=-170, color=Hull2){N:Cowl(angle=-10, option=5, color=Hull2){}}}
W:Cowl(angle=90, option=1){W:Cowl(angle=-170, color=Hull2){N:Cowl(angle=-10, option=5, color=Hull2){}}}
N:Cowl(angle=-90, option=1){N:Cowl(angle=-90, color=Deck){}}
N:Cowl(angle=90, option=1){N:Cowl(angle=90, color=Hull2){}}
N:Cowl(option=1){
E:Cowl(angle=-90, color=Hull1){N:Cowl(angle=-30, color=Hull1){}}
W:Cowl(angle=-90, color=Hull1){N:Cowl(angle=-30, color=Hull1){}}
E:Cowl(angle=90, color=Hull2){N:Cowl(angle=30, color=Hull2){}}
W:Cowl(angle=90, color=Hull2){N:Cowl(angle=30, color=Hull2){}}
N:Cowl(angle=-90, option=1){N:Cowl(angle=-90, color=Deck){S:Cowl(option=5, color=Deck){}}}
N:Cowl(angle=90, option=1){N:Cowl(angle=90, color=Hull2){}}}}}
N:Jet(power=CBF, option=2, color=Hull1){}
E:Trim(angle=-DiveB, color=Hull1){E:Chip(color=Hull2){}}
W:Trim(angle=DiveB, color=Hull1){W:Chip(color=Hull2){}}}}}}}
S:Frame(option=1){
S:Jet(power=Ballast, option=2, color=Hull1){}
E:Cowl(option=1){E:Cowl(angle=-136, color=Hull1){N:Cowl(color=Hull1){}}E:Cowl(angle=136, color=Hull2){N:Cowl(color=Hull2){}}}
W:Cowl(option=1){W:Cowl(angle=-136, color=Hull1){N:Cowl(color=Hull1){}}W:Cowl(angle=136, color=Hull2){N:Cowl(color=Hull2){}}}
E:Cowl(angle=-90, option=1){E:Cowl(angle=136, color=Hull1){N:Cowl(color=Hull1){}}}
W:Cowl(angle=-90, option=1){W:Cowl(angle=136, color=Hull1){N:Cowl(color=Hull1){}}}
E:Cowl(angle=90, option=1){E:Cowl(angle=-136, color=Hull2){N:Cowl(color=Hull2){}}}
W:Cowl(angle=90, option=1){W:Cowl(angle=-136, color=Hull2){N:Cowl(color=Hull2){}}}
N:Cowl(angle=-90, option=1){N:Cowl(angle=-90, color=Deck){}}
N:Cowl(angle=90, option=1){N:Cowl(angle=90, color=Hull2){}}
S:Frame(option=1){
S:Jet(power=CBR, option=2, color=Hull1){}
E:Cowl(option=1){E:Cowl(angle=-136, color=Hull1){}E:Cowl(angle=136, color=Hull2){}}
W:Cowl(option=1){W:Cowl(angle=-136, color=Hull1){}W:Cowl(angle=136, color=Hull2){}}
E:Cowl(angle=-90, option=1){E:Cowl(angle=136, color=Hull1){}}
W:Cowl(angle=-90, option=1){W:Cowl(angle=136, color=Hull1){}}
E:Cowl(angle=90, option=1){E:Cowl(angle=-136, color=Hull2){}}
W:Cowl(angle=90, option=1){W:Cowl(angle=-136, color=Hull2){}}
N:Cowl(angle=-90, option=1){N:Cowl(angle=-90, color=Deck){}}
N:Cowl(angle=90, option=1){N:Cowl(angle=90, color=Hull2){}}
S:Frame(option=1){
S:Jet(power=CBR, option=2, color=Hull1){}
E:Cowl(option=1){
E:Cowl(angle=-136, color=Hull1){S:Cowl(angle=-15, option=5, color=Hull1){}}
E:Cowl(angle=136, color=Hull2){S:Cowl(angle=15, option=5, color=Hull2){}}}
W:Cowl(option=1){
W:Cowl(angle=-136, color=Hull1){S:Cowl(angle=-15, option=5, color=Hull1){}}
W:Cowl(angle=136, color=Hull2){S:Cowl(angle=15, option=5, color=Hull2){}}}
E:Cowl(angle=-90, option=1){E:Cowl(angle=136, color=Hull1){S:Cowl(angle=15, option=5, color=Hull1){}}}
W:Cowl(angle=-90, option=1){W:Cowl(angle=136, color=Hull1){S:Cowl(angle=15, option=5, color=Hull1){}}}
E:Cowl(angle=90, option=1){E:Cowl(angle=-136, color=Hull2){S:Cowl(angle=-15, option=5, color=Hull2){}}}
W:Cowl(angle=90, option=1){W:Cowl(angle=-136, color=Hull2){S:Cowl(angle=-15, option=5, color=Hull2){}}}
N:Cowl(angle=-90, option=1){N:Cowl(angle=-90, color=Deck){N:Cowl(angle=-15, color=Hull1){N:Cowl(color=Hull1){
E:Cowl(angle=-60, option=5, color=Hull1){}W:Cowl(angle=-60, option=5, color=Hull1){}}}}}
N:Cowl(angle=90, option=1){N:Cowl(angle=90, color=Hull2){N:Cowl(angle=15, color=Hull2){N:Cowl(color=Hull2){
E:Cowl(angle=60, option=5, color=Hull2){}W:Cowl(angle=60, option=5, color=Hull2){}}}}}
S:Frame(option=1){
S:Jet(power=CBR, option=2, color=Hull1){}
S:Frame(option=1){
S:TrimF(angle=90, option=1){E:Trim(angle=Bank, color=Hull1){E:Chip(color=Hull1){}W:Chip(color=Hull1){W:Chip(color=Hull2){}}}}
S:Weight(name=Stern, option=4, color=Hull1){
E:Trim(angle=DiveB, color=Hull1){E:Chip(color=Hull2){}}W:Trim(angle=-DiveB, color=Hull1){W:Chip(color=Hull2){}}
S:Frame(angle=-30, option=1){S:RLW(angle=120, power=Eng){
N:Cowl(angle=100, option=5, color=#807500){}
S:Cowl(angle=100, option=5, color=#807500){}
E:Cowl(angle=100, option=5, color=#807500){}
W:Cowl(angle=100, option=5, color=#807500){}
N:Cowl(angle=-100, option=5, color=#807500){}
S:Cowl(angle=-100, option=5, color=#807500){}
E:Cowl(angle=-100, option=5, color=#807500){}
W:Cowl(angle=-100, option=5, color=#807500){}
N:Trim(angle=45, color=#aa9000){}S:Trim(angle=45, color=#aa9000){}}
S:Frame(angle=30, option=1){S:RLW(angle=90, power=-Eng){
N:Cowl(angle=100, option=5, color=#807500){}
S:Cowl(angle=100, option=5, color=#807500){}
E:Cowl(angle=100, option=5, color=#807500){}
W:Cowl(angle=100, option=5, color=#807500){}
N:Cowl(angle=-120, option=5, color=#807500){}
S:Cowl(angle=-120, option=5, color=#807500){}
E:Cowl(angle=-120, option=5, color=#807500){}
W:Cowl(angle=-120, option=5, color=#807500){}
N:Trim(angle=-45, color=#aa9000){}S:Trim(angle=-45, color=#aa9000){}}
}}}}}}}}}}
}}}}}}}}}
}
}
Script{
print 0,"Man the Deck"
print 1,"Submarines RULE!"
print 2,"Engine at ", Eng/1000,"%"
print 3,"Speed: ", _VEL()*3600/1852," knots"
print 4,"Desired Depth: ",DH," mt"
print 6,"Bearing: ",Bearing
print 7,"Fuel: ",_FUEL()," Fuel LVL: ",_FUEL()/1100000," %"
print 9,"Torpedo Speed: ",_VEL(Torpedo)+3600/1852," knots"
print 10,"Torpedo Fuel: ",_FUEL(Torpedo),", LVL: ",_FUEL(Torpedo)/235000," %"
print 12,"W/S to control engines"
print 13,"A/D to rotate periscope"
print 14,"Up/Down to control Depth"
print 15,"Arrow keys to control route"
print 16,"E to retract/extend periscope"
print 17,"C to fire Torpedo"
print 20,"SAFETY FEATURES:"
print 21,"Press W and S altogether to stop engines"
print 22,"Press Up and Down altogether for an emergency surface"
print 23,"The Torpedo will be switched on, then released; it coul take a while"
Per=_MOD(Per+_KEYDOWN(16),2)
if Per=(0){
PRS=PRS-1
PRS2=PRS2-2}
if Per=(1){
PRS=PRS+1
PRS2=PRS2+2}
if _KEY(0)>(0){
DH=DH-1/4}
if _KEY(1)>(0){
DH=DH+1/4}
if _KEY(7)>(0){
Bearing=Bearing-1/2}
if _KEY(9)>(0){
Bearing=Bearing+1/2}
Ballast=1000+(-DH-_Y(Hull))*1000
CBF=300-(_Y(Bow)-_Y(Stern))*100-(_VY(Bow)-_VY(Stern))*100+Dpar*5
CBR=(_Y(Bow)-_Y(Stern))*100+(_VY(Bow)-_VY(Stern))*100-Dpar*5
Dpar=-DH-_Y(Hull)
DiveB=-Dpar+_TODEG(_AX(Hull))
Roll=-_TODEG(_AZ(Hull))-Bank
if Bank>(0){
print 5,"Rudder: ", _ABS(Bank)," Right"}
if Bank=(0){
print 5,"Rudder amidship"}
if Bank<(0){
print 5,"Rudder: ", _ABS(Bank)," Left"}
if _KEY(0)>(0) & _KEY(1)>(0){
DH=-5}
if _KEY(15)>(0) & _KEY(8)>(0){
Eng=0}
Fire=_MOD(Fire+_KEYDOWN(6),2)
if Fire>(0){
TRP=_TODEG(_AX(Torpedo))+(_Y(Torpedo)+1)
TRR=-_TODEG(_AZ(Torpedo))
Prop=Prop-3}
if Prop<(50){
Thrust=Thrust+1000
BRK=0}
if Thrust=150000{
_SPLIT(Torpedo)}
}
Echo_Delta_Oscar- Hover
- Posts : 105
Join date : 2011-03-24
Re: Mark Class Submarine
NICE! It looks great and on top of that its nicely stabilized. I quite like your depth control system and if you don't mind, I'm going to try to adapt it to fit my Typhoon-class submarine.
Maurice- Hover
- Posts : 153
Join date : 2011-10-07
Age : 28
Location : The early 1970's
Re: Mark Class Submarine
Off you go! It is always a pleasure to share
Echo_Delta_Oscar- Hover
- Posts : 105
Join date : 2011-03-24
Similar topics
» Alfa-class Submarine
» Paul Class Submarine
» Typhoon class submarine
» Oscar Class Nuclear Submarine
» Delta Class Missile Submarine
» Paul Class Submarine
» Typhoon class submarine
» Oscar Class Nuclear Submarine
» Delta Class Missile Submarine
RigidChips :: Rigid-Chips :: Files :: Watercraft
Page 1 of 1
Permissions in this forum:
You cannot reply to topics in this forum