Advertisement
breezyshadow012

RMDX Ship

Mar 17th, 2017
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 33.18 KB | None | 0 0
  1. --script/ -- mediafire
  2. script:ClearAllChildren()
  3.  
  4. loadstring(_G["RM"..'Lib'])()
  5.  
  6.  
  7. as={}
  8. as.cone='1033714'
  9. as.ring="3270017"
  10. as.Chakram='47260990'
  11. as.ring2='18430887'
  12. as.blast='20329976'
  13. as.missile='10207677'
  14. as.fire='2693346'
  15. as.boom='3264793'
  16. as.slash='10209645'
  17. as.abscond='2767090'
  18. as.firelaser='13775494'
  19. as.diamond='9756362'
  20. as.metal='rbxasset://sounds\\unsheath.wav'
  21. as.hit='10209583'
  22. as.kick='46153268'
  23. as.cast='2101137'
  24. as.guigradient ='48965808'
  25. as.guigradient2='53084230'
  26. as.redgradient='108536582'
  27. as.yellowgradient='108536588'
  28.  
  29.  
  30. for i,v in pairs(as) do
  31. if type(tonumber(v:sub(1,3)))=="number" then
  32. as[i]="http://www.roblox.com/asset/?id="..v
  33. end
  34. end
  35.  
  36.  
  37.  
  38. local parsa=workspace
  39.  
  40.  
  41. lol=script --qi{"Model",parsa,n="RMShip"}
  42. script.Name='RMShip'
  43.  
  44.  
  45. cc="Brown"
  46. cc2='Pastel brown'
  47. cc3='Dark green'
  48.  
  49. BasePos=cn(-10,2000,0) --*ca(0,45,0)
  50. CAPCF=BasePos*cn(0,5,220)
  51.  
  52. for ii,vv in pairs(parsa:children()) do
  53. if vv.Name=="RMShip" and vv~=lol then
  54. for i,v in pairs(vv:children()) do
  55. v:Remove()
  56. if i%100==0 then wait() end
  57. end
  58. end
  59. end
  60.  
  61.  
  62.  
  63. addwindow2 = function(cf,sc,hi,tic,cus)
  64. local tic=tic or 4
  65. local hi=(hi or 10)-2
  66.  
  67. qi{"Part",lol,sc=v3(tic+0.1,2,sc),bn=bn'Black',cf=cf*cn(0,1,0),an=true,mat="Wood"}
  68. for i=0,180,180/10 do
  69. local v=qi{"Part",lol,sc=v3(tic+0.1,sc/6,2),bn=bn'Black',cf=cf*cn(0,2+hi,0)*ca(-i,0,0)*cn(0,0,sc/2-1),an=true,mat="Wood"}
  70. if i==0 or i==180 then
  71. if i==180 then v.CFrame=v.CFrame*ca(180,0,0) end
  72. local vcf=v.CFrame
  73. local vsy=v.Size.y/2
  74. v.Size=v3(v.Size.x,vsy+hi,v.Size.z)
  75. v.CFrame=vcf*cn(0,(-hi/2)+(vsy/2),0)
  76. end
  77. end
  78. local midcf=cf*cn(0,2+(hi/2)+(sc/4)-0.5,0)
  79. qi{"Part",lol,sc=v3(tic/2.4,hi+(sc/2)-1,sc-3),bn=bn'Institutional white',tra=0.5,cf=midcf,an=true}
  80. qi{"Part",lol,sc=v3(tic/2+0.1,1.5,sc-3),bn=bn'Black',cf=midcf,an=true,mat="Wood"}
  81. qi{"Part",lol,sc=v3(tic/2+0.2,hi+(sc/2)-1,1.5),bn=bn'Black',cf=midcf*cn(0,-0.5,0),an=true,mat="Wood"}
  82.  
  83.  
  84. if not cus then
  85. for x=-1,1,2 do
  86. qi{"WedgePart",lol,sc=v3(tic,sc/2+1.5,sc/4),bn=bn(cc),cf=midcf*cn(0,sc/2-sc/8,(sc/4+sc/8)*x)*ca(180,x==-1 and 0 or 180,0),an=true,mat="Wood"}
  87. end
  88. qi{"Part",lol,sc=v3(tic-0.05,2,sc),bn=bn(cc),tra=0,cf=midcf*cn(0,hi/2+sc/4-0.25,0),an=true,mat="Wood"}
  89. end --
  90. --
  91. end --
  92. sxx=12.5
  93. addsupport=function(cf,len,xx,sep)
  94. local sep=sep or 8
  95. local cyl=qi{"Part",lol,sc=v3(1,len,1),an=true,bn=bn(cc),cf=cf*ca(0,0,90)} qi{'CylinderMesh',cyl}
  96. for x=-len/2+2,len/2-2,sep do
  97. local cyl=qi{"Part",lol,sc=v3(0.75,3,0.75),an=true,bn=bn(cc),cf=cf*ca(xx,0,0)*cn(x,1.5,0)*ca(0,45,0),mat="Wood"}
  98. qi{'CylinderMesh',cyl}
  99. end
  100. local cyl=qi{"Part",lol,sc=v3(0.75,len,0.75),an=true,bn=bn(cc),cf=cf*ca(xx,0,0)*cn(0,3,0)*ca(0,0,90)*ca(0,45,0),mat="Wood"}
  101. qi{'CylinderMesh',cyl}
  102. end
  103. stair1=function(ofs,h,yy,tt)
  104. qi{"SpecialMesh",qi{"Part",lol,sc=v3(2.2,h,2.2),an=true,cf=ofs*cn(0,h/2,0),mat="Wood",bn='Black'}}
  105. local ts=0
  106. for y=0,yy,yy/tt do
  107. qi{"Part",lol,sc=v3(8,1,2),an=true,cf=ofs*cn(0,ts/tt*(h-2)+1.5,0)*ca(0,y,0)*cn(4.5,0,0),mat="Wood",bn=cc3}
  108. qi{"Part",lol,sc=v3(1,5,3),an=true,cf=ofs*cn(0,ts/tt*(h-2)+3.5,0)*ca(0,y,0)*cn(9,0,0),mat="Wood",bn=cc}
  109. ts=ts+1
  110. end
  111. end
  112. stair2=function(ofs,h,yy,tt,th,le,zz)
  113. local ts=0
  114. for y=0,yy,yy/tt do
  115. qi{"Part",lol,sc=v3(le or 8,1,zz or 2),an=true,cf=ofs*cn(0,ts/tt*(h-2)+1.5,0)*ca(0,y,0)*cn((le+th)/2,0,0),mat="Wood",bn=cc3}
  116. qi{"Part",lol,sc=v3(1,5,3),an=true,cf=ofs*cn(0,ts/tt*(h-2)+3.5,0)*ca(0,y,0)*cn(th/2+0.5+le,0,0),mat="Wood",bn=cc}
  117. ts=ts+1
  118. end
  119. end
  120.  
  121.  
  122. sx=60
  123. sz=180
  124. sk = 10
  125. local rang=45
  126.  
  127.  
  128.  
  129. TCFS={}
  130. for side=-1,1,2 do
  131. for rot=sk,180,sk do
  132. i = mrad(rot)
  133. TCF=BasePos*cn(-side*math.sin(i)*sx,0,math.cos(i)*sz) --*ca2(0,i,0)
  134. local ii = i-mrad(sk)
  135. TCF2=BasePos*cn(-side*math.sin(ii)*sx,0,math.cos(ii)*sz)
  136. local mag = (TCF.p-TCF2.p).magnitude
  137. TCF3=cn(TCF.p,TCF2.p)*cn(0,0,-mag/2)*cn(side*-rang,0,0)
  138. TCFS[side*rot]={TCF3,mag}
  139. end
  140. end
  141.  
  142.  
  143. MakeWing=function(ofs,len,wide,times)
  144. local s=0
  145. local wing={}
  146. for i=0,wide,wide/times do
  147. s=s+1
  148. local adj=s*len/5
  149. local lenn=adj+len
  150. local v=qi{"Part",lol,sc=v3(3,lenn,3),cf=ofs*ca(i,0,0)*cn(0,lenn/2,0),an=true,bn=cc3,mat='Wood'}
  151. wing[#wing+1]=v
  152. end
  153. for i=1,#wing-1 do
  154. local y1,y2=wing[i].Size.y/2,wing[i+1].Size.y/2
  155. local zz=(wing[i].CFrame*cn(0,y1,4).p-wing[i+1].CFrame*cn(0,y2,-4).p).magnitude
  156. qi{"WedgePart",lol,sc=v3(0.5,y1*2-4,zz),cf=wing[i].CFrame*cn(0,-2,1+zz/2)*ca(180,0,0),an=true,bn='White'}
  157. end
  158. for i=1,#wing do
  159. qi{'SpecialMesh',qi{"Part",lol,sc=v3(2,5,2),cf=wing[i].CFrame*cn(0,wing[i].Size.y/2,0)*ca(30,0,0)*cn(0,2.5,0),an=true,bn=cc3,mat='Wood'},MeshId=as.cone,Scale=v3(1.5,8,1.5)}
  160. wing[i].CFrame=wing[i].CFrame*ca(0,45,0)
  161. end
  162. end
  163.  
  164. outline = function(cf,vx,vz,ti,co)
  165. local ti = ti or 1.2
  166. for z=-1,1,2 do
  167. for x=-1,1,2 do
  168. qi{'SpecialMesh',qi{"Part",lol,sc=v3(ti,ti,ti),an=true,cf=cf*cn(x*vx/2,0,z*vz/2)*ca(0,0,90),bn=bn(co or 'Dark green')},MeshType="Sphere"}
  169. end
  170. qi{'CylinderMesh',qi{"Part",lol,sc=v3(ti,vz,ti),an=true,cf=cf*cn(z*vx/2,0,0)*ca(90,0,0),bn=bn(co or 'Dark green')}}
  171. qi{'CylinderMesh',qi{"Part",lol,sc=v3(ti,vx,ti),an=true,cf=cf*cn(0,0,z*vz/2)*ca(0,0,90),bn=bn(co or 'Dark green')}}
  172. end
  173. end
  174.  
  175. stairs = function(cf,hig,wid,steplen,adj)
  176. local steplen=steplen or 1
  177. local adj=adj or 1.5
  178. local y=adj
  179. local z=0
  180. local bs,be
  181. repeat
  182. local pa=qi{"Part",lol,sc=v3(wid,0.3,steplen),an=true,cf=cf*cn(0,y,z)*ca(-4,0,0),bn=bn(cc),mat="Wood"}
  183. bs = bs or pa
  184. be = pa
  185. y=y+adj
  186. z=z+steplen
  187. until y>=hig
  188. local mag = (bs.Position-be.Position).magnitude+1
  189. for x=-1,1,2 do
  190. local pa=qi{"Part",lol,sc=v3(0.5,2,mag),an=true,cf=cf*cn(0,y,z),bn=bn(cc),mat="Wood"}
  191. pa.CFrame=cn(bs.Position,be.Position)*cn((wid/2+0.25)*x,0.25,-mag/2)
  192. for z=-pa.Size.z/2+1,pa.Size.z/2-1,4 do
  193. qi{"Part",lol,sc=v3(0.5,3,0.5),an=true,bn=bn(cc),mat="Wood"}.CFrame=pa.CFrame*cn(0,1,z)*ca(0,0,-10*x)*cn(0,1.5,0)
  194. end
  195. qi{"Part",lol,sc=v3(0.75,0.75,mag+2),an=true,bn=bn(cc),mat="Wood"}.CFrame=pa.CFrame*cn(0,1,0)*ca(0,0,-10*x)*cn(0,3,0)*ca(0,0,45)
  196. end
  197. end
  198.  
  199. sxx=12.5
  200. addsupport=function(cf,len,xx,sep)
  201. local sep=sep or 8
  202. local cyl=qi{"Part",lol,sc=v3(1,len,1),an=true,bn=bn(cc),cf=cf*ca(0,0,90)} qi{'CylinderMesh',cyl}
  203. for x=-len/2+2,len/2-2,sep do
  204. local cyl=qi{"Part",lol,sc=v3(0.75,3,0.75),an=true,bn=bn(cc),cf=cf*ca(xx,0,0)*cn(x,1.5,0)*ca(0,45,0),mat="Wood"}
  205. qi{'CylinderMesh',cyl}
  206. end
  207. local cyl=qi{"Part",lol,sc=v3(0.75,len,0.75),an=true,bn=bn(cc),cf=cf*ca(xx,0,0)*cn(0,3,0)*ca(0,0,90)*ca(0,45,0),mat="Wood"}
  208. qi{'CylinderMesh',cyl}
  209. end
  210.  
  211. addsupport2=function(cf,len,en)
  212. qi{"Part",lol,sc=v3(3,len,1),an=true,bn=bn(cc),cf=cf*cn(0,1.5,0)*ca(0,0,90)}
  213. qi{'CylinderMesh',qi{"Part",lol,sc=v3(1,len,1),an=true,bn=bn(cc),cf=cf*cn(0,3,0)*ca(0,0,90)}}
  214. for x=-1,1,2 do
  215. qi{'CylinderMesh',qi{"Part",(en==0 or en==x) and lol or nil,sc=v3(1,3,1),an=true,bn=bn(cc),cf=cf*cn(x*len/2,1.5,0)}}
  216. qi{'SpecialMesh',qi{"Part",(en==0 or en==x) and lol or nil,sc=v3(1,1,1),an=true,bn=bn(cc),cf=cf*cn(x*len/2,3,0)},MeshType="Sphere"}
  217. end
  218. end
  219.  
  220.  
  221.  
  222. ----starts here
  223. for side=-1,1,2 do
  224. for rot=sk,180,sk do
  225. i = mrad(rot)
  226. local TCF,mag=TCFS[side*rot][1],TCFS[side*rot][2]
  227. local rot2 = rot+sk
  228. if rot2>180 then rot2=170 end
  229. local TCF2,mag2=TCFS[side*rot2][1],TCFS[side*rot2][2]
  230. ---
  231. for x=0,90,100/7 do
  232. local THECF=TCF*ca(0,0,-side*x)*cn(side*rang,0,0)
  233. local cur=qi{"Part",lol,sc=v3(6,12,mag+2),an=true,cf=THECF,bn=bn(cc),mat="Wood"}
  234. if x==0 and rot<90+50 and rot>90-30 then
  235. addsupport(cur.CFrame*cn(2.5*side,6,0)*ca(0,90,0),cur.Size.z,side*sxx)
  236. end
  237. if side==1 and (100/7*2==x or 100/7*0==x) then
  238. if 100/7*0==x then THECF=THECF*cn(0,cur.Size.y/2-0.6,0) end
  239. local wid=BasePos:toObjectSpace(THECF)
  240. local wid1=BasePos:toObjectSpace(THECF*cn(0,0,-cur.Size.z/2))
  241. local wid2=BasePos:toObjectSpace(THECF*cn(0,0,cur.Size.z/2))
  242. local mab = math.abs
  243. local zs = mab(mab(wid2.z)-mab(wid1.z))
  244. if rot==80 then
  245. for x=-1,1,2 do
  246. qi{"Part",lol,sc=v3(mab(wid.x)-12,1,zs-1),an=true,cf=BasePos*cn(x*(wid.x+22),wid.y,wid.z),bn=bn(cc),mat="Wood"}
  247. end
  248. outline(BasePos*cn(0,wid.y,wid.z),100/7*0==x and 25 or 21,zs-3,2)
  249. else
  250. qi{"Part",lol,sc=v3(mab(wid.x*2),1,zs),an=true,cf=BasePos*cn(0,wid.y,wid.z),bn=bn(cc),mat="Wood"}
  251. end
  252. end
  253. end
  254. end
  255. end
  256. for z=-1,1,2 do
  257. for x=-1,1,2 do
  258. local cur=qi{"WedgePart",lol,sc=v3(6,sx/4,sz/2),an=true,cf=BasePos*cn(sx/4.2/2*-x,-45.3,z*-sz/2.4)*ca(z==-1 and 180 or 0,0,x*90),bn=bn(cc),mat="Wood"}
  259. end
  260. end
  261. outline(BasePos*cn(0,-45,0),24+1,60+1,6)
  262. stairs(BasePos*cn(0,-44,61)*ca(0,180,0),24,10,2)
  263. stairs(BasePos*cn(0,-22,72)*ca(0,180,0),29,10,3,2)
  264.  
  265. addwindow = function(cf,tic,sc)
  266. local sc=sc or 1
  267. local tic=tic or 4
  268. local v1=qi{"Part",lol,sc=v3(1,1,1)*sc,an=true,can=false,bn=bn(cc),cf=cf*cn(-tic/4*2.3,0,0)*ca(0,90,0),mat="Wood"} qi{"SpecialMesh",v1,mid=as.ring,sca=v3(10,10,12)*sc}
  269. local v1=qi{"Part",lol,sc=v3(1,1,1)*sc,an=true,can=false,bn=bn(cc),cf=cf*cn(tic/4*2.3,0,0)*ca(0,90,0),mat="Wood"} qi{"SpecialMesh",v1,mid=as.ring,sca=v3(10,10,12)*sc}
  270. local v1=qi{"Part",lol,sc=v3(0.2,8,8)*sc,an=true,bn=bn'Institutional white',cf=cf,tra=0.5}
  271. local v1=qi{"Part",lol,sc=v3(1,1,1)*sc,an=true,can=false,bn=bn'Dark green',cf=cf*ca(0,90,0)} qi{"SpecialMesh",v1,mid=as.ring,sca=v3(8,8,tic*7.75)*sc}
  272. end
  273.  
  274. addwindow2 = function(cf,sc,hi,tic,cus)
  275. local tic=tic or 4
  276. local hi=(hi or 10)-2
  277.  
  278. qi{"Part",lol,sc=v3(tic+0.1,2,sc),bn=bn'Black',cf=cf*cn(0,1,0),an=true,mat="Wood"}
  279. for i=0,180,180/10 do
  280. local v=qi{"Part",lol,sc=v3(tic+0.1,sc/6,2),bn=bn'Black',cf=cf*cn(0,2+hi,0)*ca(-i,0,0)*cn(0,0,sc/2-1),an=true,mat="Wood"}
  281. if i==0 or i==180 then
  282. if i==180 then v.CFrame=v.CFrame*ca(180,0,0) end
  283. local vcf=v.CFrame
  284. local vsy=v.Size.y/2
  285. v.Size=v3(v.Size.x,vsy+hi,v.Size.z)
  286. v.CFrame=vcf*cn(0,(-hi/2)+(vsy/2),0)
  287. end
  288. end
  289. local midcf=cf*cn(0,2+(hi/2)+(sc/4)-0.5,0)
  290. qi{"Part",lol,sc=v3(tic/2.4,hi+(sc/2)-1,sc-3),bn=bn'Institutional white',tra=0.5,cf=midcf,an=true}
  291. qi{"Part",lol,sc=v3(tic/2+0.1,1.5,sc-3),bn=bn'Black',cf=midcf,an=true,mat="Wood"}
  292. qi{"Part",lol,sc=v3(tic/2+0.2,hi+(sc/2)-1,1.5),bn=bn'Black',cf=midcf*cn(0,-0.5,0),an=true,mat="Wood"}
  293.  
  294.  
  295. if not cus then
  296. for x=-1,1,2 do
  297. qi{"WedgePart",lol,sc=v3(tic,sc/2+1.5,sc/4),bn=bn(cc),cf=midcf*cn(0,sc/2-sc/8,(sc/4+sc/8)*x)*ca(180,x==-1 and 0 or 180,0),an=true,mat="Wood"}
  298. end
  299. qi{"Part",lol,sc=v3(tic-0.05,2,sc),bn=bn(cc),cf=midcf*cn(0,hi/2+sc/4-0.25,0),an=true,mat="Wood"}
  300. end --
  301. --
  302. end --
  303.  
  304. local fronty=5.7
  305. local pp={}
  306. for x=-36,36,4 do
  307. local scl=100-math.abs(x*2)
  308. local laa=10+math.floor(32-math.abs(x))
  309. local adj=5+math.abs(x)
  310. local v=qi{"WedgePart",lol,formFactor="Custom",sc=v3(4,laa,scl),an=true,cf=BasePos*cn(x,fronty+(-laa/2),-sz+0.2-(scl/2)+adj)*ca(0,0,180),bn=bn(cc),mat="Wood"}
  311. if x==0 then pp[0]=v end
  312. if x==-36 then pp[-1]=v end
  313. if x==36 then pp[1]=v end
  314. end
  315. for x=-1,1,2 do
  316. local p1=pp[x].CFrame*cn(0,-pp[x].Size.y/2,-pp[x].Size.z/2).p
  317. local p2=pp[0].CFrame*cn(0,-pp[0].Size.y/2,-pp[0].Size.z/2).p
  318. local mag=(p1-p2).magnitude
  319. local v=qi{"Part",lol,sc=v3(4,3,mag+1),an=true,bn=bn(cc),mat="Wood"}
  320. v.CFrame=cn(p1,p2)*cn(0,1.5,-mag/2+0.4-0.5)
  321. local vs=v.Size.z
  322. for w=-vs/2,vs/2,vs/2 do
  323. local adj=10
  324. addwindow(v.CFrame*cn(0,1.5+4,w/1.5+adj),4)
  325. end
  326. qi{"Part",lol,sc=v3(3.9,8.3,25.25),an=true,bn=bn(cc),mat="Wood",cf=v.CFrame*cn(0,1.5+4,-vs/2+12.625)}
  327. qi{"Part",lol,sc=v3(3.9,8.3,30.5),an=true,bn=bn(cc),mat="Wood",cf=v.CFrame*cn(0,1.5+4,-vs/2+25+8+15.25)}
  328. qi{"Part",lol,sc=v3(3.9,8.3,30.5),an=true,bn=bn(cc),mat="Wood",cf=v.CFrame*cn(0,1.5+4,-vs/2+25+16+15.25+30.5)}
  329. qi{"Part",lol,sc=v3(3.9,8.3,5.25),an=true,bn=bn(cc),mat="Wood",cf=v.CFrame*cn(0,1.5+4,vs/2-2.625)}
  330. --
  331. qi{"Part",lol,sc=v3(4,9,mag+1),an=true,bn=bn(cc),mat="Wood",cf=v.CFrame*cn(0,1.5+8+4.5,0)}
  332. addsupport(v.CFrame*cn(1.5*x,-1.5+20,0)*ca(0,90,0),mag+1,x*sxx)
  333. --
  334. local scf
  335. local tp=pp[x]
  336. local adj=6
  337. local v2=qi{"Part",lol,sc=v3(4,20,tp.Size.z-adj),an=true,bn=bn(cc),mat="Wood",cf=tp.CFrame*ca(180,0,0)*cn(0,10+tp.Size.y/2,adj/2)}
  338. addsupport(v2.CFrame*cn(-1.5*x,10,0)*ca(0,90,0),v2.Size.z,-x*sxx)
  339. --22
  340. qi{"Part",lol,sc=v3(31,1,tp.Size.z-adj),an=true,bn=bn'Pastel brown',mat="Wood",cf=v2.CFrame*cn(x*(31/2+1),9.4,0)}
  341. qi{"Part",lol,sc=v3(8.4,1,7.4),an=true,bn=bn'Pastel brown',mat="Wood",cf=v2.CFrame*cn(x*36,9.4,7.5*x)}
  342. local scfp=qi{"Part",lol,sc=v3(5,1,40),an=true,bn=bn'Pastel brown',mat="Wood",cf=v2.CFrame*cn(x*4.5,9.4,-31)}
  343. local scf=scfp.CFrame
  344. if x==1 then addwindow(v2.CFrame*cn(x*36,9.4,0)*ca(0,0,90),1) end
  345. --
  346. local v2=qi{"Part",lol,sc=v3(4,20,20+1.5),an=true,bn=bn(cc),mat="Wood",cf=v2.CFrame*cn(0,0,-v2.Size.z/2)*ca(0,x*22,0)*cn(0,0,-10)}
  347. addsupport(v2.CFrame*cn(-1.5*x,10,-0.4)*ca(0,90,0),v2.Size.z-1.5,-x*sxx)
  348. qi{"WedgePart",lol,sc=v3(1,19,8),an=true,bn=bn'Pastel brown',mat="Wood",cf=v2.CFrame*ca(0,-x*22,0)*cn(x*1.8,9.4,0)*ca(90,x*90,0)}
  349. --
  350. local v2=qi{"Part",lol,sc=v3(4,20,14+1.5),an=true,bn=bn(cc),mat="Wood",cf=v2.CFrame*cn(0,0,-v2.Size.z/2)*ca(0,x*-8,0)*cn(0,0,-7)}
  351. addsupport(v2.CFrame*cn(-1.5*x,10,0)*ca(0,90,0),v2.Size.z,-x*sxx)
  352. qi{"WedgePart",lol,sc=v3(1,15.5,4),an=true,bn=bn'Pastel brown',mat="Wood",cf=v2.CFrame*ca(0,-x*14,0)*cn(x*2,9.4,0)*ca(90,x*90,0)}
  353. qi{"Part",lol,sc=v3(7.7,1,15.7),an=true,bn=bn'Pastel brown',mat="Wood",cf=v2.CFrame*ca(0,-x*14,0)*cn(x*7.75,9.4,0)}
  354. --
  355. local v2=qi{"Part",lol,sc=v3(4,20,5+1.5),an=true,bn=bn(cc),mat="Wood",cf=v2.CFrame*cn(0,0,-v2.Size.z/2)*ca(0,x*-14,0)*cn(0,0,-2.5)}
  356. addsupport(v2.CFrame*cn(-1.5*x,10,0)*ca(0,90,0),v2.Size.z-0.5,-x*sxx)
  357. qi{"Part",lol,sc=v3(12,1,6.5),an=true,bn=bn'Pastel brown',mat="Wood",cf=v2.CFrame*cn(x*(1.5+(12/2)),9.4,-1)}
  358. --
  359. local v2=qi{"Part",lol,sc=v3(4,25.5,4),an=true,bn=bn(cc),cf=v2.CFrame*cn(0,0,-v2.Size.z/2)*cn(0,2,0),mat="Wood"} qi{'SpecialMesh',v2}
  360. local v2f=qi{"Part",lol,sc=v3(4,4,4),an=true,bn=bn(cc),cf=v2.CFrame*cn(0,12,0),mat="Wood"} qi{'SpecialMesh',v2f,MeshType="Sphere"}
  361. --
  362. local v2=qi{"Part",lol,sc=v3(4,20,4),an=true,bn=bn(cc),mat="Wood",cf=v2.CFrame*cn(x*v2.Size.z/2,-2,0)*cn(0,0,0)}
  363. for i=0,180,180/8 do
  364. local v2f=qi{"Part",lol,sc=v3(1,2,4.5),an=true,bn=bn'Dark green',cf=v2.CFrame*cn(x*7,0,0)*ca(0,0,i)*cn(4.5,0,0),mat="Wood"}
  365. if i==0 or i==180 then
  366. local olcf=v2f.CFrame olcf=olcf*cn(0,i==180 and 5 or -5,0)
  367. v2f.Size=v2f.Size+v3(0,10,0)
  368. v2f.CFrame=olcf
  369. end
  370. end
  371. qi{"Part",lol,sc=v3(8,0.2,4.5),an=true,bn=bn'Dark green',cf=v2.CFrame*cn(x*7,-9.8,0),mat="Wood"}
  372. --
  373. for xx=-1,1,2 do
  374. qi{"WedgePart",lol,formFactor="Custom",sc=v3(4,3,4),an=true,bn=bn(cc),cf=v2.CFrame*cn((x*7)+(xx*3.5),2.25,0)*ca(0,xx*90,0)*ca(-90,0,0),mat="Wood"}
  375. end
  376. local v2f=qi{"Part",lol,sc=v3(10,5.75,4),an=true,bn=bn(cc),cf=v2.CFrame*cn(x*7,7.125,0),mat="Wood"}
  377. local v2=qi{"Part",lol,sc=v3(21.5,20,4),an=true,bn=bn(cc),mat="Wood",cf=v2.CFrame*cn(x*(12+(21.5/2)),0,0)}
  378. addsupport2(v2.CFrame*cn(x*-7.25,10,-1.5),35,x)
  379.  
  380. --floor
  381. qi{"WedgePart",lol,sc=v3(1,102,35),an=true,bn=bn'Pastel brown',mat="Wood",cf=BasePos*cn(x*17.5,fronty+19.4,-217.5)*ca(-90,-x*90,0)}
  382.  
  383.  
  384. --stairmodel
  385. local sy=-20+1+2
  386. for i=0,90,90/12 do
  387. qi{"Part",lol,sc=v3(16,1,2),an=true,bn=bn'Pastel brown',mat="Wood",cf=scf*cn(3.5*x,0,-20+3.5)*ca(0,(x==-1 and 180 or 270)+i,0)*cn(8,0,0)*ca(1,0,0)}
  388.  
  389. qi{"Part",lol,sc=v3(12,5,3.5),an=true,bn=bn'Dark green',mat="Wood",cf=scf*cn(3.5*x,sy,-20+3.5)*ca(0,x*-i,0)*cn(x*(16+6),0,0)*ca(1,0,0)}
  390. local ads=qi{"Part",lol,sc=v3(2,20,2.25),an=true,bn=bn(cc),mat="Wood",cf=scf*cn(3.5*x,-10+0.6,-20+3.5)*ca(0,x*-i,0)*cn(x*15.1,0,0)*ca(1,0,0)}
  391. addsupport2(ads.CFrame*cn(x*0.5,ads.Size.y/2-0.1,i==0 and -1.75 or 0)*ca(0,90,0),(i==0 and 3.5 or 0)+ads.Size.z,i==90 and -1 or nil)
  392. if i==90 then qi{'SpecialMesh',qi{"Part",lol,sc=v3(2,20.5,2),an=true,bn=bn(cc),mat="Wood",cf=ads.CFrame*cn(0,-0.5,2.25/2)}} end
  393. if i~=0 then local ads=qi{"Part",lol,sc=v3(2,math.abs(sy)+3.5,3.75),an=true,bn=bn(cc),mat="Wood",cf=scf*cn(3.5*x,sy/2+0.6-1.75,-20+4)*ca(0,x*-i,0)*cn(x*28,0,0)*ca(1,0,0)}
  394. addsupport2(ads.CFrame*cn(x*-0.5,ads.Size.y/2-0.1,0)*ca(0,90,0),ads.Size.z,i==90 and -1 or nil) end
  395.  
  396.  
  397. sy=sy+1.25
  398. end
  399. qi{"Part",lol,sc=v3(1.3,1,1.3),an=true,bn=bn'Pastel brown',mat="Wood",cf=scf*cn(3*x,0,-20+3)}
  400. -----
  401. qi{"WedgePart",lol,sc=v3(1,6,13),an=true,bn=bn'Pastel brown',mat="Wood",cf=scf*cn(x*28.5,0,-4)*ca(0,0,90*x)}
  402. qi{"WedgePart",lol,sc=v3(1,12,10),an=true,bn=bn'Pastel brown',mat="Wood",cf=scf*cn(x*19.5,0,6.25)*ca(0,0,90*x)}
  403.  
  404.  
  405.  
  406. end -- x -1,1
  407. for yy=4,1,-1 do
  408. qi{"Part",lol,sc=v3(16+(yy*2),yy,3),an=true,bn=bn'Dark green',mat="Wood",cf=BasePos*cn(0,6+(yy/2),-93-(yy*3))}
  409. end
  410. qi{"Part",lol,sc=v3(58,1,9),an=true,bn=bn'Pastel brown',mat="Wood",cf=BasePos*cn(0,25.1,-140.5)}
  411. qi{"Part",lol,sc=v3(13,1,10),an=true,bn=bn'Pastel brown',mat="Wood",cf=BasePos*cn(0,25.1,-131.5)}
  412. qi{"WedgePart",lol,sc=v3(3.5,18,15),an=true,bn=bn(cc),mat="Wood",cf=BasePos*cn(0,15,-283)*ca(180,180,0)}
  413. qi{"WedgePart",lol,sc=v3(3.5,8,15),an=true,bn=bn(cc),mat="Wood",cf=BasePos*cn(0,28,-283)}
  414. qi{'SpecialMesh',qi{"Part",lol,sc=v3(2,21,2),an=true,bn=bn(cc),mat="Wood",cf=BasePos*cn(0,19.4,-110.6)}}
  415. qi{'SpecialMesh',qi{"Part",lol,sc=v3(2,2,2),an=true,bn=bn(cc),mat="Wood",cf=BasePos*cn(0,19+(21/2),-110.6)},MeshType="Sphere"}
  416.  
  417.  
  418. -- end side
  419. local fronty=5.7
  420. local pp={}
  421. for x=-52,52,4 do
  422. local scl=90+math.abs(x*2.5)
  423. local laa=10+math.floor(50-math.abs(x))
  424. local adj=5+math.abs(x)
  425. local zz=240-(scl/6)
  426. local v=qi{"WedgePart",lol,formFactor="Custom",sc=v3(4,laa,scl),an=true,cf=BasePos*cn(x,fronty+(-laa/2),zz)*ca(0,0,180)*ca(0,180,0),bn=bn(cc),mat="Wood"}
  427. if x==0 then pp[0]=v end
  428. if x==-52 then pp[-1]=v end
  429. if x==52 then pp[1]=v end
  430. end
  431.  
  432. local backbase=BasePos*cn(0,fronty,230)
  433. for x=-1,1,2 do
  434. local p1=pp[x].CFrame*cn(0,-pp[x].Size.y/2,-pp[x].Size.z/2).p
  435. local p2=pp[0].CFrame*cn(0,-pp[0].Size.y/2,-pp[0].Size.z/2).p
  436. local mag=(p1-p2).magnitude
  437. local vcf=cn(p1,p2)*cn(0,0,-mag/2+1)
  438. local v=qi{"Part",lol,sc=v3(4,2,mag+1),an=true,bn=bn(cc),mat="Wood"}
  439. v.CFrame=vcf*cn(0,1,0)
  440. local v2=v:Clone() v2.Parent=lol v2.CFrame=v.CFrame*cn(0,1.5+1.5+18+7,0)
  441. local vs=mag+1
  442. for w=-vs/2,vs/2,vs do
  443. addwindow2(vcf*cn(0,2,math.floor(w/2.3)),18,18)
  444. end
  445. qi{"Part",lol,sc=v3(4,26,11),an=true,bn=bn(cc),cf=vcf*cn(0,2+(13),-0.5),mat="Wood"}
  446. qi{"Part",lol,sc=v3(4,26,11),an=true,bn=bn(cc),cf=vcf*cn(0,2+(13),28.5),mat="Wood"}
  447. qi{"Part",lol,sc=v3(4,26,10),an=true,bn=bn(cc),cf=vcf*cn(0,2+(13),-29),mat="Wood"}
  448. local zz=-135
  449. qi{"WedgePart",lol,sc=v3(4,30,30),an=true,bn=bn(cc),cf=backbase*cn(52*x,15,zz+(15)),mat="Wood"}
  450. addsupport(backbase*cn(53.5*x,15,zz+15)*ca(0,90,0)*ca(0,0,-45),42,x*sxx,sep)
  451. local cur=qi{"WedgePart",lol,sc=v3(4,30,30),an=true,bn=bn(cc),cf=backbase*cn(32*x,15,zz+(15)),mat="Wood"}
  452. for y=1.5,30,1.5 do
  453. qi{"Part",lol,sc=v3(16,1.5,2),an=true,bn=bn'Dark green',cf=backbase*cn(42*x,y-0.75,zz+(y)+0.95),mat="Wood"}
  454. end
  455. ---
  456. qi{'CylinderMesh',qi{"Part",lol,sc=v3(6,2,6),an=true,bn=bn(cc),cf=backbase*cn(54*x,2,zz-2)*ca(0,-10*x,0)*ca(0,0,90),mat="Wood"}}
  457. qi{'CylinderMesh',qi{"Part",lol,sc=v3(6,2,6),an=true,bn=bn(cc),cf=backbase*cn(54*x,32,zz+30)*ca(0,0,90),mat="Wood"}}
  458. for i=1,3 do
  459. cur=qi{"WedgePart",nil,sc=v3(12.5,30,26),an=true,cf=cur.CFrame*cn((cur.Size.x/2+(i==1 and -4 or 0))*-x,0,i==1 and 2 or 0)*ca(0,(i==1 and -25 or 10)*x,0)*cn(4*-x,0,0)}
  460. local p1=cur.CFrame*cn(0,13,-15)
  461. local p2=cur.CFrame*cn(0,-13,15)
  462. local mag=(p1.p-p2.p).magnitude
  463. local pa=qi{"Part",lol,sc=v3(12.5,mag,0.2),an=true,bn=bn'Institutional white',cf=cn(p1.p,p2.p)*cn(0,0,-mag/2),tra=0.5}
  464. for z=-1,1,2 do
  465. local pa2=qi{"Part",lol,sc=v3(2,z==1 and 10 or 12.8,2),an=true,bn=bn'Dark green',cf=pa.CFrame*cn(z==1 and (i-2)*1.25*x or -0.1*x,(mag/2-0.5)*z,0)*ca(0,0,90)}
  466. qi{'CylinderMesh',pa2}
  467. if i==3 then
  468. qi{'SpecialMesh',qi{"Part",lol,sc=v3(2,2,2),an=true,bn=bn'Dark green',cf=pa2.CFrame*cn(0,pa2.Size.y/2*-x,0)},MeshType="Sphere"}
  469.  
  470. end
  471. end
  472. --
  473. end
  474.  
  475. end -- x
  476. qi{'SpecialMesh',qi{"Part",lol,sc=v3(4,31,4),cf=backbase*cn(0,14.5,39.7),an=true,bn=bn(cc),mat="Wood"}}
  477. qi{"Part",lol,sc=v3(100,1,20),cf=backbase*cn(0,29.4,-95),an=true,bn=bn'Pastel brown',mat="Wood"}
  478.  
  479.  
  480.  
  481.  
  482. Interact = {}
  483. Interact.Hatch={}
  484. Interact.Hatch.CF = BasePos*cn(0,-45.3,-30)
  485. Interact.Hatch.Part = qi{"Part",lol,sc=v3(22,1,60),an=true,bn=bn(cc),mat="Wood"}
  486. Interact.Hatch.Angle=function(s,ang) Interact.Hatch.Part.CFrame=Interact.Hatch.CF*ca(ang or 0,0,0)*cn(0,0,30) end
  487. Interact.Hatch:Angle(20)
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495. for x=-1,1,2 do
  496. qi{"Part",lol,sc=v3(4,30,12),bn=cc,cf=CAPCF*cn(52*x,15.5,-95+6),an=true,mat="Wood"}
  497. qi{"WedgePart",lol,sc=v3(4,30,10),bn=cc,cf=CAPCF*cn(52*x,15.5,94+6)*ca(0,180,180),an=true,mat="Wood"}
  498. qi{"WedgePart",lol,sc=v3(4,30,16),bn=cc,cf=CAPCF*cn(32*x,15.5,-95+8)*ca(0,180,180),an=true,mat="Wood"}
  499. qi{"Part",lol,sc=v3(16,42,0.5),bn=cc,cf=CAPCF*cn(42*x,15.5,-102)*ca(45,0,0),an=true,mat="Wood"}
  500. for z=1,3 do
  501. local zs=41.5
  502. local v1=95+(zs/2)
  503. local cur=qi{"Part",lol,sc=v3(4,30,zs),bn=cc,cf=CAPCF*cn(52*x,15.5,v1-(zs*z)-(18*(z-1))),an=true,mat="Wood"}
  504. local cur=qi{"Part",lol,sc=v3(4,2,18),bn=cc,cf=cur.CFrame*cn(0,-14,-zs/2-9),an=true,mat="Wood"}
  505. qi{"Part",lol,sc=v3(4,1,18),bn=cc,cf=cur.CFrame*cn(0,-1+30-0.5,0),an=true,mat="Wood"}
  506. addwindow2(cur.CFrame*cn(0,1,0),18,18)
  507. end
  508. end
  509. ---- -95
  510. qi{"WedgePart",lol,sc=v3(60,2,8),bn=cc2,cf=CAPCF*cn(0,31.5,-95+4)*ca(0,180,0),an=true,mat="Wood"}
  511. qi{"WedgePart",lol,sc=v3(2,4,3),bn=cc2,cf=CAPCF*cn(0,34.5,-95+-30.5+1.5)*ca(0,180,0),an=true,mat="Wood"}
  512. qi{"WedgePart",lol,sc=v3(2,4,3),bn=cc2,cf=CAPCF*cn(0,34.5,-95+-30.5-1.5)*ca(0,0,180),an=true,mat="Wood"}
  513. for x=-1,1,2 do
  514. qi{"WedgePart",lol,sc=v3(2,30,30),bn=cc2,cf=CAPCF*cn(15*x,31.5,-95-15)*ca(0,0,-90*x),an=true,mat="Wood"}
  515. addsupport(CAPCF*cn(15*x,32.5,-95-15)*ca(0,-45*x,0),math.sqrt(30^2+30^2),-15)
  516. qi{"WedgePart",lol,sc=v3(2,6,4),bn=cc2,cf=CAPCF*cn(30.5*x,33.5,-95)*ca(0,-135*x,0)*cn(0,0,-1.5),an=true,mat="Wood"}
  517. end
  518.  
  519. ------floor2 uptostair 54+51+15 = 120 /// SECOND FLOOR's floor
  520. CY=30
  521. stair1(CAPCF*cn(-4,0.5,68-35+5),30,360,20)
  522. qi{"WedgePart",lol,sc=v3(1,6,6),bn=cc,cf=CAPCF*cn(2,30,44)*ca(0,0,90),an=true,mat="Wood"}
  523. qi{"Part",lol,sc=v3(108,1,21),bn=cc,cf=CAPCF*cn(0,CY+0.21,68-25.5+15),an=true,mat="Wood"}
  524. qi{"Part",lol,sc=v3(108,1,65),bn=cc,cf=CAPCF*cn(0,CY,68-51-30+17.5),an=true,mat="Wood"}
  525. qi{"Part",lol,sc=v3(100,1,50),bn=cc2,cf=CAPCF*cn(0,CY,68-51-70),an=true,mat="Wood"}
  526. for x=-1,1,2 do
  527. qi{"WedgePart",lol,sc=v3(1,54,54),bn=cc,cf=CAPCF*cn(27*x,CY+0.21,95)*ca(0,180,-90*x),an=true,mat="Wood"}
  528. qi{"Part",lol,sc=v3(49,1,10),bn=cc,cf=CAPCF*cn(29.5*x,CY,68-51-7+32),an=true,mat="Wood"}
  529. --qi{"Part",lol,sc=v3(2,29,4),bn=cc,cf=CAPCF*cn(6*x,15,4),an=true,mat="Wood"}
  530. --qi{"WedgePart",lol,sc=v3(2,29,30),bn=cc,cf=CAPCF*cn(6*x,15,21)*ca(0,180,0),an=true,mat="Wood"}
  531. for z=0,1,1 do
  532. local CCF=CAPCF*cn(52*x,CY,95+27+(58*-z))
  533. qi{"Part",lol,sc=v3(4,30,40),bn=cc,cf=CCF*cn(0,15.5,-20),an=true,mat="Wood"}
  534. qi{"Part",lol,sc=v3(4,2,18),bn=cc,cf=CCF*cn(0,29.5,-49),an=true,mat="Wood"}
  535. qi{"Part",lol,sc=v3(4,1,18),bn=cc,cf=CCF*cn(0,1,-49),an=true,mat="Wood"}
  536. addwindow2(CCF*cn(0,1.5,-49),18,18)
  537. end
  538. qi{"Part",lol,sc=v3(4,30,34),bn=cc,cf=CAPCF*cn(52*x,CY+15.5,95+27-150+17),an=true,mat="Wood"}
  539. qi{"WedgePart",lol,sc=v3(4,30,10),bn=cc,cf=CAPCF*cn(52*x,CY+15.5,95+27+5)*ca(0,180,180),an=true,mat="Wood"}
  540. ---end wall
  541. qi{"Part",lol,sc=v3(4,30,14),bn=cc,cf=CAPCF*cn(27*x,CY+15.5,95)*ca(0,45*x,0)*cn(2*x,0,0),an=true,mat="Wood"}
  542. qi{"Part",lol,sc=v3(4,30,14),bn=cc,cf=CAPCF*cn(27*x,CY+15.5,95)*ca(0,45*x,0)*cn(2*x,0,-38+7),an=true,mat="Wood"}
  543. qi{"Part",lol,sc=v3(4,30,8),bn=cc,cf=CAPCF*cn(27*x,CY+15.5,95)*ca(0,45*x,0)*cn(2*x,0,7+18+4),an=true,mat="Wood"}
  544. qi{"Part",lol,sc=v3(3.9,1,13+38),bn=cc,cf=CAPCF*cn(27*x,CY+1,95)*ca(0,45*x,0)*cn(2*x,0,0),an=true,mat="Wood"}
  545. qi{"Part",lol,sc=v3(3.9,2,13+38),bn=cc,cf=CAPCF*cn(27*x,CY+29.5,95)*ca(0,45*x,0)*cn(2*x,0,0),an=true,mat="Wood"}
  546. for xx=-1,1,2 do
  547. addwindow2(CAPCF*cn(27*x,CY+1.5,95)*ca(0,45*x,0)*cn(2*x,0,(14+18)/2*xx),18,18)
  548. end
  549. for xx=1,2 do
  550. local xxt={{4,52},{2,29}}
  551. qi{"WedgePart",lol,sc=v3(xxt[xx][1],15,15),bn=cc,cf=CAPCF*cn(xxt[xx][2]*x,CY+15.5+7.5,-35.5)*ca(0,0,0),an=true,mat="Wood"}
  552. qi{"WedgePart",lol,sc=v3(xxt[xx][1],15,15),bn=cc,cf=CAPCF*cn(xxt[xx][2]*x,CY+15.5-7.5,-35.5)*ca(0,0,180),an=true,mat="Wood"}
  553. end
  554. addsupport(CAPCF*cn(54*x,CY+0.5,-62)*ca(0,90*x,0),68,-10)
  555. local yy=math.sqrt(15^2+15^2)
  556. local yy2=math.sqrt(30^2+30^2)
  557. for i=-1,1,2 do
  558. qi{"Part",lol,sc=v3(20,yy,0.2),bn='Institutional white',cf=CAPCF*cn(40*x,CY+15.5-7.5*i,-35.5)*ca(-45*i,0,0),an=true,mat="Wood",tra=0.6}
  559. end
  560. addsupport(CAPCF*cn(40*x,CY+30.5,-28),26,-20)
  561. for xx=-1,1,2 do
  562. qi{"Part",lol,sc=v3(2,4,4),bn=cc,cf=CAPCF*cn((40+(xx*13))*x,CY+32.5,-28)*ca(45,0,0),an=true,mat="Wood"}
  563. qi{"WedgePart",lol,sc=v3(2,30,30),bn=cc,cf=CAPCF*cn((21*x)+(6*xx),CY+15.5,-28-15-4),an=true,mat="Wood"}
  564. qi{"Part",lol,sc=v3(2,30,4),bn=cc,cf=CAPCF*cn((21*x)+(6*xx),CY+15.5,-28-2),an=true,mat="Wood"}
  565. end
  566. qi{"Part",lol,sc=v3(10,yy2,1),cf=CAPCF*cn(21*x,CY+15.5,-28-15-1.5)*ca(45,0,0),an=true,tra=1} -- stair helper
  567. for y=2,30,2 do
  568. qi{"Part",lol,sc=v3(10,y,2),bn=cc3,cf=CAPCF*cn(21*x,CY+0.5+y/2,-59+y),an=true,mat='Wood'}
  569. end
  570. qi{"Part",lol,sc=v3(2,4,4),bn=cc,cf=CAPCF*cn(14.5*x,CY+32.5,-28)*ca(45,0,0),an=true,mat="Wood"}
  571. qi{"Part",lol,sc=v3(2,4,4),bn=cc,cf=CAPCF*cn(14*x,CY+32.5,-28-59)*ca(0,45*x,0)*ca(45,0,0),an=true,mat="Wood"}
  572. addsupport(CAPCF*cn(14*x,CY+30.5,-28-(59/2))*ca(0,-90*x,0),58,-20)
  573.  
  574. end -- end of capn room 1st+2nd floor ----------------------------------------------------------------------------------------------------
  575. local vy=0
  576. for x=1,14 do
  577. qi{"WedgePart",lol,sc=v3(2,30-vy,60),bn=cc,cf=CAPCF*cn(-15+x*2,CY+((30+vy)/2)+0.4,-58)*ca(180,180,0),an=true,mat='Wood'}
  578. if x<7 then vy=vy+3.5 elseif x>7 then vy=vy-3.5 end
  579. end
  580. qi{"Part",lol,sc=v3(6,30,6),bn=cc,cf=CAPCF*cn(0,CY+15.5,95-28),an=true,mat="Wood"}
  581. ---SECOND FLOOR's ROOF
  582. DY=CY+30.03
  583. qi{"Part",lol,sc=v3(100,1,60),bn=cc2,cf=CAPCF*cn(0,DY,-23+15-2.5+12.5),an=true,mat="Wood"} -- THIS EDIT THIS FLOOR OMG
  584. qi{"Part",lol,sc=v3(24,0.1,58),bn=cc2,cf=CAPCF*cn(0,DY+0.4,-57),an=true,mat="Wood"}
  585. addsupport(CAPCF*cn(0,CY+30.5,-28-59),26,-20)
  586. -------------------WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWTHERD FLER
  587. for x=-1,1,2 do
  588. qi{"WedgePart",lol,sc=v3(1,54,54),bn=cc,cf=CAPCF*cn(27*x,DY,125)*ca(0,180,-90*x),an=true,mat="Wood"}
  589. qi{"WedgePart",lol,sc=v3(4,30,12),bn=cc,cf=CAPCF*cn(52*x,DY+15.5,125+27+6)*ca(0,180,180),an=true,mat="Wood"}
  590. ---end wall
  591. qi{"Part",lol,sc=v3(4,30,14),bn=cc,cf=CAPCF*cn(27*x,DY+15.5,125)*ca(0,45*x,0)*cn(2*x,0,0),an=true,mat="Wood"}
  592. qi{"Part",lol,sc=v3(4,30,14),bn=cc,cf=CAPCF*cn(27*x,DY+15.5,125)*ca(0,45*x,0)*cn(2*x,0,-38+7),an=true,mat="Wood"}
  593. qi{"Part",lol,sc=v3(4,30,8),bn=cc,cf=CAPCF*cn(27*x,DY+15.5,125)*ca(0,45*x,0)*cn(2*x,0,7+18+4),an=true,mat="Wood"}
  594. qi{"Part",lol,sc=v3(3.9,1,13+38),bn=cc,cf=CAPCF*cn(27*x,DY+1,125)*ca(0,45*x,0)*cn(2*x,0,0),an=true,mat="Wood"}
  595. qi{"Part",lol,sc=v3(3.9,2,13+38),bn=cc,cf=CAPCF*cn(27*x,DY+29.5,125)*ca(0,45*x,0)*cn(2*x,0,0),an=true,mat="Wood"}
  596. for xx=-1,1,2 do
  597. addwindow2(CAPCF*cn(27*x,DY+1.5,125)*ca(0,45*x,0)*cn(2*x,0,(14+18)/2*xx),18,18)
  598. end
  599. qi{"Part",lol,sc=v3(6,30,6),bn=cc,cf=CAPCF*cn(0,DY+15.5,125-28),an=true,mat="Wood"}
  600. for z=0,1,1 do
  601. local CCF=CAPCF*cn(52*x,DY,125+27+(58*-z))
  602. qi{"Part",lol,sc=v3(4,30,40),bn=cc,cf=CCF*cn(0,15.5,-20),an=true,mat="Wood"}
  603. qi{"Part",lol,sc=v3(4,2,18),bn=cc,cf=CCF*cn(0,29.5,-49),an=true,mat="Wood"}
  604. qi{"Part",lol,sc=v3(4,1,18),bn=cc,cf=CCF*cn(0,1,-49),an=true,mat="Wood"}
  605. addwindow2(CCF*cn(0,1.5,-49),18,18)
  606. end
  607. -- crapside wall stuffff
  608. qi{"Part",lol,sc=v3(14,30,4),bn=cc,cf=CAPCF*cn(47*x,DY+15.5,34),an=true,mat="Wood"}
  609. qi{"Part",lol,sc=v3(19,30,4),bn=cc,cf=CAPCF*cn(16.5*x,DY+15.5,34),an=true,mat="Wood"}
  610. qi{"WedgePart",lol,sc=v3(4,30,30),bn=cc,cf=CAPCF*cn(52*x,DY+15.5,17),an=true,mat="Wood"}
  611. addsupport(CAPCF*cn(53.5*x,DY+0.5,-8+12.5-15)*ca(0,-90*x,0),35,10)
  612. ----floooor
  613. qi{"Part",lol,sc=v3(45,1,10),bn=cc,cf=CAPCF*cn(27.5*x,DY,57),an=true,mat="Wood"}
  614. ---- DOOOOOORZZZZZZZ GREEN ONEZ
  615. for X=-1,1,2 do
  616. qi{"Part",lol,sc=v3(2,10,4),cf=CAPCF*cn(33*x+(6*X),DY+5.5,34),an=true,mat="Wood",bn=cc3}
  617. qi{"WedgePart",lol,sc=v3(3.9,6.1,7.1),cf=CAPCF*cn(33*x+(3.5*X),DY+15.5,34)*ca(0,90*X,180),an=true,mat="Wood",bn=cc}
  618. end
  619. for i=0,180,18 do
  620. local adj=i%36==0 and 0.6 or 0.2
  621. qi{"Part",lol,sc=v3(2,2.2,4+adj),cf=CAPCF*cn(33*x,DY+11.5,34)*ca(0,0,i)*cn(6,0,0),an=true,mat="Wood",bn=cc3}
  622. end
  623. qi{"Part",lol,sc=v3(14,12,4),cf=CAPCF*cn(33*x,DY+30.5-6,34),an=true,mat="Wood",bn=cc}
  624. --- grand staircase designs
  625. qi{"WedgePart",lol,sc=v3(1.5,8,6),bn=cc,cf=CAPCF*cn(21*x,DY+4,-2),an=true,mat="Wood"}
  626. qi{"Part",lol,sc=v3(7,4,1.5),bn=cc,cf=CAPCF*cn(14.5*x,DY+32.5,32.9),an=true,mat="Wood"}
  627. qi{"WedgePart",lol,sc=v3(1.5,3,7),bn=cc,cf=CAPCF*cn(14.5*x,DY+36,32.9)*ca(0,-90*x,0),an=true,mat="Wood"}
  628.  
  629.  
  630. end -- end of x-1,1
  631. --GRAND STAIRCASE DOOR BEHIND LOL
  632. --qi{"Part",lol,sc=v3(45,1,10),bn=cc,cf=CAPCF*cn(0,DY,57),an=true,mat="Wood"}
  633. for X=-1,1,2 do
  634. qi{"Part",lol,sc=v3(2,10,4),cf=CAPCF*cn(0+(6*X),DY+5.5,34),an=true,mat="Wood",bn=cc3}
  635. qi{"WedgePart",lol,sc=v3(3.9,6.1,7.1),cf=CAPCF*cn(0+(3.5*X),DY+15.5,34)*ca(0,90*X,180),an=true,mat="Wood",bn=cc}
  636. end
  637. for i=0,180,18 do
  638. local adj=i%36==0 and 0.6 or 0.2
  639. qi{"Part",lol,sc=v3(2,2.2,4+adj),cf=CAPCF*cn(0,DY+11.5,34)*ca(0,0,i)*cn(6,0,0),an=true,mat="Wood",bn=cc3}
  640. end
  641. qi{"Part",lol,sc=v3(14,12,4),cf=CAPCF*cn(0,DY+30.5-6,34),an=true,mat="Wood",bn=cc}
  642. --- end of epic
  643. EY=DY+30.01
  644. qi{"Part",lol,sc=v3(108,1,36),bn=cc,cf=CAPCF*cn(0,DY,125-47-15.5+20-2.5),an=true,mat="Wood"} -- long 3rd floor floor
  645. --2nd floor stair
  646. stair1(CAPCF*cn(-4,30.5,53),30,360,20)
  647. qi{"WedgePart",lol,sc=v3(1,6,6),bn=cc,cf=CAPCF*cn(2.5,60,59)*ca(0,0,90),an=true,mat="Wood"}
  648. ---2nd FLR ROOF / 3rd FLRS----WWWWWWWW
  649. qi{"Part",lol,sc=v3(100,1,20),bn=cc,cf=CAPCF*cn(0,DY,42),an=true,mat="Wood"}
  650. for i=1,30 do -- staircase
  651. local XS=20+(i/1.5)
  652. local v=qi{"Part",lol,sc=v3(XS,1,2),cf=CAPCF*cn(0,DY+31-i,32-i),an=true,mat="Wood",bn=cc3}
  653. for x=-1,1,2 do
  654. local y=30-i+8
  655. qi{"Part",lol,sc=v3(1.5,y,3),cf=CAPCF*cn((XS+1)*x/2,DY+y/2,32-i)*ca(0,-20*x,0),an=true,mat="Wood",bn=cc}
  656. end
  657. end
  658.  
  659.  
  660. ---THIRD FLOOR ROOF (4th floors)
  661. for x=-1,1,2 do
  662. local i=0
  663. for y=0,180,180/20 do
  664. i=i+1
  665. qi{"Part",lol,sc=v3(30,1,6),cf=CAPCF*cn(51*x,i/200+EY,35)*ca(0,y,0)*cn(15+3,0,0),an=true,mat="Wood",bn=cc2}
  666. if y~=(x==1 and 180 or 0) then
  667. qi{"Part",lol,sc=v3(1,5,6),cf=CAPCF*cn(51*x,i/200+EY+2,35)*ca(0,y,0)*cn(30+3+0.5,0,0),an=true,mat="Wood",bn=cc}
  668. end
  669. end ----
  670. qi{'CylinderMesh',qi{"Part",lol,sc=v3(3,70,3),cf=CAPCF*cn(51*x,EY+35,35),an=true,mat="Wood",bn=cc},Scale=v3(2,1,2)}
  671. qi{'CylinderMesh',qi{"Part",lol,sc=v3(9,3,9),cf=CAPCF*cn(51*x,EY+1.5,35),an=true,mat="Wood",bn=cc2}}
  672. stair2(CAPCF*cn(51*x,EY,35),50,360,30,5.5,5,3)
  673. qi{'SpecialMesh',qi{"Part",lol,sc=v3(6,6,6),cf=CAPCF*cn(51*x,EY+70,35),an=true,mat="Wood",bn=cc},MeshType='Sphere',Scale=v3(1,1,1)}
  674. local yy=360/20
  675. local i=0
  676. for y=yy,360-(yy*6),yy do
  677. i=i+1
  678. local v=qi{"Part",lol,sc=v3(5,1,2.5),cf=CAPCF*cn(51*x,i/200+EY+50,35)*ca(0,y,0)*cn(2.5+3,0,0),an=true,mat="Wood",bn=cc2}
  679. qi{"Part",lol,sc=v3(1,4,2.9),cf=CAPCF*cn(51*x,i/200+EY+51.5,35)*ca(0,y,0)*cn(5.5+3,0,0),an=true,mat="Wood",bn=cc}
  680. if y==360-(yy*6) then
  681. qi{"Part",lol,sc=v3(7,4,1),cf=v.CFrame*cn(0,1.5,-3.5/2),an=true,mat="Wood",bn=cc}
  682. end
  683. end
  684. qi{"WedgePart",lol,sc=v3(1,30,126),cf=CAPCF*cn(69*x,EY,101)*ca(0,180,90*x),an=true,mat="Wood",bn=cc2}
  685. addsupport(CAPCF*cn(69*x,EY+0.5,101)*ca(0,-x*math.deg(math.atan2(30,126))+90,0),129.52,0)
  686. qi{"WedgePart",lol,sc=v3(1,54,54),cf=CAPCF*cn(27*x,EY+0.05,137)*ca(0,180,-90*x),an=true,mat="Wood",bn=cc2}
  687. addsupport(CAPCF*cn(27*x,EY+0.5,137)*ca(0,-45*x,0),76.36,0)
  688.  
  689.  
  690. end -- endddd
  691. qi{"Part",lol,sc=v3(108.1,1.05,74.1),cf=CAPCF*cn(0,EY+0.02,73),an=true,mat="Wood",bn=cc2}
  692.  
  693.  
  694.  
  695. ----BALOOOOOOOOOON OMG SO HARD SO GOOD so sfot
  696. FRONT=BasePos*cn(0,5,-190)
  697. balloon=BasePos*cn(0,250,0)
  698. --qi{"Part",lol,sc=v3(100,1,180),cf=FRONT*cn(0,21,0),an=true,tra=0.1} unicorn boat - xsoul
  699. local v=qi{"Part",lol,sc=v3(8,100,8),cf=FRONT*cn(0,10,-90)*ca(-80,0,0)*cn(0,50,0),an=true,bn=cc,tra=1}
  700. qi{'SpecialMesh',qi{"Part",lol,sc=v3(4,100,4),cf=v.CFrame*cn(0,-6,0),an=true,bn=cc},Scale=v3(4,150,8),MeshId=as.cone}
  701. ---balooon cylinder
  702. for z=0,360,360/40 do
  703. qi{"Part",lol,sc=v3(16,2,300),cf=balloon*ca(0,0,z)*cn(0,100,0),an=true,bn=cc4}
  704. end
  705. for z=0,180,360/25 do
  706. qi{"Part",lol,sc=v3(2,2,310),cf=balloon*ca(0,0,z-90)*cn(0,102,0),an=true,bn=cc}
  707. end
  708. local des={}
  709. for i=-150,150,50 do
  710. for z=0,180,360/20 do
  711. local v=qi{"Part",lol,sc=v3(34,2,2),cf=balloon*cn(0,0,i+4)*ca(0,0,z-90)*cn(0,102,0),an=true,bn=cc}
  712. local vf=v.CFrame
  713. if z==0 or z==180 then
  714. local x=z==0 and 1 or -1
  715. local adj=11-(11*(math.abs(i)/150))
  716. local st=qi{"Part",lol,sc=v3(10,12,10),cf=BasePos*cn((55+adj)*x,-5,i/1.7)*ca(0,0,-45*x),an=true,bn=cc}
  717. qi{'CylinderMesh',st}
  718. local p1,p2=st.CFrame*cn(0,st.Size.y/2-2,0).p,v.CFrame*cn(x*17,0,0).p
  719. local len=(p1 - p2).magnitude
  720. local v=qi{"Part",lol,sc=v3(2,len,2),cf=cn(p1,p2)*ca(-90,0,0)*cn(0,len/2,0),an=true,bn=cc}
  721. des[x]=des[x] or {}
  722. des[x][#des[x]+1]=v
  723. end
  724. end
  725. end
  726. ---designs
  727. for x=-1,1,2 do
  728. for i=1,6 do
  729. for y=120,-90,-30 do
  730. local p1,p2=des[x][i].CFrame*cn(0,y,0).p ,des[x][i+1].CFrame*cn(0,y,0).p
  731. local len=(p1-p2).magnitude
  732. local v=qi{"Part",lol,sc=v3(1.9,len,1.9),cf=cn(p1,p2)*ca(-90,0,0)*cn(0,len/2,0),an=true,bn=cc}
  733. end
  734. end
  735. end
  736. --for y=0,360,360/20 do -- thank doge
  737. for iang = 0, 1 do
  738. for i = 0, 10 do
  739. for j = 0, 20 do
  740. -- i rotate them by Z / the whole diameter is 200 in size
  741. local extrasize = math.sin(math.pi/20*j) * 28.5
  742. --qi{"Part",lol,sc=v3(32,2,10+extrasize),cf=balloon*cn(0,0,-105)*ca(0,0,y)*cn(0,100,0),an=true,bn=cc4}
  743. qi{"Part",lol,sc=v3(16,2,4+extrasize),cf=balloon*ca(0,180*iang,0)*cn(0,0,-150)*ca(0,math.deg(-math.pi/10*i),math.deg(math.pi/20*j))*cn(0,100,0),an=true,bn=cc4}
  744. end
  745. end
  746. end
  747.  
  748.  
  749. for x=-1,1,2 do
  750. MakeWing(FRONT*cn(35*x,-20,40)*ca(0,30*x,-60*x),80,70,6)
  751. MakeWing(FRONT*cn(55*x,-25,250)*ca(0,10*x,-60*x),120,80,8)
  752. end
  753. MakeWing(CAPCF*cn(0,90,110)*ca(0,0,0),80,90,8)
  754.  
  755.  
  756.  
  757.  
  758. print(#lol:children().. " parts!")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement