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