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!") |