View difference between Paste ID: QiCfA1Hm and EhfeBzfF
SHOW: | | - or go back to the newest paste.
1
-- This script has been converted to FE by iPxter
2
3
4
if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
5
local Player,Mouse,mouse,UserInputService,ContextActionService = owner
6
do
7
	print("FE Compatibility code by Mokiros | Translated to FE by iPxter")
8
	script.Parent = Player.Character
9
10
	--RemoteEvent for communicating
11
	local Event = Instance.new("RemoteEvent")
12
	Event.Name = "UserInput_Event"
13
14
	--Fake event to make stuff like Mouse.KeyDown work
15
	local function fakeEvent()
16
		local t = {_fakeEvent=true,Connect=function(self,f)self.Function=f end}
17
		t.connect = t.Connect
18
		return t
19
	end
20
21
	--Creating fake input objects with fake variables
22
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
23
	local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
24
	local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
25
		CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
26
	end}
27
	--Merged 2 functions into one by checking amount of arguments
28
	CAS.UnbindAction = CAS.BindAction
29
30
	--This function will trigger the events that have been :Connect()'ed
31
	local function te(self,ev,...)
32
		local t = m[ev]
33
		if t and t._fakeEvent and t.Function then
34
			t.Function(...)
35-
Player = game:service("Players").LocalPlayer
35+
		end
36
	end
37
	m.TrigEvent = te
38
	UIS.TrigEvent = te
39
40
	Event.OnServerEvent:Connect(function(plr,io)
41
	    if plr~=Player then return end
42
		if io.isMouse then
43-
Mouse = Player:GetMouse()
43+
			m.Target = io.Target
44
			m.Hit = io.Hit
45
		else
46
			local b = io.UserInputState == Enum.UserInputState.Begin
47
			if io.UserInputType == Enum.UserInputType.MouseButton1 then
48
				return m:TrigEvent(b and "Button1Down" or "Button1Up")
49
			end
50
			for _,t in pairs(CAS.Actions) do
51
				for _,k in pairs(t.Keys) do
52
					if k==io.KeyCode then
53
						t.Function(t.Name,io.UserInputState,io)
54
					end
55
				end
56
			end
57
			m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
58
			UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
59
	    end
60
	end)
61
	Event.Parent = NLS([==[
62
	local Player = game:GetService("Players").LocalPlayer
63
	local Event = script:WaitForChild("UserInput_Event")
64
65
	local UIS = game:GetService("UserInputService")
66
	local input = function(io,a)
67
		if a then return end
68
		--Since InputObject is a client-side instance, we create and pass table instead
69
		Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState})
70
	end
71
	UIS.InputBegan:Connect(input)
72
	UIS.InputEnded:Connect(input)
73
74
	local Mouse = Player:GetMouse()
75
	local h,t
76
	--Give the server mouse data 30 times every second, but only if the values changed
77
	--If player is not moving their mouse, client won't fire events
78
	while wait(1/30) do
79
		if h~=Mouse.Hit or t~=Mouse.Target then
80
			h,t=Mouse.Hit,Mouse.Target
81
			Event:FireServer({isMouse=true,Target=t,Hit=h})
82
		end
83
	end]==],Player.Character)
84
	Mouse,mouse,UserInputService,ContextActionService = m,m,UIS,CAS
85
end
86
87
88
--Tinker--
89
90
--GG Asriel, back at it again with dem decompiled scripts--
91
92
while not getmetatable(shared) do
93
  wait()
94
end
95
shared(script)
96
v3 = Vector3.new
97
cn = CFrame.new
98
ca2 = CFrame.Angles
99
mceil = math.ceil
100
mc = mceil
101
mran = math.random
102
rn = mran
103
mrad = math.rad
104
rd = mrad
105
mdeg = math.deg
106
dg = mdeg
107
mabs = math.abs
108
abs = mabs
109
ud = UDim2.new
110
ca = function(x, y, z)
111
  return ca2(mrad(x), mrad(y), mrad(z))
112
end
113
114
mran2 = function(a, b)
115
  return mran(a * 1000, b * 1000) / 1000
116
end
117
118
bn = BrickColor.new
119
bc = bn
120
c3 = Color3.new
121
deb = game:GetService("Debris")
122
Player = owner
123
Char = Player.Character
124
Torso = Char.Torso
125
Head = Char.Head
126
Humanoid = Char.Humanoid
127
RootPart = Char.HumanoidRootPart
128
Root = RootPart.RootJoint
129
Neck = Torso.Neck
130
LA = Char["Left Arm"]
131
RA = Char["Right Arm"]
132
LL = Char["Left Leg"]
133
RL = Char["Right Leg"]
134
LAM = Torso["Left Shoulder"]
135
RAM = Torso["Right Shoulder"]
136
LLM = Torso["Left Hip"]
137
RLM = Torso["Right Hip"]
138
Neck.C0 = cn(0, 1.5, 0)
139
Neck.C1 = cn(0, 0, 0)
140
Root.C0 = cn(0, 0, 0)
141
Root.C1 = cn(0, 0, 0)
142
name = "Tinker"
143
pcall(function()
144
  Char.Pack:Destroy()
145
end
146
)
147
pcall(function()
148
  Char.Block:Destroy()
149
end
150
)
151
pcall(function()
152
  Torso.BodyGyro:Destroy()
153
end
154
)
155
pcall(function()
156
  Torso.BodyVelocity:Destroy()
157
end
158
)
159
pcall(function()
160
  Torso.BodyPosition:Destroy()
161
end
162
)
163
script.Name = name
164
as = {}
165
as.Cone = "http://www.roblox.com/asset/?id=1033714"
166
as.Bevel = "rbxasset://fonts/leftarm.mesh"
167
as.Block = "rbxasset://sounds\\metal.ogg"
168
as.Hit = "http://www.roblox.com/asset/?id=10209583"
169
as.QSphere = "http://www.roblox.com/asset/?id=9944765"
170
as.Headphones = "http://www.roblox.com/asset/?id=1051545"
171
as.Ring = "http://www.roblox.com/asset/?id=3270017"
172
as.Rock = "http://www.roblox.com/asset/?id=1290033"
173
as.RockT = "http://www.roblox.com/asset/?id=1290030"
174
as.LWing = "http://www.roblox.com/asset/?id=90821133"
175
as.RWing = "http://www.roblox.com/asset/?id=90821193"
176
as.WingT = "http://www.roblox.com/asset/?id=92189351"
177
as.HeatSeekingMissile = "http://www.roblox.com/asset/?id=137991337"
178
as.TimbaLaugh = "http://www.roblox.com/asset/?id=181368017"
179
for i,v in pairs(as) do
180
  game:GetService("ContentProvider"):Preload(as[i])
181
end
182
iNew = function(tab)
183
  local v = Instance.new(tab[1])
184
  for Ind,Val in pairs(tab) do
185
    if Ind ~= 1 and Ind ~= 2 then
186
      v[Ind] = Val
187
    end
188
  end
189
  do
190
    if tab[2] ~= 0 or not LastMade then
191
      v.Parent = tab[2]
192
      LastMade = v
193
      return v
194
    end
195
  end
196
end
197
198
iPart = function(tab)
199
  local v = Instance.new(tab.type or "Part")
200
  if tab.type ~= "CornerWedgePart" then
