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 |