201
    v.formFactor = "Custom"
202
  end
203
  v.CanCollide = false
204
  v.TopSurface = 10
205
  v.BottomSurface = 10
206
  v.RightSurface = 10
207
  v.LeftSurface = 10
208
  v.FrontSurface = 10
209
  v.BackSurface = 10
210
  v.Size = v3(tab[2], tab[3], tab[4])
211
  if tab.co then
212
    v.BrickColor = bn(tab.co)
213
  end
214
  if tab.tr then
215
    v.Transparency = tab.tr
216
  end
217
  if tab.rf then
218
    v.Reflectance = tab.rf
219
  end
220
  if tab.cf then
221
    v.CFrame = tab.cf
222
  end
223
  if tab.an then
224
    v.Anchored = tab.an
225
  end
226
  if tab.mt then
227
    v.Material = tab.mt
228
  end
229
  if tab.ca then
230
    v.CanCollide = tab.ca
231
  end
232
  v.Parent = tab[1]
233
  LastMade = v
234
  return v
235
end
236
237
Raycast = function(Pos, Dir, Dist, tab)
238
  return workspace:FindPartOnRay(Ray.new(Pos, Dir.unit * Dist), tab)
239
end
240
241
GetNormal = function(part, position)
242
  local obj = part.CFrame:pointToObjectSpace(position)
243
  local siz = part.Size / 2
244
  for i,v in pairs(Enum.NormalId:GetEnumItems()) do
245
    local vec = Vector3.FromNormalId(v)
246
    local wvec = part.CFrame:vectorToWorldSpace(vec)
247
    local vz = obj / (siz * vec)
248
    if mabs(vz.X - 1) < 0.01 or mabs(vz.Y - 1) < 0.01 or mabs(vz.Z - 1) < 0.01 then
249
      return wvec, vec
250
    end
251
  end
252
  if part.className == "WedgePart" then
253
    local wy = part.Size.y ^ 0.5
254
    local wz = part.Size.z ^ 0.5
255
    return part.CFrame:vectorToWorldSpace(Vector3.new(0, wz, -wy)), Vector3.new(0, wz, -wy)
256
  end
257
end
258
259
Block = iNew({"NumberValue", Char; Name = "Block", Value = 0})
260
pcall(function()
261
  Torso.LAW:Remove()
262
end
263
)
264
pcall(function()
265
  Torso.RAW:Remove()
266
end
267
)
268
pcall(function()
269
  Torso.LLW:Remove()
270
end
271
)
272
pcall(function()
273
  Torso.RLW:Remove()
274
end
275
)
276
LAW = iNew({"Weld", Torso; Name = "LAW", Part0 = Torso, C0 = cn(-1.5, 0.5, 0), C1 = cn(0, 0.5, 0)})
277
RAW = iNew({"Weld", Torso; Name = "RAW", Part0 = Torso, C0 = cn(1.5, 0.5, 0), C1 = cn(0, 0.5, 0)})
278
LLW = iNew({"Weld", Torso; Name = "LLW", Part0 = Torso, C0 = cn(-0.5, -1, 0), C1 = cn(0, 1, 0)})
279
RLW = iNew({"Weld", Torso; Name = "RLW", Part0 = Torso, C0 = cn(0.5, -1, 0), C1 = cn(0, 1, 0)})
280
Arms = function(on)
281
  LAM.Parent = Torso
282
  LAM.Part0 = Torso
283
  RAM.Parent = Torso
284
  RAM.Part0 = Torso
285
  if on then
286
    LAM.Part1 = LA
287
    if on then
288
      RAM.Part1 = RA
289
      LAW.Part1 = on and LA or nil
290
      RAW.Part1 = on and RA or nil
291
    end
292
  end
293
end
294
295
Legs = function(on)
296
  LLM.Parent = Torso
297
  LLM.Part0 = Torso
298
  RLM.Parent = Torso
299
  RLM.Part0 = Torso
300
  if on then
301
    LLM.Part1 = LL
302
    if on then
303
      RLM.Part1 = RL
304
      LLW.Part1 = on and LL or nil
305
      RLW.Part1 = on and RL or nil
306
    end
307
  end
308
end
309
310
GetWeld = function(weld)
311
  if not weld:FindFirstChild("Angle") then
312
    local a = Instance.new("Vector3Value", weld)
313
    a.Name = "Angle"
314
    local x, y, z = weld.C0:toEulerAnglesXYZ()
315
    a.Value = v3(mdeg(x), mdeg(y), mdeg(z))
316
  end
317
  do
318
    return weld.C0.p, weld.Angle.Value
319
  end
320
end
321
322
ClearWeld = function(weld)
323
  if weld:FindFirstChild("Angle") then
324
    weld.Angle:Remove()
325
  end
326
end
327
328
SetWeld = function(weld, CC, i, loops, origpos, origangle, nextpos, nextangle, smooth)
329
  local CO = "C" .. CC
330
  if not smooth then
331
    smooth = 1
332
  end
333
  if not weld:FindFirstChild("Angle") then
334
    local a = Instance.new("Vector3Value", weld)
335
    a.Name = "Angle"
336
    local x, y, z = weld.C0:toEulerAnglesXYZ()
337
    a.Value = v3(mdeg(x), mdeg(y), mdeg(z))
338
  end
339
  do
340
    local perc = nil
341
    if smooth == 1 then
342
      perc = math.sin(math.pi / 2 / loops * i)
343
    else
344
      perc = i / loops
345
    end
346
    local tox, toy, toz = 0, 0, 0
347
    if nextangle.x < origangle.x then
348
      tox = -mabs(origangle.x - nextangle.x) * (perc)
349
    else
350
      tox = mabs(origangle.x - nextangle.x) * (perc)
351
    end
352
    if nextangle.y < origangle.y then
353
      toy = -mabs(origangle.y - nextangle.y) * (perc)
354
    else
355
      toy = mabs(origangle.y - nextangle.y) * (perc)
356
    end
357
    if nextangle.z < origangle.z then
358
      toz = -mabs(origangle.z - nextangle.z) * (perc)
359
    else
360
      toz = mabs(origangle.z - nextangle.z) * (perc)
361
    end
362
    local tox2, toy2, toz2 = 0, 0, 0
363
    if nextpos.x < origpos.x then
364
      tox2 = -mabs(origpos.x - nextpos.x) * (perc)
365
    else
366
      tox2 = mabs(origpos.x - nextpos.x) * (perc)
367
    end
368
    if nextpos.y < origpos.y then
369
      toy2 = -mabs(origpos.y - nextpos.y) * (perc)
370
    else
371
      toy2 = mabs(origpos.y - nextpos.y) * (perc)
372
    end
373
    if nextpos.z < origpos.z then
374
      toz2 = -mabs(origpos.z - nextpos.z) * (perc)
375
    else
376
      toz2 = mabs(origpos.z - nextpos.z) * (perc)
377
    end
378
    weld.Angle.Value = v3(origangle.x + tox, origangle.y + toy, origangle.z + toz)
379
    weld[CO] = cn(origpos.x + tox2, origpos.y + toy2, origpos.z + toz2) * ca(origangle.x + tox, origangle.y + toy, origangle.z + toz)
380
  end
381
end
382
383
PlaySound = function(sound, pitch, volume, parent)
384
  local newSound = iNew({"Sound", parent or Torso; Pitch = pitch, Volume = volume, Name = sound, SoundId = sound})
385
  newSound:Play()
386
  deb:AddItem(newSound, 6)
387
  return newSound
388
end
389
390
Trails = {}
391
TrailPack = {}
392
Traili = {}
393
Trail = function(obj, ofs, col)
394
  Trails[obj] = true
395
  Traili[#Traili + 1] = {obj, ofs, col, obj.CFrame * ofs}
396
end
397
398
GetHuman = function(model)
399
  local foundHum, foundTorso, foundHead = nil, nil, nil
400
  if #model:GetChildren() == 0 then
401
    return 
402
  end
403
  for i,v in pairs(model:GetChildren()) do
404
    if v:IsA("Humanoid") then
405
      foundHum = v
406
    else
407
      if v.Name == "Torso" then
408
        foundTorso = v
409
      else
410
        if v.Name == "Head" then
411
          foundHead = v
412
        end
413
      end
414
    end
415
  end
416
  return foundHum, foundTorso, foundHead
417
end
418
419
Pack = iNew({"Model", Char; Name = "Pack"})
420
p = Pack
421
cc = {"Bright blue", "Bright yellow", "Bright orange", "Brown", "Reddish brown", "", "Dark stone grey", "Black", "White", "Really black", "Brick yellow", "Bright green", "Br. yellowish green"}
422
Main = iPart({p, 1.25, 0.5, 1.25; co = cc[2]})
423
iNew({"Weld", p; Part0 = Torso, Part1 = Main, C0 = cn(0, 0, 0.75) * ca(90, 0, 0)})
424
iNew({"CylinderMesh", Main})
425
Bolt = iPart({p, 0.75, 0.2, 0.75; co = cc[6]})
426
iNew({"Weld", p; Part0 = Main, Part1 = Bolt, C0 = cn(0, 0.3, 0)})
427
iNew({"CylinderMesh", Bolt})
428
Boltp = iPart({p, 0.75, 0.2, 0.2; co = cc[7]})
429
iNew({"Weld", p; Part0 = Bolt, Part1 = Boltp, C0 = cn(0, 0.05, 0) * ca(0, -30, 0)})
430
Start = iPart({p, 1.25, 0.5, 1.25; co = cc[2]})
431
iNew({"Weld", p; Part0 = Main, Part1 = Start, C0 = cn(0, 0, -0.625)})
432
Cyl = iPart({p, 1.1, 0.5, 1.1; co = cc[6]})
433
iNew({"Weld", p; Part0 = Start, Part1 = Cyl, C0 = cn(0, 0, -0.5) * ca(-90, 0, 0)})
434
iNew({"CylinderMesh", Cyl})
435
Cylc = iPart({p, 1.1, 0.5, 1.1; co = cc[6]})
436
iNew({"Weld", p; Part0 = Cyl, Part1 = Cylc, C0 = cn(0, -0.5, 0) * ca(180, 0, 0)})
437
iNew({"SpecialMesh", Cylc; MeshId = as.Cone, Scale = v3(0.56, 0.7, 0.56)})
438
Cylt1 = iPart({p, 1.4, 0.2, 1.4; co = cc[6]})
439
iNew({"Weld", p; Part0 = Cyl, Part1 = Cylt1, C0 = cn(0, 0.2, 0)})
440
iNew({"CylinderMesh", Cylt1; Scale = v3(1, 1, 1)})
441
Cylt2 = iPart({p, 1.2, 0.2, 1.2; co = cc[6]})
442
wCylt2 = iNew({"Weld", p; Part0 = Cylt1, Part1 = Cylt2, C0 = cn(0, 0.15, 0) * ca(0, 0, 0)})
443
iNew({"CylinderMesh", Cylt2; Scale = v3(1, 1, 1)})
444
Rotate = iPart({p, 0.35, 1.8, 0.35; co = cc[7]})
445
wRotate = iNew({"Weld", p; Part0 = Cylt2, Part1 = Rotate, C0 = cn(0, 1, 0.1) * ca(-30, 0, 90)})
446
iNew({"CylinderMesh", Rotate})
447
for i = -1, 1, 2 do
448
  local tStart = iPart({p, 0.2, 0.3, 0.3; co = cc[2]})
449
  iNew({"Weld", p; Part0 = Cylt2, Part1 = tStart, C0 = cn(0.35 * i, 0.25, 0.1)})
450
  do
451
    if i == -1 then
452
      local Mid1 = iPart({p, 0.25, 1.3, 0.25; co = cc[6]})
453
      iNew({"Weld", p; Part0 = Cylt2, Part1 = Mid1, C0 = cn(0, 0.25, 0.1) * ca(0, 0, 90)})
454
      iNew({"CylinderMesh", Mid1})
455
    end
456
    local Wed1 = iPart({p, 0.3, 0.5, 0.2; co = cc[2]})
457
    iNew({"Weld", p; Part0 = tStart, Part1 = Wed1, C0 = cn(0, 0.4, 0) * ca(0, 90 * i, 0)})
458
    iNew({"SpecialMesh", Wed1; MeshType = "Wedge"})
459
    local Wed2 = iPart({p, 0.3, 0.3, 0.3; co = cc[2]})
460
    iNew({"Weld", p; Part0 = Wed1, Part1 = Wed2, C0 = cn(0, 0.1, 0.25) * ca(0, 180 * i, 180)})
461
    iNew({"SpecialMesh", Wed2; MeshType = "Wedge"})
462
    local Cylt = iPart({p, 0.4, 0.4, 0.4; co = cc[2]})
463
    iNew({"Weld", p; Part0 = Rotate, Part1 = Cylt, C0 = cn(0, 0.6 * i, 0)})
464
    iNew({"CylinderMesh", Cylt})
465
    local Rotp = iPart({p, 0.4, 0.5, 0.2; co = cc[2]})
466
    iNew({"Weld", p; Part0 = Cylt, Part1 = Rotp, C0 = cn(0.4, 0, 0) * ca(0, 0, -90)})
467
    local Rotp2 = iPart({p, 0.4, 0.5, 0.2; co = cc[2]})
468
    iNew({"Weld", p; Part0 = Rotp, Part1 = Rotp2, C0 = cn(0, 0.25, -0.1) * ca(30, 0, 0) * cn(0, 0.25, 0.1)})
469
    if i == -1 then
470
      MidPart = iPart({p, 1.6, 0.5, 0.2; co = cc[2]})
471
      iNew({"Weld", p; Part0 = Rotp2, Part1 = MidPart, C0 = cn(-0.6, 0.5, 0)})
472
    end
473
    local MidWed = iPart({p, 0.2, 0.4, 0.2; co = cc[2]})
474
    iNew({"Weld", p; Part0 = MidPart, Part1 = MidWed, C0 = cn(0.2 * i, -0.35, 0) * ca(-90, 0, 90 * i)})
475
    iNew({"SpecialMesh", MidWed; MeshType = "Wedge"})
476
    local MidWedt = iPart({p, 0.2, 0.4, 0.2; co = cc[2]})
477
    iNew({"Weld", p; Part0 = MidPart, Part1 = MidWedt, C0 = cn(0.6 * i, 0.35, 0) * ca(90, 0, -90 * i)})
478
    iNew({"SpecialMesh", MidWedt; MeshType = "Wedge"})
479
    do
480
      if i == -1 then
481
        local Midt = iPart({p, 0.8, 0.2, 0.2; co = cc[2]})
482
        iNew({"Weld", p; Part0 = MidPart, Part1 = Midt, C0 = cn(0, 0.35, 0)})
483
      end
484
      if i == -1 then
485
        for x = 15, 90, 15 do
486
          local Headphones = iPart({p, 0, 0, 0; co = cc[2]})
487
          iNew({"Weld", p; Part0 = MidPart, Part1 = Headphones, C0 = cn(0, 0.3, -0.4) * ca(x - 30, 0, 0)})
488
          iNew({"SpecialMesh", Headphones; MeshId = as.Headphones})
489
          if x == 15 then
490
            RotatyThingy = iPart({p, 1.1, 1.1, 1.1; co = cc[1], tr = 0.75})
491
            iNew({"Weld", p; Part0 = Headphones, Part1 = RotatyThingy, C0 = cn(0, -0.1, -0.1)})
492
            iNew({"SpecialMesh", RotatyThingy; MeshType = "Sphere"})
493
            sph = iPart({p, 0.5, 0.5, 0.5; co = cc[9]})
494
            sph.Reflectance = 0.75
495
            iNew({"Weld", p; Part0 = RotatyThingy, Part1 = sph})
496
            iNew({"SpecialMesh", sph; MeshType = "Sphere"})
497
            Light = iNew({"PointLight", RotatyThingy; Shadows = true, Brightness = 2})
498
            TopAtt = iPart({p, 0.2, 0.4, 0.2; co = cc[6]})
499
            iNew({"Weld", p; Part0 = MidPart, Part1 = TopAtt, C0 = cn(0, 0.95, -0.3)})
500
            iNew({"BlockMesh", TopAtt; Scale = v3(0.5, 1, 0.5)})
501
            TopBar = iPart({p, 0.25, 0.25, 0.6; co = cc[6]})
502
            iNew({"Weld", p; Part0 = TopAtt, Part1 = TopBar, C0 = cn(0, 0.2, -0.2)})
503
            TopOut = iPart({p, 0.3, 0.3, 0.4; co = cc[2]})
504
            iNew({"Weld", p; Part0 = TopBar, Part1 = TopOut, C0 = cn(0, 0, 0.15)})
505
            TopWed = iPart({p, 0.25, 0.2, 0.25; co = cc[6]})
506
            iNew({"Weld", p; Part0 = TopBar, Part1 = TopWed, C0 = cn(0, 0, -0.4) * ca(-90, 0, 0)})
507
            iNew({"SpecialMesh", TopWed; MeshType = "Wedge"})
508
            TopHole = iPart({p, 1, 1, 0.2; co = cc[10]})
509
            iNew({"Weld", p; Part0 = TopWed, Part1 = TopHole, C0 = ca(math.deg(math.atan2(0.25, 0.2)), 0, 0) * cn(0, 0, -0.01)})
510
            iNew({"BlockMesh", TopHole; Scale = v3(0.15, 0.22015621187164, 0.1)})
511
          end
512
        end
513
      end
514
      do
515
        do
516
          for x = 0, 180, 36 do
517
            local Armor = iPart({p, 0.25, 0.5, 0.25; co = cc[2]})
518
            iNew({"Weld", p; Part0 = Torso, Part1 = Armor, C0 = ca(0, 0, -10 * i) * cn(0.6 * i, 0.75, 0) * ca(-x, 0, 0) * cn(0, 0, 0.6)})
519
            iNew({"CylinderMesh", Armor})
520
            local Plate = iPart({p, 0.75, 0.5, 0.2; co = cc[2], mt = "WoodPlanks"})
521
            iNew({"Weld", p; Part0 = Armor, Part1 = Plate, C0 = cn(0.375 * i, 0, 0)})
522
            iNew({"BlockMesh", Plate})
523
            if x ~= 0 or not 2 then
524
              do
525
                local Sph = iPart({p, 0.25, 0.25, 0.25; co = cc[x ~= 0 and x ~= 180 or 6]})
526
                iNew({"Weld", p; Part0 = Armor, Part1 = Sph, C0 = cn(0, x == 0 and -0.25 or 0.375, 0)})
527
                if x == 0 then
528
                  iNew({"SpecialMesh", Sph; MeshType = "Sphere"})
529
                else
530
                  iNew({"CylinderMesh", Sph})
531
                end
532
                -- DECOMPILER ERROR at PC1568: LeaveBlock: unexpected jumping out IF_THEN_STMT
533
534
                -- DECOMPILER ERROR at PC1568: LeaveBlock: unexpected jumping out IF_STMT
535
536
              end
537
            end
538
          end
539
          -- DECOMPILER ERROR at PC1569: LeaveBlock: unexpected jumping out DO_STMT
540
541
          -- DECOMPILER ERROR at PC1569: LeaveBlock: unexpected jumping out DO_STMT
542
543
          -- DECOMPILER ERROR at PC1569: LeaveBlock: unexpected jumping out DO_STMT
544
545
        end
546
      end
547
    end
548
  end
549
end
550
RocketArm = iPart({p, 0.5, 0.2, 0.5; co = cc[2]})
551
wRocketArm = iNew({"Weld", p; Part0 = MidPart, Part1 = RocketArm, C0 = cn(-0.8, 0.2, -0.4) * ca(-20, 0, 90)})
552
iNew({"CylinderMesh", RocketArm})
553
Arm1 = iPart({p, 0.3, 0.4, 0.3; co = cc[7]})
554
iNew({"Weld", p; Part0 = RocketArm, Part1 = Arm1, C0 = cn(-0.2, 0.1, 0) * ca(0, 0, -30) * cn(0.2, 0.2, 0)})
555
iNew({"CylinderMesh", Arm1})
556
Arm2 = iPart({p, 0.3, 0.6, 0.3; co = cc[7]})
557
iNew({"Weld", p; Part0 = Arm1, Part1 = Arm2, C0 = cn(-0.15, 0.2, 0) * ca(0, 0, -45) * cn(0.15, 0.3, 0)})
558
iNew({"CylinderMesh", Arm2})
559
Arm3J = iPart({p, 0.3, 0.3, 0.3; co = cc[7]})
560
iNew({"Weld", p; Part0 = Arm2, Part1 = Arm3J, C0 = cn(0, 0.3, 0) * ca(0, 0, 75)})
561
iNew({"SpecialMesh", Arm3J; MeshType = "Sphere"})
562
Arm3 = iPart({p, 0.3, 0.6, 0.3; co = cc[7]})
563
iNew({"Weld", p; Part0 = Arm3J, Part1 = Arm3, C0 = cn(0, 0.3, 0)})
564
iNew({"CylinderMesh", Arm3})
565
ArmC = iPart({p, 0, 0, 0; co = cc[6]})
566
iNew({"Weld", p; Part0 = Arm3, Part1 = ArmC, C0 = cn(0, 0.3, 0) * ca(180, 0, 0)})
567
iNew({"SpecialMesh", ArmC; MeshId = as.Cone, Scale = v3(0.25, 0.5, 0.25)})
568
ArmS = iPart({p, 0.4, 0.4, 0.4; co = cc[7]})
569
iNew({"Weld", p; Part0 = ArmC, Part1 = ArmS, C0 = cn(0, -0.3, 0) * ca(160, 0, 80)})
570
iNew({"SpecialMesh", ArmS; MeshType = "Sphere"})
571
Arm4 = iPart({p, 0.3, 1.5, 0.3; co = cc[6]})
572
iNew({"Weld", p; Part0 = ArmS, Part1 = Arm4, C0 = cn(0, 0.75, 0)})
573
iNew({"CylinderMesh", Arm4})
574
ShA = iPart({p, 0.5, 0.7, 0.5; co = cc[2]})
575
iNew({"Weld", p; Part0 = ArmS, Part1 = ShA, C0 = cn(0, 0.35, 0)})
576
iNew({"CylinderMesh", ShA})
577
ShA2 = iPart({p, 0, 0, 0; co = cc[2]})
578
iNew({"Weld", p; Part0 = ArmS, Part1 = ShA2, C0 = cn(0, 0, 0) * ca(0, -110, 180)})
579
iNew({"SpecialMesh", ShA2; MeshId = as.QSphere, Scale = v3(0.5, 0.5, 0.5)})
580
RocketArm2 = iPart({p, 0.4, 0.35, 0.4; co = cc[6]})
581
wRocketArm2 = iNew({"Weld", p; Part0 = Arm4, Part1 = RocketArm2, C0 = cn(0, 0.75, 0) * ca(90, -65, 0)})
582
iNew({"CylinderMesh", RocketArm2})
583
for i = 0, 180, 22.5 do
584
  local ArmP = iPart({p, 0.2, 0.2, 0.3; co = cc[6]})
585
  iNew({"Weld", p; Part0 = RocketArm2, Part1 = ArmP, C0 = cn(0, 0, 0) * ca(0, 30 + i, 0) * cn(0.35, 0, 0)})
586
  iNew({"BlockMesh", ArmP; Scale = v3(0.5, 0.5, 0.5)})
587
end
588
for i = 0, 180, 45 do
589
  local ArmP = iPart({p, 0.2, 0.2, 0.3; co = cc[6]})
590
  iNew({"Weld", p; Part0 = RocketArm2, Part1 = ArmP, C0 = cn(0, 0, 0) * ca(0, 30 + i, 0) * cn(0.45, 0, 0)})
591
  iNew({"BlockMesh", ArmP; Scale = v3(0.5, 0.5, 0.5)})
592
end
593
ArmP = iPart({p, 0.6, 0.2, 0.3; co = cc[6]})
594
iNew({"Weld", p; Part0 = RocketArm2, Part1 = ArmP, C0 = ca(0, 30, 0)})
595
iNew({"BlockMesh", ArmP; Scale = v3(1, 0.5, 0.5)})
596
Arm5 = iPart({p, 0.3, 1.5, 0.3; co = cc[6]})
597
iNew({"Weld", p; Part0 = RocketArm2, Part1 = Arm5, C0 = cn(0, 0, -0.75) * ca(-90, 0, 0)})
598
iNew({"CylinderMesh", Arm5})
599
ShA = iPart({p, 0.5, 0.5, 0.5; co = cc[2]})
600
iNew({"Weld", p; Part0 = Arm5, Part1 = ShA, C0 = cn(0, 0.25, 0)})
601
iNew({"SpecialMesh", ShA})
602
RocketC = iPart({p, 0.5, 0.3, 0.5; co = cc[6]})
603
wRocketC = iNew({"Weld", p; Part0 = Arm5, Part1 = RocketC, C0 = cn(0, 0.75, 0) * ca(0, 0, 0)})
604
iNew({"CylinderMesh", RocketC})
605
RocketCo = iPart({p, 0, 0, 0; co = cc[6]})
606
iNew({"Weld", p; Part0 = RocketC, Part1 = RocketCo, C0 = cn(0, 0.205, 0)})
607
iNew({"SpecialMesh", RocketCo; MeshId = as.Cone, Scale = v3(0.243, 0.15, 0.243)})
608
for i = -1, 1, 2 do
609
  local Rp = iPart({p, 0.2, 0.75, 0.2; co = cc[6]})
610
  iNew({"Weld", p; Part0 = RocketC, Part1 = Rp, C0 = cn(0.15 * i, 0, 0) * ca(0, 0, -60 * i) * cn(0, 0.375, 0)})
611
  iNew({"BlockMesh", Rp; Scale = v3(0.5, 1, 1)})
612
  local Rp2 = iPart({p, 0.2, 0.75, 0.2; co = cc[6]})
613
  iNew({"Weld", p; Part0 = Rp, Part1 = Rp2, C0 = cn(0.05 * i, 0.375, 0) * ca(0, 0, 60 * i) * cn(-0.05 * i, 0.375, 0)})
614
  iNew({"BlockMesh", Rp2; Scale = v3(0.5, 1, 1)})
615
  local Rp3 = iPart({p, 0.4, 0.2, 0.4; co = cc[6]})
616
  iNew({"Weld", p; Part0 = Rp2, Part1 = Rp3, C0 = cn(0, 0.375, 0) * ca(0, 0, 90)})
617
  iNew({"CylinderMesh", Rp3; Scale = v3(1, 1, 1)})
618
  if i == -1 then
619
    RocketMid = iPart({p, 0.3, 1.549, 0.3; co = cc[6]})
620
    wRocketRot = iNew({"Weld", p; Part0 = Rp3, Part1 = RocketMid, C0 = cn(0, -0.7745, 0) * ca(0, 15, 0)})
621
    iNew({"CylinderMesh", RocketMid})
622
  end
623
end
624
for i = -1, 1, 2 do
625
  local sc = 0.8
626
  local RPart = iPart({p, 0.3, 1.7320508075689 * sc, 1 * sc; co = cc[7]})
627
  iNew({"Weld", p; Part0 = RocketMid, Part1 = RPart, C0 = ca(0, 0, 90) * cn(-sc / 2 * i, 0, 0) * ca(0, 90 * i, 0)})
628
  iNew({"SpecialMesh", RPart; MeshType = "Wedge"})
629
end
630
Barrels = {}
631
for i = 120, 360, 120 do
632
  local BStart = iPart({p, 0.55, 0.3, 0.55; co = cc[3]})
633
  iNew({"Weld", p; Part0 = RocketMid, Part1 = BStart, C0 = ca(90, 0, 180) * cn(-0.2, 0.25, 0) * ca(0, i, 0) * cn(0.33, 0, 0)})
634
  iNew({"CylinderMesh", BStart})
635
  local Barrel = iPart({p, 0.55, 0.55, 0.55; co = cc[7]})
636
  iNew({"Weld", p; Part0 = BStart, Part1 = Barrel, C0 = cn(0, 0.425, 0)})
637
  iNew({"CylinderMesh", Barrel})
638
  table.insert(Barrels, Barrel)
639
  local Hole = iPart({p, 0.4, 0, 0.4; co = cc[10]})
640
  iNew({"Weld", p; Part0 = Barrel, Part1 = Hole, C0 = cn(0, 0.275, 0)})
641
  iNew({"CylinderMesh", Hole; Scale = v3(1, 0.05, 1)})
642
end
643
LaserArm = iPart({p, 0.5, 0.2, 0.5; co = cc[2]})
644
wLaserArm = iNew({"Weld", p; Part0 = MidPart, Part1 = LaserArm, C0 = cn(0.8, 0.2, -0.4) * ca(160, 0, -90)})
645
iNew({"CylinderMesh", LaserArm})
646
Arm1 = iPart({p, 0.3, 0.4, 0.3; co = cc[7]})
647
iNew({"Weld", p; Part0 = LaserArm, Part1 = Arm1, C0 = cn(-0.2, 0.1, 0) * ca(0, 0, -30) * cn(0.2, 0.2, 0)})
648
iNew({"CylinderMesh", Arm1})
649
Arm2 = iPart({p, 0.3, 0.6, 0.3; co = cc[7]})
650
iNew({"Weld", p; Part0 = Arm1, Part1 = Arm2, C0 = cn(-0.15, 0.2, 0) * ca(0, 0, -45) * cn(0.15, 0.3, 0)})
651
iNew({"CylinderMesh", Arm2})
652
Arm3J = iPart({p, 0.3, 0.3, 0.3; co = cc[7]})
653
iNew({"Weld", p; Part0 = Arm2, Part1 = Arm3J, C0 = cn(0, 0.3, 0) * ca(0, 0, 75)})
654
iNew({"SpecialMesh", Arm3J; MeshType = "Sphere"})
655
Arm3 = iPart({p, 0.3, 0.6, 0.3; co = cc[7]})
656
iNew({"Weld", p; Part0 = Arm3J, Part1 = Arm3, C0 = cn(0, 0.3, 0)})
657
iNew({"CylinderMesh", Arm3})
658
ArmC = iPart({p, 0, 0, 0; co = cc[6]})
659
iNew({"Weld", p; Part0 = Arm3, Part1 = ArmC, C0 = cn(0, 0.3, 0) * ca(180, 0, 0)})
660
iNew({"SpecialMesh", ArmC; MeshId = as.Cone, Scale = v3(0.25, 0.5, 0.25)})
661
ArmS = iPart({p, 0.4, 0.4, 0.4; co = cc[7]})
662
iNew({"Weld", p; Part0 = ArmC, Part1 = ArmS, C0 = cn(0, -0.3, 0) * ca(190, 0, 80)})
663
iNew({"SpecialMesh", ArmS; MeshType = "Sphere"})
664
Arm4 = iPart({p, 0.3, 1.5, 0.3; co = cc[6]})
665
iNew({"Weld", p; Part0 = ArmS, Part1 = Arm4, C0 = cn(0, 0.75, 0)})
666
iNew({"CylinderMesh", Arm4})
667
ShA = iPart({p, 0.5, 0.7, 0.5; co = cc[2]})
668
iNew({"Weld", p; Part0 = ArmS, Part1 = ShA, C0 = cn(0, 0.35, 0)})
669
iNew({"CylinderMesh", ShA})
670
ShA2 = iPart({p, 0, 0, 0; co = cc[2]})
671
iNew({"Weld", p; Part0 = ArmS, Part1 = ShA2, C0 = cn(0, 0, 0) * ca(0, -90, 180)})
672
iNew({"SpecialMesh", ShA2; MeshId = as.QSphere, Scale = v3(0.5, 0.5, 0.5)})
673
LaserArm2 = iPart({p, 0.4, 0.35, 0.4; co = cc[6]})
674
wLaserArm2 = iNew({"Weld", p; Part0 = Arm4, Part1 = LaserArm2, C0 = cn(0, 0.75, 0) * ca(90, -65, 0)})
675
iNew({"CylinderMesh", LaserArm2})
676
for i = 0, 180, 22.5 do
677
  local ArmP = iPart({p, 0.2, 0.2, 0.3; co = cc[6]})
678
  iNew({"Weld", p; Part0 = LaserArm2, Part1 = ArmP, C0 = cn(0, 0, 0) * ca(0, 30 + i, 0) * cn(0.35, 0, 0)})
679
  iNew({"BlockMesh", ArmP; Scale = v3(0.5, 0.5, 0.5)})
680
end
681
for i = 0, 180, 45 do
682
  local ArmP = iPart({p, 0.2, 0.2, 0.3; co = cc[6]})
683
  iNew({"Weld", p; Part0 = LaserArm2, Part1 = ArmP, C0 = cn(0, 0, 0) * ca(0, 30 + i, 0) * cn(0.45, 0, 0)})
684
  iNew({"BlockMesh", ArmP; Scale = v3(0.5, 0.5, 0.5)})
685
end
686
ArmP = iPart({p, 0.6, 0.2, 0.3; co = cc[6]})
687
iNew({"Weld", p; Part0 = LaserArm2, Part1 = ArmP, C0 = ca(0, 30, 0)})
688
iNew({"BlockMesh", ArmP; Scale = v3(1, 0.5, 0.5)})
689
Arm5 = iPart({p, 0.3, 1.5, 0.3; co = cc[6]})
690
iNew({"Weld", p; Part0 = LaserArm2, Part1 = Arm5, C0 = cn(0, 0, -0.75) * ca(-90, 0, 0)})
691
iNew({"CylinderMesh", Arm5})
692
ShA = iPart({p, 0.5, 0.5, 0.5; co = cc[2]})
693
iNew({"Weld", p; Part0 = Arm5, Part1 = ShA, C0 = cn(0, 0.25, 0)})
694
iNew({"SpecialMesh", ShA})
695
LaserC = iPart({p, 0.5, 0.3, 0.5; co = cc[6]})
696
wLaserC = iNew({"Weld", p; Part0 = Arm5, Part1 = LaserC, C0 = cn(0, 0.75, 0) * ca(0, 0, 0)})
697
iNew({"CylinderMesh", LaserC})
698
LaserCo = iPart({p, 0, 0, 0; co = cc[6]})
699
iNew({"Weld", p; Part0 = LaserC, Part1 = LaserCo, C0 = cn(0, 0.205, 0)})
700
iNew({"SpecialMesh", LaserCo; MeshId = as.Cone, Scale = v3(0.243, 0.15, 0.243)})
701
for i = -1, 1, 2 do
702
  local Rp = iPart({p, 0.2, 0.75, 0.2; co = cc[6]})
703
  iNew({"Weld", p; Part0 = LaserC, Part1 = Rp, C0 = cn(0.15 * i, 0, 0) * ca(0, 0, -60 * i) * cn(0, 0.375, 0)})
704
  iNew({"BlockMesh", Rp; Scale = v3(0.5, 1, 1)})
705
  local Rp2 = iPart({p, 0.2, 0.75, 0.2; co = cc[6]})
706
  iNew({"Weld", p; Part0 = Rp, Part1 = Rp2, C0 = cn(0.05 * i, 0.375, 0) * ca(0, 0, 60 * i) * cn(-0.05 * i, 0.375, 0)})
707
  iNew({"BlockMesh", Rp2; Scale = v3(0.5, 1, 1)})
708
  local Rp3 = iPart({p, 0.4, 0.2, 0.4; co = cc[6]})
709
  iNew({"Weld", p; Part0 = Rp2, Part1 = Rp3, C0 = cn(0, 0.375, 0) * ca(0, 0, 90)})
710
  iNew({"CylinderMesh", Rp3; Scale = v3(1, 1, 1)})
711
  if i == -1 then
712
    LaserMid = iPart({p, 0.55, 1.549, 0.55; co = cc[6]})
713
    wLaserRot = iNew({"Weld", p; Part0 = Rp3, Part1 = LaserMid, C0 = cn(0, -0.7745, 0) * ca(0, -105, 0)})
714
    iNew({"CylinderMesh", LaserMid})
715
  end
716
end
717
LaserB = iPart({p, 1.1, 0.9, 1.1; co = cc[2]})
718
iNew({"Weld", p; Part0 = LaserMid, Part1 = LaserB, C0 = cn(0, 0, 0) * ca(0, 0, 90)})
719
iNew({"CylinderMesh", LaserB})
720
for i = -1, 1, 2 do
721
  local BRing = iPart({p, 0, 0, 0; co = cc[6]})
722
  iNew({"Weld", p; Part0 = LaserB, Part1 = BRing, C0 = cn(0, 0.45 * i, 0) * ca(90, 0, 0)})
723
  iNew({"SpecialMesh", BRing; MeshId = as.Ring, Scale = v3(1, 1, 1)})
724
  local BRock = iPart({p, 0, 0, 0})
725
  iNew({"Weld", p; Part0 = LaserB, Part1 = BRock, C0 = cn(0, 0.5 * i, 0) * ca(90 - 90 * i, 0, 0)})
726
  iNew({"SpecialMesh", BRock; MeshId = as.Rock, TextureId = as.RockT, Scale = v3(0.5, 0.3, 0.5), VertexColor = v3(0, 0.8, 1)})
727
end
728
LaserM = iPart({p, 0.5, 1.5, 0.5; co = cc[7]})
729
iNew({"Weld", p; Part0 = LaserB, Part1 = LaserM, C0 = cn(0, -0.75, 0)})
730
iNew({"CylinderMesh", LaserM})
731
LaserT = iPart({p, 0.8, 0.3, 0.8; co = cc[7]})
732
iNew({"Weld", p; Part0 = LaserM, Part1 = LaserT, C0 = cn(0, -0.65, 0)})
733
iNew({"CylinderMesh", LaserT})
734
LaserH = iPart({p, 0.4, 0.3, 0.4; co = cc[10]})
735
iNew({"Weld", p; Part0 = LaserT, Part1 = LaserH, C0 = cn(0, -0.3, 0)})
736
iNew({"CylinderMesh", LaserH})
737
for i = 0, 360, 22.5 do
738
  local LaserW = iPart({p, 0.2, 0.4, 0.2; co = cc[7]})
739
  iNew({"Weld", p; Part0 = LaserT, Part1 = LaserW, C0 = cn(0, -0.35, 0) * ca(180, i, 0) * cn(0, 0, -0.3)})
740
  iNew({"SpecialMesh", LaserW; MeshType = "Wedge"})
741
end
742
BSide = iPart({p, 0.2, 0.9, 0.2; co = cc[6]})
743
iNew({"Weld", p; Part0 = LaserB, Part1 = BSide, C0 = cn(0, 0, 0.55) * ca(0, 0, 0)})
744
iNew({"BlockMesh", BSide; Scale = v3(1, 1, 0.05)})
745
for i = -1, 1, 2 do
746
  local Shin = iPart({p, 1.1, 0.8, 1.1; co = cc[2]})
747
  iNew({"Weld", p; Part0 = i == -1 and LL or RL, Part1 = Shin, C0 = cn(0, -0.65, 0)})
748
  local Toe = iPart({p, 0.9, 0.3, 0.4; co = cc[2]})
749
  iNew({"Weld", p; Part0 = Shin, Part1 = Toe, C0 = cn(0, -0.25, -0.75)})
750
  local Wing = iPart({p, 0, 0, 0})
751
  iNew({"Weld", p; Part0 = Shin, Part1 = Wing, C0 = cn(0.55 * i, 0.4, 0.75) * ca(-15, 90 * i, 0)})
752
  iNew({"SpecialMesh", Wing; MeshId = as[i == -1 and "RWing" or "LWing"], TextureId = as.WingT, Scale = v3(0.8, 0.6, 1)})
753
  for i = -1, 1, 2 do
754
    local Light = iPart({p, 0.2, 0.3, 0.3; co = cc[1], tr = 0.25})
755
    iNew({"Weld", p; Part0 = Shin, Part1 = Light, C0 = cn(0.55 * i, 0, 0)})
756
    iNew({"SpecialMesh", Light; MeshType = "Sphere"})
757
  end
758
end
759
for i = -1, 1, 2 do
760
  local Handle = iPart({p, 0.25, 0.8, 0.25; co = cc[6]})
761
  iNew({"Weld", p; Part0 = i == -1 and LA or RA, Part1 = Handle, C0 = cn(0, -1, 0) * ca(-90, 0, 0)})
762
  iNew({"CylinderMesh", Handle})
763
  for ii = -1, 1, 2 do
764
    local hp = iPart({p, 0.25, 0.2, 0.35; co = cc[6]})
765
    iNew({"Weld", p; Part0 = Handle, Part1 = hp, C0 = cn(0, 0.45 * ii, -0.1)})
766
    iNew({"BlockMesh", hp; Scale = v3(1, 0.5, 1)})
767
    local hp2 = iPart({p, 0.25, 0.2, 0.3; co = cc[6]})
768
    iNew({"Weld", p; Part0 = hp, Part1 = hp2, C0 = cn(0, 0.05 * ii, -0.175) * ca(-60 * ii, 0, 0) * cn(0, -0.05 * ii, -0.15)})
769
    iNew({"BlockMesh", hp2; Scale = v3(1, 0.5, 1)})
770
    do
771
      if ii == -1 then
772
        local hp3 = iPart({p, 0.25, 0.49019237886467, 0.2; co = cc[6]})
773
        iNew({"Weld", p; Part0 = Handle, Part1 = hp3, C0 = cn(0, 0, -0.37)})
774
        iNew({"BlockMesh", hp3; Scale = v3(1, 1, 0.5)})
775
      end
776
      local hp4 = iPart({p, 0.25, 0.2, 0.25; co = cc[7]})
777
      iNew({"Weld", p; Part0 = Handle, Part1 = hp4, C0 = cn(0, 0.55 * ii, 0) * ca(90 - 90 * ii, 0, 0)})
778
      iNew({"CylinderMesh", hp4; Scale = v3(1, 0.5, 1)})
779
      for iii = -1, 1, 2 do
780
        local Sph = iPart({p, 0, 0, 0; co = cc[(i ~= -1 or not 2) and i == 1 and 1]})
781
        iNew({"Weld", p; Part0 = hp4, Part1 = Sph, C0 = cn(0, 0.05, 0) * ca(0, 90 - 90 * iii, 0)})
782
        iNew({"SpecialMesh", Sph; MeshId = as.QSphere, Scale = v3(0.25, 0.25, 0.25)})
783
      end
784
      -- DECOMPILER ERROR at PC4540: LeaveBlock: unexpected jumping out DO_STMT
785
786
    end
787
  end
788
end
789
Pipe = iPart({p, 0.2, 0.4, 0.2; co = cc[4]})
790
iNew({"Weld", p; Part0 = Head, Part1 = Pipe, C0 = cn(-0.1, -0.225, -0.75) * ca(-100, 0, 15)})
791
iNew({"CylinderMesh", Pipe; Scale = v3(0.5, 1, 0.5)})
792
ba = iPart({p, 0.2, 0.2, 0.2; co = cc[4]})
793
iNew({"Weld", p; Part0 = Pipe, Part1 = ba, C0 = cn(0, 0.2, 0) * ca(-90, 0, 0)})
794
iNew({"SpecialMesh", ba; MeshType = "Sphere", Scale = v3(0.5, 0.5, 0.5)})
795
p2 = iPart({p, 0.2, 0.4, 0.2; co = cc[4]})
796
iNew({"Weld", p; Part0 = ba, Part1 = p2, C0 = cn(0, 0.2, 0)})
797
iNew({"CylinderMesh", p2; Scale = v3(0.5, 1, 0.5)})
798
ba2 = iPart({p, 0.2, 0.2, 0.2; co = cc[4]})
799
iNew({"Weld", p; Part0 = p2, Part1 = ba2, C0 = cn(0, 0.2, 0) * ca(90, 0, 0)})
800
iNew({"SpecialMesh", ba2; MeshType = "Sphere", Scale = v3(0.5, 0.5, 0.5)})
801
p3 = iPart({p, 0.2, 0.3, 0.2; co = cc[4]})
802
iNew({"Weld", p; Part0 = ba2, Part1 = p3, C0 = cn(0, 0.15, 0)})
803
iNew({"CylinderMesh", p3; Scale = v3(0.5, 1, 0.5)})
804
cu = iPart({p, 0, 0, 0; co = cc[4]})
805
iNew({"Weld", p; Part0 = p3, Part1 = cu, C0 = cn(0, 0.15, 0.1) * ca(-90, 0, 0)})
806
iNew({"SpecialMesh", cu; MeshId = as.Cone, Scale = v3(0.15, 0.3, 0.15)})
807
ho = iPart({p, 0.2, 0.2, 0.2; co = cc[10]})
808
iNew({"Weld", p; Part0 = cu, Part1 = ho, C0 = cn(0, -0.115, 0)})
809
iNew({"CylinderMesh", ho; Scale = v3(0.85, 0.05, 0.85)})
810
Smoke = iNew({"Smoke", ho; Color = bc(cc[6]).Color, Opacity = 0.25, RiseVelocity = -3, Size = 0, Enabled = false})
811
FindNearest = function(Amount, Range)
812
  local Players = game:GetService("Players"):GetPlayers()
813
  for i = 1, #Players do
814
    if Players[i] == Player then
815
      table.remove(Players, i)
816
    end
817
  end
818
  local Nearest = {}
819
  if Amount > #Players or not Amount then
820
    for i = 1, #Players do
821
      local Point = Torso.Position
822
      local NearestMag = Range
823
      local NearestPlr, NearestInd = nil, nil
824
      for _,v in pairs(Players) do
825
        if v.Character and v.Character.Torso and v.Name ~= "129K" then
826
          local Dist = v.Character.Torso.Position - Point.magnitude
827
          if Dist < NearestMag then
828
            NearestMag = Dist
829
            NearestPlr = v
830
            NearestInd = _
831
          end
832
        end
833
      end
834
      table.insert(Nearest, NearestPlr)
835
      table.remove(Players, NearestInd)
836
    end
837
    return Nearest
838
  end
839
end
840
841
ShootMissiles = function()
842
  local Nearest3 = FindNearest(3, 120)
843
  for i = 1, #Nearest3 do
844
    local Missile = iPart({p, 0.6, 0.6, 0.6; co = cc[3], cf = Barrels[i].CFrame * cn(0, Barrels[i].Size.y, 0)})
845
    do
846
      Missile.CanCollide = true
847
      iNew({"CylinderMesh", Missile})
848
      iNew({"Fire", Missile})
849
      iNew({"Smoke", Missile; Color = bn(cc[7]).Color})
850
      do
851
        if i == 1 then
852
          local Sound = iNew({"Sound", workspace; SoundId = as.HeatSeekingMissile, Pitch = 1})
853
          Sound:Play()
854
          game:GetService("Debris"):AddItem(Sound, 5)
855
        end
856
        local Explode = function()
857
    if Missile.Parent then
858
      iNew({"Explosion", workspace; Position = Missile.Position})
859
      Missile:Destroy()
860
    end
861
  end
862
863
        local RP = iNew({"RocketPropulsion", Missile; CartoonFactor = 1, MaxSpeed = 150, MaxThrust = 10000, MaxTorque = v3(1, 1, 1) / 0, TargetRadius = 5, Target = Nearest3[i].Character.Torso})
864
        RP.ReachedTarget:connect(function()
865
    Explode()
866
  end
867
)
868
        RP:Fire()
869
        Spawn(function()
870
    wait(10)
871
    Explode()
872
  end
873
)
874
      end
875
      -- DECOMPILER ERROR at PC114: LeaveBlock: unexpected jumping out DO_STMT
876
877
    end
878
  end
879
end
880
881
ShootLaser = function()
882
  local Nearest = FindNearest(1, 100)
883
  for i = 1, #Nearest do
884
    local CF = LaserH.CFrame
885
    local CF2 = Nearest[i].Character.Torso.CFrame
886
    for t = 0, 1, 0.05 do
887
      local p0 = CF * cn(0, 1, 0)
888
      local p1 = Torso.CFrame * cn(0, 0, -4)
889
      local p2 = CF2 * cn(0, 0, -1)
890
      local p3 = p2 * cn(0, 0, -4)
891
      local B = 0.05
892
      local Part = iPart({workspace, 1, 1, 1; an = true, co = cc[2], cf = p0})
893
      local Part = iPart({workspace, 1, 1, 1; an = true, co = cc[2], cf = p1})
894
      local Part = iPart({workspace, 1, 1, 1; an = true, co = cc[2], cf = p2})
895
      local Part = iPart({workspace, 1, 1, 1; an = true, co = cc[2], cf = p3})
896
      local Part = iPart({workspace, 0.5, 1, 0.5; an = true, co = cc[1]})
897
      Part.CFrame = CF * cn((1 - t) * B * (p0.x * p1.x * p2.x) * t + t * (B * (p1.x * p2.x * p3.x)) * t, (1 - t) * B * (p0.y * p1.y * p2.y) * t + t * (B * (p1.y * p2.y * p3.y)) * t, (1 - t) * B * (p0.z * p1.z * p2.z) * t + t * (B * (p1.z * p2.z * p3.z)) * t)
898
    end
899
  end
900
end
901
902
keys = {}
903
Mouse.KeyDown:connect(function(key)
904
  keys[key] = true
905
  if key == "q" then
906
    ShootMissiles()
907
  end
908
  if key == "e" then
909
    ShootLaser()
910
  end
911
  if key == "x" then
912
    local OhhhOhOhHoHoOhhhhhhHAWWWWW = iNew({"Sound", workspace; SoundId = as.TimbaLaugh, Pitch = 1})
913
    OhhhOhOhHoHoOhhhhhhHAWWWWW:Play()
914
    game:GetService("Debris"):AddItem(OhhhOhOhHoHoOhhhhhhHAWWWWW, 5)
915
  end
916
end
917
)
918
Mouse.KeyUp:connect(function(key)
919
  keys[key] = false
920
end
921
)
922
Count = 0
923
-- DECOMPILER ERROR: 2 unprocessed JMP targets