lafur

Untitled

Sep 12th, 2018
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 207.47 KB | None | 0 0
  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. 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.Parent = nil
  6.  
  7. Player = game.Players.LocalPlayer
  8. Char = Player.Character
  9. PlayerGui = Player.PlayerGui
  10. Screen = Instance.new("ScreenGui", PlayerGui)
  11. Screen.Name = "TestGUI"
  12. KB = Instance.new("TextButton", Screen)
  13. KB.Name = "KB"
  14. KB.Text = "Reset"
  15. KB.Position = UDim2.new(0.05, 0, 0.4, 0)
  16. KB.Size = UDim2.new(0.1, 0, 0.1, 0)
  17. KB.Font = "Arial"
  18. KB.FontSize = "Size24"
  19. KB.TextWrapped = true
  20. KB.BackgroundColor3 = Color3.new(0, 0, 1)
  21. KB.TextColor3 = Color3.new(1, 1, 0)
  22. KB.BackgroundTransparency = 0.7
  23. KB.MouseButton1Down:connect(function()
  24. Char:BreakJoints()
  25. end)
  26. GB = Instance.new("TextButton", Screen)
  27. GB.Name = "GB"
  28. GB.Text = "God me"
  29. GB.Position = UDim2.new(0.05, 0, 0.5, 0)
  30. GB.Size = UDim2.new(0.1, 0, 0.1, 0)
  31. GB.Font = "Arial"
  32. GB.FontSize = "Size24"
  33. GB.TextWrapped = true
  34. GB.BackgroundColor3 = Color3.new(0, 0, 1)
  35. GB.TextColor3 = Color3.new(1, 1, 0)
  36. GB.BackgroundTransparency = 0.7
  37. GB.MouseButton1Down:connect(function()
  38. Char.Humanoid.MaxHealth = math.huge
  39. end)
  40. TRN = Instance.new("TextButton", Screen)
  41. TRN.Name = "TRN"
  42. TRN.Text = "Terrain"
  43. TRN.Position = UDim2.new(0.25, 0, 0.7, 0)
  44. TRN.Size = UDim2.new(0.1, 0, 0.1, 0)
  45. TRN.Font = "Arial"
  46. TRN.FontSize = "Size24"
  47. TRN.TextWrapped = true
  48. TRN.BackgroundColor3 = Color3.new(0, 0, 1)
  49. TRN.TextColor3 = Color3.new(1, 1, 0)
  50. TRN.BackgroundTransparency = 0.7
  51. TRN.MouseButton1Down:connect(function()
  52. mod = Instance.new("Model")
  53. mod.Parent = game.Workspace.Base
  54. mod.Name = "GenScip"
  55. scale = 10
  56. char1 = {"Dark green", "part", 0, true, scale/2.5}
  57. char2 = {"Reddish brown", "clif", 0, true, scale*1.5,scale*2}
  58. char3 = {"23", "wate", 0.6, false, scale/2.5}
  59. char4 = {"Pastel brown", "sand", 0, true, scale/2.5}
  60. x = 0
  61. z = -100
  62. n1 = 0
  63. n2 = 0
  64. n3 = 0
  65. zonlay = math.random(1,3)
  66. if zonlay == 1 then
  67. n1 = math.random(1,30)
  68. n2 = math.random(40,50)
  69. n3 = math.random(60,100)
  70. end
  71. if zonlay == 2 then
  72. n1 = math.random(60,100)
  73. n2 = math.random(40,50)
  74. n3 = math.random(10, 30)
  75. end
  76. if zonlay == 3 then
  77. n1 = math.random(30,60)
  78. n2 = math.random(1,20)
  79. n3 = math.random(70,100)
  80. end
  81. spawns = 0
  82. trees = 0
  83.  
  84. function decs(p)
  85. m = Instance.new("SpawnLocation")
  86. m.Parent = mod
  87. m.Size = Vector3.new(scale/2,char1[5],scale/2)
  88. m.BrickColor = BrickColor.new("Really black")
  89. m.Anchored = true
  90. m.CFrame = p.CFrame * CFrame.new(0,char1[5]/2,0)
  91. spawns = spawns + 1
  92. end
  93.  
  94. function dect(p)
  95. if p.BrickColor.Name == char1[1] then else return end
  96. m = Instance.new("Part")
  97. m.Parent = mod
  98. m.Name = "Tree"
  99. m.Size = Vector3.new(scale/2,char1[5],scale/2)
  100. m.BrickColor = BrickColor.new("Dark green")
  101. m.Anchored = true
  102. m.CFrame = p.CFrame * CFrame.new(0,p.Size.Y/3,0)
  103. msh = Instance.new("SpecialMesh")
  104. msh.Parent = m
  105. msh.MeshId = "ff54d21ba63ff3073f34fda5cd1be3f1"
  106. msh.TextureId = "http://www.roblox.com/asset/?id=37476561"
  107. msh.Scale = Vector3.new(0.1,0.1,0.1)
  108. trees = trees + 1
  109. end
  110.  
  111.  
  112.  
  113. function decor(par, tab, xb, zb)
  114. number = string.sub(par.Name:lower(), 5)
  115. par.Size = Vector3.new(scale,tab[math.random(5,#tab)],scale)
  116. par.BrickColor = BrickColor.new(tab[1])
  117. par.Transparency = tab[3]
  118. par.CanCollide = tab[4]
  119. if tab[1] == "Reddish brown" then
  120. local variation = math.random(1,100)*-0.04
  121. par.CFrame = CFrame.new(xb,par.Size.Y/1.8+variation,zb)
  122. par.Friction = 0.6
  123. end
  124. if tab[1] == "Dark green" then
  125. local variation = math.random(1,100)*-0.004
  126. par.CFrame = CFrame.new(xb,par.Size.Y/1.5+variation,zb)
  127. par.Friction = 0.6
  128. end
  129. if tab[1] == "23" or tab[1] == "Pastel brown" then
  130. par.CFrame = CFrame.new(xb,par.Size.Y/1.5,zb)
  131. if tab[1] == "23" then
  132. par.Friction = 0.9
  133. end
  134. end
  135. end
  136.  
  137. function scan(part, char, type)
  138. if type == "land" then
  139. tri = mod:GetChildren()
  140. for i = 1, #tri do
  141. if math.ceil((tri[i].Position - part.Position).magnitude) <= 15 then
  142. decor(tri[i], char, tri[i].CFrame.X, tri[i].CFrame.Z)
  143. end
  144. end
  145. elseif type == "water" then
  146. tri = mod:GetChildren()
  147. for i = 1, #tri do
  148. if math.ceil((tri[i].Position - part.Position).magnitude) > 0 and math.ceil((tri[i].Position - part.Position).magnitude) < 20 then
  149. if string.sub(tri[i].Name:lower(), 1, 4) == "part" then else return end
  150. decor(tri[i], char, tri[i].CFrame.X, tri[i].CFrame.Z)
  151. end
  152. if math.ceil((tri[i].Position - part.Position).magnitude) > 20 and math.ceil((tri[i].Position - part.Position).magnitude) < 30 then
  153. if string.sub(tri[i].Name:lower(), 1, 4) == "part" then else return end
  154. decor(tri[i], char4, tri[i].CFrame.X, tri[i].CFrame.Z)
  155. end
  156. end
  157. end
  158. end
  159.  
  160. function forestscan(part)
  161. tri = mod:GetChildren()
  162. for i = 1, #tri do
  163. if math.ceil((tri[i].Position - part.Position).magnitude) < 20 then
  164. if string.sub(tri[i].Name:lower(), 1, 4) == "part" then else return end
  165. dect(tri[i])
  166. end
  167. end
  168. end
  169.  
  170. function createtile(number)
  171. p = Instance.new("Part")
  172. p.Parent = mod
  173. p.Name = "Part" ..tostring(number)
  174. if number == n1 or number == n2 then
  175. p.Name = "Clif" ..tostring(number)
  176. decor(p, char2, x, z)
  177. else
  178. if number == n3 then
  179. p.Name = "Wate" ..tostring(number)
  180. decor(p, char3, x, z)
  181. else
  182. decor(p, char1, x, z)
  183. end
  184. end
  185. p.BottomSurface = "Smooth"
  186. p.TopSurface = "Smooth"
  187. p.Anchored = true
  188. if x >= scale*25 then
  189. x = 0
  190. z = z + scale
  191. elseif x < scale*25 then
  192. x = x + scale
  193. end
  194. end
  195.  
  196. for i = 1, 208 do
  197. wait()
  198. createtile(i)
  199. end
  200. t = mod:GetChildren()
  201. for i = 1, #t do
  202. if string.sub(t[i].Name:lower(), 1, 4) == "clif" then
  203. scan(t[i], char2, "land")
  204. end
  205. if string.sub(t[i].Name:lower(), 1, 4) == "wate" then
  206. scan(t[i], char3, "water")
  207. end
  208. if string.sub(t[i].Name:lower(), 1, 4) == "part" then
  209. local lol = math.random(1,25)
  210. if spawns == 0 and lol == 10 then
  211. decs(t[i])
  212. end
  213. local lol2 = math.random(1,25)
  214. if trees == 0 and lol2 == 20 then
  215. dect(t[i])
  216. forestscan(t[i])
  217. end
  218. end
  219. end
  220.  
  221.  
  222.  
  223.  
  224. end)
  225. RSTR = Instance.new("TextButton", Screen)
  226. RSTR.Name = "RSTR"
  227. RSTR.Text = "Clear game"
  228. RSTR.Position = UDim2.new(0.25, 0, 0.5, 0)
  229. RSTR.Size = UDim2.new(0.1, 0, 0.1, 0)
  230. RSTR.Font = "Arial"
  231. RSTR.FontSize = "Size24"
  232. RSTR.TextWrapped = true
  233. RSTR.BackgroundColor3 = Color3.new(0, 0, 1)
  234. RSTR.TextColor3 = Color3.new(1, 1, 0)
  235. RSTR.BackgroundTransparency = 0.7
  236. RSTR.MouseButton1Down:connect(function()
  237. game.Workspace.Terrain:clear()
  238. function X(ws)
  239. for _, v in pairs(ws:GetChildren()) do
  240. v.Archivable = true
  241. if v.Name ~= "UClear" and v.Name ~= "Terrain" and game.Players:GetPlayerFromCharacter(v)==nil and v~=game.Workspace.CurrentCamera then
  242. if v:IsA("Script") or v:IsA("LocalScript") then
  243. v.Disabled = true
  244. v:remove()
  245. else
  246. v:remove()
  247. end
  248. end
  249. if game.Workspace:findFirstChild("Base") ~= nil then
  250. else
  251. local Base=Instance.new("Part",game.Workspace)
  252. Base.Name="Base"
  253. Base.Size=Vector3.new(1000,1,1000)
  254. Base.BrickColor=BrickColor.new("Bright green")
  255. Base.Anchored=true
  256. Base.Locked=true
  257. Base.TopSurface="Studs"
  258. Base.CFrame=CFrame.new(Vector3.new(0,0,0))
  259. local Spawn=Instance.new("SpawnLocation",game.Workspace)
  260. Spawn.Name="lol"
  261. Spawn.Size=Vector3.new(6,1,6)
  262. Spawn.Transparency=1
  263. Spawn.CanCollide=false
  264. Spawn.Anchored=true
  265. Spawn.Locked=true
  266. Spawn.CFrame=CFrame.new(Vector3.new(0,1,0))
  267. end
  268. end
  269. end
  270. X(game.Workspace)
  271. end)
  272. FRST = Instance.new("TextButton", Screen)
  273. FRST.Name = "FRST"
  274. FRST.Text = "Jungle"
  275. FRST.Position = UDim2.new(0.25, 0, 0.4, 0)
  276. FRST.Size = UDim2.new(0.1, 0, 0.1, 0)
  277. FRST.Font = "Arial"
  278. FRST.FontSize = "Size24"
  279. FRST.TextWrapped = true
  280. FRST.BackgroundColor3 = Color3.new(0, 0, 1)
  281. FRST.TextColor3 = Color3.new(1, 1, 0)
  282. FRST.BackgroundTransparency = 0.7
  283. FRST.MouseButton1Down:connect(function()
  284. size = 240
  285.  
  286. CA = CFrame.Angles
  287. CN = CFrame.new
  288. V3 = Vector3.new
  289. MR = math.rad
  290. MP = math.pi
  291. MRA = math.random
  292. MH = math.huge
  293.  
  294. Wood = {"Brown", "Reddish brown"}
  295. Leaves = {"Earth green", "Bright green", "Dark green", "Camo"}
  296. LeafMeshes = {{"http://www.roblox.com/asset/?id=16659363", V3(2.05,-1.6,2.05)},
  297. {"http://www.roblox.com/asset/?id=1091940", V3(1.2,0.6,1.2)}}
  298.  
  299. Rock = {"Medium grey", "Dark grey"}
  300.  
  301. Add = {
  302. Mesh = function(P, Id, Id2, scale)
  303. local m = Instance.new("SpecialMesh", P)
  304. m.Scale = scale
  305. m.MeshId = Id
  306. m.TextureId = Id2
  307. end
  308. }
  309.  
  310. function Part(P, Anch, Coll, Tran, Ref, Col, X, Y, Z)
  311. local p = Instance.new("Part")
  312. p.TopSurface = 0
  313. p.BottomSurface = 0
  314. p.Transparency = Tran
  315. p.Reflectance = Ref
  316. p.CanCollide = Coll
  317. p.Anchored = Anch
  318. p.BrickColor = BrickColor.new(Col)
  319. p.formFactor = "Custom"
  320. p.Size = V3(X,Y,Z)
  321. p.Parent = P
  322. p.Locked = true
  323. p:BreakJoints()
  324. return p
  325. end
  326.  
  327. Mod = Instance.new("Model",workspace)
  328. Mod.Name = "Jungle"
  329.  
  330. Models = {
  331. function(cf, siz)
  332. local m = Instance.new("Model",Mod)
  333. local cen = cf * CN(0, 0, -38*siz)
  334. local wo = Wood[MRA(1,#Wood)]
  335. local le = Leaves[MRA(1,#Leaves)]
  336. local last = nil
  337. for i = 0, 1, 0.2 do
  338. local p = Part(m, true, true, 0, 0, wo, 3*siz, 5.7*siz, 3*siz)
  339. Instance.new("SpecialMesh",p)
  340. p.CFrame = cen * CA(MR(-40*i), 0, 0) * CN(0, 0, 38*siz)
  341. if wo == Wood[1] then wo = Wood[2] else wo = Wood[1] end
  342. last = p
  343. end
  344. local messa = LeafMeshes[MRA(1,#LeafMeshes)]
  345. local a = -3
  346. if messa == LeafMeshes[1] then
  347. a = 0.4
  348. end
  349. last.BrickColor = BrickColor.new(le)
  350. local p = Part(m, true, false, 0, 0, le, 0.2, 0.2, 0.2)
  351. local m = Add.Mesh(p, messa[1], "", V3((messa[2].X*10)*siz,(messa[2].Y*10)*siz,(messa[2].Z*10)*siz))
  352. p.CFrame = last.CFrame * CN(0, a*siz, 0) * CA(MP+MR(20), 0, 0)
  353. end,
  354. function(cf, siz)
  355. local m = Instance.new("Model",Mod)
  356. local ro1, ro2 = Rock[MRA(1,#Rock)], Rock[MRA(1,#Rock)]
  357. local p = Part(m, true, true, 0, 0, ro1, 7.5*siz, 7.5*siz, 7.5*siz)
  358. p.CFrame = cf * CN(0, 1.8*siz, 4*siz) * CA(MR(MRA(-180,180)), MR(MRA(-180,180)), MR(MRA(-180,180)))
  359. local ms = Add.Mesh(p, "http://www.roblox.com/asset/?id=1290033", "", V3(5*siz, 5*siz, 5*siz))
  360.  
  361. local p2 = Part(m, true, true, 0, 0, ro2, 5.5*siz, 5.5*siz, 5.5*siz)
  362. p2.CFrame = cf * CN(7*siz, 1.5*siz, -6*siz) * CA(MR(MRA(-180,180)), MR(MRA(-180,180)), MR(MRA(-180,180)))
  363. local ms2 = Add.Mesh(p2, "http://www.roblox.com/asset/?id=1290033", "", V3(3.8*siz, 3.8*siz, 3.8*siz))
  364. end,
  365. function(cf, siz)
  366. local m = Instance.new("Model",Mod)
  367. local le = Leaves[MRA(1,#Leaves)]
  368.  
  369. local p = Part(m, true, false, 0, 0, le, 0.2, 0.2, 0.2)
  370. p.CFrame = cf * CN(2*siz, 1.6*siz, -4*siz) * CA(0, 0, 0)
  371. local ms = Add.Mesh(p, "http://www.roblox.com/asset/?id=1095708", "", V3(12*siz, 11*siz, 10*siz))
  372.  
  373. local p2 = Part(m, true, false, 0, 0, le, 0.2, 0.2, 0.2)
  374. p2.CFrame = cf * CN(-4*siz, 1.1*siz, -1*siz) * CA(0, MR(-34), 0)
  375. local ms2 = Add.Mesh(p2, "http://www.roblox.com/asset/?id=1095708", "", V3(10*siz, 7.5*siz, 8*siz))
  376. end,
  377. function(cf, siz)
  378. local m = Instance.new("Model",Mod)
  379.  
  380. local p = Part(m, true, false, 0, 0, "Bright green", 0.2, 0.2, 0.2)
  381. p.CFrame = cf * CN(2*siz, 1.1*siz, -4*siz) * CA(0, 0, 0)
  382. local ms = Add.Mesh(p, "http://www.roblox.com/asset/?id=16659363", "http://www.roblox.com/asset/?id=16659355", V3(10*siz, 14*siz, 10*siz))
  383.  
  384. local p2 = Part(m, true, false, 0, 0, "Bright green", 0.2, 0.2, 0.2)
  385. p2.CFrame = cf * CN(-4*siz, 0.7*siz, 1*siz) * CA(MR(MRA(-15,15)), MR(MRA(-180,180)), MR(MRA(-15,15)))
  386. local ms2 = Add.Mesh(p2, "http://www.roblox.com/asset/?id=16659363", "http://www.roblox.com/asset/?id=16659355", V3(7*siz, 11*siz, 6*siz))
  387. end,
  388. function(cf, siz)
  389. local m = Instance.new("Model",Mod)
  390.  
  391. local p = Part(m, true, true, 0, 0, "White", 1.2*siz, 6*siz, 1.2*siz)
  392. p.CFrame = cf * CN((MRA(-4*100,4*100)/100)*siz, 3.2*siz, (MRA(-4*100,4*100)/100)*siz) * CA(0, MR(MRA(-180,180)), 0)
  393. local ms = Add.Mesh(p, "http://www.roblox.com/asset/?id=1090398", "http://www.roblox.com/asset/?id=1090399", V3(3.5*siz, 5*siz, 3.5*siz))
  394. end,
  395. function(cf, siz)
  396. local m = Instance.new("Model",Mod)
  397. local col = Wood[MRA(1,#Wood)]
  398. local p = Part(m, true, true, 0, 0, col, 2.8*siz, 22*siz, 2.8*siz)
  399. Instance.new("SpecialMesh",p)
  400. p.CFrame = cf * CN((MRA(-4*100,4*100)/100)*siz, 11*siz, (MRA(-4*100,4*100)/100)*siz) * CA(0, MR(MRA(-180,180)), 0)
  401. local leave = Leaves[MRA(1, #Leaves)]
  402. local mes = LeafMeshes[MRA(1, #LeafMeshes)]
  403. local a = 3
  404. local ca = CA(MR(MRA(-30, 30)), MR(MRA(-180, 180)), MR(MRA(-30, 30)))
  405. if mes == LeafMeshes[1] then
  406. a = -0.5
  407. ca = ca * CA(MP, 0, 0)
  408. end
  409. for i = 1, MRA(1,5) do
  410. local cf2 = p.CFrame * CA(0, MR(MRA(-180,180)), 0) * CN(0, (MRA(2*100, 14*100)/100)*siz, -1.4*siz)
  411. local center = cf2 * CN(0, 0, -8*siz) * CA(0, 0, 0)
  412. local first = nil
  413. for x = 0, 45, 15 do
  414. local p2 = Part(m, true, true, 0, 0, col, 2.5*siz, 4*siz, 2.5*siz)
  415. Instance.new("SpecialMesh", p2)
  416. p2.CFrame = center * CN(0, 0, 4*siz) * CA(MR(x), 0, 0) * CN(0, 0, 10*siz) * CA(0, 0, 0)
  417. if first == nil then first = p2 end
  418. end
  419. local p3 = Part(m, true, false, 0, 0, leave, 0.2, 0.2, 0.2)
  420. Add.Mesh(p3, mes[1], "", (mes[2]*7)*siz)
  421. local ca2 = CA(MR(MRA(-30, 30)), MR(MRA(-180, 180)), MR(MRA(-30, 30)))
  422. if mes == LeafMeshes[1] then
  423. ca2 = ca2 * CA(MP, 0, 0)
  424. end
  425. p3.CFrame = first.CFrame * CN(0, a*siz, 0) * ca2
  426. end
  427. local p3 = Part(m, true, false, 0, 0, leave, 0.2, 0.2, 0.2)
  428. Add.Mesh(p3, mes[1], "", (mes[2]*9)*siz)
  429. local cn = p.CFrame * CN(0, 11*siz, 0)
  430. p3.CFrame = cn * CN(0, a*siz, 0) * ca
  431. end,
  432. }
  433.  
  434. pos = CN(0, 0, 0)
  435.  
  436.  
  437. local base = Part(Mod, true, true, 0, 0, Leaves[MRA(1,#Leaves)], size, 1, size)
  438. base.CFrame = pos * CN(0, 1, 0)
  439. base.Material = "Grass"
  440.  
  441. for x = -size/2, size/2, 20 do
  442. for z = -size/2, size/2, 20 do
  443. Models[MRA(1, #Models)](pos * CN(x+(MRA(-4*1000, 4*1000)/1000), 1.2, z+(MRA(-4*1000, 4*1000)/1000)) * CA(0, MR(MRA(-180,180)), 0), MRA(1.1*100, 2.4*100)/100)
  444. end
  445. wait(0.2)
  446. end
  447.  
  448. end)
  449. RKT = Instance.new("TextButton", Screen)
  450. RKT.Name = "RKT"
  451. RKT.Text = "TF2 Launcher"
  452. RKT.Position = UDim2.new(0.25, 0, 0.3, 0)
  453. RKT.Size = UDim2.new(0.1, 0, 0.1, 0)
  454. RKT.Font = "Arial"
  455. RKT.FontSize = "Size24"
  456. RKT.TextWrapped = true
  457. RKT.BackgroundColor3 = Color3.new(0, 0, 1)
  458. RKT.TextColor3 = Color3.new(1, 1, 0)
  459. RKT.BackgroundTransparency = 0.7
  460. RKT.MouseButton1Down:connect(function()
  461. script.Parent = nil
  462.  
  463. it = Instance.new
  464.  
  465. v3=Vector3.new
  466.  
  467. bc=BrickColor.new
  468.  
  469. c3=Color3.new
  470.  
  471. cn=CFrame.new
  472.  
  473. ca=CFrame.Angles
  474.  
  475. ca2=function(a,b,c) return ca(math.rad(a),math.rad(b),math.rad(c)) end
  476.  
  477. ti=table.insert
  478.  
  479. tr=table.remove
  480.  
  481. rn=math.random
  482.  
  483. rd=math.rad
  484.  
  485. mf=math.floor
  486.  
  487. ud = UDim2.new
  488.  
  489. inf=math.huge
  490.  
  491. dg=math.deg
  492.  
  493. mdeg=math.deg
  494.  
  495. v310=v3(1/0,1/0,1/0)
  496.  
  497. pi=math.pi
  498.  
  499. w=wait
  500.  
  501. cf=cn
  502.  
  503. bn=bc
  504.  
  505. ts=tostring
  506.  
  507.  
  508. Workspace=game:GetService("Workspace")
  509.  
  510. Players=game:GetService("Players")
  511.  
  512. LocalPlayer=Players.LocalPlayer
  513.  
  514. Lighting=game:GetService("Lighting")
  515.  
  516. Debris=game:GetService("Debris")
  517.  
  518.  
  519. work=Workspace
  520.  
  521. serv=Players
  522.  
  523. tb=LocalPlayer
  524.  
  525. light=Lighting
  526.  
  527. deb=Debris
  528.  
  529.  
  530. asset = "http://www.roblox.com/asset/?id="
  531.  
  532. ds = {}
  533.  
  534. ds.Tile="58426060" -- texture
  535.  
  536. ds.RedDecal='91015882'
  537.  
  538. ds.RedDecal2='91015899'
  539.  
  540. ds.RedDecal3='91046114'
  541.  
  542. ds.AnonymousMask="19367193" -- mesh
  543.  
  544. ds.AnonymousMaskTexture="72393530" -- texture
  545.  
  546. ds.Balloon="10207677"
  547.  
  548. ds.CelestialCircle="78036587"
  549.  
  550. ds.SFOTHMoonArc="74132307"
  551.  
  552. ds.Claw = "10681506"
  553.  
  554. ds.Scream = "89487903"
  555.  
  556. ds.Ring = "3270017"
  557.  
  558. ds.Crack = "49173398"
  559.  
  560. ds.Cloud = "1095708"
  561.  
  562. ds.Slash3 = "10209640"
  563.  
  564. ds.Spike = "1033714"
  565.  
  566. ds.ThisIsRobloxSound="96673085"
  567.  
  568. ds.BashMiss="92597296"
  569.  
  570. ds.TelamonsterSword="93180631"
  571.  
  572. ds.TelamonsterSwordT="93180676"
  573.  
  574. ds.Rock = "1290033"
  575.  
  576. ds.Crown = "1323306"
  577.  
  578. ds.Hood = "16952952"
  579.  
  580. ds.Slash = "10209645"
  581.  
  582. ds.Slash2 = "46760716"
  583.  
  584. ds.MadFace = "2235131"
  585.  
  586. ds.BanditMask = "20637493"
  587.  
  588. ds.Hood2 = "25211365"
  589.  
  590. ds.HoodT2 = "64240784"
  591.  
  592. ds.Axe = "12768042"
  593.  
  594. ds.AxeT = "12768034"
  595.  
  596. ds.Fist = "65322375"
  597.  
  598. ds.Tree1 = "1090398"
  599.  
  600. ds.Vine = "13108500"
  601.  
  602. ds.VineT = "17585271"
  603.  
  604. ds.TreeTexture = "2861779"
  605.  
  606. ds.Tug = "31173820" -- sound
  607.  
  608. ds.Fire = "2693346" --"2760979"
  609.  
  610. ds.Hit = "2801263"
  611.  
  612. ds.BulletHole = "64291961"
  613.  
  614. ds.Camo = "4268107"
  615.  
  616. ds.Gradient1 = "70060415"
  617.  
  618. ds.DWrench = "70628302"
  619.  
  620. ds.DHealth = "70635804"
  621.  
  622. ds.Shine="48965808"
  623.  
  624. ds.GothicMusic="27697699"
  625.  
  626.  
  627. qi = function(ttz) -- instance v2
  628.  
  629. local qii = it(ttz[1]) table.foreach(ttz,function(oi,oi2)
  630.  
  631. if oi ~= 1 and oi ~= 2 then qii[oi] = oi2 end end) qii.Parent=ttz[2] return qii end
  632.  
  633.  
  634. table.foreach(ds,function(a,b) -- asset loader
  635.  
  636. if tonumber(b:sub(1,3)) then ds[a] = asset .. b game:service'ContentProvider':Preload(ds[a]) end end)
  637.  
  638.  
  639. q = function(f) -- quick coroutine function
  640.  
  641. coroutine.resume(coroutine.create(function() f() end)) end
  642.  
  643.  
  644.  
  645. ft = function(tablez,item) -- table finder
  646.  
  647. for i=1,#tablez do if tablez[i] == item then return i end end return nil end
  648.  
  649.  
  650. ft2 = function(tablez,item) -- table finder 2
  651.  
  652. for i=1,#tablez do if tablez[i][1] == item then return i end end return nil end
  653.  
  654.  
  655. pa = function(pa,pn,sh,x,y,z,c,a,tr,re,bc2) -- part maker
  656.  
  657. local fp=nil
  658.  
  659. if sh ~= "Wedge" and sh ~= "CornerWedge" and sh ~= "VehicleSeat" and sh ~= "Seat" then
  660.  
  661. fp=it("Part",pa)
  662.  
  663. fp.Shape=sh or "Block"
  664.  
  665. fp.formFactor="Custom"
  666.  
  667. elseif sh == "Wedge" then
  668.  
  669. fp=it("WedgePart",pa)
  670.  
  671. fp.formFactor="Custom"
  672.  
  673. elseif sh == "CornerWedge" then
  674.  
  675. fp=it("CornerWedgePart",pa)
  676.  
  677. elseif sh == "VehicleSeat" then
  678.  
  679. fp=it("VehicleSeat",pa)
  680.  
  681. elseif sh == "Seat" then
  682.  
  683. fp=it("Seat",pa)
  684.  
  685. end
  686.  
  687. fp.Size=v3(x or 4,y or 2,z or 2)
  688.  
  689. fp.Friction = 2
  690.  
  691. fp.CanCollide=c or true
  692.  
  693. fp.Anchored=a or false
  694.  
  695. fp.BrickColor=bc(bc2 or "")
  696.  
  697. fp.Transparency=tr or 0
  698.  
  699. fp.Reflectance=re or 0
  700.  
  701. fp.BottomSurface=0
  702.  
  703. fp.Name=pn or "UnNamed"
  704.  
  705. fp.Locked = true
  706.  
  707. fp.TopSurface=0
  708.  
  709. fp.CFrame=cn(0,0,0)
  710.  
  711. fp:BreakJoints()
  712.  
  713. fp.Anchored = a
  714.  
  715. return fp
  716.  
  717. end
  718.  
  719.  
  720. function ClearClass(Object,Class) for _,v in pairs(Object:GetChildren()) do if v:IsA(Class) then v:Destroy() end end end
  721.  
  722.  
  723. function re(par,obj) -- object remover
  724.  
  725. if par:findFirstChild(obj) then
  726.  
  727. par[obj]:Remove''
  728.  
  729. end
  730.  
  731. end
  732.  
  733.  
  734. function invis(o) -- model invisible
  735.  
  736. for i,v in pairs(o:children()) do
  737.  
  738. if v:IsA("BasePart") then
  739.  
  740. v.Transparency=1
  741.  
  742. end
  743.  
  744. invis(v)
  745.  
  746. end
  747.  
  748. end
  749.  
  750.  
  751. FragmentIgnore={}
  752.  
  753. function Fragment(part, pos) -- The part to slice, and the position of the blade(might have to modify it).
  754.  
  755. if part:IsA("Terrain") or part.Name=="Hitbox" then return end
  756.  
  757. local s = part.Size
  758.  
  759. local d = part.CFrame:pointToObjectSpace(pos)
  760.  
  761. local d = Vector3.new(math.floor(d.x * 2 + 0.5) / 2, math.floor(d.y * 2 + 0.5) / 2, math.floor(d.z / 2 + 0.5) * 2)
  762.  
  763. if math.abs(d.x)*2 / s.x <= 8 and math.abs(d.y)*2 / s.y <= 8 and math.abs(d.z)*2 / s.z <= 8 then
  764.  
  765. table.insert(FragmentIgnore,part)
  766.  
  767. local part1 = part:Clone() -- Top
  768.  
  769. local part2 = part:Clone() -- Bottom
  770.  
  771. table.insert(FragmentIgnore,part1)
  772.  
  773. table.insert(FragmentIgnore,part2)
  774.  
  775. local size1 = s.y/2 - d.y
  776.  
  777. local size2 = s.y/2 + d.y
  778.  
  779. local frame1 = s.y/2 - size1/2
  780.  
  781. local frame2 = -s.y/2 + size2/2
  782.  
  783. part1.formFactor = "Custom"
  784.  
  785. part2.formFactor = "Custom"
  786.  
  787. part1.Size = Vector3.new(part.Size.x, size1, part.Size.Z)
  788.  
  789. part2.Size = Vector3.new(part.Size.x, size2, part.Size.Z)
  790.  
  791. part1.CFrame = part.CFrame * CFrame.new(0, frame1, 0)
  792.  
  793. part2.CFrame = part.CFrame * CFrame.new(0, frame2, 0)
  794.  
  795. part2.Parent = Workspace
  796.  
  797. part1.Parent = Workspace
  798.  
  799. part2:BreakJoints()
  800.  
  801. part1:BreakJoints()
  802.  
  803. part:Destroy()
  804.  
  805. end
  806.  
  807. end
  808.  
  809.  
  810. function newhats(p,o,o2) -- new hats yeyeyey
  811.  
  812. for i,v in pairs(p:children()) do
  813.  
  814. if v:IsA("Hat") then
  815.  
  816. local np=v.Handle:Clone''
  817.  
  818. np.Transparency=0
  819.  
  820. np.Mesh.Scale=np.Mesh.Scale*1.04
  821.  
  822. np.Parent=o
  823.  
  824. np.CFrame=v.Handle.CFrame
  825.  
  826. np.Name="Hat"
  827.  
  828. stick2(np,o2,o)
  829.  
  830. end
  831.  
  832. end
  833.  
  834. end
  835.  
  836.  
  837. fade = function(prt,incr) --brick fader
  838.  
  839. q(function() for i=prt.Transparency,1,incr do prt.Transparency=i wait() end prt:Remove'' end) end
  840.  
  841.  
  842.  
  843. function weld(pa,p0,p1,x,y,z,a,b,c)
  844.  
  845. local fw=it("Weld",pa)
  846.  
  847. fw.Part0=p0
  848.  
  849. fw.Part1=p1
  850.  
  851. fw.C0=cn(x,y,z)*ca(a,b,c)
  852.  
  853. return fw
  854.  
  855. end
  856.  
  857.  
  858.  
  859. stick = function(hit2,hit) -- stick function
  860.  
  861. return qi({"Weld",hit2,Part0=hit2,Part1=hit,C0=hit2.CFrame:inverse()*cn(hit2.Position),C1=hit.CFrame:inverse()*cn(hit2.Position)}) end
  862.  
  863.  
  864. function stick2(hit2,hit,tostick) -- stick2 function
  865.  
  866. local weld=it("Weld") weld.Part0=tostick weld.Part1=hit2 local HitPos=hit.Position local CJ=cn(HitPos) local C0=hit2.CFrame:inverse()
  867.  
  868.  
  869. *CJ local C1=hit.CFrame:inverse() * CJ weld.C0=C1 weld.C1=C0 weld.Parent=hit2 end
  870.  
  871.  
  872. ray = function(Pos, Dir,tab) -- ray cast
  873.  
  874. return workspace:FindPartOnRay(Ray.new(Pos, Dir.unit *999),tab) end
  875.  
  876.  
  877.  
  878. function rtab(tabz,obj) for i=1,#tabz do if tabz[i] == obj then tr(tabz,i) break end end end
  879.  
  880.  
  881. sTrail={}
  882.  
  883. function Trail2(lopz,ob,waitz,col,thickz,ofz) cw(function() ti(sTrail,ob)
  884.  
  885. local oldpos=(ob.CFrame *ofz).p local lopz2=0
  886.  
  887. local function loltr() local obp=(ob.CFrame *ofz).p lopz2=lopz2 + 1
  888.  
  889. local mag=(oldpos - obp).magnitude
  890.  
  891. local tr=pa(ob,"trail","Block",0,0,0,false,false,0.5,0.15,col) tr.Anchored=true
  892.  
  893. tr.CFrame=cn(oldpos,obp)
  894.  
  895. tr.CFrame=tr.CFrame + tr.CFrame.lookVector* (mag/2)
  896.  
  897. local trm=it("CylinderMesh",tr) trm.Scale=v3(5*thickz,mag*5,5*thickz)
  898.  
  899. cw(function() for i=5*thickz,0,-5*thickz/10 do trm.Scale=v3(i,mag*5,i) w() end tr:Remove'' end)
  900.  
  901. tr.CFrame=tr.CFrame *ca(rd(90),0,0) oldpos=obp end
  902.  
  903. repeat loltr()
  904.  
  905. wait(waitz) until ft(sTrail,ob) == nil or lopz2 == lopz loltr() end) end
  906.  
  907.  
  908. Trail = function(ob,times,waitz,col,thickz,ofz) -- Brick Trail
  909.  
  910. q(function()
  911.  
  912. local oldpos=(ob.CFrame *ofz).p
  913.  
  914. for i=1,times do
  915.  
  916. if effon==true then
  917.  
  918. local obp=(ob.CFrame *ofz).p
  919.  
  920. local mag=(oldpos - obp).magnitude
  921.  
  922. local tr=pa(ob,"trail","Block",0,0,0,false,false,0.5,0.15,col)
  923.  
  924. tr.Anchored=true
  925.  
  926. tr.CFrame=cn(oldpos,obp)
  927.  
  928. tr.CFrame=tr.CFrame + tr.CFrame.lookVector* (mag/2)
  929.  
  930. trm=it("CylinderMesh",tr)
  931.  
  932. trm.Scale=v3(thickz,mag*5,thickz)
  933.  
  934. q(function()
  935.  
  936. for i=thickz,0,thickz/10 do
  937.  
  938. trm.Scale=v3(i,mag*5,i)
  939.  
  940. wait()
  941.  
  942. end
  943.  
  944. tr:Remove''
  945.  
  946. end)
  947.  
  948. tr.CFrame=tr.CFrame *ca(rd(90),0,0)
  949.  
  950. oldpos=obp wait(waitz)
  951.  
  952. end
  953.  
  954. end
  955.  
  956. end)
  957.  
  958. end
  959.  
  960.  
  961. de = function(it,ti) game:service'Debris':AddItem(it,ti) end -- Debris
  962.  
  963.  
  964. GlowMesh = function(anch,meshid2,rootz,mv3,colzz,adjus,l1,l2,l3) q(function() -- Glowmesh
  965.  
  966. local spi=pa(rootz,"glowmesh","Block",mv3.X,mv3.Y,mv3.Z,false,false,l1,0,colzz) local spim=it("SpecialMesh",spi) spi.CanCollide=false if
  967.  
  968.  
  969. meshid2:lower()=="sphere" then spim.MeshType="Sphere" elseif meshid2:lower()=="block" then spim=it("BlockMesh",spi) else
  970.  
  971.  
  972. spim.MeshType="FileMesh" spim.MeshId=meshid2 end
  973.  
  974. if anch then local spiw=qi({"Weld",spi,Part0=rootz,Part1=spi}) spiw.C0 =spiw.C0 *adjus else spi.Anchored=true spi.CFrame=adjus end
  975.  
  976. for i=l1,l2,l3 do spi.Transparency=i spim.Scale=mv3*(i+0.3) wait() end spi:Remove'' end)
  977.  
  978. end
  979.  
  980.  
  981. DetectSurface = function(pos, part) -- Surface Detector
  982.  
  983. local surface = nil local pospos = part.CFrame
  984.  
  985. local pos2 = pospos:pointToObjectSpace(pos) local siz = part.Size local shaep = part.Shape
  986.  
  987. if shaep == Enum.PartType.Ball or shaep == Enum.PartType.Cylinder then
  988.  
  989. surface = {"Anything", cn(pospos.p, pos)*cn(0, 0, -(pospos.p - pos).magnitude+0.12)*ca(rd(-90), 0, 0)}
  990.  
  991. else if pos2.Y > ((siz.Y/2)-0.01) then surface = {"Top", ca(0, 0, 0)}
  992.  
  993. elseif pos2.Y < -((siz.Y/2)-0.01) then surface = {"Bottom", ca(-math.pi, 0, 0)} elseif pos2.X > ((siz.X/2)-0.01) then surface = {"Right",
  994.  
  995.  
  996. ca(0, 0, rd(-90))}
  997.  
  998. elseif pos2.X < -((siz.X/2)-0.01) then surface = {"Left", ca(0, 0, rd(90))} elseif pos2.Z > ((siz.Z/2)-0.01) then surface = {"Back", ca
  999.  
  1000.  
  1001. (rd(90), 0, 0)} elseif pos2.Z < -((siz.Z/2)-0.01) then surface = {"Front", ca(rd(-90), 0, 0)} end end return surface end
  1002.  
  1003.  
  1004. BulletHole = function(HitPos,HitObj,sc,img,par) -- Bullethole function
  1005.  
  1006. local Surface = DetectSurface(HitPos, HitObj)
  1007.  
  1008. local C = cn(HitPos) * ca(HitObj.CFrame:toEulerAnglesXYZ()) * Surface[2]
  1009.  
  1010. if Surface[1] == "Anything" then C = Surface[2] end local theimg = img or ds.BulletHole
  1011.  
  1012. local bl = pa(workspace or par,"bullethole","Block",sc,0,sc,false,true,1,0,"") qi({"Decal",bl,Face="Top",Texture=theimg})
  1013.  
  1014. bl.CFrame = C*cn(0,-0.1,0) if not HitObj.Anchored then bl.Anchored = false stick(bl,HitObj) bl.ChildRemoved:connect(function() bl:Remove() end) end q(function() wait(5) for i=0,1,0.05 do bl.Size=v3(-i*sc,0,-i*sc) wait() end de(bl,0) end)
  1015.  
  1016. end
  1017.  
  1018.  
  1019. so = function(id,par,vol,pit) q(function() -- Sound maker
  1020.  
  1021. local sou = qi({"Sound",par or workspace,Volume=vol,Pitch=pit or 1,SoundId=id})
  1022.  
  1023. wait() sou:play() wait(6) sou:Remove() end) end
  1024.  
  1025.  
  1026. -- local/so(asset..ds.GothicMusic,workspace,1,2.6)
  1027.  
  1028.  
  1029. function GetRegion(p0,p1,f,f2) q(function()
  1030.  
  1031. for i,v in pairs(workspace:FindPartsInRegion3(Region3.new(p0,p1),c,100) ) do if v.Parent:findFirstChild("Humanoid") and
  1032.  
  1033.  
  1034. v.Parent.Humanoid.Health > 0 and v.Parent:findFirstChild("Torso") then q(function() f(v.Parent) end) elseif f2 and
  1035.  
  1036.  
  1037. v.Parent.Parent:findFirstChild("Humanoid") == nil then f2(v) end end
  1038.  
  1039. end) end
  1040.  
  1041.  
  1042.  
  1043. FindGround = function(pos) -- ground finder
  1044.  
  1045. local ax,ay,az = pos:toEulerAnglesXYZ()
  1046.  
  1047. local bhit,bpos=ray(pos.p,pos.p - (pos.p + v3(0,200,0)))
  1048.  
  1049. if bhit and bpos then
  1050.  
  1051. return cn(bpos)*ca(ax,ay,az)
  1052.  
  1053. end
  1054.  
  1055. return nil
  1056.  
  1057. end
  1058.  
  1059.  
  1060. function NPC(Name, Position) -- npc maker
  1061.  
  1062. local Character = Instance.new("Model")
  1063.  
  1064. Character.Name = Name
  1065.  
  1066. local Humanoid = Instance.new("Humanoid")
  1067.  
  1068. Humanoid.Parent = Character
  1069.  
  1070. local Template = Instance.new("Part")
  1071.  
  1072. Template.FormFactor = "Custom"
  1073.  
  1074. Template.Size = Vector3.new(1, 2, 1)
  1075.  
  1076. Template.Locked = true
  1077.  
  1078. local Head = Template:Clone()
  1079.  
  1080. Head.Name = "Head"
  1081.  
  1082. Head.TopSurface = "Smooth"
  1083.  
  1084. Head.BottomSurface = "Smooth"
  1085.  
  1086. Head.Size = Vector3.new(2, 1, 1)
  1087.  
  1088. Head.Parent = Character
  1089.  
  1090. local Mesh = Instance.new("SpecialMesh")
  1091.  
  1092. Mesh.MeshType = "Head"
  1093.  
  1094. Mesh.Scale = Vector3.new(1.25, 1.25, 1.25)
  1095.  
  1096. Mesh.Parent = Head
  1097.  
  1098. local Face = Instance.new("Decal")
  1099.  
  1100. Face.Name = "face"
  1101.  
  1102. Face.Texture = "rbxasset://textures/face.png"
  1103.  
  1104. Face.Parent = Head
  1105.  
  1106. local Torso = Template:Clone()
  1107.  
  1108. Torso.Name = "Torso"
  1109.  
  1110. Torso.LeftSurface = "Weld"
  1111.  
  1112. Torso.RightSurface = "Weld"
  1113.  
  1114. Torso.CFrame = CFrame.new(0, 10000, 0)
  1115.  
  1116. Torso.Size = Vector3.new(2, 2, 1)
  1117.  
  1118. Torso.Parent = Character
  1119.  
  1120. local TShirt = Instance.new("Decal")
  1121.  
  1122. TShirt.Name = "roblox"
  1123.  
  1124. TShirt.Parent = Torso
  1125.  
  1126. local LeftArm = Template:Clone()
  1127.  
  1128. LeftArm.Name = "Left Arm"
  1129.  
  1130. LeftArm.Parent = Character
  1131.  
  1132. local RightArm = Template:Clone()
  1133.  
  1134. RightArm.Name = "Right Arm"
  1135.  
  1136. RightArm.Parent = Character
  1137.  
  1138. local LeftLeg = Template:Clone()
  1139.  
  1140. LeftLeg.Name = "Left Leg"
  1141.  
  1142. LeftLeg.Parent = Character
  1143.  
  1144. local RightLeg = Template:Clone()
  1145.  
  1146. RightLeg.Name = "Right Leg"
  1147.  
  1148. RightLeg.Parent = Character
  1149.  
  1150. Character:BreakJoints()
  1151.  
  1152. local Neck = Instance.new("Weld")
  1153.  
  1154. Neck.Name = "Neck"
  1155.  
  1156. Neck.Part0 = Torso
  1157.  
  1158. Neck.Part1 = Head
  1159.  
  1160. Neck.C0 = CFrame.new(0, 1.5, 0)
  1161.  
  1162. Neck.Parent = Torso
  1163.  
  1164. local LeftShoulder = Instance.new("Motor")
  1165.  
  1166. LeftShoulder.Name = "Left Shoulder"
  1167.  
  1168. LeftShoulder.Part0 = Torso
  1169.  
  1170. LeftShoulder.Part1 = LeftArm
  1171.  
  1172. LeftShoulder.MaxVelocity = 0.1
  1173.  
  1174. LeftShoulder.C0 = CFrame.new(-Torso.Size.x / 2 - RightArm.Size.x / 2, LeftArm.Size.y / 4, 0) * CFrame.fromEulerAnglesXYZ(0, -
  1175.  
  1176.  
  1177. math.pi / 2, 0)
  1178.  
  1179. LeftShoulder.C1 = CFrame.new(0, LeftArm.Size.y / 4, 0) * CFrame.fromEulerAnglesXYZ(0, -math.pi / 2, 0)
  1180.  
  1181. LeftShoulder.Parent = Torso
  1182.  
  1183. local RightShoulder = Instance.new("Motor")
  1184.  
  1185. RightShoulder.Name = "Right Shoulder"
  1186.  
  1187. RightShoulder.Part0 = Torso
  1188.  
  1189. RightShoulder.Part1 = RightArm
  1190.  
  1191. RightShoulder.MaxVelocity = 0.1
  1192.  
  1193. RightShoulder.C0 = CFrame.new(Torso.Size.x / 2 + RightArm.Size.x / 2, RightArm.Size.y / 4, 0) * CFrame.fromEulerAnglesXYZ(0,
  1194.  
  1195.  
  1196. math.pi / 2, 0)
  1197.  
  1198. RightShoulder.C1 = CFrame.new(0, RightArm.Size.y / 4, 0) * CFrame.fromEulerAnglesXYZ(0, math.pi / 2, 0)
  1199.  
  1200. RightShoulder.Parent = Torso
  1201.  
  1202. local LeftHip = Instance.new("Motor")
  1203.  
  1204. LeftHip.Name = "Left Hip"
  1205.  
  1206. LeftHip.Part0 = Torso
  1207.  
  1208. LeftHip.Part1 = LeftLeg
  1209.  
  1210. LeftHip.MaxVelocity = 0.1
  1211.  
  1212. LeftHip.C0 = CFrame.new(-LeftLeg.Size.x / 2, -LeftLeg.Size.y / 2, 0) * CFrame.fromEulerAnglesXYZ(0, -math.pi / 2, 0)
  1213.  
  1214. LeftHip.C1 = CFrame.new(0, LeftLeg.Size.y / 2, 0) * CFrame.fromEulerAnglesXYZ(0, -math.pi / 2, 0)
  1215.  
  1216. LeftHip.Parent = Torso
  1217.  
  1218. local RightHip = Instance.new("Motor")
  1219.  
  1220. RightHip.Name = "Right Hip"
  1221.  
  1222. RightHip.Part0 = Torso
  1223.  
  1224. RightHip.Part1 = RightLeg
  1225.  
  1226. RightHip.MaxVelocity = 0.1
  1227.  
  1228. RightHip.C0 = CFrame.new(RightLeg.Size.x / 2, -RightLeg.Size.y / 2, 0) * CFrame.fromEulerAnglesXYZ(0, math.pi / 2, 0)
  1229.  
  1230. RightHip.C1 = CFrame.new(0, RightLeg.Size.y / 2, 0) * CFrame.fromEulerAnglesXYZ(0, math.pi / 2, 0)
  1231.  
  1232. RightHip.Parent = Torso
  1233.  
  1234. local BodyColors = Instance.new("BodyColors")
  1235.  
  1236. BodyColors.LeftArmColor = BrickColor.new("Bright yellow")
  1237.  
  1238. BodyColors.RightArmColor = BrickColor.new("Bright yellow")
  1239.  
  1240. BodyColors.LeftLegColor = BrickColor.new("Br. yellowish green")
  1241.  
  1242. BodyColors.RightLegColor = BrickColor.new("Br. yellowish green")
  1243.  
  1244.  
  1245. BodyColors.HeadColor = BrickColor.new("Bright yellow")
  1246.  
  1247. BodyColors.TorsoColor = BrickColor.new("Bright blue")
  1248.  
  1249. BodyColors.Parent = Character
  1250.  
  1251. Character.Parent = Workspace
  1252.  
  1253. Character:MoveTo(Position)
  1254.  
  1255. Character:MoveTo(Torso.Position + Vector3.new(0, 3, 0))
  1256.  
  1257. return Character
  1258.  
  1259. end
  1260.  
  1261.  
  1262. AddBV=function(str,cfr,par,debt)
  1263.  
  1264. if not par then return end
  1265.  
  1266. if par:findFirstChild'LibBV' then par.LibBV:Remove() end
  1267.  
  1268. tbbodyvelocity=qi{'BodyVelocity',par,velocity=cfr.lookVector*str,maxForce=v3(1/0,1/0,1/0),Name='LibBV'} deb:AddItem(tbbodyvelocity,debt)
  1269.  
  1270. end
  1271.  
  1272.  
  1273. AddBG=function(str,par,debt)
  1274.  
  1275. if not par then return end
  1276.  
  1277. if par:findFirstChild'LibBG' then par.LibBG:Remove() end
  1278.  
  1279. tbbodygyro=qi{'BodyGyro',par,maxTorque=v3(1/0,1/0,1/0),P=100000,cframe=str,Name='LibBG'} deb:AddItem(tbbodygyro,debt)
  1280.  
  1281. end
  1282.  
  1283.  
  1284. AddBAV=function(vec3,par,debt)
  1285.  
  1286. if not par then return end
  1287.  
  1288. if par:findFirstChild'LibBAV' then par.LibBAV:Remove() end
  1289.  
  1290. tbbodyangularvelocity=qi{'BodyAngularVelocity',par,maxTorque=v3(1/0,1/0,1/0),angularvelocity=vec3,Name='LibBAV'} deb:AddItem(tbbodyangularvelocity,debt)
  1291.  
  1292. end
  1293.  
  1294.  
  1295. Dmg = function(Hum,Dealt,Hitter)
  1296.  
  1297. local HM=Hum.Parent
  1298.  
  1299. local HMT,HMB=HM:findFirstChild'Torso',HM:findFirstChild'Block'
  1300.  
  1301. local Blocks=HMB and HMB.Value>0
  1302.  
  1303. if HMT then
  1304.  
  1305. local mm=qi{'Model',HMT} qi{'Humanoid',mm,MaxHealth=0} deb:AddItem(mm,1)
  1306.  
  1307. local mp= qi{'Part',mm,Name='Head',formFactor="Custom",Anchored=true,CanCollide=false,Size=v3(1,0.2,1),CFrame=HMT.CFrame*cn(rn(-
  1308.  
  1309.  
  1310. 100,100)/50,3,rn(-100,100)/50)} qi{'BlockMesh',mp}
  1311.  
  1312. if Blocks then
  1313.  
  1314. mm.Name='Block!'
  1315.  
  1316. mp.BrickColor=bn'Bright blue'
  1317.  
  1318. HMB.Value=HMB.Value-1
  1319.  
  1320. else
  1321.  
  1322. mm.Name=Dealt
  1323.  
  1324. mp.BrickColor=bn'Bright red'
  1325.  
  1326. end
  1327.  
  1328. end
  1329.  
  1330. if not Blocks then
  1331.  
  1332. Hum.Health=Hum.Health-Dealt
  1333.  
  1334. end
  1335.  
  1336. end
  1337.  
  1338.  
  1339. GetHum = function(part)
  1340.  
  1341. local Hum,HT,block
  1342.  
  1343. for i,v in pairs(part.Parent:children()) do
  1344.  
  1345. if v:IsA("Humanoid") then
  1346.  
  1347. Hum=v
  1348.  
  1349. elseif v.Name=='Torso' then
  1350.  
  1351. HT=v
  1352.  
  1353. elseif v.Name=='Block' and v:IsA("NumberValue") then
  1354.  
  1355. block=v
  1356.  
  1357. end
  1358.  
  1359. end
  1360.  
  1361. return Hum,HT,block
  1362.  
  1363. end
  1364.  
  1365.  
  1366. Lightning = function(p0,p1,tym,ofs,col,th,tra) -- start end times offset color thickness
  1367.  
  1368. local magz = (p0 - p1).magnitude local curpos = p0 local trz = {-ofs,ofs}
  1369.  
  1370. for i=1,tym do
  1371.  
  1372. local li = it("Part",c) li.TopSurface =0 li.BottomSurface = 0 li.Anchored = true li.Transparency = tra or 0.4 li.BrickColor = bc(col)
  1373.  
  1374. li.formFactor = "Custom" li.CanCollide = false li.Size = v3(th,th,magz/tym) local ofz = v3(trz[rn(1,2)],trz[rn(1,2)],trz[rn(1,2)])
  1375.  
  1376. local trolpos = cn(curpos,p1)*cn(0,0,magz/tym).p+ofz
  1377.  
  1378. if tym == i then
  1379.  
  1380. local magz2 = (curpos - p1).magnitude li.Size = v3(th,th,magz2)
  1381.  
  1382. li.CFrame = cn(curpos,p1)*cn(0,0,-magz2/2)
  1383.  
  1384. else
  1385.  
  1386. li.CFrame = cn(curpos,trolpos)*cn(0,0,magz/tym/2)
  1387.  
  1388. end
  1389.  
  1390. curpos = li.CFrame*cn(0,0,magz/tym/2).p de(li,0.25)
  1391.  
  1392. end
  1393.  
  1394. end
  1395.  
  1396.  
  1397. MakeCrater = function(pos,sc,tyms,debz,par) -- crater maker
  1398.  
  1399. q(function()
  1400.  
  1401. if not debz then
  1402.  
  1403. debz = 5
  1404.  
  1405. end
  1406.  
  1407. local bhit,bpos=ray(pos,pos - (pos + v3(0,200,0))) if bhit and bpos then
  1408.  
  1409. for i=1,tyms do
  1410.  
  1411. q(function()
  1412.  
  1413. local gr = pa(par or workspace,"","Block",rn(5,13)/10*sc,0.25*sc,rn(4,10)/10*sc,true,true,bhit.Transparency,bhit.Reflectance,bhit.BrickColor.Name)
  1414.  
  1415. gr.Material = bhit.Material
  1416.  
  1417. gr.TopSurface = bhit.TopSurface
  1418.  
  1419. gr.CFrame = cn(bpos+v3(rn(-12,12)/10*sc,0,rn(-12,12)/10*sc))*ca(rd(rn(-40,40)),rd(rn(-360,360)),rd(rn(-40,40)))
  1420.  
  1421. wait(debz)
  1422.  
  1423. fade(gr,0.1)
  1424.  
  1425. end)
  1426.  
  1427. end
  1428.  
  1429. end
  1430.  
  1431. end)
  1432.  
  1433. end
  1434.  
  1435.  
  1436. MakeCrack = function(pos,sc,debz,par) -- crackmaker
  1437.  
  1438. q(function()
  1439.  
  1440. if not debz then
  1441.  
  1442. debz = 5
  1443.  
  1444. end
  1445.  
  1446. local bhit,bpos=ray(pos,pos - (pos + v3(0,10,0)))
  1447.  
  1448. if bhit and bpos then
  1449.  
  1450. local cr = pa(par or workspace,"Crack","Block",sc,0,sc,false,true,1,0,"") cr.CFrame = cn(bpos)
  1451.  
  1452. local dec=qi({"Decal",cr,Face="Top",Texture=ds.Crack}) de(cr,debz)
  1453.  
  1454. end
  1455.  
  1456. end)
  1457.  
  1458. end
  1459.  
  1460.  
  1461. a = {}
  1462.  
  1463. a.insw={}
  1464.  
  1465. function cleanweld(wexx,namzi)
  1466.  
  1467. local tn=ft2(a.insw,wexx)
  1468.  
  1469. if tn==nil then return end
  1470.  
  1471. if namzi=="p0" then
  1472.  
  1473. a.insw[tn][2]["p0x"],a.insw[tn][2]["p0y"],a.insw[tn][2]["p0z"]=0,0,0 elseif namzi=="p1" then
  1474.  
  1475. a.insw[tn][2]["p1x"],a.insw[tn][2]["p1y"],a.insw[tn][2]["p1z"]=0,0,0 elseif namzi=="a0" then
  1476.  
  1477. a.insw[tn][2]["a0x"],a.insw[tn][2]["a0y"],a.insw[tn][2]["a0z"]=0,0,0 elseif namzi=="a1" then
  1478.  
  1479. a.insw[tn][2]["a1x"],a.insw[tn][2]["a1y"],a.insw[tn][2]["a1z"]=0,0,0
  1480.  
  1481. end
  1482.  
  1483. end
  1484.  
  1485. function c2(wexx,smmx,c0orc1,aa,bb,cc,xx,yy,zz)
  1486.  
  1487. q(function()
  1488.  
  1489. c1(wexx,smmx,c0orc1,aa,bb,cc,xx,yy,zz)
  1490.  
  1491. end)
  1492.  
  1493. end
  1494.  
  1495. a.Welding=0
  1496.  
  1497. function c1(wexx,smmx,c0orc1,aa,bb,cc,xx,yy,zz)
  1498.  
  1499. if ft2(a.insw,wexx)==nil then
  1500.  
  1501. ti(a.insw,{wexx,{}})
  1502.  
  1503. local tn=ft2(a.insw,wexx)
  1504.  
  1505. a.insw[tn][2]["p0x"],a.insw[tn][2]["p0y"],a.insw[tn][2]["p0z"]=wexx.C0.x,wexx.C0.y,wexx.C0.z
  1506.  
  1507. a.insw[tn][2]["p1x"],a.insw[tn][2]["p1y"],a.insw[tn][2]["p1z"]=wexx.C1.x,wexx.C1.y,wexx.C1.z
  1508.  
  1509. a.insw[tn][2]["a0x"],a.insw[tn][2]["a0y"],a.insw[tn][2]["a0z"]=wexx.C0:toEulerAnglesXYZ()
  1510.  
  1511. a.insw[tn][2]["a1x"],a.insw[tn][2]["a1y"],a.insw[tn][2]["a1z"]=wexx.C1:toEulerAnglesXYZ()
  1512.  
  1513. end
  1514.  
  1515. local tn=ft2(a.insw,wexx)
  1516.  
  1517. local xx2,yy2,zz2=0,0,0
  1518.  
  1519. local x2,y2,z2=0,0,0
  1520.  
  1521. if c0orc1==0 then
  1522.  
  1523. xx2,yy2,zz2=a.insw[tn][2]["a0x"],a.insw[tn][2]["a0y"],a.insw[tn][2]["a0z"]
  1524.  
  1525. x2,y2,z2=a.insw[tn][2]["p0x"],a.insw[tn][2]["p0y"],a.insw[tn][2]["p0z"]
  1526.  
  1527. elseif c0orc1==1 then
  1528.  
  1529. xx2,yy2,zz2=a.insw[tn][2]["a1x"],a.insw[tn][2]["a1y"],a.insw[tn][2]["a1z"]
  1530.  
  1531. x2,y2,z2=a.insw[tn][2]["p1x"],a.insw[tn][2]["p1y"],a.insw[tn][2]["p1z"]
  1532.  
  1533. else
  1534.  
  1535. xx2,yy2,zz2=a.insw[tn][2]["a1x"],a.insw[tn][2]["a1y"],a.insw[tn][2]["a1z"]
  1536.  
  1537. x2,y2,z2=a.insw[tn][2]["p0x"],a.insw[tn][2]["p0y"],a.insw[tn][2]["p0z"]
  1538.  
  1539. end a.Welding=a.Welding + 1
  1540.  
  1541. local twa=1
  1542.  
  1543. if smmx >= 1 then
  1544.  
  1545. else
  1546.  
  1547. for i=smmx,0.8,smmx do
  1548.  
  1549. twa = 1
  1550.  
  1551. if c0orc1==0 then
  1552.  
  1553. wexx.C0=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)) *ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)
  1554.  
  1555.  
  1556. *i),zz2-(((zz2-rd(zz))/twa)*i))
  1557.  
  1558. elseif c0orc1==1 then
  1559.  
  1560. wexx.C1=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)) *ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)
  1561.  
  1562.  
  1563. *i),zz2-(((zz2-rd(zz))/twa)*i))
  1564.  
  1565. else local x,y,z = wexx.C0:toEulerAnglesXYZ()
  1566.  
  1567. wexx.C0=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i))*ca(x,y,z)
  1568.  
  1569. wexx.C1=cn(wexx.C1.x,wexx.C1.y,wexx.C1.z)*ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i))
  1570.  
  1571. end
  1572.  
  1573. if fu then
  1574.  
  1575. q(fu)
  1576.  
  1577. end
  1578.  
  1579. wait()
  1580.  
  1581. end
  1582.  
  1583. for i=0.8,1,smmx*0.45 do
  1584.  
  1585. twa = 1
  1586.  
  1587. if c0orc1==0 then
  1588.  
  1589. wexx.C0=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)) *ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)
  1590.  
  1591.  
  1592. *i),zz2-(((zz2-rd(zz))/twa)*i))
  1593.  
  1594. elseif c0orc1==1 then
  1595.  
  1596. wexx.C1=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)) *ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)
  1597.  
  1598.  
  1599. *i),zz2-(((zz2-rd(zz))/twa)*i))
  1600.  
  1601. else local x,y,z = wexx.C0:toEulerAnglesXYZ()
  1602.  
  1603. wexx.C0=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i))*ca(x,y,z)
  1604.  
  1605. wexx.C1=cn(wexx.C1.x,wexx.C1.y,wexx.C1.z)*ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i))
  1606.  
  1607. end
  1608.  
  1609. wait()
  1610.  
  1611. end
  1612.  
  1613. end
  1614.  
  1615. local i=1
  1616.  
  1617. if c0orc1==0 then
  1618.  
  1619. wexx.C0=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)) *ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)
  1620.  
  1621.  
  1622. *i),zz2-(((zz2-rd(zz))/twa)*i))
  1623.  
  1624. elseif c0orc1==1 then
  1625.  
  1626. wexx.C1=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)) *ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)
  1627.  
  1628.  
  1629. *i),zz2-(((zz2-rd(zz))/twa)*i))
  1630.  
  1631. else local x,y,z = wexx.C0:toEulerAnglesXYZ()
  1632.  
  1633. wexx.C0=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i))*ca(x,y,z)
  1634.  
  1635. wexx.C1=cn(wexx.C1.x,wexx.C1.y,wexx.C1.z)*ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i))
  1636.  
  1637. end
  1638.  
  1639. a.Welding=a.Welding - 1
  1640.  
  1641. local tn=ft2(a.insw,wexx)
  1642.  
  1643. if c0orc1==0 then
  1644.  
  1645. a.insw[tn][2]["p0x"],a.insw[tn][2]["p0y"],a.insw[tn][2]["p0z"]=x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)
  1646.  
  1647. a.insw[tn][2]["a0x"],a.insw[tn][2]["a0y"],a.insw[tn][2]["a0z"]=xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i)
  1648.  
  1649. elseif c0orc1==1 then
  1650.  
  1651. a.insw[tn][2]["p1x"],a.insw[tn][2]["p1y"],a.insw[tn][2]["p1z"]=x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)
  1652.  
  1653. a.insw[tn][2]["a1x"],a.insw[tn][2]["a1y"],a.insw[tn][2]["a1z"]=xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i)
  1654.  
  1655. elseif c0orc1==3 then
  1656.  
  1657. local x,y,z=wexx.C0.x,wexx.C0.y,wexx.C0.z
  1658.  
  1659. a.insw[tn][2]["p0x"],a.insw[tn][2]["p0y"],a.insw[tn][2]["p0z"]=x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)
  1660.  
  1661. local x,y,z=wexx.C1:toEulerAnglesXYZ()
  1662.  
  1663. a.insw[tn][2]["a1x"],a.insw[tn][2]["a1y"],a.insw[tn][2]["a1z"]=xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i)
  1664.  
  1665. end
  1666.  
  1667. end
  1668.  
  1669.  
  1670. Welds={}
  1671.  
  1672. Ani=function(w,a,b,c,d,e,f,ty,inc,sined)
  1673.  
  1674. if not Welds[w] then
  1675.  
  1676. local d0,e0,f0=w.C0:toEulerAnglesXYZ() local d1,e1,f1=w.C1:toEulerAnglesXYZ()
  1677.  
  1678. local d0,e0,f0=mdeg(d0),mdeg(e0),mdeg(f0) local d1,e1,f1=mdeg(d1),mdeg(e1),mdeg(f1)
  1679.  
  1680. Welds[w]={[0]={w.C0.x,w.C0.y,w.C0.z,d0,e0,f0},[1]={w.C1.x,w.C1.y,w.C1.z,d1,e1,f1}}
  1681.  
  1682. end
  1683.  
  1684. local c0,c1=Welds[w][0],Welds[w][1]
  1685.  
  1686. c0[1],c0[2],c0[3]=w.C0.x,w.C0.y,w.C0.z
  1687.  
  1688. c1[1],c1[2],c1[3]=w.C1.x,w.C1.y,w.C1.z
  1689.  
  1690. local A0,B0,C0,D0,E0,F0 = unpack(c0)
  1691.  
  1692. local A1,B1,C1,D1,E1,F1 = unpack(c1)
  1693.  
  1694. local Do = function(i)
  1695.  
  1696. if ty==0 then
  1697.  
  1698. w.C0=cn( A0-((A0-a)*i) , B0-((B0-b)*i) , C0-((C0-c)*i) ) * ca2( D0-((D0-d)*i) , E0-(((E0-e)/1)*i) , F0-((F0-f)*i) )
  1699.  
  1700. elseif ty==1 then
  1701.  
  1702. w.C1=cn( A1-((A1-a)*i) , B1-((B1-b)*i) , C1-((C1-c)*i) ) * ca2( D1-((D1-d)*i) , E1-(((E1-e)/1)*i) , F1-((F1-f)*i) )
  1703.  
  1704. else
  1705.  
  1706. w.C0=cn( A0-((A0-a)*i) , B0-((B0-b)*i) , C0-((C0-c)*i) ) * ca2(D0,E0,F0)
  1707.  
  1708. w.C1=cn(A1,B1,C1) * ca2( D1-((D1-d)*i) , E1-(((E1-e)/1)*i) , F1-((F1-f)*i) )
  1709.  
  1710. end
  1711.  
  1712. end
  1713.  
  1714. for i=inc,1,inc do
  1715.  
  1716. Do(sined and math.sin(math.pi/2*i) or i)
  1717.  
  1718. wait()
  1719.  
  1720. end
  1721.  
  1722. Do(1)
  1723.  
  1724. if ty==0 then
  1725.  
  1726. c0[4],c0[5],c0[6]=d,e,f
  1727.  
  1728. else
  1729.  
  1730. c1[4],c1[5],c1[6]=d,e,f
  1731.  
  1732. end
  1733.  
  1734. end
  1735.  
  1736. qAni=function(w,a,b,c,d,e,f,ty,inc,sined) q(function() Ani(w,a,b,c,d,e,f,ty,inc,sined) end) end
  1737.  
  1738. rAni=function(w)
  1739.  
  1740. Welds[w]=nil
  1741.  
  1742. end
  1743.  
  1744.  
  1745. gunshot = function(speed,sc,dmg,cff) q(function() -- gunshot function
  1746.  
  1747. local bb = pa(workspace,"bullet","Block",0.2*sc,0.3*sc,0.2*sc,true,true,0,0.1,"Black") qi({"CylinderMesh",bb})
  1748.  
  1749. bb.CFrame = cff*ca(rd(rn(-1000,1000)/1500),rd(rn(-1000,1000)/1500),rd(rn(-1000,1000)/1500))
  1750.  
  1751. so(ds.Fire,bb,0.3,1) wait() for i=1,50 do
  1752.  
  1753. bhit,bpos=ray(bb.Position,bb.Position - (bb.CFrame *cn(0,-1,0)).p)
  1754.  
  1755. if bhit and bhit.Name ~= "bullet" and bhit.Name ~= "bullethole" and bpos and (bpos - bb.Position).magnitude < speed then break end
  1756.  
  1757. bb.CFrame=bb.CFrame*cn(0,speed,0)*ca(rd(-0.2),0,0)
  1758.  
  1759. wait()
  1760.  
  1761. end bb.CFrame=bb.CFrame*cn(0,(bpos-bb.Position).magnitude,0)
  1762.  
  1763. if not bhit.Anchored then
  1764.  
  1765. if bhit.Parent:findFirstChild("Humanoid") then local h = bhit.Parent.Humanoid h.Health=h.Health-dmg so(ds.Hit,bhit,0.3,1) end
  1766.  
  1767. else if bhit.Name~="Base" then bhit.Anchored=false bhit:BreakJoints() end end bb:Remove()
  1768.  
  1769. if bhit.Parent:findFirstChild("Humanoid") == nil then BulletHole(bpos,bhit,0.7*sc) end
  1770.  
  1771. end) end
  1772.  
  1773.  
  1774. dive = function(ob2,pro,ite,stof)
  1775.  
  1776. local function div(ob) for i,v in pairs(ob:children()) do if v[pro] == ite then
  1777.  
  1778. for i=1,#stof do v[stof[i][1]] = stof[i][2] end else div(v) end end end
  1779.  
  1780. div(ob2)
  1781.  
  1782. end
  1783.  
  1784.  
  1785. fc = function(ob,cl)
  1786.  
  1787. for i,v in pairs(ob:children()) do if v.className:lower()==cl:lower() then return v end end
  1788.  
  1789. end
  1790.  
  1791.  
  1792. function se(Key,Text)
  1793.  
  1794. local Values = {}
  1795.  
  1796. for value in (Text..Key):gmatch("(.-)"..Key) do
  1797.  
  1798. table.insert(Values,value)
  1799.  
  1800. end return Values
  1801.  
  1802. end
  1803.  
  1804.  
  1805. local thefenv = getfenv()
  1806.  
  1807. getfenv()["rmhelp"] = function()
  1808.  
  1809. local nus = 0
  1810.  
  1811. for i,v in pairs(thefenv) do if i ~= "wait" and i ~= "script" then nus = nus + 1 wait(0.05)
  1812.  
  1813. print(string.rep(" ",3-#tostring(nus)) ..nus.. ") " ..i.. " (" ..type(v).. ")")
  1814.  
  1815. end
  1816.  
  1817. end
  1818.  
  1819. end
  1820.  
  1821.  
  1822. for i,v in pairs(thefenv) do
  1823.  
  1824. _G[i] = v --print(i)
  1825.  
  1826. end
  1827.  
  1828.  
  1829. _G[" rm".."dx "] = [[
  1830.  
  1831. for i,v in pairs(_G) do
  1832.  
  1833. if i ~= "wait" and i ~= "script" then
  1834.  
  1835. getfenv()[i] = v
  1836.  
  1837. end
  1838.  
  1839. end
  1840.  
  1841. ]]
  1842.  
  1843.  
  1844.  
  1845.  
  1846.  
  1847.  
  1848.  
  1849.  
  1850.  
  1851.  
  1852.  
  1853.  
  1854.  
  1855.  
  1856.  
  1857.  
  1858.  
  1859.  
  1860.  
  1861.  
  1862.  
  1863.  
  1864.  
  1865.  
  1866.  
  1867.  
  1868.  
  1869.  
  1870.  
  1871.  
  1872.  
  1873.  
  1874.  
  1875.  
  1876.  
  1877.  
  1878.  
  1879.  
  1880.  
  1881.  
  1882.  
  1883.  
  1884.  
  1885.  
  1886.  
  1887.  
  1888.  
  1889.  
  1890.  
  1891. script:ClearAllChildren()
  1892.  
  1893. loadstring(_G[" rmdx "])()
  1894.  
  1895.  
  1896. Player=game:GetService("Players").LocalPlayer
  1897.  
  1898. Char=Player.Character
  1899.  
  1900. Backpack=Player.Backpack
  1901.  
  1902. PlayerGui=Player.PlayerGui
  1903.  
  1904. Torso=Char.Torso
  1905.  
  1906. Head=Char.Head
  1907.  
  1908. Hum=Char.Humanoid
  1909.  
  1910. Cam=workspace.CurrentCamera
  1911.  
  1912. Tn="Rocket Launcher"
  1913.  
  1914.  
  1915. pcall(function() Backpack[Tn]:Remove() end)
  1916.  
  1917. pcall(function() Cam[Tn]:Remove() end)
  1918.  
  1919. pcall(function() thesuit=Char[''] end)
  1920.  
  1921. pcall(function() thesuit[Tn]:Remove() end)
  1922.  
  1923. pcall(function() PlayerGui[Tn]:Remove() end)
  1924.  
  1925.  
  1926. CModel=qi{'Model',Cam,Name=Tn}
  1927.  
  1928. Tool=qi{'HopperBin',Player.Backpack,Name=Tn}
  1929.  
  1930. Suit=qi{'Model',Char,Name=''}
  1931.  
  1932. Weapon=qi{'Model',Suit,Name=Tn}
  1933.  
  1934. Gui=qi{'ScreenGui',PlayerGui,Name=Tn}
  1935.  
  1936.  
  1937. Mode="Normal"
  1938.  
  1939. equip="unequipped"
  1940.  
  1941. anim=""
  1942.  
  1943. keys={}
  1944.  
  1945. fmouse=nil
  1946.  
  1947. Gyr0z=false
  1948.  
  1949. LastShot=0
  1950.  
  1951.  
  1952. ids = {}
  1953.  
  1954. ids.Shoot = 2691586
  1955.  
  1956. ids.Shoot2 = 10209842
  1957.  
  1958. ids.Ring = 3270017
  1959.  
  1960. ids.Fire = 10209821
  1961.  
  1962. ids.Crown = 20329976
  1963.  
  1964. ids.Crown2 = 1323306
  1965.  
  1966. ids.Icon = 52611635
  1967.  
  1968. ids.Spike = 1033714
  1969.  
  1970. ids.Hit = 10209590
  1971.  
  1972. ids.Explode = 2697431
  1973.  
  1974. ids.Rocket = 103970395
  1975.  
  1976.  
  1977. for i,v in pairs(ids) do
  1978.  
  1979. if type(v)=='number' then
  1980.  
  1981. ids[i]='http://www.roblox.com/asset/?id='..v
  1982.  
  1983. end
  1984.  
  1985. end
  1986.  
  1987.  
  1988. Limbs={LS=Torso:findFirstChild'Left Shoulder',RS=Torso:findFirstChild'Right Shoulder',LH=Torso:findFirstChild'Left Hip',RH=Torso:findFirstChild'Right Hip'}
  1989.  
  1990. if _G.Limbz then
  1991.  
  1992. Limbs.LS=Limbs.LS or _G.Limbz.LS
  1993.  
  1994. Limbs.RS=Limbs.RS or _G.Limbz.RS
  1995.  
  1996. Limbs.LH=Limbs.LH or _G.Limbz.LH
  1997.  
  1998. Limbs.RH=Limbs.RH or _G.Limbz.RH
  1999.  
  2000. end
  2001.  
  2002. _G.Limbz=Limbs
  2003.  
  2004. Torso.Neck.C0=cn(0,1.5,0) Torso.Neck.C1=cn(0,0,0)
  2005.  
  2006. c2(Torso.Neck,1,3,0,1.5,0,0,0,0)
  2007.  
  2008. LS,RS,LH,RH=Limbs.LS,Limbs.RS,Limbs.LH,Limbs.RH
  2009.  
  2010. LA,RA,LL,RL=Char['Left Arm'],Char['Right Arm'],Char['Left Leg'],Char['Right Leg']
  2011.  
  2012. LS.Part0,RS.Part0,LH.Part0,RH.Part0=Torso,Torso,Torso,Torso
  2013.  
  2014. LS.Part1,RS.Part1,LH.Part1,RH.Part1=LA,RA,LL,RL
  2015.  
  2016.  
  2017. pcall(function() thesuit:Remove() end)
  2018.  
  2019.  
  2020. pcall(function() Head.face.Transparency=0 end)
  2021.  
  2022. Head.Transparency=0.99 Torso.Transparency=1
  2023.  
  2024. fTorso=pa(Suit,"FTorso","Block",2,2,1,false,false,0,0,Torso.BrickColor.Name) neck=Torso.Neck
  2025.  
  2026. tw=weld(fTorso,Torso,fTorso,0,0,0,0,0,0) qi{"BlockMesh",fTorso}
  2027.  
  2028. fHead=pa(Suit,"FHead","Block",2,1,1,false,false,0,0,Head.BrickColor.Name)
  2029.  
  2030. hw=weld(fHead,fTorso,fHead,0,1.5,0,0,0,0) qi{"SpecialMesh",fHead,Scale=v3(1.15,1.15,1.15)} Head.face:Clone().Parent=fHead Head.face.Transparency=1
  2031.  
  2032. la=qi{'Weld',fTorso,Part0=fTorso,C0=cn(-1.5,0.5,0),C1=cn(0,0.5,0)} ra=qi{'Weld',fTorso,Part0=fTorso,C0=cn(1.5,0.5,0),C1=cn(0,0.5,0)}
  2033.  
  2034. ll=qi{'Weld',fTorso,Part0=fTorso,C0=cn(-0.5,-1,0),C1=cn(0,1,0)} rl=qi{'Weld',fTorso,Part0=fTorso,C0=cn(0.5,-1,0),C1=cn(0,1,0)}
  2035.  
  2036. newhats(Char,fHead,Head) ClearClass(Char,"Hat") Hum.MaxHealth=200 Hum.Health=Hum.MaxHealth
  2037.  
  2038.  
  2039. Armz=false
  2040.  
  2041. Legz=false
  2042.  
  2043. Arms = function(on) Armz=on
  2044.  
  2045. if on then
  2046.  
  2047. LS.Part1=nil RS.Part1=nil
  2048.  
  2049. la.Part0=fTorso ra.Part0=fTorso
  2050.  
  2051. la.Part1=LA ra.Part1=RA
  2052.  
  2053. la.C0,la.C1=cn(-1.5,0.5,0),cn(0,0.5,0)
  2054.  
  2055. ra.C0,ra.C1=cn(1.5,0.5,0),cn(0,0.5,0)
  2056.  
  2057. else
  2058.  
  2059. LS.Parent,RS.Parent=fTorso,fTorso LS.Part0=fTorso RS.Part0=fTorso LS.Part1=LA RS.Part1=RA
  2060.  
  2061. la.Part1=nil ra.Part1=nil
  2062.  
  2063. end
  2064.  
  2065. end
  2066.  
  2067.  
  2068. Legs = function(on) Legz=on
  2069.  
  2070. if on then
  2071.  
  2072. LH.Part1=nil RH.Part1=nil
  2073.  
  2074. ll.Part0=fTorso rl.Part0=fTorso
  2075.  
  2076. ll.Part1=LL rl.Part1=RL
  2077.  
  2078. ll.C0,ll.C1=cn(-0.5,-1,0),cn(0,1,0)
  2079.  
  2080. rl.C0,rl.C1=cn(0.5,-1,0),cn(0,1,0)
  2081.  
  2082. else
  2083.  
  2084. LH.Parent,RH.Parent=fTorso,fTorso LH.Part0=fTorso RH.Part0=fTorso LH.Part1=LL RH.Part1=RL
  2085.  
  2086. ll.Part1=nil rl.Part1=nil
  2087.  
  2088. end
  2089.  
  2090. end
  2091.  
  2092. Arms'' Legs''
  2093.  
  2094.  
  2095. WDesign=function()
  2096.  
  2097. hp=pa(Weapon,"","Block",0,0,0,false,false,1,0) haw=weld(hp,Torso,hp,1,1,0.6,rd(180),0,rd(90))
  2098.  
  2099. ha=pa(Weapon,"","Block",0.25,0.9,0.4,false,false,0,0,"Br. yellowish orange") weld(ha,hp,ha,0,0,0,0,rd(90),0)
  2100.  
  2101. p=pa(Weapon,"","Block",0.35,0.5,0.45,false,false,0,0,"Dark stone grey") weld(p,ha,p,0,0.45+0.25,0,0,0,0) qi{'BlockMesh',p}
  2102.  
  2103. p=pa(Weapon,"","Block",0.35,0.4,0.8,false,false,0,0,"Dark stone grey") weld(p,ha,p,0,0.9+0.25,-0.175,0,0,0) qi{'BlockMesh',p}
  2104.  
  2105. p=pa(Weapon,"","Block",0.35,0.2,0.2,false,false,0,0,"Dark stone grey") weld(p,ha,p,0,1.05,0.325,rd(180),0,0) qi{'SpecialMesh',p,MeshType="Wedge"}
  2106.  
  2107. p=pa(Weapon,"","Block",0.35,0.2,0.2,false,false,0,0,"Dark stone grey") weld(p,ha,p,0,1.25,0.325,0,0,0) qi{'BlockMesh',p}
  2108.  
  2109. tr=pa(Weapon,"","Block",0.2,0.2,0.2,false,false,0,0,"Dark stone grey") weld(tr,ha,tr,0,0.8,-0.35,0,rd(90),0) qi{'SpecialMesh',tr,MeshId=ids.Ring,Scale=v3(0.4,0.4,1)}
  2110.  
  2111. p=pa(Weapon,"","Block",0.2,0.25,0.2,false,false,0,0,"Dark stone grey") weld(p,tr,p,-0.15,0,0,0,0,rd(10)) qi{'BlockMesh',p,Scale=v3(1,1,0.5)}
  2112.  
  2113. bp=pa(Weapon,"","Block",0.7,2.5,0.7,false,false,0,0,"Dark stone grey") weld(bp,ha,bp,0,1.6,-0.5-0.125,rd(90),0,0) qi{'CylinderMesh',bp}
  2114.  
  2115. p=pa(Weapon,"","Block",1,1,1,false,false,0,0,"Br. yellowish orange") weld(p,bp,p,0,1.25,0,rd(180),0,0) qi{'SpecialMesh',p,Scale=v3(0.4,4,0.4),MeshId=ids.Spike}
  2116.  
  2117. p=pa(Weapon,"","Block",0.9,0.2,0.9,false,false,0,0,"Dark stone grey") weld(p,bp,p,0,2.7,0,0,0,0) qi{'CylinderMesh',p}
  2118.  
  2119. p=pa(Weapon,"","Block",1,1,1,false,false,0,0,"Br. yellowish orange") weld(p,bp,p,0,3.1,0,0,0,0) qi{'SpecialMesh',p,Scale=v3(0.4,1,0.4),MeshId=ids.Spike}
  2120.  
  2121. p=pa(Weapon,"","Block",0.6,0.5,0.6,false,false,0,0,"Dark stone grey") weld(p,bp,p,0,3.35,0,0,0,0) qi{'CylinderMesh',p}
  2122.  
  2123. p=pa(Weapon,"","Block",0.7,0.2,0.7,false,false,0,0,"Dark stone grey") weld(p,bp,p,0,3.25,0,0,0,0) qi{'CylinderMesh',p,Scale=v3(1,0.5,1)}
  2124.  
  2125. p=pa(Weapon,"","Block",0.7,0.2,0.7,false,false,0,0,"Dark stone grey") weld(p,bp,p,0,3.45,0,0,0,0) qi{'CylinderMesh',p,Scale=v3(1,0.5,1)}
  2126.  
  2127. for i=0,360,360/10 do
  2128.  
  2129. local p=pa(Weapon,"","Block",0.2,1,0.5,false,false,0,0,"Dark stone grey") local pw=weld(p,bp,p,0,0,0,0,0,0) qi{'BlockMesh',p,Scale=v3(0.5,1,1)}pw.C0=cn(0,3.9,0)*ca(0,rd(i),0)*cn(0.5,0,0)*ca(0,0,rd(-35))
  2130.  
  2131. local p=pa(Weapon,"","Block",0.3,0.2,0.7,false,false,0,0,"Dark stone grey") local pw=weld(p,bp,p,0,0,0,0,0,0) qi{'BlockMesh',p,Scale=v3(1,0.5,1)}pw.C0=cn(0,4.3,0)*ca(0,rd(i),0)*cn(0.9,0,0)
  2132.  
  2133. end
  2134.  
  2135. bar=pa(Weapon,"","Block",0.65,1.2,0.65,false,false,0,0,"Dark stone grey") weld(bar,bp,bar,0,-1.5,0,0,0,0) qi{'CylinderMesh',bar}
  2136.  
  2137. p=pa(Weapon,"","Block",0.45,1,0.45,false,false,0,0,"Really black") weld(p,bar,p,0,-0.6,0,0,0,0) qi{'CylinderMesh',p,Scale=v3(1,0.02,1)}
  2138.  
  2139. p=pa(Weapon,"","Block",0.25,1.5,0.4,false,false,0,0,"Br. yellowish orange") weld(p,ha,p,0,0.3,-1.8,0,0,0) qi{'BlockMesh',p}
  2140.  
  2141. p=pa(Weapon,"","Block",0.35,0.5,0.9,false,false,0,0,"Dark stone grey") weld(p,ha,p,0,1.1,-1.8,0,0,0) qi{'BlockMesh',p}
  2142.  
  2143. p=pa(Weapon,"","Block",0.2,0.3,0.4,false,false,0,0,"Dark stone grey") weld(p,bar,p,-0.1,0,-0.3,rd(90),0,0) qi{'BlockMesh',p}
  2144.  
  2145. pb=pa(Weapon,"","Block",0.3,0.2,0.5,false,false,0,0,"Dark stone grey") weld(pb,bar,pb,-0.1,0,-0.5,rd(-90),0,0) qi{'BlockMesh',pb,Scale=v3(1,0.5,1)}
  2146.  
  2147. p=pa(Weapon,"","Block",0.2,0.3,0.5,false,false,0,0,"Dark stone grey") weld(p,pb,p,-0.125,0.2,0,0,0,0) qi{'SpecialMesh',p,MeshType="Wedge",Scale=v3(0.25,1,1)}
  2148.  
  2149. p=pa(Weapon,"","Block",0.2,0.3,0.5,false,false,0,0,"Dark stone grey") weld(p,pb,p,0.125,0.2,0,0,0,0) qi{'SpecialMesh',p,MeshType="Wedge",Scale=v3(0.25,1,1)}
  2150.  
  2151. p=pa(Weapon,"","Block",0.25,0.6,0.2,false,false,0,0,"Dark stone grey") weld(p,pb,p,0,0.2,0,rd(-15),0,0) qi{'BlockMesh',p,Scale=v3(1,1,0.25)}
  2152.  
  2153. p=pa(Weapon,"","Block",0.25,0.3,0.2,false,false,0,0,"Dark stone grey") weld(p,pb,p,0,0.6,0,rd(25),0,0) qi{'BlockMesh',p,Scale=v3(1,1,0.25)}
  2154.  
  2155. p=pa(Weapon,"","Block",0.3,0.2,0.2,false,false,0,0,"Dark stone grey") weld(p,bp,p,0.4,-0.75,0,0,0,0) qi{'BlockMesh',p,Scale=v3(1,0.5,0.5)}
  2156.  
  2157. p=pa(Weapon,"","Block",0.3,0.2,0.2,false,false,0,0,"Dark stone grey") weld(p,bp,p,0.4,0.75,0,0,0,0) qi{'BlockMesh',p,Scale=v3(1,0.5,0.5)}
  2158.  
  2159. pl=pa(Weapon,"","Block",0.2,2,0.7,false,false,0,0,"Dark stone grey") weld(pl,bp,pl,0.6,0,0,0,0,0) qi{'BlockMesh',pl,Scale=v3(0.5,1,1)}
  2160.  
  2161. p=pa(Weapon,"","Block",0.2,2,0.6,false,false,0,0,"Dark stone grey") weld(p,pl,p,-0.275,0,-0.5,0,rd(60),0) qi{'BlockMesh',p,Scale=v3(0.5,1,1)}
  2162.  
  2163. for i,v in pairs(Weapon:GetChildren()) do v.CanCollide=false end
  2164.  
  2165. end
  2166.  
  2167.  
  2168. WDesign()
  2169.  
  2170. Arms(false) Legs(false)
  2171.  
  2172.  
  2173. Dealt={20,70}
  2174.  
  2175. BBD,BBT=0,{}
  2176.  
  2177.  
  2178. function Destroy(Directory,Part,Distance)
  2179.  
  2180. for i,v in pairs(Directory:GetChildren()) do
  2181.  
  2182. if v:IsA("BasePart") and not GetHum(v) and v.Parent.Name~=Tn and v.Parent.Name~=Suit.Name then
  2183.  
  2184. if (Part.Position-v.Position).magnitude<=Distance and v:GetMass()<=1000 then
  2185.  
  2186. v.Anchored=false
  2187.  
  2188. v:BreakJoints()
  2189.  
  2190. v.CFrame=cn(v.Position,Part.Position)*ca(0,rd(180),0)
  2191.  
  2192. v.Velocity=cn(Part.Position,v.Position).lookVector*50
  2193.  
  2194. end
  2195.  
  2196. elseif v:IsA("Model") or v:IsA("Script") then
  2197.  
  2198. Destroy(v,Part,Distance)
  2199.  
  2200. end
  2201.  
  2202. end
  2203.  
  2204. end
  2205.  
  2206.  
  2207. SplashDmg=function(Part,Distance)
  2208.  
  2209. q(function()
  2210.  
  2211. so(ids.Explode,Part,1,0.4)
  2212.  
  2213. qi{"Explosion",workspace,Position=Part.Position,BlastPressure=0}
  2214.  
  2215. for i,v in pairs(workspace:GetChildren()) do
  2216.  
  2217. if v:FindFirstChild("Torso",true) then
  2218.  
  2219. local vTorso=v:FindFirstChild("Torso",true)
  2220.  
  2221. if (vTorso.Position-Part.Position).magnitude<=Distance then
  2222.  
  2223. local vHum=GetHum(vTorso)
  2224.  
  2225. if not vHum or BBD==0 or BBT[vHum.Parent] then return end
  2226.  
  2227. BBT[vHum.Parent]=1
  2228.  
  2229. if rn(1,20)==1 then
  2230.  
  2231. Dmg(vHum,rn(Dealt[1],Dealt[2])*3)
  2232.  
  2233. else
  2234.  
  2235. Dmg(vHum,rn(Dealt[1],Dealt[2]))
  2236.  
  2237. end
  2238.  
  2239. if BBD==2 and vTorso then
  2240.  
  2241. vHum.PlatformStand=true
  2242.  
  2243. if vHum.Jump then
  2244.  
  2245. AddBV(140,cn(Part.Position,vTorso.Position),vTorso,0.3)
  2246.  
  2247. else
  2248.  
  2249. AddBV(110,cn(Part.Position,vTorso.Position),vTorso,0.3)
  2250.  
  2251. end
  2252.  
  2253. if vTorso.Parent~=Char then
  2254.  
  2255. AddBAV(v3(rn(-25,25),rn(-25,25),rn(-25,25)),vTorso,0.4)
  2256.  
  2257. end
  2258.  
  2259. q(function()
  2260.  
  2261. wait(0.4)
  2262.  
  2263. vHum.PlatformStand=false
  2264.  
  2265. end)
  2266.  
  2267. end
  2268.  
  2269. so(ids.Hit,vTorso,1,1)
  2270.  
  2271. BBT[vHum.Parent]=nil
  2272.  
  2273. end
  2274.  
  2275. end
  2276.  
  2277. end
  2278.  
  2279. end)
  2280.  
  2281. end
  2282.  
  2283.  
  2284. Fire = function(speed,sc,cff,dest)
  2285.  
  2286. q(function()
  2287.  
  2288. bb = pa(workspace,"bullet","Block",0.5*sc,2.8*sc,0.5*sc,false,true,0,0,"Black") qi{"SpecialMesh",bb,MeshId=ids.Rocket} bb.CanCollide=false
  2289.  
  2290. bb.CFrame = cn(cff.p,dest)
  2291.  
  2292. local m=pa(Weapon,"muzzle","Block",1,1,1,false,false,0,0,"Bright orange") qi{"SpecialMesh",m,MeshId=ids.Crown,Scale=v3(0.5,0.5,0.5)} weld(m,bar,m,0,-0.825,0.05,rd(180),0,0) fade(m,0.2)
  2293.  
  2294. local m=pa(Weapon,"muzzle","Block",1,1,1,false,false,0,0,"Bright orange") qi{"SpecialMesh",m,MeshId=ids.Crown2,Scale=v3(0.4,0.7,0.4)} weld(m,bar,m,0,-1,0,rd(180),0,0) fade(m,0.2)
  2295.  
  2296. so(ids.Fire,ha,1,1)
  2297.  
  2298. for i=1,100 do
  2299.  
  2300. bhit,bpos=ray(bb.Position,bb.Position - (bb.CFrame *cn(0,0,2)).p)
  2301.  
  2302. if bhit and bhit.Name ~= "bullet" and bhit.Name ~= "bullethole" and bhit.Name~="muzzle" and bpos and (bpos - bb.Position).magnitude < speed then break end
  2303.  
  2304. bb.CFrame=bb.CFrame*cn(0,0,-speed)
  2305.  
  2306. GlowMesh(false,"block",Weapon,v3(1,1,1),"Bright red",bb.CFrame*cn(rn(-5,5),rn(-5,5),rn(1,3))*ca(rn(-5,5),rn(-5,5),rn(-5,5)),0.1,1,0.07)
  2307.  
  2308. wait()
  2309.  
  2310. end
  2311.  
  2312. local Surface = DetectSurface(bpos,bhit)
  2313.  
  2314. local C = cn(bpos) * ca(bhit.CFrame:toEulerAnglesXYZ()) * Surface[2]
  2315.  
  2316. if Surface[1] == "Anything" then C = Surface[2] end
  2317.  
  2318. GlowMesh(false,ids.Crown,Weapon,v3(6,4,6),"Bright orange",C*cn(0,1.5,0),0.25,1,0.05)
  2319.  
  2320. GlowMesh(false,ids.Crown2,Weapon,v3(6,4,6),"Bright orange",C*cn(0,1.5,0),0.25,1,0.05)
  2321.  
  2322. BBD=2
  2323.  
  2324. bb.CFrame=bb.CFrame*cn(0,(bpos-bb.Position).magnitude,0)
  2325.  
  2326. SplashDmg(bb,12)
  2327.  
  2328. Destroy(workspace,bb,12)
  2329.  
  2330. BBD=0
  2331.  
  2332. game:GetService("Debris"):AddItem(bb,1)
  2333.  
  2334. end)
  2335.  
  2336. end
  2337.  
  2338.  
  2339. function Stance(speed)
  2340.  
  2341. c2(ra,speed,3,1.25,0.5,-0.25,-90,-65,0)
  2342.  
  2343. c2(la,speed,3,-1.25,0.5,-0.25,-90,-20,0)
  2344.  
  2345. c2(ll,speed,3,-0.5,-1,0,0,0,0)
  2346.  
  2347. c2(rl,speed,3,0.5,-1,0,0,0,0)
  2348.  
  2349. c2(hw,speed,3,0,1.5,0,0,-65,0)
  2350.  
  2351. c2(tw,speed,3,0,0,0,0,65,0)
  2352.  
  2353. c2(neck,speed,3,0,1.5,0,0,0,0)
  2354.  
  2355. Ani(haw,0,-1,0.8,-90,-90,0,0,speed,1)
  2356.  
  2357. end
  2358.  
  2359.  
  2360. function Reset(speed)
  2361.  
  2362. c2(ra,speed,3,1.5,0.5,0,0,0,0)
  2363.  
  2364. c2(la,speed,3,-1.5,0.5,0,0,0,0)
  2365.  
  2366. c2(ll,speed,3,-0.5,-1,0,0,0,0)
  2367.  
  2368. c2(rl,speed,3,0.5,-1,0,0,0,0)
  2369.  
  2370. c2(hw,speed,3,0,1.5,0,0,0,0)
  2371.  
  2372. c2(tw,speed,3,0,0,0,0,0,0)
  2373.  
  2374. c2(neck,speed,3,0,1.5,0,0,0,0)
  2375.  
  2376. Ani(haw,1,1,0.6,180,0,90,0,speed,1)
  2377.  
  2378. end
  2379.  
  2380.  
  2381. function Button1Down()
  2382.  
  2383. if equip=="equipped" and anim=="" and (tick()-LastShot)>=0.8 and Hum.Health>0 then
  2384.  
  2385. LastShot=tick()
  2386.  
  2387. Fire(4,1,bar.CFrame*cn(0,-2,0),fmouse.Hit.p)
  2388.  
  2389. end
  2390.  
  2391. end
  2392.  
  2393.  
  2394. function KeyDown(key)
  2395.  
  2396. key=key:lower()
  2397.  
  2398. keys[key]=true
  2399.  
  2400. end
  2401.  
  2402.  
  2403. function KeyUp(key)
  2404.  
  2405. key=key:lower()
  2406.  
  2407. keys[key]=false
  2408.  
  2409. end
  2410.  
  2411.  
  2412. function Move()
  2413.  
  2414. if equip=="equipped" and anim=="" then
  2415.  
  2416. c2(ra,1,3,1.25,0.5,-0.25,-90+math.deg((Torso.Position-fmouse.Hit.p).unit.y),-65,0)
  2417.  
  2418. c2(la,1,3,-1.25,0.5,-0.25,-90+math.deg((Torso.Position-fmouse.Hit.p).unit.y),-20,0)
  2419.  
  2420. c2(hw,1,3,0,1.5,0,math.deg((Torso.Position-fmouse.Hit.p).unit.y),-65,0)
  2421.  
  2422. end
  2423.  
  2424. if Gyr0z then
  2425.  
  2426. Gyro.maxTorque=v3(1/0,1/0,1/0)
  2427.  
  2428. Gyro.cframe = cn(Torso.Position,v3(fmouse.hit.p.x,Torso.Position.y,fmouse.hit.p.z))
  2429.  
  2430. else
  2431.  
  2432. Gyro.maxTorque = v3(0,0,0)
  2433.  
  2434. end
  2435.  
  2436. end
  2437.  
  2438.  
  2439. Tool.Selected:connect(function(mouse)
  2440.  
  2441. fmouse=mouse Gyr0z=true
  2442.  
  2443. if equip=="unequipped" and anim=="" then
  2444.  
  2445. equip="equipping" Arms(true) c2(la,0.1,3,-1.5,0.5,0,0,0,20) c1(ra,0.1,3,1.5,0.5,0,-210,0,-10)
  2446.  
  2447. local ofs = RA.CFrame:toObjectSpace(hp.CFrame)
  2448.  
  2449. haw.Part0=RA haw.C0=ofs haw.C1=cn(0,0,0) rAni(haw)
  2450.  
  2451. Stance(0.1) equip="equipped"
  2452.  
  2453. end
  2454.  
  2455. mouse.Button1Down:connect(Button1Down)
  2456.  
  2457. mouse.KeyDown:connect(KeyDown)
  2458.  
  2459. mouse.KeyUp:connect(KeyUp)
  2460.  
  2461. mouse.Move:connect(Move)
  2462.  
  2463. end)
  2464.  
  2465.  
  2466. Tool.Deselected:connect(function()
  2467.  
  2468. fmouse=nil Gyr0z=false
  2469.  
  2470. if equip=="equipped" and anim=="" then
  2471.  
  2472. equip="unequipping" c2(la,0.1,3,-1.5,0.5,0,0,0,0) c1(ra,0.1,3,1.5,0.5,0,-210,0,-10)
  2473.  
  2474. local ofs = Torso.CFrame:toObjectSpace(hp.CFrame)
  2475.  
  2476. haw.Part0=Torso haw.C0=ofs haw.C1=cn(0,0,0) rAni(haw)
  2477.  
  2478. Reset(0.1)
  2479.  
  2480. Arms(false) Legs(false) equip="unequipped"
  2481.  
  2482. end
  2483.  
  2484. end)
  2485.  
  2486.  
  2487. Gyro=qi{"BodyGyro",Torso,D=50,P=1500}
  2488.  
  2489. game:GetService("RunService").Stepped:connect(function()
  2490.  
  2491. if equip=="equipped" and anim=="" then
  2492.  
  2493. c2(ra,1,3,1.25,0.5,-0.25,-90+math.deg((Torso.Position-fmouse.Hit.p).unit.y),-65,0)
  2494.  
  2495. c2(la,1,3,-1.25,0.5,-0.25,-90+math.deg((Torso.Position-fmouse.Hit.p).unit.y),-20,0)
  2496.  
  2497. c2(hw,1,3,0,1.5,0,math.deg((Torso.Position-fmouse.Hit.p).unit.y),-65,0)
  2498.  
  2499. end
  2500.  
  2501. if Gyr0z then
  2502.  
  2503. Gyro.maxTorque=v3(1/0,1/0,1/0)
  2504.  
  2505. Gyro.cframe = cn(Torso.Position,v3(fmouse.hit.p.x,Torso.Position.y,fmouse.hit.p.z))
  2506.  
  2507. else
  2508.  
  2509. Gyro.maxTorque = v3(0,0,0)
  2510.  
  2511. end
  2512.  
  2513. end)
  2514. end)
  2515. UGB = Instance.new("TextButton", Screen)
  2516. UGB.Name = "UGB"
  2517. UGB.Text = "Ungod me"
  2518. UGB.Position = UDim2.new(0.05, 0, 0.6, 0)
  2519. UGB.Size = UDim2.new(0.1, 0, 0.1, 0)
  2520. UGB.Font = "Arial"
  2521. UGB.FontSize = "Size24"
  2522. UGB.TextWrapped = true
  2523. UGB.BackgroundColor3 = Color3.new(0, 0, 1)
  2524. UGB.TextColor3 = Color3.new(1, 1, 0)
  2525. UGB.BackgroundTransparency = 0.7
  2526. UGB.MouseButton1Down:connect(function()
  2527. Char.Humanoid.MaxHealth = 100
  2528. Char.Humanoid.Health = 100
  2529. end)
  2530. PIPE = Instance.new("TextButton", Screen)
  2531. PIPE.Name = "PIPE"
  2532. PIPE.Text = "Pipebomb launcher"
  2533. PIPE.Position = UDim2.new(0.35, 0, 0.3, 0)
  2534. PIPE.Size = UDim2.new(0.1, 0, 0.1, 0)
  2535. PIPE.Font = "Arial"
  2536. PIPE.FontSize = "Size24"
  2537. PIPE.TextWrapped = true
  2538. PIPE.BackgroundColor3 = Color3.new(0, 0, 1)
  2539. PIPE.TextColor3 = Color3.new(1, 1, 0)
  2540. PIPE.BackgroundTransparency = 0.7
  2541. PIPE.MouseButton1Down:connect(function()
  2542. script.Parent = nil
  2543.  
  2544.  
  2545.  
  2546. it = Instance.new
  2547.  
  2548. v3=Vector3.new
  2549.  
  2550. bc=BrickColor.new
  2551.  
  2552. c3=Color3.new
  2553.  
  2554. cn=CFrame.new
  2555.  
  2556. ca=CFrame.Angles
  2557.  
  2558. ca2=function(a,b,c)
  2559.  
  2560. return ca(math.rad(a),math.rad(b),math.rad(c))
  2561.  
  2562. end
  2563.  
  2564. ti=table.insert
  2565.  
  2566. tr=table.remove
  2567.  
  2568. rn=math.random
  2569.  
  2570. rd=math.rad
  2571.  
  2572. mf=math.floor
  2573.  
  2574. ud = UDim2.new
  2575.  
  2576. inf=math.huge
  2577.  
  2578. dg=math.deg
  2579.  
  2580. mdeg=math.deg
  2581.  
  2582. v310=v3(1/0,1/0,1/0)
  2583.  
  2584. pi=math.pi
  2585.  
  2586. w=wait
  2587.  
  2588. cf=cn
  2589.  
  2590. bn=bc
  2591.  
  2592. ts=tostring
  2593.  
  2594.  
  2595.  
  2596. Workspace=game:GetService("Workspace")
  2597.  
  2598. Players=game:GetService("Players")
  2599.  
  2600. Player=Players.LocalPlayer
  2601.  
  2602. Lighting=game:GetService("Lighting")
  2603.  
  2604. Debris=game:GetService("Debris")
  2605.  
  2606.  
  2607.  
  2608. work=Workspace
  2609.  
  2610. server=Players
  2611.  
  2612. tb=Player
  2613.  
  2614. lighting=Lighting
  2615.  
  2616. deb=Debris
  2617.  
  2618.  
  2619.  
  2620. asset = "http://www.roblox.com/asset/?id="
  2621.  
  2622. Asset=asset
  2623.  
  2624.  
  2625.  
  2626. ids = {}
  2627.  
  2628. ids.Shoot = 10209633
  2629.  
  2630. ids.Reload = 10209636
  2631.  
  2632. ids.Crown = 20329976
  2633.  
  2634. ids.Crown2 = 1323306
  2635.  
  2636. ids.Icon = 52611635
  2637.  
  2638. ids.Explode = 2697431
  2639.  
  2640. ids.Ring = 3270017
  2641.  
  2642.  
  2643.  
  2644. for i,v in pairs(ids) do
  2645.  
  2646. if type(v)=='number' then
  2647.  
  2648. ids[i]='http://www.roblox.com/asset/?id='..v
  2649.  
  2650. end
  2651.  
  2652. game:GetService("ContentProvider"):Preload(ids[i])
  2653.  
  2654. end
  2655.  
  2656.  
  2657.  
  2658. qi = function(ttz)
  2659.  
  2660. local qii = it(ttz[1]) table.foreach(ttz,function(oi,oi2)
  2661.  
  2662. if oi ~= 1 and oi ~= 2 then qii[oi] = oi2 end end) qii.Parent=ttz[2] return qii end
  2663.  
  2664.  
  2665.  
  2666. q = function(f)
  2667.  
  2668. coroutine.resume(coroutine.create(function() f() end)) end
  2669.  
  2670.  
  2671.  
  2672. ft = function(tablez,item)
  2673.  
  2674. for i=1,#tablez do if tablez[i] == item then return i end end return nil end
  2675.  
  2676.  
  2677.  
  2678. ft2 = function(tablez,item)
  2679.  
  2680. for i=1,#tablez do if tablez[i][1] == item then return i end end return nil end
  2681.  
  2682.  
  2683.  
  2684. pa = function(pa,pn,sh,x,y,z,c,a,tr,re,bc2)
  2685.  
  2686. local fp=nil
  2687.  
  2688. if sh ~= "Wedge" and sh ~= "CornerWedge" and sh ~= "VehicleSeat" and sh ~= "Seat" then
  2689.  
  2690. fp=it("Part",pa)
  2691.  
  2692. fp.Shape=sh or "Block"
  2693.  
  2694. fp.formFactor="Custom"
  2695.  
  2696. elseif sh == "Wedge" then
  2697.  
  2698. fp=it("WedgePart",pa)
  2699.  
  2700. fp.formFactor="Custom"
  2701.  
  2702. elseif sh == "CornerWedge" then
  2703.  
  2704. fp=it("CornerWedgePart",pa)
  2705.  
  2706. elseif sh == "VehicleSeat" then
  2707.  
  2708. fp=it("VehicleSeat",pa)
  2709.  
  2710. elseif sh == "Seat" then
  2711.  
  2712. fp=it("Seat",pa)
  2713.  
  2714. end
  2715.  
  2716. fp.Size=v3(x or 4,y or 2,z or 2)
  2717.  
  2718. fp.Friction = 2
  2719.  
  2720. fp.CanCollide=c or true
  2721.  
  2722. fp.Anchored=a or false
  2723.  
  2724. fp.BrickColor=bc(bc2 or "")
  2725.  
  2726. fp.Transparency=tr or 0
  2727.  
  2728. fp.Reflectance=re or 0
  2729.  
  2730. fp.BottomSurface=0
  2731.  
  2732. fp.Name=pn or "TBLib Part"
  2733.  
  2734. fp.Locked = true
  2735.  
  2736. fp.TopSurface=0
  2737.  
  2738. fp.CFrame=cn(0,0,0)
  2739.  
  2740. fp:BreakJoints()
  2741.  
  2742. fp.Anchored = a
  2743.  
  2744. return fp
  2745.  
  2746. end
  2747.  
  2748.  
  2749.  
  2750. function ClearClass(Object,Class)
  2751.  
  2752. for _,v in pairs(Object:GetChildren()) do
  2753.  
  2754. if v:IsA(Class) then
  2755.  
  2756. v:Destroy()
  2757.  
  2758. end
  2759.  
  2760. end
  2761.  
  2762. end
  2763.  
  2764.  
  2765.  
  2766. function GetClass(Object,Class)
  2767.  
  2768. for _,v in pairs(Object:GetChildren()) do
  2769.  
  2770. if v:IsA(Class) then
  2771.  
  2772. return v
  2773.  
  2774. end
  2775.  
  2776. end
  2777.  
  2778. end
  2779.  
  2780.  
  2781.  
  2782. function re(par,obj)
  2783.  
  2784. if par:findFirstChild(obj) then
  2785.  
  2786. par[obj]:Remove''
  2787.  
  2788. end
  2789.  
  2790. end
  2791.  
  2792.  
  2793.  
  2794. function invis(o)
  2795.  
  2796. for i,v in pairs(o:children()) do
  2797.  
  2798. if v:IsA("BasePart") then
  2799.  
  2800. v.Transparency=1
  2801.  
  2802. end
  2803.  
  2804. invis(v)
  2805.  
  2806. end
  2807.  
  2808. end
  2809.  
  2810.  
  2811.  
  2812. function newhats(p,o,o2)
  2813.  
  2814. for i,v in pairs(p:children()) do
  2815.  
  2816. if v:IsA("Hat") then
  2817.  
  2818. local np=v.Handle:Clone''
  2819.  
  2820. np.Transparency=0
  2821.  
  2822. np.Mesh.Scale=np.Mesh.Scale*1.04
  2823.  
  2824. np.Parent=o
  2825.  
  2826. np.CFrame=v.Handle.CFrame
  2827.  
  2828. np.Name="Hat"
  2829.  
  2830. stick2(np,o2,o)
  2831.  
  2832. end
  2833.  
  2834. end
  2835.  
  2836. end
  2837.  
  2838.  
  2839.  
  2840. fade = function(prt,incr)
  2841.  
  2842. q(function()
  2843.  
  2844. for i=prt.Transparency,1,incr do
  2845.  
  2846. prt.Transparency=i
  2847.  
  2848. wait()
  2849.  
  2850. end
  2851.  
  2852. prt:Remove''
  2853.  
  2854. end)
  2855.  
  2856. end
  2857.  
  2858.  
  2859.  
  2860. function weld(pa,p0,p1,x,y,z,a,b,c)
  2861.  
  2862. local fw=it("Weld",pa)
  2863.  
  2864. fw.Part0=p0
  2865.  
  2866. fw.Part1=p1
  2867.  
  2868. fw.C0=cn(x,y,z)*ca(a,b,c)
  2869.  
  2870. return fw
  2871.  
  2872. end
  2873.  
  2874.  
  2875.  
  2876.  
  2877.  
  2878. stick = function(hit2,hit)
  2879.  
  2880. return qi({"Weld",hit2,Part0=hit2,Part1=hit,C0=hit2.CFrame:inverse()*cn(hit2.Position),C1=hit.CFrame:inverse()*cn(hit2.Position)})
  2881.  
  2882. end
  2883.  
  2884.  
  2885.  
  2886. function stick2(hit2,hit,tostick)
  2887.  
  2888. local weld=it("Weld")
  2889.  
  2890. weld.Part0=tostick
  2891.  
  2892. weld.Part1=hit2
  2893.  
  2894. local HitPos=hit.Position
  2895.  
  2896. local CJ=cn(HitPos)
  2897.  
  2898. local C0=hit2.CFrame:inverse() *CJ
  2899.  
  2900. local C1=hit.CFrame:inverse() * CJ weld.C0=C1
  2901.  
  2902. weld.C1=C0
  2903.  
  2904. weld.Parent=hit2
  2905.  
  2906. end
  2907.  
  2908.  
  2909.  
  2910. ray = function(Pos, Dir,tab)
  2911.  
  2912. return workspace:FindPartOnRay(Ray.new(Pos, Dir.unit *999),tab)
  2913.  
  2914. end
  2915.  
  2916.  
  2917.  
  2918. function rtab(tabz,obj)
  2919.  
  2920. for i=1,#tabz do
  2921.  
  2922. if tabz[i] == obj then
  2923.  
  2924. tr(tabz,i)
  2925.  
  2926. break
  2927.  
  2928. end
  2929.  
  2930. end
  2931.  
  2932. end
  2933.  
  2934.  
  2935.  
  2936. sTrail={}
  2937.  
  2938. function Trail2(lopz,ob,waitz,col,thickz,ofz) cw(function() ti(sTrail,ob)
  2939.  
  2940. local oldpos=(ob.CFrame *ofz).p local lopz2=0
  2941.  
  2942. local function loltr() local obp=(ob.CFrame *ofz).p lopz2=lopz2 + 1
  2943.  
  2944. local mag=(oldpos - obp).magnitude
  2945.  
  2946. local tr=pa(ob,"trail","Block",0,0,0,false,false,0.5,0.15,col) tr.Anchored=true
  2947.  
  2948. tr.CFrame=cn(oldpos,obp)
  2949.  
  2950. tr.CFrame=tr.CFrame + tr.CFrame.lookVector* (mag/2)
  2951.  
  2952. local trm=it("CylinderMesh",tr) trm.Scale=v3(5*thickz,mag*5,5*thickz)
  2953.  
  2954. cw(function() for i=5*thickz,0,-5*thickz/10 do trm.Scale=v3(i,mag*5,i) w() end tr:Remove'' end)
  2955.  
  2956. tr.CFrame=tr.CFrame *ca(rd(90),0,0) oldpos=obp end
  2957.  
  2958. repeat loltr()
  2959.  
  2960. wait(waitz) until ft(sTrail,ob) == nil or lopz2 == lopz loltr() end) end
  2961.  
  2962.  
  2963.  
  2964. Trail = function(ob,times,waitz,col,thickz,ofz) -- Brick Trail
  2965.  
  2966. q(function()
  2967.  
  2968. local oldpos=(ob.CFrame *ofz).p
  2969.  
  2970. for i=1,times do
  2971.  
  2972. if effon==true then
  2973.  
  2974. local obp=(ob.CFrame *ofz).p
  2975.  
  2976. local mag=(oldpos - obp).magnitude
  2977.  
  2978. local tr=pa(ob,"trail","Block",0,0,0,false,false,0.5,0.15,col)
  2979.  
  2980. tr.Anchored=true
  2981.  
  2982. tr.CFrame=cn(oldpos,obp)
  2983.  
  2984. tr.CFrame=tr.CFrame + tr.CFrame.lookVector* (mag/2)
  2985.  
  2986. trm=it("CylinderMesh",tr)
  2987.  
  2988. trm.Scale=v3(thickz,mag*5,thickz)
  2989.  
  2990. q(function()
  2991.  
  2992. for i=thickz,0,thickz/10 do
  2993.  
  2994. trm.Scale=v3(i,mag*5,i)
  2995.  
  2996. wait()
  2997.  
  2998. end
  2999.  
  3000. tr:Remove''
  3001.  
  3002. end)
  3003.  
  3004. tr.CFrame=tr.CFrame *ca(rd(90),0,0)
  3005.  
  3006. oldpos=obp wait(waitz)
  3007.  
  3008. end
  3009.  
  3010. end
  3011.  
  3012. end)
  3013.  
  3014. end
  3015.  
  3016.  
  3017.  
  3018. de = function(it,ti) game:service'Debris':AddItem(it,ti) end -- Debris
  3019.  
  3020.  
  3021.  
  3022. GlowMesh = function(anch,meshid2,rootz,mv3,colzz,adjus,l1,l2,l3) q(function() -- Glowmesh
  3023.  
  3024. local spi=pa(rootz,"glowmesh","Block",mv3.X,mv3.Y,mv3.Z,false,false,l1,0,colzz) local spim=it("SpecialMesh",spi) spi.CanCollide=false if meshid2:lower()=="sphere" then spim.MeshType="Sphere" elseif meshid2:lower()=="block" then spim=it("BlockMesh",spi) else spim.MeshType="FileMesh" spim.MeshId=meshid2 end
  3025.  
  3026. if anch then local spiw=qi({"Weld",spi,Part0=rootz,Part1=spi}) spiw.C0 =spiw.C0 *adjus else spi.Anchored=true spi.CFrame=adjus end
  3027.  
  3028. for i=l1,l2,l3 do spi.Transparency=i spim.Scale=mv3*(i+0.3) wait() end spi:Remove'' end)
  3029.  
  3030. end
  3031.  
  3032.  
  3033.  
  3034. DetectSurface = function(pos, part) -- Surface Detector
  3035.  
  3036. local surface = nil local pospos = part.CFrame
  3037.  
  3038. local pos2 = pospos:pointToObjectSpace(pos) local siz = part.Size local shaep = part.Shape
  3039.  
  3040. if shaep == Enum.PartType.Ball or shaep == Enum.PartType.Cylinder then
  3041.  
  3042. surface = {"Anything", cn(pospos.p, pos)*cn(0, 0, -(pospos.p - pos).magnitude+0.12)*ca(rd(-90), 0, 0)}
  3043.  
  3044. else if pos2.Y > ((siz.Y/2)-0.01) then surface = {"Top", ca(0, 0, 0)}
  3045.  
  3046. elseif pos2.Y < -((siz.Y/2)-0.01) then surface = {"Bottom", ca(-math.pi, 0, 0)} elseif pos2.X > ((siz.X/2)-0.01) then surface = {"Right", ca(0, 0, rd(-90))}
  3047.  
  3048. elseif pos2.X < -((siz.X/2)-0.01) then surface = {"Left", ca(0, 0, rd(90))} elseif pos2.Z > ((siz.Z/2)-0.01) then surface = {"Back", ca(rd(90), 0, 0)} elseif pos2.Z < -((siz.Z/2)-0.01) then surface = {"Front", ca(rd(-90), 0, 0)} end end return surface end
  3049.  
  3050.  
  3051.  
  3052. BulletHole = function(HitPos,HitObj,sc,img,par) -- Bullethole function
  3053.  
  3054. local Surface = DetectSurface(HitPos, HitObj)
  3055.  
  3056. local C = cn(HitPos) * ca(HitObj.CFrame:toEulerAnglesXYZ()) * Surface[2]
  3057.  
  3058. if Surface[1] == "Anything" then C = Surface[2] end local theimg = img or ds.BulletHole
  3059.  
  3060. local bl = pa(workspace or par,"bullethole","Block",sc,0,sc,false,true,1,0,"") qi({"Decal",bl,Face="Top",Texture=theimg})
  3061.  
  3062. bl.CFrame = C*cn(0,-0.1,0) if not HitObj.Anchored then bl.Anchored = false stick(bl,HitObj) bl.ChildRemoved:connect(function() bl:Remove() end) end q(function() wait(5) for i=0,1,0.05 do bl.Size=v3(-i*sc,0,-i*sc) wait() end de(bl,0) end)
  3063.  
  3064. end
  3065.  
  3066.  
  3067.  
  3068. so = function(id,par,vol,pit) q(function() -- Sound maker
  3069.  
  3070. local sou = qi({"Sound",par or workspace,Volume=vol,Pitch=pit or 1,SoundId=id})
  3071.  
  3072. wait() sou:play() wait(6) sou:Remove() end) end
  3073.  
  3074.  
  3075.  
  3076. -- local/so(asset..ds.GothicMusic,workspace,1,2.6)
  3077.  
  3078.  
  3079.  
  3080. function GetRegion(p0,p1,f,f2) q(function()
  3081.  
  3082. for i,v in pairs(workspace:FindPartsInRegion3(Region3.new(p0,p1),c,100) ) do if v.Parent:findFirstChild("Humanoid") and v.Parent.Humanoid.Health > 0 and v.Parent:findFirstChild("Torso") then q(function() f(v.Parent) end) elseif f2 and v.Parent.Parent:findFirstChild("Humanoid") == nil then f2(v) end end
  3083.  
  3084. end) end
  3085.  
  3086.  
  3087.  
  3088. FindGround = function(pos) -- ground finder
  3089.  
  3090. local ax,ay,az = pos:toEulerAnglesXYZ()
  3091.  
  3092. local bhit,bpos=ray(pos.p,pos.p - (pos.p + v3(0,200,0)))
  3093.  
  3094. if bhit and bpos then
  3095.  
  3096. return cn(bpos)*ca(ax,ay,az)
  3097.  
  3098. end
  3099.  
  3100. return nil
  3101.  
  3102. end
  3103.  
  3104.  
  3105.  
  3106. function NPC(Name, Position) -- npc maker
  3107.  
  3108. local Character = Instance.new("Model")
  3109.  
  3110. Character.Name = Name
  3111.  
  3112. local Humanoid = Instance.new("Humanoid")
  3113.  
  3114. Humanoid.Parent = Character
  3115.  
  3116. local Template = Instance.new("Part")
  3117.  
  3118. Template.FormFactor = "Custom"
  3119.  
  3120. Template.Size = Vector3.new(1, 2, 1)
  3121.  
  3122. Template.Locked = true
  3123.  
  3124. local Head = Template:Clone()
  3125.  
  3126. Head.Name = "Head"
  3127.  
  3128. Head.TopSurface = "Smooth"
  3129.  
  3130. Head.BottomSurface = "Smooth"
  3131.  
  3132. Head.Size = Vector3.new(2, 1, 1)
  3133.  
  3134. Head.Parent = Character
  3135.  
  3136. local Mesh = Instance.new("SpecialMesh")
  3137.  
  3138. Mesh.MeshType = "Head"
  3139.  
  3140. Mesh.Scale = Vector3.new(1.25, 1.25, 1.25)
  3141.  
  3142. Mesh.Parent = Head
  3143.  
  3144. local Face = Instance.new("Decal")
  3145.  
  3146. Face.Name = "face"
  3147.  
  3148. Face.Texture = "rbxasset://textures/face.png"
  3149.  
  3150. Face.Parent = Head
  3151.  
  3152. local Torso = Template:Clone()
  3153.  
  3154. Torso.Name = "Torso"
  3155.  
  3156. Torso.LeftSurface = "Weld"
  3157.  
  3158. Torso.RightSurface = "Weld"
  3159.  
  3160. Torso.CFrame = CFrame.new(0, 10000, 0)
  3161.  
  3162. Torso.Size = Vector3.new(2, 2, 1)
  3163.  
  3164. Torso.Parent = Character
  3165.  
  3166. local TShirt = Instance.new("Decal")
  3167.  
  3168. TShirt.Name = "roblox"
  3169.  
  3170. TShirt.Parent = Torso
  3171.  
  3172. local LeftArm = Template:Clone()
  3173.  
  3174. LeftArm.Name = "Left Arm"
  3175.  
  3176. LeftArm.Parent = Character
  3177.  
  3178. local RightArm = Template:Clone()
  3179.  
  3180. RightArm.Name = "Right Arm"
  3181.  
  3182. RightArm.Parent = Character
  3183.  
  3184. local LeftLeg = Template:Clone()
  3185.  
  3186. LeftLeg.Name = "Left Leg"
  3187.  
  3188. LeftLeg.Parent = Character
  3189.  
  3190. local RightLeg = Template:Clone()
  3191.  
  3192. RightLeg.Name = "Right Leg"
  3193.  
  3194. RightLeg.Parent = Character
  3195.  
  3196. Character:BreakJoints()
  3197.  
  3198. local Neck = Instance.new("Weld")
  3199.  
  3200. Neck.Name = "Neck"
  3201.  
  3202. Neck.Part0 = Torso
  3203.  
  3204. Neck.Part1 = Head
  3205.  
  3206. Neck.C0 = CFrame.new(0, 1.5, 0)
  3207.  
  3208. Neck.Parent = Torso
  3209.  
  3210. local LeftShoulder = Instance.new("Motor")
  3211.  
  3212. LeftShoulder.Name = "Left Shoulder"
  3213.  
  3214. LeftShoulder.Part0 = Torso
  3215.  
  3216. LeftShoulder.Part1 = LeftArm
  3217.  
  3218. LeftShoulder.MaxVelocity = 0.1
  3219.  
  3220. LeftShoulder.C0 = CFrame.new(-Torso.Size.x / 2 - RightArm.Size.x / 2, LeftArm.Size.y / 4, 0) * CFrame.fromEulerAnglesXYZ(0, -math.pi / 2, 0)
  3221.  
  3222. LeftShoulder.C1 = CFrame.new(0, LeftArm.Size.y / 4, 0) * CFrame.fromEulerAnglesXYZ(0, -math.pi / 2, 0)
  3223.  
  3224. LeftShoulder.Parent = Torso
  3225.  
  3226. local RightShoulder = Instance.new("Motor")
  3227.  
  3228. RightShoulder.Name = "Right Shoulder"
  3229.  
  3230. RightShoulder.Part0 = Torso
  3231.  
  3232. RightShoulder.Part1 = RightArm
  3233.  
  3234. RightShoulder.MaxVelocity = 0.1
  3235.  
  3236. RightShoulder.C0 = CFrame.new(Torso.Size.x / 2 + RightArm.Size.x / 2, RightArm.Size.y / 4, 0) * CFrame.fromEulerAnglesXYZ(0, math.pi / 2, 0)
  3237.  
  3238. RightShoulder.C1 = CFrame.new(0, RightArm.Size.y / 4, 0) * CFrame.fromEulerAnglesXYZ(0, math.pi / 2, 0)
  3239.  
  3240. RightShoulder.Parent = Torso
  3241.  
  3242. local LeftHip = Instance.new("Motor")
  3243.  
  3244. LeftHip.Name = "Left Hip"
  3245.  
  3246. LeftHip.Part0 = Torso
  3247.  
  3248. LeftHip.Part1 = LeftLeg
  3249.  
  3250. LeftHip.MaxVelocity = 0.1
  3251.  
  3252. LeftHip.C0 = CFrame.new(-LeftLeg.Size.x / 2, -LeftLeg.Size.y / 2, 0) * CFrame.fromEulerAnglesXYZ(0, -math.pi / 2, 0)
  3253.  
  3254. LeftHip.C1 = CFrame.new(0, LeftLeg.Size.y / 2, 0) * CFrame.fromEulerAnglesXYZ(0, -math.pi / 2, 0)
  3255.  
  3256. LeftHip.Parent = Torso
  3257.  
  3258. local RightHip = Instance.new("Motor")
  3259.  
  3260. RightHip.Name = "Right Hip"
  3261.  
  3262. RightHip.Part0 = Torso
  3263.  
  3264. RightHip.Part1 = RightLeg
  3265.  
  3266. RightHip.MaxVelocity = 0.1
  3267.  
  3268. RightHip.C0 = CFrame.new(RightLeg.Size.x / 2, -RightLeg.Size.y / 2, 0) * CFrame.fromEulerAnglesXYZ(0, math.pi / 2, 0)
  3269.  
  3270. RightHip.C1 = CFrame.new(0, RightLeg.Size.y / 2, 0) * CFrame.fromEulerAnglesXYZ(0, math.pi / 2, 0)
  3271.  
  3272. RightHip.Parent = Torso
  3273.  
  3274. local BodyColors = Instance.new("BodyColors")
  3275.  
  3276. BodyColors.LeftArmColor = BrickColor.new("Bright yellow")
  3277.  
  3278. BodyColors.RightArmColor = BrickColor.new("Bright yellow")
  3279.  
  3280. BodyColors.LeftLegColor = BrickColor.new("Br. yellowish green")
  3281.  
  3282. BodyColors.RightLegColor = BrickColor.new("Br. yellowish green")
  3283.  
  3284. BodyColors.HeadColor = BrickColor.new("Bright yellow")
  3285.  
  3286. BodyColors.TorsoColor = BrickColor.new("Bright blue")
  3287.  
  3288. BodyColors.Parent = Character
  3289.  
  3290. Character.Parent = Workspace
  3291.  
  3292. Character:MoveTo(Position)
  3293.  
  3294. Character:MoveTo(Torso.Position + Vector3.new(0, 3, 0))
  3295.  
  3296. return Character
  3297.  
  3298. end
  3299.  
  3300.  
  3301.  
  3302. AddBV=function(str,cfr,par,debt)
  3303.  
  3304. if not par then return end
  3305.  
  3306. if par:findFirstChild'LibBV' then par.LibBV:Remove() end
  3307.  
  3308. tbbodyvelocity=qi{'BodyVelocity',par,velocity=cfr.lookVector*str,maxForce=v3(1/0,1/0,1/0),Name='LibBV'} deb:AddItem(tbbodyvelocity,debt)
  3309.  
  3310. end
  3311.  
  3312.  
  3313.  
  3314. AddBG=function(str,par,debt)
  3315.  
  3316. if not par then return end
  3317.  
  3318. if par:findFirstChild'LibBG' then par.LibBG:Remove() end
  3319.  
  3320. tbbodygyro=qi{'BodyGyro',par,maxTorque=v3(1/0,1/0,1/0),P=100000,cframe=str,Name='LibBG'} deb:AddItem(tbbodygyro,debt)
  3321.  
  3322. end
  3323.  
  3324.  
  3325.  
  3326. AddBAV=function(vec3,par,debt)
  3327.  
  3328. if not par then return end
  3329.  
  3330. if par:findFirstChild'LibBAV' then par.LibBAV:Remove() end
  3331.  
  3332. tbbodyangularvelocity=qi{'BodyAngularVelocity',par,maxTorque=v3(1/0,1/0,1/0),angularvelocity=vec3,Name='LibBAV'} deb:AddItem(tbbodyangularvelocity,debt)
  3333.  
  3334. end
  3335.  
  3336.  
  3337.  
  3338. Dmg = function(Hum,Dealt,Critical)
  3339.  
  3340. local HM=Hum.Parent
  3341.  
  3342. local HMT,HMB=HM:findFirstChild'Torso',HM:findFirstChild'Block'
  3343.  
  3344. local Blocks=HMB and HMB.Value>0
  3345.  
  3346. if HMT then
  3347.  
  3348. local mm=qi{'Model',HMT} qi{'Humanoid',mm,MaxHealth=0} deb:AddItem(mm,1)
  3349.  
  3350. local mp= qi{'Part',mm,Name='Head',formFactor="Custom",Anchored=true,CanCollide=false,Size=v3(1,0.2,1),CFrame=HMT.CFrame*cn(rn(-100,100)/50,3,rn(-100,100)/50)} qi{'BlockMesh',mp}
  3351.  
  3352. if Blocks then
  3353.  
  3354. mm.Name='Block!'
  3355.  
  3356. mp.BrickColor=bn'Bright blue'
  3357.  
  3358. HMB.Value=HMB.Value-1
  3359.  
  3360. elseif not Blocks then
  3361.  
  3362. mm.Name=Dealt
  3363.  
  3364. mp.BrickColor=bn'Bright red'
  3365.  
  3366. end
  3367.  
  3368. if Critical then
  3369.  
  3370. mm.Name="Crit! "..Dealt
  3371.  
  3372. else
  3373.  
  3374. mm.Name=Dealt
  3375.  
  3376. end
  3377.  
  3378. end
  3379.  
  3380. if not Blocks then
  3381.  
  3382. Hum:TakeDamage(Dealt)
  3383.  
  3384. end
  3385.  
  3386. end
  3387.  
  3388.  
  3389.  
  3390. GetHum = function(part)
  3391.  
  3392. local Hum,HT,block
  3393.  
  3394. for i,v in pairs(part.Parent:children()) do
  3395.  
  3396. if v:IsA("Humanoid") then
  3397.  
  3398. Hum=v
  3399.  
  3400. elseif v.Name=='Torso' then
  3401.  
  3402. HT=v
  3403.  
  3404. elseif v.Name=='Block' and v:IsA("NumberValue") then
  3405.  
  3406. block=v
  3407.  
  3408. end
  3409.  
  3410. end
  3411.  
  3412. return Hum,HT,block
  3413.  
  3414. end
  3415.  
  3416.  
  3417.  
  3418. Lightning = function(p0,p1,tym,ofs,col,th,tra) -- start end times offset color thickness
  3419.  
  3420. local magz = (p0 - p1).magnitude local curpos = p0 local trz = {-ofs,ofs}
  3421.  
  3422. for i=1,tym do
  3423.  
  3424. local li = it("Part",c) li.TopSurface =0 li.BottomSurface = 0 li.Anchored = true li.Transparency = tra or 0.4 li.BrickColor = bc(col)
  3425.  
  3426. li.formFactor = "Custom" li.CanCollide = false li.Size = v3(th,th,magz/tym) local ofz = v3(trz[rn(1,2)],trz[rn(1,2)],trz[rn(1,2)])
  3427.  
  3428. local trolpos = cn(curpos,p1)*cn(0,0,magz/tym).p+ofz
  3429.  
  3430. if tym == i then
  3431.  
  3432. local magz2 = (curpos - p1).magnitude li.Size = v3(th,th,magz2)
  3433.  
  3434. li.CFrame = cn(curpos,p1)*cn(0,0,-magz2/2)
  3435.  
  3436. else
  3437.  
  3438. li.CFrame = cn(curpos,trolpos)*cn(0,0,magz/tym/2)
  3439.  
  3440. end
  3441.  
  3442. curpos = li.CFrame*cn(0,0,magz/tym/2).p de(li,0.25)
  3443.  
  3444. end
  3445.  
  3446. end
  3447.  
  3448.  
  3449.  
  3450. MakeCrater = function(pos,sc,tyms,debz,par) -- crater maker
  3451.  
  3452. q(function()
  3453.  
  3454. if not debz then
  3455.  
  3456. debz = 5
  3457.  
  3458. end
  3459.  
  3460. local bhit,bpos=ray(pos,pos - (pos + v3(0,200,0)))
  3461.  
  3462. if bhit and bpos then
  3463.  
  3464. for i=1,tyms do
  3465.  
  3466. q(function()
  3467.  
  3468. local gr = pa(par or workspace,"","Block",rn(5,13)/10*sc,0.25*sc,rn(4,10)/10*sc,true,true,bhit.Transparency,bhit.Reflectance,bhit.BrickColor.Name)
  3469.  
  3470. gr.Material = bhit.Material
  3471.  
  3472. gr.TopSurface = bhit.TopSurface
  3473.  
  3474. gr.CFrame = cn(bpos+v3(rn(-12,12)/10*sc,0,rn(-12,12)/10*sc))*ca(rd(rn(-40,40)),rd(rn(-360,360)),rd(rn(-40,40)))
  3475.  
  3476. wait(debz)
  3477.  
  3478. fade(gr,0.1)
  3479.  
  3480. end)
  3481.  
  3482. end
  3483.  
  3484. end
  3485.  
  3486. end)
  3487.  
  3488. end
  3489.  
  3490.  
  3491.  
  3492. MakeCrack = function(pos,sc,debz,par) -- crackmaker
  3493.  
  3494. q(function()
  3495.  
  3496. if not debz then
  3497.  
  3498. debz = 5
  3499.  
  3500. end
  3501.  
  3502. local bhit,bpos=ray(pos,pos - (pos + v3(0,10,0)))
  3503.  
  3504. if bhit and bpos then
  3505.  
  3506. local cr = pa(par or workspace,"Crack","Block",sc,0,sc,false,true,1,0,"") cr.CFrame = cn(bpos)
  3507.  
  3508. local dec=qi({"Decal",cr,Face="Top",Texture=ds.Crack}) de(cr,debz)
  3509.  
  3510. end
  3511.  
  3512. end)
  3513.  
  3514. end
  3515.  
  3516.  
  3517.  
  3518. a = {}
  3519.  
  3520. a.insw={}
  3521.  
  3522. function cleanweld(wexx,namzi)
  3523.  
  3524. local tn=ft2(a.insw,wexx)
  3525.  
  3526. if tn==nil then return end
  3527.  
  3528. if namzi=="p0" then
  3529.  
  3530. a.insw[tn][2]["p0x"],a.insw[tn][2]["p0y"],a.insw[tn][2]["p0z"]=0,0,0 elseif namzi=="p1" then
  3531.  
  3532. a.insw[tn][2]["p1x"],a.insw[tn][2]["p1y"],a.insw[tn][2]["p1z"]=0,0,0 elseif namzi=="a0" then
  3533.  
  3534. a.insw[tn][2]["a0x"],a.insw[tn][2]["a0y"],a.insw[tn][2]["a0z"]=0,0,0 elseif namzi=="a1" then
  3535.  
  3536. a.insw[tn][2]["a1x"],a.insw[tn][2]["a1y"],a.insw[tn][2]["a1z"]=0,0,0
  3537.  
  3538. end
  3539.  
  3540. end
  3541.  
  3542. function c2(wexx,smmx,c0orc1,aa,bb,cc,xx,yy,zz)
  3543.  
  3544. q(function()
  3545.  
  3546. c1(wexx,smmx,c0orc1,aa,bb,cc,xx,yy,zz)
  3547.  
  3548. end)
  3549.  
  3550. end
  3551.  
  3552. a.Welding=0
  3553.  
  3554. function c1(wexx,smmx,c0orc1,aa,bb,cc,xx,yy,zz)
  3555.  
  3556. if ft2(a.insw,wexx)==nil then
  3557.  
  3558. ti(a.insw,{wexx,{}})
  3559.  
  3560. local tn=ft2(a.insw,wexx)
  3561.  
  3562. a.insw[tn][2]["p0x"],a.insw[tn][2]["p0y"],a.insw[tn][2]["p0z"]=wexx.C0.x,wexx.C0.y,wexx.C0.z
  3563.  
  3564. a.insw[tn][2]["p1x"],a.insw[tn][2]["p1y"],a.insw[tn][2]["p1z"]=wexx.C1.x,wexx.C1.y,wexx.C1.z
  3565.  
  3566. a.insw[tn][2]["a0x"],a.insw[tn][2]["a0y"],a.insw[tn][2]["a0z"]=wexx.C0:toEulerAnglesXYZ()
  3567.  
  3568. a.insw[tn][2]["a1x"],a.insw[tn][2]["a1y"],a.insw[tn][2]["a1z"]=wexx.C1:toEulerAnglesXYZ()
  3569.  
  3570. end
  3571.  
  3572. local tn=ft2(a.insw,wexx)
  3573.  
  3574. local xx2,yy2,zz2=0,0,0
  3575.  
  3576. local x2,y2,z2=0,0,0
  3577.  
  3578. if c0orc1==0 then
  3579.  
  3580. xx2,yy2,zz2=a.insw[tn][2]["a0x"],a.insw[tn][2]["a0y"],a.insw[tn][2]["a0z"]
  3581.  
  3582. x2,y2,z2=a.insw[tn][2]["p0x"],a.insw[tn][2]["p0y"],a.insw[tn][2]["p0z"]
  3583.  
  3584. elseif c0orc1==1 then
  3585.  
  3586. xx2,yy2,zz2=a.insw[tn][2]["a1x"],a.insw[tn][2]["a1y"],a.insw[tn][2]["a1z"]
  3587.  
  3588. x2,y2,z2=a.insw[tn][2]["p1x"],a.insw[tn][2]["p1y"],a.insw[tn][2]["p1z"]
  3589.  
  3590. else
  3591.  
  3592. xx2,yy2,zz2=a.insw[tn][2]["a1x"],a.insw[tn][2]["a1y"],a.insw[tn][2]["a1z"]
  3593.  
  3594. x2,y2,z2=a.insw[tn][2]["p0x"],a.insw[tn][2]["p0y"],a.insw[tn][2]["p0z"]
  3595.  
  3596. end a.Welding=a.Welding + 1
  3597.  
  3598. local twa=1
  3599.  
  3600. if smmx >= 1 then
  3601.  
  3602. else
  3603.  
  3604. for i=smmx,0.8,smmx do
  3605.  
  3606. twa = 1
  3607.  
  3608. if c0orc1==0 then
  3609.  
  3610. wexx.C0=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)) *ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i))
  3611.  
  3612. elseif c0orc1==1 then
  3613.  
  3614. wexx.C1=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)) *ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i))
  3615.  
  3616. else local x,y,z = wexx.C0:toEulerAnglesXYZ()
  3617.  
  3618. wexx.C0=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i))*ca(x,y,z)
  3619.  
  3620. wexx.C1=cn(wexx.C1.x,wexx.C1.y,wexx.C1.z)*ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i))
  3621.  
  3622. end
  3623.  
  3624. if fu then
  3625.  
  3626. q(fu)
  3627.  
  3628. end
  3629.  
  3630. wait()
  3631.  
  3632. end
  3633.  
  3634. for i=0.8,1,smmx*0.45 do
  3635.  
  3636. twa = 1
  3637.  
  3638. if c0orc1==0 then
  3639.  
  3640. wexx.C0=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)) *ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i))
  3641.  
  3642. elseif c0orc1==1 then
  3643.  
  3644. wexx.C1=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)) *ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i))
  3645.  
  3646. else local x,y,z = wexx.C0:toEulerAnglesXYZ()
  3647.  
  3648. wexx.C0=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i))*ca(x,y,z)
  3649.  
  3650. wexx.C1=cn(wexx.C1.x,wexx.C1.y,wexx.C1.z)*ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i))
  3651.  
  3652. end
  3653.  
  3654. wait()
  3655.  
  3656. end
  3657.  
  3658. end
  3659.  
  3660. local i=1
  3661.  
  3662. if c0orc1==0 then
  3663.  
  3664. wexx.C0=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)) *ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i))
  3665.  
  3666. elseif c0orc1==1 then
  3667.  
  3668. wexx.C1=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)) *ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i))
  3669.  
  3670. else local x,y,z = wexx.C0:toEulerAnglesXYZ()
  3671.  
  3672. wexx.C0=cn(x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i))*ca(x,y,z)
  3673.  
  3674. wexx.C1=cn(wexx.C1.x,wexx.C1.y,wexx.C1.z)*ca(xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i))
  3675.  
  3676. end
  3677.  
  3678. a.Welding=a.Welding - 1
  3679.  
  3680. local tn=ft2(a.insw,wexx)
  3681.  
  3682. if c0orc1==0 then
  3683.  
  3684. a.insw[tn][2]["p0x"],a.insw[tn][2]["p0y"],a.insw[tn][2]["p0z"]=x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)
  3685.  
  3686. a.insw[tn][2]["a0x"],a.insw[tn][2]["a0y"],a.insw[tn][2]["a0z"]=xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i)
  3687.  
  3688. elseif c0orc1==1 then
  3689.  
  3690. a.insw[tn][2]["p1x"],a.insw[tn][2]["p1y"],a.insw[tn][2]["p1z"]=x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)
  3691.  
  3692. a.insw[tn][2]["a1x"],a.insw[tn][2]["a1y"],a.insw[tn][2]["a1z"]=xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i)
  3693.  
  3694. elseif c0orc1==3 then
  3695.  
  3696. local x,y,z=wexx.C0.x,wexx.C0.y,wexx.C0.z
  3697.  
  3698. a.insw[tn][2]["p0x"],a.insw[tn][2]["p0y"],a.insw[tn][2]["p0z"]=x2-(((x2-aa)/twa)*i),y2-(((y2-bb)/twa)*i),z2-(((z2-cc)/twa)*i)
  3699.  
  3700. local x,y,z=wexx.C1:toEulerAnglesXYZ()
  3701.  
  3702. a.insw[tn][2]["a1x"],a.insw[tn][2]["a1y"],a.insw[tn][2]["a1z"]=xx2-(((xx2-rd(xx))/twa)*i),yy2-(((yy2-rd(yy))/twa)*i),zz2-(((zz2-rd(zz))/twa)*i)
  3703.  
  3704. end
  3705.  
  3706. end
  3707.  
  3708.  
  3709.  
  3710. Welds={}
  3711.  
  3712. Ani=function(w,a,b,c,d,e,f,ty,inc,sined)
  3713.  
  3714. if not Welds[w] then
  3715.  
  3716. local d0,e0,f0=w.C0:toEulerAnglesXYZ() local d1,e1,f1=w.C1:toEulerAnglesXYZ()
  3717.  
  3718. local d0,e0,f0=mdeg(d0),mdeg(e0),mdeg(f0) local d1,e1,f1=mdeg(d1),mdeg(e1),mdeg(f1)
  3719.  
  3720. Welds[w]={[0]={w.C0.x,w.C0.y,w.C0.z,d0,e0,f0},[1]={w.C1.x,w.C1.y,w.C1.z,d1,e1,f1}}
  3721.  
  3722. end
  3723.  
  3724. local c0,c1=Welds[w][0],Welds[w][1]
  3725.  
  3726. c0[1],c0[2],c0[3]=w.C0.x,w.C0.y,w.C0.z
  3727.  
  3728. c1[1],c1[2],c1[3]=w.C1.x,w.C1.y,w.C1.z
  3729.  
  3730. local A0,B0,C0,D0,E0,F0 = unpack(c0)
  3731.  
  3732. local A1,B1,C1,D1,E1,F1 = unpack(c1)
  3733.  
  3734. local Do = function(i)
  3735.  
  3736. if ty==0 then
  3737.  
  3738. w.C0=cn( A0-((A0-a)*i) , B0-((B0-b)*i) , C0-((C0-c)*i) ) * ca2( D0-((D0-d)*i) , E0-(((E0-e)/1)*i) , F0-((F0-f)*i) )
  3739.  
  3740. elseif ty==1 then
  3741.  
  3742. w.C1=cn( A1-((A1-a)*i) , B1-((B1-b)*i) , C1-((C1-c)*i) ) * ca2( D1-((D1-d)*i) , E1-(((E1-e)/1)*i) , F1-((F1-f)*i) )
  3743.  
  3744. else
  3745.  
  3746. w.C0=cn( A0-((A0-a)*i) , B0-((B0-b)*i) , C0-((C0-c)*i) ) * ca2(D0,E0,F0)
  3747.  
  3748. w.C1=cn(A1,B1,C1) * ca2( D1-((D1-d)*i) , E1-(((E1-e)/1)*i) , F1-((F1-f)*i) )
  3749.  
  3750. end
  3751.  
  3752. end
  3753.  
  3754. for i=inc,1,inc do
  3755.  
  3756. Do(sined and math.sin(math.pi/2*i) or i)
  3757.  
  3758. wait()
  3759.  
  3760. end
  3761.  
  3762. Do(1)
  3763.  
  3764. if ty==0 then
  3765.  
  3766. c0[4],c0[5],c0[6]=d,e,f
  3767.  
  3768. else
  3769.  
  3770. c1[4],c1[5],c1[6]=d,e,f
  3771.  
  3772. end
  3773.  
  3774. end
  3775.  
  3776. qAni=function(w,a,b,c,d,e,f,ty,inc,sined) q(function() Ani(w,a,b,c,d,e,f,ty,inc,sined) end) end
  3777.  
  3778. rAni=function(w)
  3779.  
  3780. Welds[w]=nil
  3781.  
  3782. end
  3783.  
  3784.  
  3785.  
  3786. gunshot = function(speed,sc,dmg,cff) q(function() -- gunshot function
  3787.  
  3788. local bb = pa(workspace,"bullet","Block",0.2*sc,0.3*sc,0.2*sc,true,true,0,0.1,"Black") qi({"CylinderMesh",bb})
  3789.  
  3790. bb.CFrame = cff*ca(rd(rn(-1000,1000)/1500),rd(rn(-1000,1000)/1500),rd(rn(-1000,1000)/1500))
  3791.  
  3792. so(ds.Fire,bb,0.3,1) wait() for i=1,50 do
  3793.  
  3794. bhit,bpos=ray(bb.Position,bb.Position - (bb.CFrame *cn(0,-1,0)).p)
  3795.  
  3796. if bhit and bhit.Name ~= "bullet" and bhit.Name ~= "bullethole" and bpos and (bpos - bb.Position).magnitude < speed then break end
  3797.  
  3798. bb.CFrame=bb.CFrame*cn(0,speed,0)*ca(rd(-0.2),0,0)
  3799.  
  3800. wait()
  3801.  
  3802. end bb.CFrame=bb.CFrame*cn(0,(bpos-bb.Position).magnitude,0)
  3803.  
  3804. if not bhit.Anchored then
  3805.  
  3806. if bhit.Parent:findFirstChild("Humanoid") then local h = bhit.Parent.Humanoid h.Health=h.Health-dmg so(ds.Hit,bhit,0.3,1) end
  3807.  
  3808. else if bhit.Name~="Base" then bhit.Anchored=false bhit:BreakJoints() end end bb:Remove()
  3809.  
  3810. if bhit.Parent:findFirstChild("Humanoid") == nil then BulletHole(bpos,bhit,0.7*sc) end
  3811.  
  3812. end) end
  3813.  
  3814.  
  3815.  
  3816. dive = function(ob2,pro,ite,stof)
  3817.  
  3818. local function div(ob) for i,v in pairs(ob:children()) do if v[pro] == ite then
  3819.  
  3820. for i=1,#stof do v[stof[i][1]] = stof[i][2] end else div(v) end end end
  3821.  
  3822. div(ob2)
  3823.  
  3824. end
  3825.  
  3826.  
  3827.  
  3828. fc = function(ob,cl)
  3829.  
  3830. for i,v in pairs(ob:children()) do if v.className:lower()==cl:lower() then return v end end
  3831.  
  3832. end
  3833.  
  3834.  
  3835.  
  3836. function se(Key,Text)
  3837.  
  3838. local Values = {}
  3839.  
  3840. for value in (Text..Key):gmatch("(.-)"..Key) do
  3841.  
  3842. table.insert(Values,value)
  3843.  
  3844. end return Values
  3845.  
  3846. end
  3847.  
  3848.  
  3849.  
  3850. local thefenv = getfenv()
  3851.  
  3852. getfenv()["rmhelp"] = function()
  3853.  
  3854. local nus = 0
  3855.  
  3856. for i,v in pairs(thefenv) do if i ~= "wait" and i ~= "script" then nus = nus + 1 wait(0.05)
  3857.  
  3858. print(string.rep(" ",3-#tostring(nus)) ..nus.. ") " ..i.. " (" ..type(v).. ")")
  3859.  
  3860. end
  3861.  
  3862. end
  3863.  
  3864. end
  3865.  
  3866.  
  3867.  
  3868. for i,v in pairs(thefenv) do
  3869.  
  3870. _G[i] = v
  3871.  
  3872. --print(i)
  3873.  
  3874. end
  3875.  
  3876.  
  3877.  
  3878. _G[" r".."m".."d".."x "] = [[
  3879.  
  3880. for i,v in pairs(_G) do
  3881.  
  3882. if i ~= "wait" and i ~= "script" then
  3883.  
  3884. getfenv()[i] = v
  3885.  
  3886. end
  3887.  
  3888. end
  3889.  
  3890. ]]
  3891. ---------------------------------------------------------
  3892. script:ClearAllChildren()
  3893.  
  3894. loadstring(_G[" rmdx "])()
  3895.  
  3896.  
  3897.  
  3898. Player=game:GetService("Players").LocalPlayer
  3899.  
  3900. Char=Player.Character
  3901.  
  3902. Backpack=Player.Backpack
  3903.  
  3904. PlayerGui=Player.PlayerGui
  3905.  
  3906. Torso=Char.Torso
  3907.  
  3908. Head=Char.Head
  3909.  
  3910. Hum=Char.Humanoid
  3911.  
  3912. Cam=workspace.CurrentCamera
  3913.  
  3914. Tn="Pipebomb Launcher"
  3915.  
  3916.  
  3917.  
  3918.  
  3919. pcall(function() Backpack[Tn]:Remove() end)
  3920.  
  3921. pcall(function() Cam[Tn]:Remove() end)
  3922.  
  3923. pcall(function() thesuit=Char[''] end)
  3924.  
  3925. pcall(function() thesuit[Tn]:Remove() end)
  3926.  
  3927. pcall(function() PlayerGui[Tn]:Remove() end)
  3928.  
  3929.  
  3930.  
  3931. CModel=qi{'Model',Cam,Name=Tn}
  3932.  
  3933. Tool=qi{'HopperBin',Player.Backpack,Name=Tn}
  3934.  
  3935. Suit=qi{'Model',Char,Name=''}
  3936.  
  3937. Weapon=qi{'Model',Suit,Name=Tn}
  3938.  
  3939. Gui=qi{'ScreenGui',PlayerGui,Name=Tn}
  3940.  
  3941.  
  3942.  
  3943. equip="unequipped"
  3944.  
  3945. anim=""
  3946.  
  3947. keys={}
  3948.  
  3949. fmouse=nil
  3950.  
  3951. PipeRotate=0
  3952.  
  3953. Clip=6
  3954.  
  3955. LastShot=0
  3956.  
  3957.  
  3958.  
  3959. ids = {}
  3960.  
  3961. ids.Shoot = 10209633
  3962.  
  3963. ids.Reload = 10209636
  3964.  
  3965. ids.Crown = 20329976
  3966.  
  3967. ids.Crown2 = 1323306
  3968.  
  3969. ids.Icon = 52611635
  3970.  
  3971. ids.Explode = 2697431
  3972.  
  3973. ids.Ring = 3270017
  3974.  
  3975.  
  3976.  
  3977. for i,v in pairs(ids) do
  3978.  
  3979. if type(v)=='number' then
  3980.  
  3981. ids[i]='http://www.roblox.com/asset/?id='..v
  3982.  
  3983. end
  3984.  
  3985. game:GetService("ContentProvider"):Preload(ids[i])
  3986.  
  3987. end
  3988.  
  3989.  
  3990.  
  3991. Limbs={LS=Torso:findFirstChild'Left Shoulder',RS=Torso:findFirstChild'Right Shoulder',LH=Torso:findFirstChild'Left Hip',RH=Torso:findFirstChild'Right Hip'}
  3992.  
  3993. if _G.Limbz then
  3994.  
  3995. Limbs.LS=Limbs.LS or _G.Limbz.LS
  3996.  
  3997. Limbs.RS=Limbs.RS or _G.Limbz.RS
  3998.  
  3999. Limbs.LH=Limbs.LH or _G.Limbz.LH
  4000.  
  4001. Limbs.RH=Limbs.RH or _G.Limbz.RH
  4002.  
  4003. end
  4004.  
  4005. _G.Limbz=Limbs
  4006.  
  4007. Torso.Neck.C0=cn(0,1.5,0) Torso.Neck.C1=cn(0,0,0)
  4008.  
  4009. c2(Torso.Neck,1,3,0,1.5,0,0,0,0)
  4010.  
  4011. LS,RS,LH,RH=Limbs.LS,Limbs.RS,Limbs.LH,Limbs.RH
  4012.  
  4013. LA,RA,LL,RL=Char['Left Arm'],Char['Right Arm'],Char['Left Leg'],Char['Right Leg']
  4014.  
  4015. LS.Part0,RS.Part0,LH.Part0,RH.Part0=Torso,Torso,Torso,Torso
  4016.  
  4017. LS.Part1,RS.Part1,LH.Part1,RH.Part1=LA,RA,LL,RL
  4018.  
  4019.  
  4020.  
  4021. pcall(function() thesuit:Remove() end)
  4022.  
  4023.  
  4024.  
  4025. Head.face.Transparency=0
  4026.  
  4027. Head.Transparency=1 Torso.Transparency=1
  4028.  
  4029. fTorso=pa(Suit,"FTorso","Block",2,2,1,false,false,0,0,Torso.BrickColor.Name) neck=Torso.Neck
  4030.  
  4031. tw=weld(fTorso,Torso,fTorso,0,0,0,0,0,0) qi{"BlockMesh",fTorso}
  4032.  
  4033. fHead=pa(Suit,"FHead","Block",2,1,1,false,false,0,0,Head.BrickColor.Name)
  4034.  
  4035. hw=weld(fHead,fTorso,fHead,0,1.5,0,0,0,0) qi{"SpecialMesh",fHead,Scale=v3(1.15,1.15,1.15)} Head.face:Clone().Parent=fHead Head.face.Transparency=1
  4036.  
  4037. la=qi{'Weld',fTorso,Part0=fTorso,C0=cn(-1.5,0.5,0),C1=cn(0,0.5,0)} ra=qi{'Weld',fTorso,Part0=fTorso,C0=cn(1.5,0.5,0),C1=cn(0,0.5,0)}
  4038.  
  4039. ll=qi{'Weld',fTorso,Part0=fTorso,C0=cn(-0.5,-1,0),C1=cn(0,1,0)} rl=qi{'Weld',fTorso,Part0=fTorso,C0=cn(0.5,-1,0),C1=cn(0,1,0)}
  4040.  
  4041. newhats(Char,fHead,Head) ClearClass(Char,"Hat") Hum.WalkSpeed=16 Hum.MaxHealth=175
  4042.  
  4043.  
  4044.  
  4045. Armz=false
  4046.  
  4047. Legz=false
  4048.  
  4049. Arms = function(on) Armz=on
  4050.  
  4051. if on then
  4052.  
  4053. LS.Part1=nil RS.Part1=nil
  4054.  
  4055. la.Part0=fTorso ra.Part0=fTorso
  4056.  
  4057. la.Part1=LA ra.Part1=RA
  4058.  
  4059. la.C0,la.C1=cn(-1.5,0.5,0),cn(0,0.5,0)
  4060.  
  4061. ra.C0,ra.C1=cn(1.5,0.5,0),cn(0,0.5,0)
  4062.  
  4063. else
  4064.  
  4065. LS.Parent,RS.Parent=fTorso,fTorso LS.Part0=fTorso RS.Part0=fTorso LS.Part1=LA RS.Part1=RA
  4066.  
  4067. la.Part1=nil ra.Part1=nil
  4068.  
  4069. end
  4070.  
  4071. end
  4072.  
  4073.  
  4074.  
  4075. Legs = function(on) Legz=on
  4076.  
  4077. if on then
  4078.  
  4079. LH.Part1=nil RH.Part1=nil
  4080.  
  4081. ll.Part0=fTorso rl.Part0=fTorso
  4082.  
  4083. ll.Part1=LL rl.Part1=RL
  4084.  
  4085. ll.C0,ll.C1=cn(-0.5,-1,0),cn(0,1,0)
  4086.  
  4087. rl.C0,rl.C1=cn(0.5,-1,0),cn(0,1,0)
  4088.  
  4089. else
  4090.  
  4091. LH.Parent,RH.Parent=fTorso,fTorso LH.Part0=fTorso RH.Part0=fTorso LH.Part1=LL RH.Part1=RL
  4092.  
  4093. ll.Part1=nil rl.Part1=nil
  4094.  
  4095. end
  4096.  
  4097. end
  4098.  
  4099. Arms'' Legs''
  4100.  
  4101.  
  4102.  
  4103. WDesign=function(c)
  4104.  
  4105. ha=pa(Weapon,"","Block",0.2,0.5,1,false,false,0,0,c[1]) haw=weld(ha,Torso,ha,0.5,2.5,1,rd(270),0,rd(90))
  4106.  
  4107. gp=pa(Weapon,"","Block",0.2,1,0.2,false,false,0,0,c[1]) weld(gp,ha,gp,0,-0.35,0,rd(-90),0,0) qi{'SpecialMesh',gp,MeshType='Wedge'}
  4108.  
  4109. gp=pa(Weapon,"","Block",0.2,0.7,0.2,false,false,0,0,c[2]) weld(gp,ha,gp,0,-0.1,0.55,0,0,0) qi{'BlockMesh',gp,Scale=v3(1,1,0.5)}
  4110.  
  4111. gp=pa(Weapon,"","Block",0.2,0.5,0.5,false,false,0,0,c[1]) weld(gp,ha,gp,0,-0.115,-0.5,rd(45),0,0)
  4112.  
  4113. gp=pa(Weapon,"","Block",0.2,0.5,1,false,false,0,0,c[1]) weld(gp,ha,gp,0,-0.1,-0.95,rd(15),0,0)
  4114.  
  4115. gpp=pa(Weapon,"","Block",0.21,0.6,0.3,false,false,0,0,c[3]) weld(gpp,ha,gpp,0,0,-1.5,0,0,0)
  4116.  
  4117. gp=pa(Weapon,"","Block",0.2,0.2,0.2,false,false,0,0,c[3]) weld(gp,gpp,gp,0,-0.4,0.05,0,rd(90),0) qi{'SpecialMesh',gp,MeshId=ids.Ring,Scale=v3(0.35,0.35,1)}
  4118.  
  4119. gp=pa(Weapon,"","Block",0.2,0.2,0.2,false,false,0,0,c[3]) weld(gp,gpp,gp,0,-0.4,0.05,rd(10),rd(90),0) qi{'BlockMesh',gp,Scale=v3(0.25,1,0.25)}
  4120.  
  4121. gp1=pa(Weapon,"","Block",1.2,0.2,1.2,false,false,0,0,c[3]) weld(gp1,gpp,gp1,0,-0.25,-0.2,rd(90),0,0) qi{'CylinderMesh',gp1}
  4122.  
  4123. p1=pa(Weapon,"","Block",0.4,1.3,0.2,false,false,0,0,c[3]) weld(p1,gp1,p1,0,0,0.1,rd(90),0,0)
  4124.  
  4125. p2=pa(Weapon,"","Block",0.2,0.4,0.2,false,false,0,0,c[3]) weld(p2,p1,p2,0,1.3/2,0,0,0,rd(90)) qi{'CylinderMesh',p2}
  4126.  
  4127. hinge=pa(Weapon,"","Block",0.2,0.4,0.2,false,false,0,0,c[4]) hingew=weld(hinge,p2,hinge,0,0,0,0,rd(0),0) qi{'CylinderMesh',hinge,Scale=v3(0.6,1.001,0.6)}
  4128.  
  4129. p3=pa(Weapon,"","Block",0.4,0.3,0.2,false,false,0,0,c[3]) weld(p3,p1,p3,0,-1.3/2,0,0,0,0) qi{'BlockMesh',p3}
  4130.  
  4131. p4=pa(Weapon,"","Block",0.2,0.2,0.2,false,false,0,0,c[3]) weld(p4,p3,p4,0.15,-0.2,0,0,0,0) qi{'BlockMesh',p4,Scale=v3(0.5,1,1)}
  4132.  
  4133. p5=pa(Weapon,"","Block",0.2,0.2,0.2,false,false,0,0,c[3]) weld(p5,p3,p5,-0.15,-0.2,0,0,0,0) qi{'BlockMesh',p5,Scale=v3(0.5,1,1)}
  4134.  
  4135. p6=pa(Weapon,"","Block",0.4,0.2,0.7,false,false,0,0,c[3]) weld(p6,hinge,p6,0,0,0.35,0,0,rd(-90)) qi{'BlockMesh',p6,Scale=v3(1,0.5,1)}
  4136.  
  4137. p7=pa(Weapon,"","Block",0.4,0.2,0.4,false,false,0,0,c[3]) weld(p7,p6,p7,0,0,0.55,rd(180),0,0) qi{'SpecialMesh',p7,Scale=v3(1,0.5,1),MeshType="Wedge"}
  4138.  
  4139. p8=pa(Weapon,"","Block",0.4,0.2,0.4,false,false,0,0,c[3]) weld(p8,p7,p8,0,-0.15,0,rd(180),0,0) qi{'SpecialMesh',p8,MeshType="Wedge"}
  4140.  
  4141. p9=pa(Weapon,"","Block",0.4,0.2,0.3,false,false,0,0,c[3]) weld(p9,p8,p9,0,0,0.35,0,0,0) qi{'BlockMesh',p9}
  4142.  
  4143. p10=pa(Weapon,"","Block",0.4,0.2,0.3,false,false,0,0,c[3]) weld(p10,p9,p10,0,0,0.3,0,rd(180),0) qi{'SpecialMesh',p10,MeshType="Wedge"}
  4144.  
  4145. p11=pa(Weapon,"","Block",0.4,0.2,0.3,false,false,0,0,c[3]) weld(p11,p10,p11,0,-0.2,0,0,0,0) qi{'BlockMesh',p11}
  4146.  
  4147. p12=pa(Weapon,"","Block",0.3,0.2,0.3,false,false,0,0,c[3]) weld(p12,p11,p12,0.35,0,0,0,rd(-90),0) qi{'SpecialMesh',p12,MeshType="Wedge"}
  4148.  
  4149. p13=pa(Weapon,"","Block",0.3,0.2,0.3,false,false,0,0,c[3]) weld(p13,p11,p13,-0.35,0,0,0,rd(90),0) qi{'SpecialMesh',p13,MeshType="Wedge"}
  4150.  
  4151. p14=pa(Weapon,"","Block",1.5,0.3,1.5,false,false,0,0,c[3]) weld(p14,p11,p14,0,-0.7,0,rd(90),0,0) qi{'CylinderMesh',p14}
  4152.  
  4153. p15=pa(Weapon,"","Block",1.3,0.2,1.3,false,false,0,0,c[2]) weld(p15,p14,p15,0,0.25,0,0,0,0) qi{'CylinderMesh',p15}
  4154.  
  4155. p16=pa(Weapon,"","Block",0.2,1.4,0.2,false,false,0,0,c[2]) piperw=weld(p16,p15,p16,0,0.7,0,0,rd(30),0) qi{'CylinderMesh',p16}
  4156.  
  4157. for i=0,360,360/6 do
  4158.  
  4159. p16p=pa(Weapon,"","Block",0.5,1.1,0.5,false,false,0,0,c[2]) p16pw=weld(p16p,p16,p16p,0,0,0,0,0,0) qi{'CylinderMesh',p16p} p16pw.C0=cn(0,-0.05,0)*ca(0,rd(i),0)*cn(0.4,0,0)
  4160.  
  4161. p16p=pa(Weapon,"","Block",0.3,0.2,0.3,false,false,0,0,c[5]) p16pw=weld(p16p,p16,p16p,0,0,0,0,0,0) qi{'CylinderMesh',p16p,Scale=v3(1,0.1,1)} p16pw.C0=cn(0,0.5,0)*ca(0,rd(i),0)*cn(0.4,0,0)
  4162.  
  4163. p16p=pa(Weapon,"","Block",0.2,0.2,0.2,false,false,0,0,c[2]) p16pw=weld(p16p,p16,p16p,0,0,0,0,0,0) qi{'CylinderMesh',p16p,Scale=v3(1,0.1,1)} p16pw.C0=cn(0,0.51,0)*ca(0,rd(i),0)*cn(0.4,0,0)
  4164.  
  4165. end
  4166.  
  4167. p17=pa(Weapon,"","Block",0.2,0.2,0.3,false,false,0,0,c[3]) weld(p17,p14,p17,0,0,0.75,rd(90),rd(180),0) qi{'SpecialMesh',p17,MeshType="Wedge",Scale=v3(1,1,1)}
  4168.  
  4169. p18=pa(Weapon,"","Block",0.2,0.2,1.5,false,false,0,0,c[3]) weld(p18,p17,p18,0,0.05,0.9,0,0,0) qi{'BlockMesh',p18,Scale=v3(1,0.5,1)}
  4170.  
  4171. p19=pa(Weapon,"","Block",0.2,0.2,0.2,false,false,0,0,c[3]) weld(p19,p18,p19,0,0.1,0,0,0,0) qi{'SpecialMesh',p19,Scale=v3(0.5,0.5,1),MeshType="Wedge"}
  4172.  
  4173. p20=pa(Weapon,"","Block",0.2,0.2,0.3,false,false,0,0,c[3]) weld(p20,p19,p20,0,0,0.25,0,0,0) qi{'BlockMesh',p20,Scale=v3(0.5,0.5,1)}
  4174.  
  4175. p21=pa(Weapon,"","Block",0.2,0.2,0.2,false,false,0,0,c[3]) weld(p21,p20,p21,0,0,0.175,0,rd(180),0) qi{'SpecialMesh',p21,Scale=v3(0.5,0.5,0.25),MeshType="Wedge"}
  4176.  
  4177. p22=pa(Weapon,"","Block",0.2,0.2,0.2,false,false,0,0,c[4]) weld(p22,p20,p22,0,0,0.05,0,0,rd(90)) qi{'CylinderMesh',p22,Scale=v3(0.25,0.51,0.25)}
  4178.  
  4179. p23=pa(Weapon,"","Block",0.75,0.8,0.75,false,false,0,0,c[2]) weld(p23,p14,p23,0,0.1,0.3,0,0,0) qi{'SpecialMesh',p23} -- start of barrel
  4180.  
  4181. p24=pa(Weapon,"","Block",0.6,1.8,0.6,false,false,0,0,c[2]) weld(p24,p23,p24,0,-0.9,0,0,0,0) qi{'CylinderMesh',p24}
  4182.  
  4183. p25=pa(Weapon,"","Block",0.4,0.2,0.4,false,false,0,0,c[6]) weld(p25,p24,p25,0,-0.9,0,0,0,0) qi{'CylinderMesh',p25,Scale=v3(1,0.1,1)}
  4184.  
  4185. p26=pa(Weapon,"","Block",0.65,0.2,0.65,false,false,0,0,c[3]) weld(p26,p24,p26,0,-0.4,0,0,0,0) qi{'CylinderMesh',p26,Scale=v3(1,1,1)}
  4186.  
  4187. p26=pa(Weapon,"","Block",0.6,0.4,0.8,false,false,0,0,c[1]) weld(p26,p24,p26,0,0.17,-0.4,rd(90),0,0)
  4188.  
  4189. p27=pa(Weapon,"","Block",0.6,0.4,0.4,false,false,0,0,c[1]) weld(p27,p26,p27,0,0,0.6,rd(180),0,0) qi{'SpecialMesh',p27,MeshType="Wedge"}
  4190.  
  4191. for i,v in pairs(Weapon:GetChildren()) do v.CanCollide=false end
  4192.  
  4193. end
  4194.  
  4195.  
  4196.  
  4197. WDesign({"Reddish brown","Black","Dark stone grey","White","Medium stone grey","Really black"}) Arms(false) Legs(false)
  4198.  
  4199.  
  4200.  
  4201. BBD,BBT=0,{}
  4202.  
  4203. Dealt={20,40}
  4204.  
  4205.  
  4206.  
  4207. function Destroy(Directory,Part,Distance)
  4208.  
  4209. for i,v in pairs(Directory:GetChildren()) do
  4210.  
  4211. if v:IsA("BasePart") and not GetHum(v) and v.Parent.Name~=Tn and v.Parent.Name~=Suit.Name and v.Name~="Ignore" and v.Name~="Base" then
  4212.  
  4213. if (Part.Position-v.Position).magnitude<=Distance and v:GetMass()<=1000 then
  4214.  
  4215. v.Anchored=false
  4216.  
  4217. v:BreakJoints()
  4218.  
  4219. v.CFrame=cn(v.Position,Part.Position)*ca(0,rd(180),0)
  4220.  
  4221. v.Velocity=cn(Part.Position,v.Position).lookVector*50
  4222.  
  4223. end
  4224.  
  4225. elseif v:IsA("Model") or v:IsA("Script") or v:IsA("BasePart") and v.Name=="Base" then
  4226.  
  4227. Destroy(v,Part,Distance)
  4228.  
  4229. end
  4230.  
  4231. end
  4232.  
  4233. end
  4234.  
  4235.  
  4236.  
  4237. SplashDmg=function(Part,Distance)
  4238.  
  4239. q(function()
  4240.  
  4241. qi{"Explosion",workspace,Position=Part.Position,BlastPressure=0}
  4242.  
  4243. for i,v in pairs(workspace:GetChildren()) do
  4244.  
  4245. if v:FindFirstChild("Torso",true) then
  4246.  
  4247. local vTorso=v:FindFirstChild("Torso",true)
  4248.  
  4249. if (vTorso.Position-Part.Position).magnitude<=Distance then
  4250.  
  4251. local vHum=GetHum(vTorso)
  4252.  
  4253. if not vHum or BBD==0 or BBT[vHum.Parent] then return end
  4254.  
  4255. BBT[vHum.Parent]=1
  4256.  
  4257. if rn(1,20)==1 then
  4258.  
  4259. Dmg(vHum,rn(Dealt[1],Dealt[2])*3,true)
  4260.  
  4261. else
  4262.  
  4263. Dmg(vHum,rn(Dealt[1],Dealt[2]),false)
  4264.  
  4265. end
  4266.  
  4267. if BBD==2 and vTorso then
  4268.  
  4269. vHum.PlatformStand=true
  4270.  
  4271. if vHum.Jump then
  4272.  
  4273. AddBV(120,cn(Part.Position,vTorso.Position),vTorso,0.4)
  4274.  
  4275. else
  4276.  
  4277. AddBV(100,cn(Part.Position,vTorso.Position),vTorso,0.4)
  4278.  
  4279. end
  4280.  
  4281. if vTorso.Parent~=Char then
  4282.  
  4283. AddBAV(v3(rn(-50,50),rn(-50,50),rn(-50,50)),vTorso,0.4)
  4284.  
  4285. end
  4286.  
  4287. q(function()
  4288.  
  4289. wait(0.6)
  4290.  
  4291. vHum.PlatformStand=false
  4292.  
  4293. end)
  4294.  
  4295. end
  4296.  
  4297. so(ids.Hit,vTorso,1,1)
  4298.  
  4299. BBT[vHum.Parent]=nil
  4300.  
  4301. end
  4302.  
  4303. end
  4304.  
  4305. end
  4306.  
  4307. end)
  4308.  
  4309. end
  4310.  
  4311.  
  4312.  
  4313. Fire = function(speed,sc,cff,dest)
  4314.  
  4315. q(function()
  4316.  
  4317. local bb = pa(workspace,"bullet","Block",0.4*sc,0.6*sc,0.4*sc,false,true,0,0,"Bright red") bb.CanCollide=false qi{"CylinderMesh",bb}
  4318.  
  4319. local pp0 = pa(bb,"bullet","Block",0.2*sc,0.2*sc,0.2*sc,false,true,0,0,"Bright red") pp0.CanCollide=false qi{"SpecialMesh",pp0,MeshType="Sphere",Scale=v3(2,2,2)}
  4320.  
  4321. local pp1 = pa(bb,"bullet","Block",0.2*sc,0.2*sc,0.2*sc,false,true,0,0,"Black") pp1.CanCollide=false qi{"CylinderMesh",pp1,Scale=v3(2.02,0.25,2.02)}
  4322.  
  4323. local pp2 = pa(bb,"bullet","Block",0.2*sc,0.2*sc,0.2*sc,false,true,0,0,"Black") pp2.CanCollide=false qi{"CylinderMesh",pp2,Scale=v3(2.02,2,2.02)}
  4324.  
  4325. bb.CFrame = cn(cff.p,dest)*ca(rd(-90),0,0)
  4326.  
  4327. local m=pa(Weapon,"muzzle","Block",1,1,1,false,false,0,0,"Bright orange") qi{"SpecialMesh",m,MeshId=ids.Crown,Scale=v3(0.5,0.5,0.5)} weld(m,p25,m,0,-0.6,0.05,rd(180),0,0) fade(m,0.2)
  4328.  
  4329. local m=pa(Weapon,"muzzle","Block",1,1,1,false,false,0,0,"Bright orange") qi{"SpecialMesh",m,MeshId=ids.Crown2,Scale=v3(0.4,0.7,0.4)} weld(m,p25,m,0,-0.8,0,rd(180),0,0) fade(m,0.2)
  4330.  
  4331. for i=1,100 do
  4332.  
  4333. bhit,bpos=ray(bb.Position,bb.Position - (bb.CFrame *cn(0,-2,0)).p)
  4334.  
  4335. bhit2,bpos2=ray(pp0.Position,pp0.Position - (pp0.CFrame *cn(0,-2,0)).p)
  4336.  
  4337. bhit3,bpos3=ray(pp1.Position,bb.Position - (pp1.CFrame *cn(0,-2,0)).p)
  4338.  
  4339. bhit4,bpos4=ray(pp2.Position,pp0.Position - (pp2.CFrame *cn(0,-2,0)).p)
  4340.  
  4341. if bhit and bhit.Name ~= "bullet" and bhit.Name ~= "bullethole" and bhit.Name~="muzzle" and bpos and (bpos - bb.Position).magnitude < speed then break end
  4342.  
  4343. if bhit2 and bhit2.Name ~= "bullet" and bhit2.Name ~= "bullethole" and bhit2.Name~="muzzle" and bpos2 and (bpos2 - bb.Position).magnitude < speed then break end
  4344.  
  4345. if bhit3 and bhit3.Name ~= "bullet" and bhit3.Name ~= "bullethole" and bhit3.Name~="muzzle" and bpos3 and (bpos3 - bb.Position).magnitude < speed then break end
  4346.  
  4347. if bhit4 and bhit4.Name ~= "bullet" and bhit4.Name ~= "bullethole" and bhit4.Name~="muzzle" and bpos4 and (bpos4 - bb.Position).magnitude < speed then break end
  4348.  
  4349. bb.CFrame=bb.CFrame*cn(0,speed,0)*ca(rd(-0.3),0,0)
  4350.  
  4351. pp0.CFrame=bb.CFrame*cn(0,0.3,0)
  4352.  
  4353. pp1.CFrame=bb.CFrame*cn(0,-0.3,0)
  4354.  
  4355. pp2.CFrame=bb.CFrame*cn(0,0.1,0)
  4356.  
  4357. wait()
  4358.  
  4359. end
  4360.  
  4361. GlowMesh(false,"sphere",Weapon,v3(3,3,3),"Bright red",cn(bpos),0.25,1,0.05)
  4362.  
  4363. BBD=2
  4364.  
  4365. sopart=pa(workspace,"bullet","Block",0,0,0,true,true,1,0)
  4366.  
  4367. bb.CFrame=bb.CFrame*cn(0,(bpos-bb.Position).magnitude,0)
  4368.  
  4369. pp0.CFrame=bb.CFrame*cn(0,0.3,0)
  4370.  
  4371. pp1.CFrame=bb.CFrame*cn(0,-0.3,0)
  4372.  
  4373. pp2.CFrame=bb.CFrame*cn(0,0.1,0)
  4374.  
  4375. sopart.CFrame=bb.CFrame
  4376.  
  4377. so(ids.Explode,sopart,1,0.4)
  4378.  
  4379. SplashDmg(bb,11)
  4380.  
  4381. Destroy(workspace,bb,13)
  4382.  
  4383. BBD=0
  4384.  
  4385. deb:AddItem(bb,1)
  4386.  
  4387. deb:AddItem(sopart,1)
  4388.  
  4389. end)
  4390.  
  4391. end
  4392.  
  4393.  
  4394.  
  4395. function Stance(speed)
  4396.  
  4397. c2(ra,speed,3,1.25,0.5,-0.25,-75,-65,0)
  4398.  
  4399. c2(la,speed,3,-1.25,0.5,-0.25,-70,-20,0)
  4400.  
  4401. c2(ll,speed,3,-0.5,-1,0,0,0,0)
  4402.  
  4403. c2(rl,speed,3,0.5,-1,0,0,0,0)
  4404.  
  4405. c2(hw,speed,3,0,1.5,0,0,-65,0)
  4406.  
  4407. c2(tw,speed,3,0,0,0,0,65,0)
  4408.  
  4409. c2(neck,speed,3,0,1.5,0,0,0,0)
  4410.  
  4411. c2(hingew,speed,3,0,0,0,0,0,0)
  4412.  
  4413. c2(piperw,speed,3,0,0.7,0,0,30+PipeRotate,0)
  4414.  
  4415. Ani(haw,0,0.5,0,-75,0,0,0,speed/2,1)
  4416.  
  4417. end
  4418.  
  4419.  
  4420.  
  4421. function Reset(speed)
  4422.  
  4423. c2(ra,speed,3,1.5,0.5,0,0,0,0)
  4424.  
  4425. c2(la,speed,3,-1.5,0.5,0,0,0,0)
  4426.  
  4427. c2(ll,speed,3,-0.5,-1,0,0,0,0)
  4428.  
  4429. c2(rl,speed,3,0.5,-1,0,0,0,0)
  4430.  
  4431. c2(hw,speed,3,0,1.5,0,0,0,0)
  4432.  
  4433. c2(tw,speed,3,0,0,0,0,0,0)
  4434.  
  4435. c2(neck,speed,3,0,1.5,0,0,0,0)
  4436.  
  4437. c2(piperw,speed,3,0,0.7,0,0,30+PipeRotate,0)
  4438.  
  4439. c2(hingew,speed,3,0,0,0,0,0,0)
  4440.  
  4441. Ani(haw,0.5,2.5,1,270,0,90,0,speed,1)
  4442.  
  4443. end
  4444.  
  4445.  
  4446.  
  4447. function Button1Down()
  4448.  
  4449. if Clip>0 and anim=="" and (tick()-LastShot)>=0.6 then
  4450.  
  4451. LastShot=tick()
  4452.  
  4453. so(ids.Shoot,ha,1,1)
  4454.  
  4455. Fire(3,1,p25.CFrame*cn(0,-1,0),fmouse.Hit.p)
  4456.  
  4457. Clip=Clip-1
  4458.  
  4459. PipeRotate=PipeRotate+60
  4460.  
  4461. c2(piperw,0.4,3,0,0.7,0,0,30+PipeRotate,0)
  4462.  
  4463. elseif Clip==0 and anim=="" and (tick()-LastShot)>=0.6 then
  4464.  
  4465. anim="Reloading"
  4466.  
  4467. c2(ra,0.1,3,1.25,0.5,-0.25,-75,-65,0)
  4468.  
  4469. c2(la,0.1,3,-1.25,0.5,-0.25,-70,-20,0)
  4470.  
  4471. c2(hw,0.1,3,0,1.5,0,0,-65,0)
  4472.  
  4473. c1(hingew,0.15,3,0,0,0,0,-90,0)
  4474.  
  4475. for i=1,6 do
  4476.  
  4477. PipeRotate=PipeRotate+60
  4478.  
  4479. c1(la,0.13,3,-1.25,0.25,0.1,15,0,-15)
  4480.  
  4481. local pipe=pa(Weapon,"","Block",0.4,0.7,0.4,false,false,0,0,"Bright red") weld(pipe,LA,pipe,0,-1.1,0,rd(-90),0,0) qi{"CylinderMesh",pipe}
  4482.  
  4483. local pp=pa(pipe,"","Block",0.4,0.4,0.4,false,false,0,0,"Bright red") weld(pp,pipe,pp,0,-0.35,0,0,0,0) qi{"SpecialMesh",pp,MeshType="Sphere"}
  4484.  
  4485. local pp=pa(pipe,"","Block",0.41,0.2,0.41,false,false,0,0,"Black") weld(pp,pipe,pp,0,0.35,0,0,0,0) qi{"CylinderMesh",pp,Scale=v3(1,0.25,1)}
  4486.  
  4487. local pp=pa(pipe,"","Block",0.41,0.5,0.41,false,false,0,0,"Black") weld(pp,pipe,pp,0,0,0,0,0,0) qi{"CylinderMesh",pp}
  4488.  
  4489. c1(la,0.16,3,-1.25,0.4,-0.1,-100,0,-15)
  4490.  
  4491. c1(la,0.2,3,-1.25,0.3,-0.25,-40,0,-15)
  4492.  
  4493. so(ids.Reload,ha,1,1)
  4494.  
  4495. c1(piperw,0.4,3,0,0.7,0,0,30+PipeRotate,0)
  4496.  
  4497. Clip=i
  4498.  
  4499. deb:AddItem(pipe,0.05)
  4500.  
  4501. end
  4502.  
  4503. Stance(0.15)
  4504.  
  4505. anim=""
  4506.  
  4507. end
  4508.  
  4509. end
  4510.  
  4511.  
  4512.  
  4513. function KeyDown(key)
  4514.  
  4515. key=key:lower()
  4516.  
  4517. keys[key]=true
  4518.  
  4519. if key=="r" and anim=="" and equip=="equipped" and Clip==0 then
  4520.  
  4521. anim="Reloading"
  4522.  
  4523. c2(ra,0.1,3,1.25,0.5,-0.25,-75,-65,0)
  4524.  
  4525. c2(la,0.1,3,-1.25,0.5,-0.25,-70,-20,0)
  4526.  
  4527. c2(hw,0.1,3,0,1.5,0,0,-65,0)
  4528.  
  4529. c1(hingew,0.15,3,0,0,0,0,-90,0)
  4530.  
  4531. for i=1,6 do
  4532.  
  4533. PipeRotate=PipeRotate+60
  4534.  
  4535. c1(la,0.13,3,-1.25,0.25,0.1,15,0,-15)
  4536.  
  4537. local pipe=pa(Weapon,"","Block",0.4,0.7,0.4,false,false,0,0,"Bright red") weld(pipe,LA,pipe,0,-1.1,0,rd(-90),0,0) qi{"CylinderMesh",pipe}
  4538.  
  4539. local pp=pa(pipe,"","Block",0.4,0.4,0.4,false,false,0,0,"Bright red") weld(pp,pipe,pp,0,-0.35,0,0,0,0) qi{"SpecialMesh",pp,MeshType="Sphere"}
  4540.  
  4541. local pp=pa(pipe,"","Block",0.41,0.2,0.41,false,false,0,0,"Black") weld(pp,pipe,pp,0,0.35,0,0,0,0) qi{"CylinderMesh",pp,Scale=v3(1,0.25,1)}
  4542.  
  4543. local pp=pa(pipe,"","Block",0.41,0.5,0.41,false,false,0,0,"Black") weld(pp,pipe,pp,0,0,0,0,0,0) qi{"CylinderMesh",pp}
  4544.  
  4545. c1(la,0.16,3,-1.25,0.4,-0.1,-100,0,-15)
  4546.  
  4547. c1(la,0.2,3,-1.25,0.3,-0.25,-40,0,-15)
  4548.  
  4549. so(ids.Reload,ha,1,1)
  4550.  
  4551. c1(piperw,0.4,3,0,0.7,0,0,30+PipeRotate,0)
  4552.  
  4553. Clip=i
  4554.  
  4555. deb:AddItem(pipe,0.05)
  4556.  
  4557. end
  4558.  
  4559. Stance(0.15)
  4560.  
  4561. anim=""
  4562.  
  4563. end
  4564.  
  4565. end
  4566.  
  4567.  
  4568.  
  4569. Tool.Selected:connect(function(mouse)
  4570.  
  4571. fmouse=mouse
  4572.  
  4573. if equip=="unequipped" and anim=="" then
  4574.  
  4575. equip="equipping" Arms(true) c2(la,0.1,3,-1.5,0.5,0,0,0,20) c1(ra,0.1,3,1.5,0.5,0,120,0,-70)
  4576.  
  4577. local ofs = RA.CFrame:toObjectSpace(ha.CFrame)
  4578.  
  4579. haw.Part0=RA haw.C0=ofs haw.C1=cn(0,0,0) rAni(haw)
  4580.  
  4581. Stance(0.2) equip="equipped"
  4582.  
  4583. end
  4584.  
  4585. mouse.Button1Down:connect(Button1Down)
  4586.  
  4587. mouse.KeyDown:connect(KeyDown)
  4588.  
  4589. end)
  4590.  
  4591.  
  4592.  
  4593. Tool.Deselected:connect(function()
  4594.  
  4595. fmouse=nil
  4596.  
  4597. if equip=="equipped" and anim=="" then
  4598.  
  4599. equip="unequipping" c2(la,0.1,3,-1.5,0.5,0,0,0,0) c1(ra,0.1,3,1.5,0.5,0,120,0,-70)
  4600.  
  4601. local ofs = Torso.CFrame:toObjectSpace(ha.CFrame)
  4602.  
  4603. haw.Part0=Torso haw.C0=ofs haw.C1=cn(0,0,0) rAni(haw)
  4604.  
  4605. Reset(0.1)
  4606.  
  4607. Arms(false) Legs(false) equip="unequipped"
  4608.  
  4609. end
  4610.  
  4611. end)
  4612.  
  4613.  
  4614.  
  4615. Gyro=qi{"BodyGyro",Torso,D=50,P=1500}
  4616.  
  4617. game:GetService("RunService").Stepped:connect(function()
  4618.  
  4619. if fmouse~=nil then
  4620.  
  4621. Gyro.maxTorque=v3(1/0,1/0,1/0)
  4622.  
  4623. Gyro.cframe = cn(Torso.Position,v3(fmouse.hit.p.x,Torso.Position.y,fmouse.hit.p.z))
  4624.  
  4625. else
  4626.  
  4627. Gyro.maxTorque = v3(0,0,0)
  4628.  
  4629. end
  4630.  
  4631. if equip=="equipped" and anim=="" and fmouse~=nil then
  4632.  
  4633. c2(ra,1,3,1.25,0.5,-0.25,-75+math.deg((Torso.Position-fmouse.Hit.p).unit.y),-65,0)
  4634.  
  4635. c2(la,1,3,-1.25,0.5,-0.25,-70+math.deg((Torso.Position-fmouse.Hit.p).unit.y),-20,0)
  4636.  
  4637. c2(hw,1,3,0,1.5,0,math.deg((Torso.Position-fmouse.Hit.p).unit.y),-65,0)
  4638.  
  4639. end
  4640.  
  4641. end)
  4642. end)
  4643. FFB = Instance.new("TextButton", Screen)
  4644. FFB.Name = "FFB"
  4645. FFB.Text = "FF me"
  4646. FFB.Position = UDim2.new(0.05, 0, 0.7, 0)
  4647. FFB.Size = UDim2.new(0.1, 0, 0.1, 0)
  4648. FFB.Font = "Arial"
  4649. FFB.FontSize = "Size24"
  4650. FFB.TextWrapped = true
  4651. FFB.BackgroundColor3 = Color3.new(0, 0, 1)
  4652. FFB.TextColor3 = Color3.new(1, 1, 0)
  4653. FFB.BackgroundTransparency = 0.7
  4654. FFB.MouseButton1Down:connect(function()
  4655. Instance.new('ForceField',game.Players.LocalPlayer.Character)
  4656. end)
  4657. UFFB = Instance.new("TextButton", Screen)
  4658. UFFB.Name = "UFFB"
  4659. UFFB.Text = "Unff me"
  4660. UFFB.Position = UDim2.new(0.05, 0, 0.8, 0)
  4661. UFFB.Size = UDim2.new(0.1, 0, 0.1, 0)
  4662. UFFB.Font = "Arial"
  4663. UFFB.FontSize = "Size24"
  4664. UFFB.TextWrapped = true
  4665. UFFB.BackgroundColor3 = Color3.new(0, 0, 1)
  4666. UFFB.TextColor3 = Color3.new(1, 1, 0)
  4667. UFFB.BackgroundTransparency = 0.7
  4668. UFFB.MouseButton1Down:connect(function()
  4669. game.Players.LocalPlayer.Character.ForceField:Destroy()
  4670. end)
  4671. GAB = Instance.new("TextButton", Screen)
  4672. GAB.Name = "GAB"
  4673. GAB.Text = "Get DDH"
  4674. GAB.Position = UDim2.new(0.15, 0, 0.4, 0)
  4675. GAB.Size = UDim2.new(0.1, 0, 0.1, 0)
  4676. GAB.Font = "Arial"
  4677. GAB.FontSize = "Size24"
  4678. GAB.TextWrapped = true
  4679. GAB.BackgroundColor3 = Color3.new(0, 0, 1)
  4680. GAB.TextColor3 = Color3.new(1, 1, 0)
  4681. GAB.BackgroundTransparency = 0.7
  4682. GAB.MouseButton1Down:connect(function()
  4683. game:GetService('InsertService'):LoadAsset(108149175):children()[1].Parent = game.Players.LocalPlayer.Backpack
  4684. end)
  4685. GAB2 = Instance.new("TextButton", Screen)
  4686. GAB2.Name = "GAB2"
  4687. GAB2.Text = "Get Fallen Artemis"
  4688. GAB2.Position = UDim2.new(0.15, 0, 0.5, 0)
  4689. GAB2.Size = UDim2.new(0.1, 0, 0.1, 0)
  4690. GAB2.Font = "Arial"
  4691. GAB2.FontSize = "Size24"
  4692. GAB2.TextWrapped = true
  4693. GAB2.BackgroundColor3 = Color3.new(0, 0, 1)
  4694. GAB2.TextColor3 = Color3.new(1, 1, 0)
  4695. GAB2.BackgroundTransparency = 0.7
  4696. GAB2.MouseButton1Down:connect(function()
  4697. game:GetService('InsertService'):LoadAsset(110892267):children()[1].Parent = game.Players.LocalPlayer.Backpack
  4698. end)
  4699. GAB3 = Instance.new("TextButton", Screen)
  4700. GAB3.Name = "GAB3"
  4701. GAB3.Text = "Get R-Orb"
  4702. GAB3.Position = UDim2.new(0.15, 0, 0.6, 0)
  4703. GAB3.Size = UDim2.new(0.1, 0, 0.1, 0)
  4704. GAB3.Font = "Arial"
  4705. GAB3.FontSize = "Size24"
  4706. GAB3.TextWrapped = true
  4707. GAB3.BackgroundColor3 = Color3.new(0, 0, 1)
  4708. GAB3.TextColor3 = Color3.new(1, 1, 0)
  4709. GAB3.BackgroundTransparency = 0.7
  4710. GAB3.MouseButton1Down:connect(function()
  4711. game:GetService('InsertService'):LoadAsset(98411393):children()[1].Parent = game.Players.LocalPlayer.Backpack
  4712. end)
  4713. GAB4 = Instance.new("TextButton", Screen)
  4714. GAB4.Name = "GAB4"
  4715. GAB4.Text = "Get Minion"
  4716. GAB4.Position = UDim2.new(0.15, 0, 0.7, 0)
  4717. GAB4.Size = UDim2.new(0.1, 0, 0.1, 0)
  4718. GAB4.Font = "Arial"
  4719. GAB4.FontSize = "Size24"
  4720. GAB4.TextWrapped = true
  4721. GAB4.BackgroundColor3 = Color3.new(0, 0, 1)
  4722. GAB4.TextColor3 = Color3.new(1, 1, 0)
  4723. GAB4.BackgroundTransparency = 0.7
  4724. GAB4.MouseButton1Down:connect(function()
  4725. game:GetService('InsertService'):LoadAsset(89488524):children()[1].Parent = game.Players.LocalPlayer.Backpack
  4726. end)
  4727. GAB5 = Instance.new("TextButton", Screen)
  4728. GAB5.Name = "GAB5"
  4729. GAB5.Text = "Get Gun"
  4730. GAB5.Position = UDim2.new(0.15, 0, 0.8, 0)
  4731. GAB5.Size = UDim2.new(0.1, 0, 0.1, 0)
  4732. GAB5.Font = "Arial"
  4733. GAB5.FontSize = "Size24"
  4734. GAB5.TextWrapped = true
  4735. GAB5.BackgroundColor3 = Color3.new(0, 0, 1)
  4736. GAB5.TextColor3 = Color3.new(1, 1, 0)
  4737. GAB5.BackgroundTransparency = 0.7
  4738. GAB5.MouseButton1Down:connect(function()
  4739. game:GetService('InsertService'):LoadAsset(97885552):children()[1].Parent = game.Players.LocalPlayer.Backpack
  4740. end)
  4741. TRN2 = Instance.new("TextButton", Screen)
  4742. TRN2.Name = "TRN2"
  4743. TRN2.Text = "Terrain2"
  4744. TRN2.Position = UDim2.new(0.25, 0, 0.8, 0)
  4745. TRN2.Size = UDim2.new(0.1, 0, 0.1, 0)
  4746. TRN2.Font = "Arial"
  4747. TRN2.FontSize = "Size24"
  4748. TRN2.TextWrapped = true
  4749. TRN2.BackgroundColor3 = Color3.new(0, 0, 1)
  4750. TRN2.TextColor3 = Color3.new(1, 1, 0)
  4751. TRN2.BackgroundTransparency = 0.7
  4752. TRN2.MouseButton1Down:connect(function()
  4753. model=Instance.new("Model")
  4754. model.Name="a"
  4755. model.Parent=workspace
  4756. nodes={
  4757. {1,1,1,1,1,1,1,1,1,1}; --1
  4758. {1,20,80,250,220,130,80,50,120,1}; --2
  4759. {1,50,90,210,60,170,210,100,40,1}; --3
  4760. {1,90,100,300,600,650,600,200,140,1}; --4
  4761. {1,60,100,350,650,750,650,200,30,1}; --5
  4762. {1,140,100,300,600,650,600,200,80,1}; --6
  4763. {1,110,100,350,480,230,160,100,50,1}; --7
  4764. {1,120,120,240,300,240,170,150,100,1}; --8
  4765. {1,80,80,10,30,90,60,40,50,1}; --9
  4766. {1,1,1,1,1,1,1,1,1,1}; --50
  4767. }
  4768. colorRange={}
  4769. colorRange[0]="Dark stone grey"
  4770. colorRange[70]="Dark green"
  4771. colorRange[80]="Camo"
  4772. colorRange[90]="Bright green"
  4773. colorRange[20]="Brown"
  4774. colorRange[40]="Dark stone grey"
  4775. colorRange[60]="Dark grey"
  4776. colorRange[80]="White"
  4777. flat_bricks=true --keep this at true for now...
  4778. width=40
  4779. depth=40
  4780. height=100
  4781. elevation=0
  4782. function createTriangle(n1,n2,n3)
  4783. local w1=Instance.new("WedgePart")
  4784. w1.formFactor="Symmetric"
  4785. w1.Anchored=true
  4786. w1.Name="awxsd561"
  4787. findingSolution=true
  4788. while findingSolution do
  4789. r=Ray.new(n1,(n3-n1).unit)
  4790. d=r:ClosestPoint(n2)
  4791. if (n1-d).magnitude>=(n1-n3).magnitude or (n3-d).magnitude>=(n3-n1).magnitude then
  4792. local n=n1
  4793. n1=n3
  4794. n3=n2
  4795. n2=n
  4796. else
  4797. findingSolution=false
  4798. end
  4799. end
  4800. local pos=(n1:lerp(n2,.5))
  4801. local v2=(n1:lerp(d,.5)-pos).unit*-1
  4802. local v3=(n2:lerp(d,.5)-pos).unit
  4803. local v1=(v2:Cross(v3))
  4804. local y=(n2-d).magnitude
  4805. local z=(n1-d).magnitude
  4806. w1.Size=Vector3.new(2,math.ceil(y),math.ceil(z)) +Vector3.new(0,1,1)
  4807. w1.CFrame=CFrame.new(pos.x,pos.y,pos.z,v1.x,v2.x,v3.x,v1.y,v2.y,v3.y,v1.z,v2.z,v3.z)
  4808. highestVal=0
  4809. for i,v in pairs(colorRange) do
  4810. if i>=highestVal and (pos.y-elevation)/height*100/255>=i then
  4811. highestVal=i
  4812. end
  4813. end
  4814. w1.BrickColor=BrickColor.new(colorRange[highestVal])
  4815. if flat_bricks then
  4816. local m=Instance.new("SpecialMesh")
  4817. m.MeshType="Wedge"
  4818. m.Scale=Vector3.new(0,y/math.ceil(y),z/math.ceil(z))
  4819. m.Parent=w1
  4820. else
  4821. w1.CFrame=w1.CFrame*CFrame.new(-.5,0,0)
  4822. end
  4823. local w2=Instance.new("WedgePart")
  4824. w2.formFactor="Symmetric"
  4825. w2.Name="awx"
  4826. w2.Anchored=true
  4827. local pos=(n3:lerp(n2,.5))
  4828. local v2=(n3:lerp(d,.5)-pos).unit*-1
  4829. local v3=(n2:lerp(d,.5)-pos).unit
  4830. local v1=(v2:Cross(v3))
  4831. local y=(n2-d).magnitude
  4832. local z=(n3-d).magnitude
  4833. w2.Size=Vector3.new(2,math.ceil(y),math.ceil(z)) +Vector3.new(0,1,1)
  4834. w2.CFrame=CFrame.new(pos.x,pos.y,pos.z,v1.x,v2.x,v3.x,v1.y,v2.y,v3.y,v1.z,v2.z,v3.z)
  4835. highestVal=0
  4836. for i,v in pairs(colorRange) do
  4837. if i>=highestVal and (pos.y-elevation)/height*100/255>=i then
  4838. highestVal=i
  4839. end
  4840. end
  4841. w2.BrickColor=BrickColor.new(colorRange[highestVal])
  4842. if flat_bricks then
  4843. local m=Instance.new("SpecialMesh")
  4844. m.MeshType="Wedge"
  4845. m.Scale=Vector3.new(0,y/math.ceil(y),z/math.ceil(z))
  4846. m.Parent=w2
  4847. else
  4848. w2.CFrame=w2.CFrame*CFrame.new(.5,0,0)
  4849. end
  4850. w2.Parent=model
  4851. w1.Parent=model
  4852. end
  4853. height=height/255
  4854. startPos=Vector3.new(0,0,0)
  4855. for a=1,#nodes-1 do
  4856. for b=1,#nodes[a]-1 do
  4857. createTriangle(Vector3.new((a+1)*width+startPos.x,nodes[a+1][b]*height+startPos.y,b*depth+startPos.z),Vector3.new(a*width+startPos.x,nodes[a][b]*height+startPos.y,b*depth+startPos.z),Vector3.new(a*width+startPos.x,nodes[a][b+1]*height+startPos.y,(b+1)*depth+startPos.z))
  4858. createTriangle(Vector3.new(a*width+startPos.x,nodes[a][b+1]*height+startPos.y,(b+1)*depth+startPos.z),Vector3.new((a+1)*width+startPos.x,nodes[a+1][b+1]*height+startPos.y,(b+1)*depth+startPos.z),Vector3.new((a+1)*width+startPos.x,nodes[a+1][b]*height+startPos.y,b*depth+startPos.z))
  4859. wait()
  4860. end
  4861. end
  4862.  
  4863. end)
  4864. VIS = Instance.new("TextButton", Screen)
  4865. VIS.Name = "VIS"
  4866. VIS.Text = "Open"
  4867. VIS.Position = UDim2.new(0.55, 0, 0, 50)
  4868. VIS.Size = UDim2.new(0, 80, 0, 50)
  4869. VIS.Font = "ArialBold"
  4870. VIS.FontSize = "Size24"
  4871. VIS.TextWrapped = true
  4872. VIS.BackgroundColor3 = Color3.new(0, 1, 0)
  4873. VIS.TextColor3 = Color3.new(1, 1, 0)
  4874. VIS.BackgroundTransparency = 0
  4875. VIS.Visible = false
  4876. VIS.MouseButton1Down:connect(function()
  4877. game.Players.LocalPlayer.PlayerGui.TestGUI.VIS.Visible = false
  4878. game.Players.LocalPlayer.PlayerGui.TestGUI.VIS.Draggable = false
  4879. game.Players.LocalPlayer.PlayerGui.TestGUI.KB.Visible = true
  4880. game.Players.LocalPlayer.PlayerGui.TestGUI.GB.Visible = true
  4881. game.Players.LocalPlayer.PlayerGui.TestGUI.UGB.Visible = true
  4882. game.Players.LocalPlayer.PlayerGui.TestGUI.FFB.Visible = true
  4883. game.Players.LocalPlayer.PlayerGui.TestGUI.UFFB.Visible = true
  4884. game.Players.LocalPlayer.PlayerGui.TestGUI.GAB.Visible = true
  4885. game.Players.LocalPlayer.PlayerGui.TestGUI.GAB2.Visible = true
  4886. game.Players.LocalPlayer.PlayerGui.TestGUI.GAB3.Visible = true
  4887. game.Players.LocalPlayer.PlayerGui.TestGUI.GAB4.Visible = true
  4888. game.Players.LocalPlayer.PlayerGui.TestGUI.GAB5.Visible = true
  4889. game.Players.LocalPlayer.PlayerGui.TestGUI.RTB.Visible = true
  4890. game.Players.LocalPlayer.PlayerGui.TestGUI.CB.Visible = true
  4891. game.Players.LocalPlayer.PlayerGui.TestGUI.RKT.Visible = true
  4892. game.Players.LocalPlayer.PlayerGui.TestGUI.FRST.Visible = true
  4893. game.Players.LocalPlayer.PlayerGui.TestGUI.RSTR.Visible = true
  4894. game.Players.LocalPlayer.PlayerGui.TestGUI.CSTL.Visible = true
  4895. game.Players.LocalPlayer.PlayerGui.TestGUI.TRN.Visible = true
  4896. game.Players.LocalPlayer.PlayerGui.TestGUI.TRN2.Visible = true
  4897. game.Players.LocalPlayer.PlayerGui.TestGUI.PIPE.Visible = true
  4898. game.Players.LocalPlayer.PlayerGui.TestGUI.STRK.Visible = true
  4899. game.Players.LocalPlayer.PlayerGui.TestGUI.FLY.Visible = true
  4900. game.Players.LocalPlayer.PlayerGui.TestGUI.WING.Visible = true
  4901. game.Players.LocalPlayer.PlayerGui.TestGUI.CAPE.Visible = true
  4902. game.Players.LocalPlayer.PlayerGui.TestGUI.PENT.Visible = true
  4903. game.Players.LocalPlayer.PlayerGui.TestGUI.CMDS.Visible = true
  4904. end)
  4905. CB = Instance.new("TextButton", Screen)
  4906. CB.Name = "CB"
  4907. CB.Text = "Close"
  4908. CB.Position = UDim2.new(0.15, 0, 0.3, 0)
  4909. CB.Size = UDim2.new(0.1, 0, 0.1, 0)
  4910. CB.Font = "ArialBold"
  4911. CB.FontSize = "Size24"
  4912. CB.TextWrapped = true
  4913. CB.BackgroundColor3 = Color3.new(0, 1, 0)
  4914. CB.TextColor3 = Color3.new(1, 1, 0)
  4915. CB.BackgroundTransparency = 0
  4916. CB.MouseButton1Down:connect(function()
  4917. game.Players.LocalPlayer.PlayerGui.TestGUI.VIS.Visible = true
  4918. game.Players.LocalPlayer.PlayerGui.TestGUI.VIS.Draggable = true
  4919. game.Players.LocalPlayer.PlayerGui.TestGUI.KB.Visible = false
  4920. game.Players.LocalPlayer.PlayerGui.TestGUI.GB.Visible = false
  4921. game.Players.LocalPlayer.PlayerGui.TestGUI.UGB.Visible = false
  4922. game.Players.LocalPlayer.PlayerGui.TestGUI.FFB.Visible = false
  4923. game.Players.LocalPlayer.PlayerGui.TestGUI.UFFB.Visible = false
  4924. game.Players.LocalPlayer.PlayerGui.TestGUI.GAB.Visible = false
  4925. game.Players.LocalPlayer.PlayerGui.TestGUI.GAB2.Visible = false
  4926. game.Players.LocalPlayer.PlayerGui.TestGUI.GAB3.Visible = false
  4927. game.Players.LocalPlayer.PlayerGui.TestGUI.GAB4.Visible = false
  4928. game.Players.LocalPlayer.PlayerGui.TestGUI.GAB5.Visible = false
  4929. game.Players.LocalPlayer.PlayerGui.TestGUI.RTB.Visible = false
  4930. game.Players.LocalPlayer.PlayerGui.TestGUI.CB.Visible = false
  4931. game.Players.LocalPlayer.PlayerGui.TestGUI.RKT.Visible = false
  4932. game.Players.LocalPlayer.PlayerGui.TestGUI.FRST.Visible = false
  4933. game.Players.LocalPlayer.PlayerGui.TestGUI.RSTR.Visible = false
  4934. game.Players.LocalPlayer.PlayerGui.TestGUI.CSTL.Visible = false
  4935. game.Players.LocalPlayer.PlayerGui.TestGUI.TRN.Visible = false
  4936. game.Players.LocalPlayer.PlayerGui.TestGUI.TRN2.Visible = false
  4937. game.Players.LocalPlayer.PlayerGui.TestGUI.PIPE.Visible = false
  4938. game.Players.LocalPlayer.PlayerGui.TestGUI.STRK.Visible = false
  4939. game.Players.LocalPlayer.PlayerGui.TestGUI.FLY.Visible = false
  4940. game.Players.LocalPlayer.PlayerGui.TestGUI.WING.Visible = false
  4941. game.Players.LocalPlayer.PlayerGui.TestGUI.CAPE.Visible = false
  4942. game.Players.LocalPlayer.PlayerGui.TestGUI.PENT.Visible = false
  4943. game.Players.LocalPlayer.PlayerGui.TestGUI.CMDS.Visible = false
  4944. end)
  4945. CSTL = Instance.new("TextButton", Screen)
  4946. CSTL.Name = "CSTL"
  4947. CSTL.Text = "House"
  4948. CSTL.Position = UDim2.new(0.25, 0, 0.6, 0)
  4949. CSTL.Size = UDim2.new(0.1, 0, 0.1, 0)
  4950. CSTL.Font = "Arial"
  4951. CSTL.FontSize = "Size24"
  4952. CSTL.TextWrapped = true
  4953. CSTL.BackgroundColor3 = Color3.new(0, 0, 1)
  4954. CSTL.TextColor3 = Color3.new(1, 1, 0)
  4955. CSTL.BackgroundTransparency = 0.7
  4956. CSTL.MouseButton1Down:connect(function()
  4957. me = game.Players.LocalPlayer
  4958.  
  4959. function prop(part, parent, collide, tran, ref, x, y, z, color, anchor, form)
  4960. part.Parent = parent
  4961. part.formFactor = form
  4962. part.CanCollide = collide
  4963. part.Transparency = tran
  4964. part.Reflectance = ref
  4965. part.Size = Vector3.new(x,y,z)
  4966. part.BrickColor = BrickColor.new(color)
  4967. part.TopSurface = 0
  4968. part.BottomSurface = 0
  4969. part.Anchored = anchor
  4970. part.Locked = true
  4971. part:BreakJoints()
  4972. end
  4973.  
  4974. function remove(thing)
  4975. thing.Parent = nil
  4976. end
  4977.  
  4978. local mod = Instance.new("Model",workspace)
  4979. mod.Name = "HouseMake, xS"
  4980.  
  4981. function makeroom(pos)
  4982. local floor = Instance.new("Part")
  4983. prop(floor,mod,true,0,0,35,1,35,"Black",true,"Custom")
  4984. floor.CFrame = pos
  4985. local roof = Instance.new("Part")
  4986. prop(roof,mod,true,0,0,35,1,35,"Black",true,"Custom")
  4987. roof.CFrame = floor.CFrame * CFrame.new(0,13,0)
  4988. for i=-90,179,90 do
  4989. local wall = Instance.new("Part")
  4990. prop(wall,mod,true,0,0,36,13,1,"White",true,"Custom")
  4991. wall.CFrame = pos * CFrame.Angles(0,math.rad(i),0) * CFrame.new(0,wall.Size.Y/2,floor.Size.X/2)
  4992. local click = Instance.new("ClickDetector",wall)
  4993. click.MouseClick:connect(function()
  4994. local poz = wall.CFrame * CFrame.new(0,-wall.Size.Y/2,floor.Size.X/2)
  4995. makeroom(poz)
  4996. for o= -12 ,12, 24 do
  4997. local wa = Instance.new("Part")
  4998. prop(wa,mod,true,0,0,12,13,1,"White",true,"Custom")
  4999. wa.CFrame = wall.CFrame * CFrame.new(o,0,0)
  5000. end
  5001. wall:remove()
  5002. end)
  5003. end
  5004. end
  5005.  
  5006. makeroom(CFrame.new(me.Character.Torso.Position) * CFrame.new(0,-2,40))
  5007.  
  5008. end)
  5009. TXT = Instance.new("TextLabel", Screen)
  5010. TXT.Name = "CREDITZ"
  5011. TXT.Text = "Welcome to no-point-in-this-gui-just-for-fun-lol-now-screw-off made by xxgoten567xx/xxgoten567xx. now discontinued"
  5012. TXT.Position = UDim2.new(0, 0, 0, 0)
  5013. TXT.Size = UDim2.new(1, 0, 0, 50)
  5014. TXT.Font = "ArialBold"
  5015. TXT.FontSize = "Size18"
  5016. TXT.TextWrapped = true
  5017. TXT.BackgroundColor3 = Color3.new(145, 44, 165)
  5018. TXT.TextColor3 = Color3.new(17, 232, 13)
  5019. TXT.BackgroundTransparency = 0
  5020. STRK = Instance.new("TextButton", Screen)
  5021. STRK.Name = "STRK"
  5022. STRK.Text = "Striker"
  5023. STRK.Position = UDim2.new(0.35, 0, 0.4, 0)
  5024. STRK.Size = UDim2.new(0.1, 0, 0.1, 0)
  5025. STRK.Font = "Arial"
  5026. STRK.FontSize = "Size24"
  5027. STRK.TextWrapped = true
  5028. STRK.BackgroundColor3 = Color3.new(0, 0, 1)
  5029. STRK.TextColor3 = Color3.new(1, 1, 0)
  5030. STRK.BackgroundTransparency = 0.7
  5031. STRK.MouseButton1Down:connect(function()
  5032. local player = game:GetService("Players").LocalPlayer
  5033.  
  5034. local bin = Instance.new("HopperBin", player.Backpack)
  5035.  
  5036. bin.Name = "Striker unit"
  5037.  
  5038. local camera = game:GetService("Workspace").CurrentCamera
  5039. local character = player.Character
  5040.  
  5041. local torso = character:FindFirstChild("Torso")
  5042. local humanoid = character:FindFirstChild("Humanoid")
  5043. local neck = torso:FindFirstChild("Neck")
  5044.  
  5045. local rightLeg = character:FindFirstChild("Right Leg")
  5046. local leftLeg = character:FindFirstChild("Left Leg")
  5047.  
  5048. local rightHip = torso:FindFirstChild("Right Hip")
  5049. local leftHip = torso:FindFirstChild("Left Hip")
  5050.  
  5051. local neckAngle = neck.C1
  5052. local rightHipAngle = rightHip.C1
  5053. local leftHipAngle = leftHip.C1
  5054.  
  5055. local leftWeld = Instance.new("Weld")
  5056. local rightWeld = Instance.new("Weld")
  5057.  
  5058. local velocity = Instance.new("BodyVelocity")
  5059. local gyro = Instance.new("BodyGyro")
  5060. local pos = Instance.new("BodyPosition")
  5061.  
  5062. local parts = {"StrikerOne", "StrikerTwo", "JointOne", "JointTwo", "PropellerOne", "PropellerTwo"}
  5063. local welds = {"SWelderOne", "SWelderTwo", "JWelderOne", "JWelderTwo", "PWelderOne", "PWelderTwo"}
  5064.  
  5065. local strikerColor = "Really black"
  5066. local propellerColor = "White"
  5067. local jointColor = "Bright blue"
  5068.  
  5069. local mainModel = Instance.new("Model")
  5070. local cframePart = Instance.new("Part")
  5071.  
  5072. local toolSelected = false
  5073. local runNext = false
  5074. local strikerLoaded = false
  5075. local connected = false
  5076. local turn = false
  5077. local forward = false
  5078. local backward = false
  5079. local onleft = false
  5080. local onright = false
  5081. local onup = false
  5082. local ondown = false
  5083.  
  5084.  
  5085. local gyroAngleX = 0
  5086. local desiredGyroAngleX = 0
  5087. local gyroAngleY = 0
  5088. local desiredGyroAngleY = 0
  5089. local gyroAngleZ = 0
  5090. local desiredGyroAngleZ = 0
  5091. local angleSetSpeed = 5
  5092. local rotationIndice = 0
  5093. local maxRotation = 70
  5094. local motorSpeed = 0
  5095. local desiredSpeed = 0
  5096. local xPartPos = 0
  5097. local desiredXPartPos = 0
  5098. local yPartPos = 0
  5099. local desiredYPartPos = 0
  5100.  
  5101. function Striker(delay)
  5102.  
  5103. wait(delay)
  5104.  
  5105. mainModel.Name = "Striker"
  5106. mainModel.Archivable = false
  5107. mainModel.Parent = character
  5108.  
  5109. for index, name in pairs(parts) do
  5110.  
  5111. getfenv()[name] = Instance.new("Part")
  5112. getfenv()[name].Name = name
  5113. getfenv()[name].Anchored = true
  5114. getfenv()[name].Locked = true
  5115. getfenv()[name].CanCollide = false
  5116. getfenv()[name].Transparency = 1
  5117. getfenv()[name].CFrame = CFrame.new(0, math.huge, 0)
  5118. getfenv()[name].FormFactor = Enum.FormFactor.Custom
  5119. getfenv()[name].BottomSurface = Enum.SurfaceType.Smooth
  5120. getfenv()[name].TopSurface = Enum.SurfaceType.Smooth
  5121.  
  5122. if index <= 2 then
  5123.  
  5124. getfenv()[name].BrickColor = BrickColor.new(strikerColor)
  5125. getfenv()[name].Size = Vector3.new(1.1, 1.5, 1.1)
  5126.  
  5127. elseif index == 3 or index == 4 then
  5128.  
  5129. getfenv()[name].BrickColor = BrickColor.new(jointColor)
  5130. getfenv()[name].Size = Vector3.new(0.25, 0.25, 0.25)
  5131.  
  5132. elseif index >= 5 then
  5133.  
  5134. getfenv()[name].BrickColor = BrickColor.new(propellerColor)
  5135. getfenv()[name].Size = Vector3.new(1.55, 0.2, 0.2)
  5136.  
  5137. end
  5138.  
  5139. getfenv()[name].Parent = mainModel
  5140.  
  5141. coroutine.resume(coroutine.create(function()
  5142.  
  5143. for i = getfenv()[name].Transparency, 0, -0.1 do
  5144.  
  5145. if toolSelected then wait() getfenv()[name].Transparency = i end
  5146.  
  5147. end
  5148.  
  5149. end))
  5150.  
  5151. end
  5152.  
  5153. for index, name in pairs(welds) do
  5154.  
  5155. getfenv()[name] = Instance.new("Weld")
  5156. getfenv()[name].Parent = mainModel
  5157. getfenv()[name].Name = name
  5158.  
  5159. if index == 1 then
  5160.  
  5161. getfenv()[name].Part0 = leftLeg
  5162. StrikerOne.Anchored = false
  5163. getfenv()[name].Part1 = StrikerOne
  5164. getfenv()[name].C1 = CFrame.new(0, 0.35, 0)
  5165.  
  5166. elseif index == 2 then
  5167.  
  5168. getfenv()[name].Part0 = rightLeg
  5169. StrikerTwo.Anchored = false
  5170. getfenv()[name].Part1 = StrikerTwo
  5171. getfenv()[name].C1 = CFrame.new(0, 0.35, 0)
  5172.  
  5173. elseif index == 3 then
  5174.  
  5175. getfenv()[name].Part0 = StrikerOne
  5176. JointOne.Anchored = false
  5177. getfenv()[name].Part1 = JointOne
  5178. getfenv()[name].C1 = CFrame.new(0, 0.775, 0)
  5179. JointOne.CanCollide = true
  5180.  
  5181. elseif index == 4 then
  5182.  
  5183. getfenv()[name].Part0 = StrikerTwo
  5184. JointTwo.Anchored = false
  5185. getfenv()[name].Part1 = JointTwo
  5186. getfenv()[name].C1 = CFrame.new(0, 0.775, 0)
  5187. JointTwo.CanCollide = true
  5188.  
  5189. elseif index == 5 then
  5190.  
  5191. getfenv()[name].Part0 = JointOne
  5192. PropellerOne.Anchored = false
  5193. getfenv()[name].Part1 = PropellerOne
  5194.  
  5195. elseif index == 6 then
  5196.  
  5197. getfenv()[name].Part0 = JointTwo
  5198. PropellerTwo.Anchored = false
  5199. getfenv()[name].Part1 = PropellerTwo
  5200.  
  5201. end
  5202.  
  5203. end
  5204.  
  5205. wait(0.1)
  5206.  
  5207. strikerLoaded = true
  5208.  
  5209. end
  5210.  
  5211. function SetAngles(cfr, x, y, z) print("Settings")
  5212.  
  5213. local x2, y2, z2 = cfr.C1:toEulerAnglesXYZ()
  5214.  
  5215. x = math.rad(x)
  5216. y = math.rad(y)
  5217. z = math.rad(z)
  5218.  
  5219. x2 = math.rad(x2)
  5220. y2 = math.rad(y2)
  5221. z2 = math.rad(z2)
  5222.  
  5223. coroutine.resume(coroutine.create(function() local v1 local v2
  5224.  
  5225. if x2 < x then v1, v2 = x2, x else v1, v2 = x, x2 end
  5226.  
  5227. for i = v1, v2, (v2 - v1) / angleSetSpeed do wait()
  5228.  
  5229. cfr.C1 = unitCfr * CFrame.fromEulerAnglesXYZ(i/v2, 0, 0)
  5230.  
  5231. end
  5232.  
  5233. end))
  5234.  
  5235. coroutine.resume(coroutine.create(function() local v3 local v4
  5236.  
  5237. if y2 < y then v3, v4 = y2, y else v3, v4 = y, x2 end
  5238.  
  5239. for i = v3, v4, (v2 - v1) / angleSetSpeed do wait()
  5240.  
  5241. cfr.C1 = unitCfr * CFrame.fromEulerAnglesXYZ(0, i/v4, 0)
  5242.  
  5243. end
  5244.  
  5245. end))
  5246.  
  5247. coroutine.resume(coroutine.create(function() local v5 local v6
  5248.  
  5249. if z2 < z then v5, v6 = z2, z else v5, v6 = z, z2 end
  5250.  
  5251. for i = v5, v6, (v5 - v6) / angleSetSpeed do wait()
  5252.  
  5253. cfr.C1 = unitCfr * CFrame.fromEulerAnglesXYZ(0, 0, i/v6)
  5254.  
  5255. end
  5256.  
  5257. end))
  5258.  
  5259. end
  5260.  
  5261. function Connection(mouse)
  5262.  
  5263. toolSelected = true
  5264.  
  5265. coroutine.resume(coroutine.create(function() repeat wait()
  5266.  
  5267. if toolSelected then
  5268.  
  5269. if leftHip ~= nil then
  5270.  
  5271. leftHip.DesiredAngle = 0
  5272. leftHip.CurrentAngle = 0
  5273.  
  5274. end
  5275.  
  5276. if rightHip ~= nil then
  5277.  
  5278. rightHip.DesiredAngle = 0
  5279. rightHip.CurrentAngle = 0
  5280.  
  5281. end
  5282.  
  5283. runNext = true
  5284.  
  5285. else break end
  5286.  
  5287. until false return false end))
  5288.  
  5289. repeat wait() until runNext
  5290.  
  5291. humanoid.PlatformStand = true
  5292.  
  5293. torso.Anchored = true wait()
  5294. torso.Velocity = Vector3.new(0, 0, 0)
  5295. torso.RotVelocity = Vector3.new(0, 0, 0)
  5296.  
  5297. leftHipAngle = leftHip.C1
  5298. rightHipAngle = rightHip.C1
  5299.  
  5300. pos.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  5301. pos.Parent = torso
  5302. pos.position = torso.CFrame.p
  5303.  
  5304. torso.Anchored = false
  5305.  
  5306. coroutine.resume(coroutine.create(Striker),0.2)
  5307.  
  5308. for i = 1, 20, 1 do wait()
  5309.  
  5310. if toolSelected then
  5311.  
  5312. pos.position = pos.position + Vector3.new(0, 0.2, 0)
  5313. torso.CFrame = torso.CFrame * CFrame.fromEulerAnglesXYZ(0, math.rad(18), 0)
  5314. humanoid.PlatformStand = true
  5315.  
  5316. leftHip.C1 = leftHip.C1 * CFrame.new(0, -0.01, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0.5), -math.rad(0.5), -math.rad(0.5))
  5317. rightHip.C1 = rightHip.C1 * CFrame.new(0, -0.01, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0.5), math.rad(0.5), math.rad(0.5))
  5318.  
  5319. end
  5320.  
  5321. end
  5322.  
  5323. local x22, y22, z22 = leftHip.C1:toEulerAnglesXYZ()
  5324.  
  5325. repeat wait() until strikerLoaded
  5326.  
  5327. gyro.maxTorque = Vector3.new(math.huge, math.huge, math.huge)
  5328. gyro.Parent = torso
  5329. gyro.P = 1500
  5330.  
  5331. velocity.Parent = torso
  5332. velocity.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  5333. velocity.P = 125
  5334.  
  5335. if pos ~= nil then if pos.Parent == torso then pos:remove() end end
  5336.  
  5337. coroutine.resume(coroutine.create(function()
  5338.  
  5339. while strikerLoaded do wait(0.03405) if toolSelected and rotationIndice < maxRotation then rotationIndice = rotationIndice + 0.25
  5340.  
  5341. if desiredSpeed ~= 0 then if desiredSpeed > 0 then motorSpeed = desiredSpeed - (maxRotation - rotationIndice) elseif desiredSpeed < 0 then motorSpeed = desiredSpeed + (maxRotation - rotationIndice) end else motorSpeed = 0 end
  5342. if desiredXPartPos ~= 0 then if desiredXPartPos > 0 then xPartPos = desiredXPartPos - (maxRotation/2 - rotationIndice/2) elseif desiredXPartPos < 0 then xPartPos = desiredXPartPos + (maxRotation/2 - rotationIndice/2) end else xPartPos = 0 end
  5343. if desiredYPartPos ~= 0 then if desiredYPartPos > 0 then yPartPos = desiredYPartPos - (maxRotation/2 - rotationIndice/2) elseif desiredYPartPos < 0 then yPartPos = desiredYPartPos + (maxRotation/2 - rotationIndice/2) end else yPartPos = 0 end
  5344.  
  5345. if desiredGyroAngleX ~= 0 then if desiredGyroAngleX > 0 then gyroAngleX = math.rad(desiredGyroAngleX - (maxRotation - rotationIndice)) elseif desiredGyroAngleX < 0 then gyroAngleX = math.rad(desiredGyroAngleX + (maxRotation - rotationIndice)) end else gyroAngleX = 0 end
  5346. if desiredGyroAngleY ~= 0 then if desiredGyroAngleY > 0 then gyroAngleY = math.rad(desiredGyroAngleY - (maxRotation - rotationIndice)) elseif desiredGyroAngleY < 0 then gyroAngleY = math.rad(desiredGyroAngleY + (maxRotation - rotationIndice)) end else gyroAngleY = 0 end
  5347. if desiredGyroAngleZ ~= 0 then if desiredGyroAngleZ > 0 then gyroAngleZ = math.rad(desiredGyroAngleZ - (maxRotation - rotationIndice)) elseif desiredGyroAngleZ < 0 then gyroAngleZ = math.rad(desiredGyroAngleZ + (maxRotation - rotationIndice)) end else gyroAngleZ = 0 end
  5348.  
  5349. elseif toolSelected and rotationIndice == maxRotation then humanoid.PlatformStand = true motorSpeed = desiredSpeed gyroAngleX = math.rad(desiredGyroAngleX) gyroAngleY = math.rad(desiredGyroAngleY) gyroAngleZ = math.rad(desiredGyroAngleZ) xPartPos = desiredXPartPos yPartPos = desiredYPartPos end
  5350.  
  5351. if PropellerOne ~= nil and PWelderOne ~= nil then
  5352.  
  5353. PWelderOne.C1 = PWelderOne.C1 * CFrame.fromEulerAnglesXYZ(0, -math.rad(rotationIndice), 0)
  5354.  
  5355. end
  5356.  
  5357. if PropellerTwo ~= nil and PWelderTwo ~= nil then
  5358.  
  5359. PWelderTwo.C1 = PWelderTwo.C1 * CFrame.fromEulerAnglesXYZ(0, math.rad(rotationIndice), 0)
  5360.  
  5361. end
  5362.  
  5363. if cframePart ~= nil then
  5364.  
  5365. cframePart.Size = Vector3.new(0.2, 0.2, 0.2)
  5366. cframePart.CFrame = CFrame.new(torso.CFrame.p, camera.CoordinateFrame.lookVector * 10000000) + Vector3.new(xPartPos, yPartPos, 0)
  5367.  
  5368. end
  5369.  
  5370. if velocity ~= nil then if velocity.Parent == torso then velocity.velocity = (cframePart.CFrame - cframePart.CFrame.p) * Vector3.new(xPartPos, yPartPos, -motorSpeed) end end
  5371. if gyro ~= nil then if gyro.Parent == torso then gyro.cframe = CFrame.new(gyro.cframe.p, camera.CoordinateFrame.lookVector * 10000000) * CFrame.fromEulerAnglesXYZ(gyroAngleX, gyroAngleY, gyroAngleZ) end end
  5372.  
  5373. end return
  5374.  
  5375. end)) connected = true stand = true
  5376.  
  5377. mouse.KeyDown:connect(function(key) key = key:lower()
  5378.  
  5379. if key == "w" then ForwardDown()
  5380. elseif key == "s" then BackwardDown()
  5381. elseif key == "a" then LeftDown()
  5382. elseif key == "d" then RightDown()
  5383. elseif key == "e" then UpDown()
  5384. elseif key == "q" then DownDown()
  5385.  
  5386. end end)
  5387.  
  5388. mouse.KeyUp:connect(function(key) key = key:lower()
  5389.  
  5390. if key == "w" then ForwardUp() if backward then BackwardDown() end
  5391. elseif key == "s" then BackwardUp() if forward then ForwardDown() end
  5392. elseif key == "a" then LeftUp() if onright then RightDown() end
  5393. elseif key == "d" then RightUp() if onleft then LeftDown() end
  5394. elseif key == "e" then UpUp() if ondown then DownDown() end
  5395. elseif key == "q" then DownUp() if onup then UpDown() end
  5396.  
  5397. end end)
  5398.  
  5399. end
  5400.  
  5401. function Disconnection()
  5402.  
  5403. toolSelected = false wait()
  5404.  
  5405. for index, name in pairs(parts) do
  5406.  
  5407. if getfenv()[name] ~= nil then
  5408.  
  5409. coroutine.resume(coroutine.create(function()
  5410.  
  5411. for i = getfenv()[name].Transparency, 1, 0.1 do wait()
  5412.  
  5413. getfenv()[name].Transparency = i
  5414.  
  5415. end
  5416.  
  5417. end))
  5418.  
  5419. end
  5420.  
  5421. end
  5422.  
  5423. pos.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  5424. pos.Parent = torso
  5425. pos.position = torso.CFrame.p
  5426.  
  5427. coroutine.resume(coroutine.create(Striker),0.2)
  5428.  
  5429. for i = 1, 10, 1 do wait()
  5430.  
  5431. pos.position = pos.position - Vector3.new(0, 0.15, 0)
  5432. humanoid.PlatformStand = true
  5433.  
  5434. leftHip.C1 = leftHip.C1 * CFrame.new(0, 0.02, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-1), -math.rad(-1), -math.rad(-1))
  5435. rightHip.C1 = rightHip.C1 * CFrame.new(0, 0.02, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-1), math.rad(-1), math.rad(-1))
  5436.  
  5437. end wait()
  5438.  
  5439. humanoid.PlatformStand = false
  5440.  
  5441. if pos ~= nil then if pos.Parent == torso then pos:remove() end end
  5442. if gyro ~= nil then if gyro.Parent == torso then gyro:remove() end end
  5443. if velocity ~= nil then if velocity.Parent == torso then velocity:remove() end end
  5444. if mainModel ~= nil then mainModel:remove() end
  5445.  
  5446. strikerLoaded = false
  5447. rotationIndice = 0
  5448. motorSpeed = 0
  5449. desiredSpeed = 0
  5450.  
  5451. ForwardUp()
  5452. BackwardUp()
  5453. LeftUp()
  5454. RightUp()
  5455.  
  5456. forward = false
  5457. backward = false
  5458. onleft = false
  5459. onright = false
  5460. onup = false
  5461. ondown = false
  5462.  
  5463. leftHip.C1 = leftHipAngle
  5464. rightHip.C1 = rightHipAngle
  5465.  
  5466. connected = false
  5467.  
  5468. end
  5469.  
  5470. function ForwardDown() forward = true
  5471.  
  5472. desiredGyroAngleX = -maxRotation
  5473. desiredSpeed = maxRotation
  5474.  
  5475. end
  5476.  
  5477. function BackwardDown() backward = true
  5478.  
  5479. desiredGyroAngleX = maxRotation
  5480. desiredSpeed = -maxRotation
  5481.  
  5482. end
  5483.  
  5484. function ForwardUp() forward = false
  5485.  
  5486. desiredGyroAngleX = 0
  5487. desiredSpeed = 0
  5488.  
  5489. end
  5490.  
  5491. function BackwardUp() backward = false
  5492.  
  5493. desiredGyroAngleX = 0
  5494. desiredSpeed = 0
  5495.  
  5496. end
  5497.  
  5498. function LeftDown() onleft = true
  5499.  
  5500. desiredGyroAngleY = -maxRotation
  5501. desiredXPartPos = -maxRotation/2
  5502.  
  5503. end
  5504.  
  5505. function RightDown() onright = true
  5506.  
  5507. desiredGyroAngleY = maxRotation
  5508. desiredXPartPos = maxRotation/2
  5509.  
  5510. end
  5511.  
  5512. function LeftUp() onleft = false
  5513.  
  5514. desiredGyroAngleY = 0
  5515. desiredXPartPos = 0
  5516.  
  5517. end
  5518.  
  5519. function RightUp() onright = false
  5520.  
  5521. desiredGyroAngleY = 0
  5522. desiredXPartPos = 0
  5523.  
  5524. end
  5525.  
  5526. function UpDown() onup = true
  5527.  
  5528. desiredYPartPos = maxRotation/2
  5529.  
  5530. end
  5531.  
  5532. function DownDown() ondown = true
  5533.  
  5534. desiredYPartPos = -maxRotation/2
  5535.  
  5536. end
  5537.  
  5538. function UpUp() onup = false
  5539.  
  5540. desiredYPartPos = 0
  5541.  
  5542. end
  5543.  
  5544. function DownUp() ondown = false
  5545.  
  5546. desiredYPartPos = 0
  5547.  
  5548. end
  5549.  
  5550.  
  5551. bin.Selected:connect(Connection)
  5552. bin.Deselected:connect(Disconnection)
  5553.  
  5554. --mediafire
  5555.  
  5556. end)
  5557. FLY = Instance.new("TextButton", Screen)
  5558. FLY.Name = "FLY"
  5559. FLY.Text = "Fly tool [striker edited]"
  5560. FLY.Position = UDim2.new(0.35, 0, 0.5, 0)
  5561. FLY.Size = UDim2.new(0.1, 0, 0.1, 0)
  5562. FLY.Font = "Arial"
  5563. FLY.FontSize = "Size24"
  5564. FLY.TextWrapped = true
  5565. FLY.BackgroundColor3 = Color3.new(0, 0, 1)
  5566. FLY.TextColor3 = Color3.new(1, 1, 0)
  5567. FLY.BackgroundTransparency = 0.7
  5568. FLY.MouseButton1Down:connect(function()
  5569. local player = game:GetService("Players").LocalPlayer
  5570.  
  5571. local bin = Instance.new("HopperBin", player.Backpack)
  5572.  
  5573. bin.Name = "Fly"
  5574.  
  5575. local camera = game:GetService("Workspace").CurrentCamera
  5576. local character = player.Character
  5577.  
  5578. local torso = character:FindFirstChild("Torso")
  5579. local humanoid = character:FindFirstChild("Humanoid")
  5580. local neck = torso:FindFirstChild("Neck")
  5581.  
  5582. local rightLeg = character:FindFirstChild("Right Leg")
  5583. local leftLeg = character:FindFirstChild("Left Leg")
  5584.  
  5585. local rightHip = torso:FindFirstChild("Right Hip")
  5586. local leftHip = torso:FindFirstChild("Left Hip")
  5587.  
  5588. local neckAngle = neck.C1
  5589. local rightHipAngle = rightHip.C1
  5590. local leftHipAngle = leftHip.C1
  5591.  
  5592. local leftWeld = Instance.new("Weld")
  5593. local rightWeld = Instance.new("Weld")
  5594.  
  5595. local velocity = Instance.new("BodyVelocity")
  5596. local gyro = Instance.new("BodyGyro")
  5597. local pos = Instance.new("BodyPosition")
  5598.  
  5599. local parts = {"StrikerOne", "StrikerTwo", "JointOne", "JointTwo", "PropellerOne", "PropellerTwo"}
  5600. local welds = {"SWelderOne", "SWelderTwo", "JWelderOne", "JWelderTwo", "PWelderOne", "PWelderTwo"}
  5601.  
  5602. local strikerColor = "Really black"
  5603. local propellerColor = "White"
  5604. local jointColor = "Bright blue"
  5605.  
  5606. local mainModel = Instance.new("Model")
  5607. local cframePart = Instance.new("Part")
  5608.  
  5609. local toolSelected = false
  5610. local runNext = false
  5611. local strikerLoaded = false
  5612. local connected = false
  5613. local turn = false
  5614. local forward = false
  5615. local backward = false
  5616. local onleft = false
  5617. local onright = false
  5618. local onup = false
  5619. local ondown = false
  5620.  
  5621.  
  5622. local gyroAngleX = 0
  5623. local desiredGyroAngleX = 0
  5624. local gyroAngleY = 0
  5625. local desiredGyroAngleY = 0
  5626. local gyroAngleZ = 0
  5627. local desiredGyroAngleZ = 0
  5628. local angleSetSpeed = 5
  5629. local rotationIndice = 0
  5630. local maxRotation = 70
  5631. local motorSpeed = 0
  5632. local desiredSpeed = 0
  5633. local xPartPos = 0
  5634. local desiredXPartPos = 0
  5635. local yPartPos = 0
  5636. local desiredYPartPos = 0
  5637.  
  5638. function Striker(delay)
  5639.  
  5640. wait(delay)
  5641.  
  5642. mainModel.Name = "Striker"
  5643. mainModel.Archivable = false
  5644. mainModel.Parent = character
  5645.  
  5646.  
  5647. wait(0.1)
  5648.  
  5649. strikerLoaded = true
  5650.  
  5651. end
  5652.  
  5653. function SetAngles(cfr, x, y, z) print("Settings")
  5654.  
  5655. local x2, y2, z2 = cfr.C1:toEulerAnglesXYZ()
  5656.  
  5657. x = math.rad(x)
  5658. y = math.rad(y)
  5659. z = math.rad(z)
  5660.  
  5661. x2 = math.rad(x2)
  5662. y2 = math.rad(y2)
  5663. z2 = math.rad(z2)
  5664.  
  5665. coroutine.resume(coroutine.create(function() local v1 local v2
  5666.  
  5667. if x2 < x then v1, v2 = x2, x else v1, v2 = x, x2 end
  5668.  
  5669. for i = v1, v2, (v2 - v1) / angleSetSpeed do wait()
  5670.  
  5671. cfr.C1 = unitCfr * CFrame.fromEulerAnglesXYZ(i/v2, 0, 0)
  5672.  
  5673. end
  5674.  
  5675. end))
  5676.  
  5677. coroutine.resume(coroutine.create(function() local v3 local v4
  5678.  
  5679. if y2 < y then v3, v4 = y2, y else v3, v4 = y, x2 end
  5680.  
  5681. for i = v3, v4, (v2 - v1) / angleSetSpeed do wait()
  5682.  
  5683. cfr.C1 = unitCfr * CFrame.fromEulerAnglesXYZ(0, i/v4, 0)
  5684.  
  5685. end
  5686.  
  5687. end))
  5688.  
  5689. coroutine.resume(coroutine.create(function() local v5 local v6
  5690.  
  5691. if z2 < z then v5, v6 = z2, z else v5, v6 = z, z2 end
  5692.  
  5693. for i = v5, v6, (v5 - v6) / angleSetSpeed do wait()
  5694.  
  5695. cfr.C1 = unitCfr * CFrame.fromEulerAnglesXYZ(0, 0, i/v6)
  5696.  
  5697. end
  5698.  
  5699. end))
  5700.  
  5701. end
  5702.  
  5703. function Connection(mouse)
  5704.  
  5705. toolSelected = true
  5706.  
  5707. coroutine.resume(coroutine.create(function() repeat wait()
  5708.  
  5709. if toolSelected then
  5710.  
  5711. if leftHip ~= nil then
  5712.  
  5713. leftHip.DesiredAngle = 0
  5714. leftHip.CurrentAngle = 0
  5715.  
  5716. end
  5717.  
  5718. if rightHip ~= nil then
  5719.  
  5720. rightHip.DesiredAngle = 0
  5721. rightHip.CurrentAngle = 0
  5722.  
  5723. end
  5724.  
  5725. runNext = true
  5726.  
  5727. else break end
  5728.  
  5729. until false return false end))
  5730.  
  5731. repeat wait() until runNext
  5732.  
  5733. humanoid.PlatformStand = true
  5734.  
  5735. torso.Anchored = true wait()
  5736. torso.Velocity = Vector3.new(0, 0, 0)
  5737. torso.RotVelocity = Vector3.new(0, 0, 0)
  5738.  
  5739. leftHipAngle = leftHip.C1
  5740. rightHipAngle = rightHip.C1
  5741.  
  5742. pos.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  5743. pos.Parent = torso
  5744. pos.position = torso.CFrame.p
  5745.  
  5746. torso.Anchored = false
  5747.  
  5748. coroutine.resume(coroutine.create(Striker),0.2)
  5749.  
  5750. for i = 1, 20, 1 do wait()
  5751.  
  5752. if toolSelected then
  5753.  
  5754. pos.position = pos.position + Vector3.new(0, 0.2, 0)
  5755. torso.CFrame = torso.CFrame * CFrame.fromEulerAnglesXYZ(0, math.rad(18), 0)
  5756. humanoid.PlatformStand = true
  5757.  
  5758. leftHip.C1 = leftHip.C1 * CFrame.new(0, -0.01, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0.5), -math.rad(0.5), -math.rad(0.5))
  5759. rightHip.C1 = rightHip.C1 * CFrame.new(0, -0.01, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0.5), math.rad(0.5), math.rad(0.5))
  5760.  
  5761. end
  5762.  
  5763. end
  5764.  
  5765. local x22, y22, z22 = leftHip.C1:toEulerAnglesXYZ()
  5766.  
  5767. repeat wait() until strikerLoaded
  5768.  
  5769. gyro.maxTorque = Vector3.new(math.huge, math.huge, math.huge)
  5770. gyro.Parent = torso
  5771. gyro.P = 1500
  5772.  
  5773. velocity.Parent = torso
  5774. velocity.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  5775. velocity.P = 125
  5776.  
  5777. if pos ~= nil then if pos.Parent == torso then pos:remove() end end
  5778.  
  5779. coroutine.resume(coroutine.create(function()
  5780.  
  5781. while strikerLoaded do wait(0.03405) if toolSelected and rotationIndice < maxRotation then rotationIndice = rotationIndice + 0.25
  5782.  
  5783. if desiredSpeed ~= 0 then if desiredSpeed > 0 then motorSpeed = desiredSpeed - (maxRotation - rotationIndice) elseif desiredSpeed < 0 then motorSpeed = desiredSpeed + (maxRotation - rotationIndice) end else motorSpeed = 0 end
  5784. if desiredXPartPos ~= 0 then if desiredXPartPos > 0 then xPartPos = desiredXPartPos - (maxRotation/2 - rotationIndice/2) elseif desiredXPartPos < 0 then xPartPos = desiredXPartPos + (maxRotation/2 - rotationIndice/2) end else xPartPos = 0 end
  5785. if desiredYPartPos ~= 0 then if desiredYPartPos > 0 then yPartPos = desiredYPartPos - (maxRotation/2 - rotationIndice/2) elseif desiredYPartPos < 0 then yPartPos = desiredYPartPos + (maxRotation/2 - rotationIndice/2) end else yPartPos = 0 end
  5786.  
  5787. if desiredGyroAngleX ~= 0 then if desiredGyroAngleX > 0 then gyroAngleX = math.rad(desiredGyroAngleX - (maxRotation - rotationIndice)) elseif desiredGyroAngleX < 0 then gyroAngleX = math.rad(desiredGyroAngleX + (maxRotation - rotationIndice)) end else gyroAngleX = 0 end
  5788. if desiredGyroAngleY ~= 0 then if desiredGyroAngleY > 0 then gyroAngleY = math.rad(desiredGyroAngleY - (maxRotation - rotationIndice)) elseif desiredGyroAngleY < 0 then gyroAngleY = math.rad(desiredGyroAngleY + (maxRotation - rotationIndice)) end else gyroAngleY = 0 end
  5789. if desiredGyroAngleZ ~= 0 then if desiredGyroAngleZ > 0 then gyroAngleZ = math.rad(desiredGyroAngleZ - (maxRotation - rotationIndice)) elseif desiredGyroAngleZ < 0 then gyroAngleZ = math.rad(desiredGyroAngleZ + (maxRotation - rotationIndice)) end else gyroAngleZ = 0 end
  5790.  
  5791. elseif toolSelected and rotationIndice == maxRotation then humanoid.PlatformStand = true motorSpeed = desiredSpeed gyroAngleX = math.rad(desiredGyroAngleX) gyroAngleY = math.rad(desiredGyroAngleY) gyroAngleZ = math.rad(desiredGyroAngleZ) xPartPos = desiredXPartPos yPartPos = desiredYPartPos end
  5792.  
  5793. if PropellerOne ~= nil and PWelderOne ~= nil then
  5794.  
  5795. PWelderOne.C1 = PWelderOne.C1 * CFrame.fromEulerAnglesXYZ(0, -math.rad(rotationIndice), 0)
  5796.  
  5797. end
  5798.  
  5799. if PropellerTwo ~= nil and PWelderTwo ~= nil then
  5800.  
  5801. PWelderTwo.C1 = PWelderTwo.C1 * CFrame.fromEulerAnglesXYZ(0, math.rad(rotationIndice), 0)
  5802.  
  5803. end
  5804.  
  5805. if cframePart ~= nil then
  5806.  
  5807. cframePart.Size = Vector3.new(0.2, 0.2, 0.2)
  5808. cframePart.CFrame = CFrame.new(torso.CFrame.p, camera.CoordinateFrame.lookVector * 10000000) + Vector3.new(xPartPos, yPartPos, 0)
  5809.  
  5810. end
  5811.  
  5812. if velocity ~= nil then if velocity.Parent == torso then velocity.velocity = (cframePart.CFrame - cframePart.CFrame.p) * Vector3.new(xPartPos, yPartPos, -motorSpeed) end end
  5813. if gyro ~= nil then if gyro.Parent == torso then gyro.cframe = CFrame.new(gyro.cframe.p, camera.CoordinateFrame.lookVector * 10000000) * CFrame.fromEulerAnglesXYZ(gyroAngleX, gyroAngleY, gyroAngleZ) end end
  5814.  
  5815. end return
  5816.  
  5817. end)) connected = true stand = true
  5818.  
  5819. mouse.KeyDown:connect(function(key) key = key:lower()
  5820.  
  5821. if key == "w" then ForwardDown()
  5822. elseif key == "s" then BackwardDown()
  5823. elseif key == "a" then LeftDown()
  5824. elseif key == "d" then RightDown()
  5825. elseif key == "e" then UpDown()
  5826. elseif key == "q" then DownDown()
  5827.  
  5828. end end)
  5829.  
  5830. mouse.KeyUp:connect(function(key) key = key:lower()
  5831.  
  5832. if key == "w" then ForwardUp() if backward then BackwardDown() end
  5833. elseif key == "s" then BackwardUp() if forward then ForwardDown() end
  5834. elseif key == "a" then LeftUp() if onright then RightDown() end
  5835. elseif key == "d" then RightUp() if onleft then LeftDown() end
  5836. elseif key == "e" then UpUp() if ondown then DownDown() end
  5837. elseif key == "q" then DownUp() if onup then UpDown() end
  5838.  
  5839. end end)
  5840.  
  5841. end
  5842.  
  5843. function Disconnection()
  5844.  
  5845. toolSelected = false wait()
  5846.  
  5847. for index, name in pairs(parts) do
  5848.  
  5849. if getfenv()[name] ~= nil then
  5850.  
  5851. coroutine.resume(coroutine.create(function()
  5852.  
  5853. for i = getfenv()[name].Transparency, 1, 0.1 do wait()
  5854.  
  5855. getfenv()[name].Transparency = i
  5856.  
  5857. end
  5858.  
  5859. end))
  5860.  
  5861. end
  5862.  
  5863. end
  5864.  
  5865. pos.maxForce = Vector3.new(math.huge, math.huge, math.huge)
  5866. pos.Parent = torso
  5867. pos.position = torso.CFrame.p
  5868.  
  5869. coroutine.resume(coroutine.create(Striker),0.2)
  5870.  
  5871. for i = 1, 10, 1 do wait()
  5872.  
  5873. pos.position = pos.position - Vector3.new(0, 0.15, 0)
  5874. humanoid.PlatformStand = true
  5875.  
  5876. leftHip.C1 = leftHip.C1 * CFrame.new(0, 0.02, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-1), -math.rad(-1), -math.rad(-1))
  5877. rightHip.C1 = rightHip.C1 * CFrame.new(0, 0.02, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-1), math.rad(-1), math.rad(-1))
  5878.  
  5879. end wait()
  5880.  
  5881. humanoid.PlatformStand = false
  5882.  
  5883. if pos ~= nil then if pos.Parent == torso then pos:remove() end end
  5884. if gyro ~= nil then if gyro.Parent == torso then gyro:remove() end end
  5885. if velocity ~= nil then if velocity.Parent == torso then velocity:remove() end end
  5886. if mainModel ~= nil then mainModel:remove() end
  5887.  
  5888. strikerLoaded = false
  5889. rotationIndice = 0
  5890. motorSpeed = 0
  5891. desiredSpeed = 0
  5892.  
  5893. ForwardUp()
  5894. BackwardUp()
  5895. LeftUp()
  5896. RightUp()
  5897.  
  5898. forward = false
  5899. backward = false
  5900. onleft = false
  5901. onright = false
  5902. onup = false
  5903. ondown = false
  5904.  
  5905. leftHip.C1 = leftHipAngle
  5906. rightHip.C1 = rightHipAngle
  5907.  
  5908. connected = false
  5909.  
  5910. end
  5911.  
  5912. function ForwardDown() forward = true
  5913.  
  5914. desiredGyroAngleX = -maxRotation
  5915. desiredSpeed = maxRotation
  5916.  
  5917. end
  5918.  
  5919. function BackwardDown() backward = true
  5920.  
  5921. desiredGyroAngleX = maxRotation
  5922. desiredSpeed = -maxRotation
  5923.  
  5924. end
  5925.  
  5926. function ForwardUp() forward = false
  5927.  
  5928. desiredGyroAngleX = 0
  5929. desiredSpeed = 0
  5930.  
  5931. end
  5932.  
  5933. function BackwardUp() backward = false
  5934.  
  5935. desiredGyroAngleX = 0
  5936. desiredSpeed = 0
  5937.  
  5938. end
  5939.  
  5940. function LeftDown() onleft = true
  5941.  
  5942. desiredGyroAngleY = -maxRotation
  5943. desiredXPartPos = -maxRotation/2
  5944.  
  5945. end
  5946.  
  5947. function RightDown() onright = true
  5948.  
  5949. desiredGyroAngleY = maxRotation
  5950. desiredXPartPos = maxRotation/2
  5951.  
  5952. end
  5953.  
  5954. function LeftUp() onleft = false
  5955.  
  5956. desiredGyroAngleY = 0
  5957. desiredXPartPos = 0
  5958.  
  5959. end
  5960.  
  5961. function RightUp() onright = false
  5962.  
  5963. desiredGyroAngleY = 0
  5964. desiredXPartPos = 0
  5965.  
  5966. end
  5967.  
  5968. function UpDown() onup = true
  5969.  
  5970. desiredYPartPos = maxRotation/2
  5971.  
  5972. end
  5973.  
  5974. function DownDown() ondown = true
  5975.  
  5976. desiredYPartPos = -maxRotation/2
  5977.  
  5978. end
  5979.  
  5980. function UpUp() onup = false
  5981.  
  5982. desiredYPartPos = 0
  5983.  
  5984. end
  5985.  
  5986. function DownUp() ondown = false
  5987.  
  5988. desiredYPartPos = 0
  5989.  
  5990. end
  5991.  
  5992.  
  5993. bin.Selected:connect(Connection)
  5994. bin.Deselected:connect(Disconnection)
  5995.  
  5996. --mediafire
  5997.  
  5998. end)
  5999. WING = Instance.new("TextButton", Screen)
  6000. WING.Name = "WING"
  6001. WING.Text = "Wings"
  6002. WING.Position = UDim2.new(0.35, 0, 0.6, 0)
  6003. WING.Size = UDim2.new(0.1, 0, 0.1, 0)
  6004. WING.Font = "Arial"
  6005. WING.FontSize = "Size24"
  6006. WING.TextWrapped = true
  6007. WING.BackgroundColor3 = Color3.new(0, 0, 1)
  6008. WING.TextColor3 = Color3.new(1, 1, 0)
  6009. WING.BackgroundTransparency = 0.7
  6010. WING.MouseButton1Down:connect(function()
  6011. function fly()
  6012.  
  6013. for i,v in pairs(script:GetChildren()) do
  6014.  
  6015. pcall(function() v.Value = "" end)
  6016.  
  6017. game:GetService("Debris"):AddItem(v,.1)
  6018.  
  6019. end
  6020.  
  6021. function weld(p0,p1,c0,c1,par)
  6022.  
  6023. local w = Instance.new("Weld",p0 or par)
  6024.  
  6025. w.Part0 = p0
  6026.  
  6027. w.Part1 = p1
  6028.  
  6029. w.C0 = c0 or CFrame.new()
  6030.  
  6031. w.C1 = c1 or CFrame.new()
  6032.  
  6033. return w
  6034.  
  6035. end
  6036.  
  6037. local motors = {}
  6038.  
  6039. function motor(p0,p1,c0,c1,des,vel,par)
  6040.  
  6041. local w = Instance.new("Motor6D",p0 or par)
  6042.  
  6043. w.Part0 = p0
  6044.  
  6045. w.Part1 = p1
  6046.  
  6047. w.C0 = c0 or CFrame.new()
  6048.  
  6049. w.C1 = c1 or CFrame.new()
  6050.  
  6051. w.MaxVelocity = tonumber(vel) or .05
  6052.  
  6053. w.DesiredAngle = tonumber(des) or 0
  6054.  
  6055. return w
  6056.  
  6057. end
  6058.  
  6059. function lerp(a,b,c)
  6060.  
  6061. return a+(b-a)*c
  6062.  
  6063. end
  6064.  
  6065. function clerp(c1,c2,al)
  6066.  
  6067. local com1 = {c1.X,c1.Y,c1.Z,c1:toEulerAnglesXYZ()}
  6068.  
  6069. local com2 = {c2.X,c2.Y,c2.Z,c2:toEulerAnglesXYZ()}
  6070.  
  6071. for i,v in pairs(com1) do
  6072.  
  6073. com1[i] = lerp(v,com2[i],al)
  6074.  
  6075. end
  6076.  
  6077. return CFrame.new(com1[1],com1[2],com1[3]) * CFrame.Angles(select(4,unpack(com1)))
  6078.  
  6079. end
  6080.  
  6081. function ccomplerp(c1,c2,al)
  6082.  
  6083. local com1 = {c1:components()}
  6084.  
  6085. local com2 = {c2:components()}
  6086.  
  6087. for i,v in pairs(com1) do
  6088.  
  6089. com1[i] = lerp(v,com2[i],al)
  6090.  
  6091. end
  6092.  
  6093. return CFrame.new(unpack(com1))
  6094.  
  6095. end
  6096.  
  6097. function tickwave(time,length,offset)
  6098.  
  6099. return (math.abs((tick()+(offset or 0))%time-time/2)*2-time/2)/time/2*length
  6100.  
  6101. end
  6102.  
  6103. function invcol(c)
  6104.  
  6105. c = c.Color
  6106.  
  6107. return BrickColor.new(Color3.new(1-c.b,1-c.g,1-c.r))
  6108.  
  6109. end
  6110.  
  6111. local oc = oc or function(...) return ... end
  6112.  
  6113. local plr = game.Players.LocalPlayer
  6114.  
  6115. local char = plr.Character
  6116.  
  6117. local tor = char.Torso
  6118.  
  6119. local hum = char.Humanoid
  6120.  
  6121. hum.PlatformStand = false
  6122.  
  6123. pcall(function()
  6124.  
  6125. char.Wings:Destroy()
  6126.  
  6127. end)
  6128.  
  6129. pcall(function()
  6130.  
  6131. char.Angel:Destroy() -- hat
  6132.  
  6133. end)
  6134.  
  6135. local mod = Instance.new("Model",char)
  6136.  
  6137. mod.Name = "Wings"
  6138.  
  6139. local special = {
  6140.  
  6141. --antiboomz0r = {"Really black","Institutional white",0,0,false,Color3.new(1,1,.95),Color3.new(1,1,.6)},
  6142.  
  6143. antiboomz0r = {"New Yeller",nil,0.4,0.7,true,Color3.new(1,1,.95),Color3.new(1,1,.6)},
  6144.  
  6145. --antiboomz0r = {"Cyan","Toothpaste",0,0,false,Color3.new(1,0,0),Color3.new(0,0,0)},
  6146.  
  6147. taart = {"Royal purple",nil,.4,.4,true},
  6148.  
  6149. mitta = {"Black",nil,0,0,false},
  6150.  
  6151. penjuin3 = {"White",nil,0,0,false},
  6152.  
  6153. thepc8110 = {"Black","Bright red",.5,0,false,Color3.new(1,0,0),Color3.new(0,0,0)},
  6154.  
  6155. nonspeaker = {"Cyan","Toothpaste",0,0,false,Color3.new(1,0,0),Color3.new(0,0,0)},
  6156.  
  6157. littleau999 = {"Reddish brown",1030,0,0,false},
  6158.  
  6159. unscripter = {"Really black","Really black",.2,0,true,Color3.new(0,0,0),Color3.new(0,0,0)},
  6160.  
  6161. oxcool1 = {"Really black","White",.2,0,false,Color3.new(0,0,0),Color3.new(0,0,0)},
  6162.  
  6163. krodmiss = {"Really black",nil,0,0,false},
  6164.  
  6165. }
  6166.  
  6167. local topcolor = invcol(char.Torso.BrickColor)
  6168.  
  6169. local feacolor = char.Torso.BrickColor
  6170.  
  6171. local ptrans = 0
  6172.  
  6173. local pref = 0
  6174.  
  6175. local fire = false
  6176.  
  6177. local fmcol = Color3.new()
  6178.  
  6179. local fscol = Color3.new()
  6180.  
  6181. local spec = special[plr.Name:lower()]
  6182.  
  6183. if spec then
  6184.  
  6185. topcolor,feacolor,ptrans,pref,fire,fmcol,fscol = spec[1] and BrickColor.new(spec[1]) or topcolor,spec[2] and BrickColor.new(spec[2]) or feacolor,spec[3],spec[4],spec[5],spec[6],spec[7]
  6186.  
  6187. end
  6188.  
  6189. local part = Instance.new("Part")
  6190.  
  6191. part.FormFactor = "Custom"
  6192.  
  6193. part.Size = Vector3.new(.2,.2,.2)
  6194.  
  6195. part.TopSurface,part.BottomSurface = 0,0
  6196.  
  6197. part.CanCollide = false
  6198.  
  6199. part.BrickColor = topcolor
  6200.  
  6201. part.Transparency = ptrans
  6202.  
  6203. part.Reflectance = pref
  6204.  
  6205. local ef = Instance.new("Fire",fire and part or nil)
  6206.  
  6207. ef.Size = .15
  6208.  
  6209. ef.Color = fmcol or Color3.new()
  6210.  
  6211. ef.SecondaryColor = fscol or Color3.new()
  6212.  
  6213. part:BreakJoints()
  6214.  
  6215.  
  6216. function newpart()
  6217.  
  6218. local clone = part:Clone()
  6219.  
  6220. clone.Parent = mod
  6221.  
  6222. clone:BreakJoints()
  6223.  
  6224. return clone
  6225.  
  6226. end
  6227.  
  6228. local feath = newpart()
  6229.  
  6230. feath.BrickColor = feacolor
  6231.  
  6232. feath.Transparency = 0
  6233.  
  6234. Instance.new("SpecialMesh",feath).MeshType = "Sphere"
  6235.  
  6236. function newfeather()
  6237.  
  6238. local clone = feath:Clone()
  6239.  
  6240. clone.Parent = mod
  6241.  
  6242. clone:BreakJoints()
  6243.  
  6244. return clone
  6245.  
  6246. end
  6247.  
  6248.  
  6249. ---------- RIGHT WING
  6250.  
  6251. local r1 = newpart()
  6252.  
  6253. r1.Size = Vector3.new(.3,1.5,.3)*1.2
  6254.  
  6255. local rm1 = motor(tor,r1,CFrame.new(.35,.6,.4) * CFrame.Angles(0,0,math.rad(-60)) * CFrame.Angles(math.rad(30),math.rad(-25),0),CFrame.new(0,-.8,0),.1)
  6256.  
  6257. local r2 = newpart()
  6258.  
  6259. r2.Size = Vector3.new(.4,1.8,.4)*1.2
  6260.  
  6261. local rm2 = motor(r1,r2,CFrame.new(0,.75,0) * CFrame.Angles(0,0,math.rad(50)) * CFrame.Angles(math.rad(-30),math.rad(15),0),CFrame.new(0,-.9,0),.1)
  6262.  
  6263. local r3 = newpart()
  6264.  
  6265. r3.Size = Vector3.new(.3,2.2,.3)*1.2
  6266.  
  6267. local rm3 = motor(r2,r3,CFrame.new(.1,.9,0) * CFrame.Angles(0,0,math.rad(-140)) * CFrame.Angles(math.rad(-3),0,0),CFrame.new(0,-1.1,0),.1)
  6268.  
  6269. local r4 = newpart()
  6270.  
  6271. r4.Size = Vector3.new(.25,1.2,.25)*1.2
  6272.  
  6273. local rm4 = motor(r3,r4,CFrame.new(0,1.1,0) * CFrame.Angles(0,0,math.rad(-10)) * CFrame.Angles(math.rad(-3),0,0),CFrame.new(0,-.6,0),.1)
  6274.  
  6275. local feather = newfeather()
  6276.  
  6277. feather.Mesh.Scale = Vector3.new(1,1,1)
  6278.  
  6279. feather.Size = Vector3.new(.4,3,.3)
  6280.  
  6281. weld(r4,feather,CFrame.new(-.1,-.3,0),CFrame.new(0,-1.5,0))
  6282.  
  6283. feather = newfeather()
  6284.  
  6285. feather.Mesh.Scale = Vector3.new(1,1,1)
  6286.  
  6287. feather.Size = Vector3.new(.4,2.3,.3)
  6288.  
  6289. weld(r4,feather,CFrame.new(.1,-.1,0) * CFrame.Angles(0,math.random()*.1,0),CFrame.new(0,-1.1,0))
  6290.  
  6291. feather = newfeather()
  6292.  
  6293. feather.Mesh.Scale = Vector3.new(1,1,1)
  6294.  
  6295. feather.Size = Vector3.new(.35,2.2,.25)
  6296.  
  6297. weld(r4,feather,CFrame.new(.1,-.3,0) * CFrame.Angles(0,math.random()*.1,math.rad(-10)),CFrame.new(0,-1.1,0))
  6298.  
  6299. local rf3 = {}
  6300.  
  6301. for i=0,7 do
  6302.  
  6303. feather = newfeather()
  6304.  
  6305. feather.Mesh.Scale = Vector3.new(1,1,1)
  6306.  
  6307. feather.Size = Vector3.new(.45,2.2,.35)
  6308.  
  6309. table.insert(rf3,motor(r3,feather,CFrame.new(.05,1-i*.285,0) * CFrame.Angles(0,math.random()*.1,math.rad(-25-i*2)),CFrame.new(0,-feather.Size.Y/2,0)))
  6310.  
  6311. end
  6312.  
  6313. local rf2 = {}
  6314.  
  6315. for i=0,6 do
  6316.  
  6317. feather = newfeather()
  6318.  
  6319. feather.Mesh.Scale = Vector3.new(1,1,1)
  6320.  
  6321. feather.Size = Vector3.new(.45,2.2-i*.08,.3)
  6322.  
  6323. table.insert(rf2,motor(r2,feather,CFrame.new(.05,.75-i*.26,0) * CFrame.Angles(0,math.random()*.1,math.rad(-75-i*4)),CFrame.new(0,-feather.Size.Y/2,0)))
  6324.  
  6325. end
  6326.  
  6327. local rf1 = {}
  6328.  
  6329. for i=0,6 do
  6330.  
  6331. feather = newfeather()
  6332.  
  6333. feather.Mesh.Scale = Vector3.new(1,1,1)
  6334.  
  6335. feather.Size = Vector3.new(.37,1.65-i*.06,.25)
  6336.  
  6337. table.insert(rf1,motor(r1,feather,CFrame.new(.05,.63-i*.21,0) * CFrame.Angles(0,math.random()*.05,math.rad(-75)),CFrame.new(0,-feather.Size.Y/2,0)))
  6338.  
  6339. end
  6340.  
  6341. ---------- LEFT WING
  6342.  
  6343. local l1 = newpart()
  6344.  
  6345. l1.Size = Vector3.new(.3,1.5,.3)*1.2
  6346.  
  6347. local lm1 = motor(tor,l1,CFrame.new(-.35,.6,.4) * CFrame.Angles(0,0,math.rad(60)) * CFrame.Angles(math.rad(30),math.rad(25),0) * CFrame.Angles(0,-math.pi,0),CFrame.new(0,-.8,0) ,.1)
  6348.  
  6349. local l2 = newpart()
  6350.  
  6351. l2.Size = Vector3.new(.4,1.8,.4)*1.2
  6352.  
  6353. local lm2 = motor(l1,l2,CFrame.new(0,.75,0) * CFrame.Angles(0,0,math.rad(50)) * CFrame.Angles(math.rad(30),math.rad(-15),0),CFrame.new(0,-.9,0),.1)
  6354.  
  6355. local l3 = newpart()
  6356.  
  6357. l3.Size = Vector3.new(.3,2.2,.3)*1.2
  6358.  
  6359. local lm3 = motor(l2,l3,CFrame.new(.1,.9,0) * CFrame.Angles(0,0,math.rad(-140)) * CFrame.Angles(math.rad(3),0,0),CFrame.new(0,-1.1,0),.1)
  6360.  
  6361. local l4 = newpart()
  6362.  
  6363. l4.Size = Vector3.new(.25,1.2,.25)*1.2
  6364.  
  6365. local lm4 = motor(l3,l4,CFrame.new(0,1.1,0) * CFrame.Angles(0,0,math.rad(-10)) * CFrame.Angles(math.rad(3),0,0),CFrame.new(0,-.6,0),.1)
  6366.  
  6367. local feather = newfeather()
  6368.  
  6369. feather.Mesh.Scale = Vector3.new(1,1,1)
  6370.  
  6371. feather.Size = Vector3.new(.4,3,.3)
  6372.  
  6373. weld(l4,feather,CFrame.new(-.1,-.3,0),CFrame.new(0,-1.5,0))
  6374.  
  6375. feather = newfeather()
  6376.  
  6377. feather.Mesh.Scale = Vector3.new(1,1,1)
  6378.  
  6379. feather.Size = Vector3.new(.4,2.3,.3)
  6380.  
  6381. weld(l4,feather,CFrame.new(.1,-.1,0) * CFrame.Angles(0,math.random()*.1,0),CFrame.new(0,-1.1,0))
  6382.  
  6383. feather = newfeather()
  6384.  
  6385. feather.Mesh.Scale = Vector3.new(1,1,1)
  6386.  
  6387. feather.Size = Vector3.new(.35,2.2,.25)
  6388.  
  6389. weld(l4,feather,CFrame.new(.1,-.3,0) * CFrame.Angles(0,math.random()*.1,math.rad(-10)),CFrame.new(0,-1.1,0))
  6390.  
  6391. local lf3 = {}
  6392.  
  6393. for i=0,7 do
  6394.  
  6395. feather = newfeather()
  6396.  
  6397. feather.Mesh.Scale = Vector3.new(1,1,1)
  6398.  
  6399. feather.Size = Vector3.new(.45,2.2,.35)
  6400.  
  6401. table.insert(lf3,motor(l3,feather,CFrame.new(.05,1-i*.285,0) * CFrame.Angles(0,math.random()*.1,math.rad(-25-i*2)),CFrame.new(0,-feather.Size.Y/2,0)))
  6402.  
  6403. end
  6404.  
  6405. local lf2 = {}
  6406.  
  6407. for i=0,6 do
  6408.  
  6409. feather = newfeather()
  6410.  
  6411. feather.Mesh.Scale = Vector3.new(1,1,1)
  6412.  
  6413. feather.Size = Vector3.new(.45,2.2-i*.08,.3)
  6414.  
  6415. table.insert(lf2,motor(l2,feather,CFrame.new(.05,.75-i*.26,0) * CFrame.Angles(0,math.random()*.1,math.rad(-75-i*4)),CFrame.new(0,-feather.Size.Y/2,0)))
  6416.  
  6417. end
  6418.  
  6419. local lf1 = {}
  6420.  
  6421. for i=0,6 do
  6422.  
  6423. feather = newfeather()
  6424.  
  6425. feather.Mesh.Scale = Vector3.new(1,1,1)
  6426.  
  6427. feather.Size = Vector3.new(.37,1.65-i*.06,.25)
  6428.  
  6429. table.insert(lf1,motor(l1,feather,CFrame.new(.05,.63-i*.21,0) * CFrame.Angles(0,math.random()*.05,math.rad(-75)),CFrame.new(0,-feather.Size.Y/2,0)))
  6430.  
  6431. end
  6432.  
  6433. local rwing = {rm1,rm2,rm3,rm4}
  6434.  
  6435. local lwing = {lm1,lm2,lm3,lm4}
  6436.  
  6437. local oc0 = {}
  6438.  
  6439. for i,v in pairs(rwing) do
  6440.  
  6441. oc0[v] = v.C0
  6442.  
  6443. end
  6444.  
  6445. for i,v in pairs(lwing) do
  6446.  
  6447. oc0[v] = v.C0
  6448.  
  6449. end
  6450.  
  6451. function gotResized()
  6452.  
  6453. if lastsize then
  6454.  
  6455. if tor.Size == lastsize then return end -- This shouldn't happen?
  6456.  
  6457. local scaleVec = tor.Size/lastsize
  6458.  
  6459. for i,v in pairs(oc0) do
  6460.  
  6461. oc0[i] = v-v.p+scaleVec*v.p
  6462.  
  6463. end
  6464.  
  6465. lastsize = tor.Size
  6466.  
  6467. end
  6468.  
  6469. lastsize = tor.Size
  6470.  
  6471. end
  6472.  
  6473. tor.Changed:connect(function(p)
  6474.  
  6475. if p == "Size" then
  6476.  
  6477. gotResized()
  6478.  
  6479. end
  6480.  
  6481. end)
  6482.  
  6483. gotResized()
  6484.  
  6485. local idle = {0,0.5,-.2,0; .05,.05,.1,.05; -.6,-1.5,.1,0;}--0,.3,0,0
  6486.  
  6487. local outlow = {-.7,-.2,1.8,0; .3,.05,.1,.05; .2,0,0,0}
  6488.  
  6489. local outhigh = {.5,-.2,1.8,0; .3,.05,.1,.05; .2,0,0,0}
  6490.  
  6491. local veryhigh = {.9,-.3,1.9,0; .3,.05,.1,.05; .2,0,0,0}
  6492.  
  6493. local flap1 = {-.3,.3,1.1,-.2; .3,.05,.1,.05; .2,-.6,0,0}
  6494.  
  6495. local divebomb = {0,.2,.4,-.7; .3,.05,.1,.05; 0,-.5,-.6,0}
  6496.  
  6497.  
  6498. function setwings(tab,time)
  6499.  
  6500. time = time or 10
  6501.  
  6502. for i=1,4 do
  6503.  
  6504. rwing[i].DesiredAngle = tab[i]
  6505.  
  6506. lwing[i].DesiredAngle = tab[i]
  6507.  
  6508. rwing[i].MaxVelocity = math.abs(tab[i]-rwing[i].CurrentAngle)/time
  6509.  
  6510. lwing[i].MaxVelocity = math.abs(tab[i]-lwing[i].CurrentAngle)/time
  6511.  
  6512. local rcf = oc0[rwing[i]] * (tab[12+i] or CFrame.new())
  6513.  
  6514. local lcf = oc0[lwing[i]] * (tab[12+i] or CFrame.new())
  6515.  
  6516. end
  6517.  
  6518. for i,v in pairs(rf1) do
  6519.  
  6520. v.DesiredAngle = tab[9]
  6521.  
  6522. v.MaxVelocity = math.abs(v.DesiredAngle-v.CurrentAngle)/time
  6523.  
  6524. end
  6525.  
  6526. for i,v in pairs(lf1) do
  6527.  
  6528. v.DesiredAngle = tab[9]
  6529.  
  6530. v.MaxVelocity = math.abs(v.DesiredAngle-v.CurrentAngle)/time
  6531.  
  6532. end
  6533.  
  6534. for i,v in pairs(rf2) do
  6535.  
  6536. v.DesiredAngle = tab[10]
  6537.  
  6538. v.MaxVelocity = math.abs(v.DesiredAngle-v.CurrentAngle)/time
  6539.  
  6540. end
  6541.  
  6542. for i,v in pairs(lf2) do
  6543.  
  6544. v.DesiredAngle = tab[10]
  6545.  
  6546. v.MaxVelocity = math.abs(v.DesiredAngle-v.CurrentAngle)/time
  6547.  
  6548. end
  6549.  
  6550. for i,v in pairs(rf3) do
  6551.  
  6552. v.DesiredAngle = tab[11]
  6553.  
  6554. v.MaxVelocity = math.abs(v.DesiredAngle-v.CurrentAngle)/time
  6555.  
  6556. end
  6557.  
  6558. for i,v in pairs(lf3) do
  6559.  
  6560. v.DesiredAngle = tab[11]
  6561.  
  6562. v.MaxVelocity = math.abs(v.DesiredAngle-v.CurrentAngle)/time
  6563.  
  6564. end
  6565.  
  6566. end
  6567.  
  6568. setwings(outhigh,1)
  6569.  
  6570. flying = false
  6571.  
  6572. moving = false
  6573.  
  6574. for i,v in pairs(tor:GetChildren()) do
  6575.  
  6576. if v.ClassName:lower():match("body") then
  6577.  
  6578. v:Destroy()
  6579.  
  6580. end
  6581.  
  6582. end
  6583.  
  6584. local ctor = tor:Clone()
  6585.  
  6586. ctor:ClearAllChildren()
  6587.  
  6588. ctor.Name = "cTorso"
  6589.  
  6590. ctor.Transparency = 1
  6591.  
  6592. ctor.CanCollide = false
  6593.  
  6594. ctor.FormFactor = "Custom"
  6595.  
  6596. ctor.Size = Vector3.new(.2,.2,.2)
  6597.  
  6598. ctor.Parent = mod
  6599.  
  6600. weld(tor,ctor)
  6601.  
  6602. local bg = Instance.new("BodyGyro",ctor)
  6603.  
  6604. bg.maxTorque = Vector3.new()
  6605.  
  6606. bg.P = 15000
  6607.  
  6608. bg.D = 1000
  6609.  
  6610. local bv = Instance.new("BodyVelocity",ctor)
  6611.  
  6612. bv.maxForce = Vector3.new()
  6613.  
  6614. bv.P = 15000
  6615.  
  6616. vel = Vector3.new()
  6617.  
  6618. cf = CFrame.new()
  6619.  
  6620. flspd = 0
  6621.  
  6622.  
  6623. keysdown = {}
  6624.  
  6625. keypressed = {}
  6626.  
  6627. ktime = {}
  6628.  
  6629. descendtimer = 0
  6630.  
  6631. jumptime = tick()
  6632.  
  6633. hum.Jumping:connect(function()
  6634.  
  6635. jumptime = tick()
  6636.  
  6637. end)
  6638.  
  6639. cam = workspace.CurrentCamera
  6640.  
  6641. kd = plr:GetMouse().KeyDown:connect(oc(function(key)
  6642.  
  6643. keysdown[key] = true
  6644.  
  6645. keypressed[key] = true
  6646.  
  6647. if key == "q" then
  6648.  
  6649. descendtimer = tick()
  6650.  
  6651. elseif key == " " and not hum.Jump then
  6652.  
  6653. jumptime = tick()
  6654.  
  6655. elseif (key == "a" or key == "d") and ktime[key] and tick()-ktime[key] < .3 and math.abs(reqrotx) < .3 then
  6656.  
  6657. reqrotx = key == "a" and math.pi*2 or -math.pi*2
  6658.  
  6659. end
  6660.  
  6661. ktime[key] = tick()
  6662.  
  6663. end))
  6664.  
  6665. ku = plr:GetMouse().KeyUp:connect(function(key)
  6666.  
  6667. keysdown[key] = false
  6668.  
  6669. if key == " " then
  6670.  
  6671. descendtimer = tick()
  6672.  
  6673. end
  6674.  
  6675. end)
  6676.  
  6677. function mid(a,b,c)
  6678.  
  6679. return math.max(a,math.min(b,c or -a))
  6680.  
  6681. end
  6682.  
  6683. function bn(a)
  6684.  
  6685. return a and 1 or 0
  6686.  
  6687. end
  6688.  
  6689. function gm(tar)
  6690.  
  6691. local m = 0
  6692.  
  6693. for i,v in pairs(tar:GetChildren()) do
  6694.  
  6695. if v:IsA("BasePart") then
  6696.  
  6697. m = m + v:GetMass()
  6698.  
  6699. end
  6700.  
  6701. m = m + gm(v)
  6702.  
  6703. end
  6704.  
  6705. return m
  6706.  
  6707. end
  6708.  
  6709. reqrotx = 0
  6710.  
  6711. local grav = 196.2
  6712.  
  6713. local con
  6714.  
  6715. con = game:GetService("RunService").Stepped:connect(oc(function()
  6716.  
  6717. --[[if not mod:IsDescendantOf(workspace) then
  6718.  
  6719. pcall(function() kd:disconnect() end)
  6720.  
  6721. pcall(function() ku:disconnect() end)
  6722.  
  6723. bg:Destroy()
  6724.  
  6725. bv:Destroy()
  6726.  
  6727. con:disconnect()
  6728.  
  6729. script:Destroy()
  6730.  
  6731. return
  6732.  
  6733. end]]
  6734.  
  6735. local obvel = tor.CFrame:vectorToObjectSpace(tor.Velocity)
  6736.  
  6737. local sspd, uspd,fspd = obvel.X,obvel.Y,obvel.Z
  6738.  
  6739. if flying then
  6740.  
  6741. local lfldir = fldir
  6742.  
  6743. fldir = cam.CoordinateFrame:vectorToWorldSpace(Vector3.new(bn(keysdown.d)-bn(keysdown.a),0,bn(keysdown.s)-bn(keysdown.w))).unit
  6744.  
  6745. local lmoving = moving
  6746.  
  6747. moving = fldir.magnitude > .1
  6748.  
  6749. if lmoving and not moving then
  6750.  
  6751. idledir = lfldir*Vector3.new(1,0,1)
  6752.  
  6753. descendtimer = tick()
  6754.  
  6755. end
  6756.  
  6757. local dbomb = fldir.Y < -.6 or (moving and keysdown["1"])
  6758.  
  6759. if moving and keysdown["0"] and lmoving then
  6760.  
  6761. fldir = (Vector3.new(lfldir.X,math.min(fldir.Y,lfldir.Y+.01)-.1,lfldir.Z)+(fldir*Vector3.new(1,0,1))*.05).unit
  6762.  
  6763. end
  6764.  
  6765. local down = tor.CFrame:vectorToWorldSpace(Vector3.new(0,-1,0))
  6766.  
  6767. local descending = (not moving and keysdown["q"] and not keysdown[" "])
  6768.  
  6769. cf = ccomplerp(cf,CFrame.new(tor.Position,tor.Position+(not moving and idledir or fldir)),keysdown["0"] and .02 or .07)
  6770.  
  6771. local gdown = not dbomb and cf.lookVector.Y < -.2 and tor.Velocity.unit.Y < .05
  6772.  
  6773. hum.PlatformStand = true
  6774.  
  6775. bg.maxTorque = Vector3.new(1,1,1)*9e5
  6776.  
  6777. local rotvel = CFrame.new(Vector3.new(),tor.Velocity):toObjectSpace(CFrame.new(Vector3.new(),fldir)).lookVector
  6778.  
  6779. bg.cframe = cf * CFrame.Angles(not moving and -.1 or -math.pi/2+.2,moving and mid(-2.5,rotvel.X/1.5) + reqrotx or 0,0)
  6780.  
  6781. reqrotx = reqrotx - reqrotx/10
  6782.  
  6783. bv.maxForce = Vector3.new(1,1,1)*9e4*.5
  6784.  
  6785. local anioff =(bn(keysdown[" "])-bn(keysdown["q"]))/2
  6786.  
  6787. local ani = tickwave(1.5-anioff,1)
  6788.  
  6789. bv.velocity = bv.velocity:Lerp(Vector3.new(0,bn(not moving)*-ani*15+(descending and math.min(20,tick()-descendtimer)*-8 or bn(keysdown[" "])-bn(keysdown["q"]))*15,0)+vel,.6)
  6790.  
  6791. vel = moving and cf.lookVector*flspd or Vector3.new()
  6792.  
  6793. flspd = math.min(120,lerp(flspd,moving and (fldir.Y<0 and flspd+(-fldir.Y)*grav/60 or math.max(50,flspd-fldir.Y*grav/300)) or 60,.4))
  6794.  
  6795. setwings(moving and (gdown and outlow or dbomb and divebomb) or (descending and veryhigh or flap1),15)
  6796.  
  6797. for i=1,4 do
  6798.  
  6799. --CFrame.Angles(-.5+bn(i==3)*2.4+bn(i==4)*.5,.1+bn(i==2)*.5-bn(i==3)*1.1,bn(i==3)*.1)
  6800.  
  6801. rwing[i].C0 = clerp(rwing[i].C0,oc0[rwing[i]] * (gdown and CFrame.new() or dbomb and CFrame.Angles(-.5+bn(i==3)*.4+bn(i==4)*.5,.1+bn(i==2)*.5-bn(i==3)*1.1,bn(i==3)*.1) or descending and CFrame.Angles(.3,0,0) or CFrame.Angles((i*.1+1.5)*ani,ani*-.5,1*ani)),descending and .8 or .2)
  6802.  
  6803. lwing[i].C0 = clerp(lwing[i].C0,oc0[lwing[i]] * (gdown and CFrame.new() or dbomb and CFrame.Angles(-(-.5+bn(i==3)*.4+bn(i==4)*.5),-(.1+bn(i==2)*.5-bn(i==3)*1.1),bn(i==3)*.1) or descending and CFrame.Angles(-.3,0,0) or CFrame.Angles(-(i*.1+1.5)*ani,ani*.5,1*ani)),descending and .8 or .2)
  6804.  
  6805. end
  6806.  
  6807. local hit,ray = workspace:FindPartOnRayWithIgnoreList(Ray.new(tor.Position,Vector3.new(0,-3.5+math.min(0,bv.velocity.y)/30,0)),{char})
  6808.  
  6809. if hit and down.Y < -.85 and tick()-flystart > 1 then
  6810.  
  6811. flying = false
  6812.  
  6813. hum.PlatformStand = false
  6814.  
  6815. tor.Velocity = Vector3.new()
  6816.  
  6817. end
  6818.  
  6819. else
  6820.  
  6821. bg.maxTorque = Vector3.new()
  6822.  
  6823. bv.maxForce = Vector3.new()
  6824.  
  6825. local ani = tickwave(walking and .8 or 4.5,1)
  6826.  
  6827. setwings(idle,10)
  6828.  
  6829. local x,y,z = fspd/160,uspd/700,sspd/900
  6830.  
  6831. for i=1,4 do
  6832.  
  6833. rwing[i].C0 = clerp(rwing[i].C0,oc0[rwing[i]] * CFrame.Angles(ani*.1 + -mid(-.1,x),0 + -mid(-.1,y) + bn(i==2)*.6,ani*.02 + -mid(-.1,z)),.2)
  6834.  
  6835. lwing[i].C0 = clerp(lwing[i].C0,oc0[lwing[i]] * CFrame.Angles(ani*-.05 + mid(-.1,x),0 + mid(-.1,y) + -bn(i==2)*.6,ani*.02 + mid(-.1,z)),.2)
  6836.  
  6837. end
  6838.  
  6839. if keypressed[" "] and not flying and (tick()-jumptime > .05 and (tick()-jumptime < 3 or hum.Jump)) then
  6840.  
  6841. vel = Vector3.new(0,50,0)
  6842.  
  6843. bv.velocity = vel
  6844.  
  6845. idledir = cam.CoordinateFrame.lookVector*Vector3.new(1,0,1)
  6846.  
  6847. cf = tor.CFrame * CFrame.Angles(-.01,0,0)
  6848.  
  6849. tor.CFrame = cf
  6850.  
  6851. bg.cframe = cf
  6852.  
  6853. flystart = tick()
  6854.  
  6855. flying = true
  6856.  
  6857. end
  6858.  
  6859. end
  6860.  
  6861. keypressed = {}
  6862.  
  6863. end))
  6864.  
  6865.  
  6866.  
  6867. end fly()
  6868. end)
  6869. CAPE = Instance.new("TextButton", Screen)
  6870. CAPE.Name = "CAPE"
  6871. CAPE.Text = "Cape"
  6872. CAPE.Position = UDim2.new(0.35, 0, 0.7, 0)
  6873. CAPE.Size = UDim2.new(0.1, 0, 0.1, 0)
  6874. CAPE.Font = "Arial"
  6875. CAPE.FontSize = "Size24"
  6876. CAPE.TextWrapped = true
  6877. CAPE.BackgroundColor3 = Color3.new(0, 0, 1)
  6878. CAPE.TextColor3 = Color3.new(1, 1, 0)
  6879. CAPE.BackgroundTransparency = 0.7
  6880. CAPE.MouseButton1Down:connect(function()
  6881. wait(0.4);
  6882. local ta1 = 5;
  6883. function Cape(player,color)
  6884. color = color or player.Torso.BrickColor;
  6885. if (player:FindFirstChild("Head") == nil) then return nil; end
  6886. local m = Instance.new("Model");
  6887. m.Name = "cape32283483472924379834728978392437248932798342789347892484949237828374979432792478492323478942378932";
  6888. local neckpiece = Instance.new("Part",m);
  6889. neckpiece.formFactor = "Plate";
  6890. neckpiece.Size = Vector3.new(2,.4,1);
  6891. neckpiece.Name = "NeckPiece";
  6892. neckpiece.BrickColor = color;
  6893. neckpiece.CanCollide = false;
  6894. neckpiece.TopSurface = "Smooth";
  6895. neckpiece.BottomSurface = "Smooth";
  6896. local neckweld = Instance.new("Weld",neckpiece);
  6897.  
  6898. neckweld.Part0 = player.Head;
  6899. neckweld.Part1 = neckpiece;
  6900. neckweld.C0 = CFrame.new(0,-.5,0);
  6901. local seg1 = neckpiece:Clone();
  6902. seg1.Size = Vector3.new(3,.4,1);
  6903. seg1.Parent = m;
  6904. seg1.Name = "Segment_1";
  6905. local seg1w = Instance.new("Weld",seg1);
  6906. seg1w.Part0 = neckpiece;
  6907. seg1w.Part1 = seg1;
  6908. seg1w.C0 = CFrame.new(0,0,.45);
  6909. seg1w.C1 = CFrame.new(0,0,-.45)*CFrame.Angles(math.rad(-80),0,0);
  6910. local seg2 = seg1:Clone();
  6911. seg2.Parent = m;
  6912. seg2.Name = "Segment_2";
  6913. local seg2w = Instance.new("Weld",seg2);
  6914. seg2w.Part0 = seg1;
  6915. seg2w.Part1 = seg2;
  6916. seg2w.C0 = CFrame.new(0,0,.45);
  6917. seg2w.C1 = CFrame.new(0,0,-.45)*CFrame.Angles(math.rad(-5),0,0);
  6918. m.Parent = player;
  6919. local seg3 = seg2:Clone();
  6920. seg3.Parent = m;
  6921. seg3.Name = "Segment_3";
  6922. local seg3w = Instance.new("Weld",seg3);
  6923. seg3w.Part0 = seg2;
  6924. seg3w.Part1 = seg3;
  6925. seg3w.C0 = CFrame.new(0,0,.45);
  6926. seg3w.C1 = CFrame.new(0,0,-.45)*CFrame.Angles(math.rad(-2),0,0);
  6927. local seg4 = seg3:Clone();
  6928. seg4.Name = "Segment_4";
  6929. seg4.Parent = m;
  6930. local seg4w = Instance.new("Weld",seg4);
  6931. seg4w.Part0 = seg3;
  6932. seg4w.Part1 = seg4;
  6933. seg4w.C0 = CFrame.new(0,0,.45);
  6934. seg4w.C1 = CFrame.new(0,0,-.45);
  6935. return m;
  6936. end
  6937.  
  6938. function Flex(cape,vals)
  6939. for i,v in pairs(vals) do
  6940. if(i ~= 1) then
  6941. cape:GetChildren()[i].Weld.C1 = CFrame.new(0,0,-.45)*CFrame.Angles(math.rad(vals[i-1]),0,0);
  6942. end
  6943. end
  6944. end
  6945. local char = game.Players.LocalPlayer.Character;
  6946. local cape = Cape(char);
  6947. local lastfrstrad = -60;
  6948. for i=0, math.huge do
  6949. local frstrad = -60;
  6950. ta = ta1 * char.Torso.Velocity.magnitude/16 + 1 * (math.random()+.5);
  6951. if(ta>10) then
  6952. ta = math.random(90,100)/10;
  6953. end
  6954. frstrad = frstrad + (char.Torso.Velocity.magnitude) + math.sin(i)*3*ta;
  6955. if(frstrad > 65) then
  6956. frstrad = 65;
  6957. elseif (char.Torso.Velocity.magnitude < 5) then
  6958. frstrad = -80;
  6959. end
  6960. if(char.Humanoid:HasCustomStatus("Flying"))then
  6961. frstrad = -80;
  6962. ta = 15;
  6963. end
  6964. frstrad = (frstrad+lastfrstrad)/2;
  6965. lastfrstrad = frstrad;
  6966. Flex(cape,{frstrad,math.sin(i+20)*-1*ta,math.sin(i+20)*2*ta,math.sin(i+20)*ta,math.sin(i+20)*-1*ta});
  6967. wait(.05);
  6968. end
  6969.  
  6970. print 'Hello world!'
  6971. end)
  6972. PENT = Instance.new("TextButton", Screen)
  6973. PENT.Name = "PENT"
  6974. PENT.Text = "Random ass pentagon"
  6975. PENT.Position = UDim2.new(0.35, 0, 0.8, 0)
  6976. PENT.Size = UDim2.new(0.1, 0, 0.1, 0)
  6977. PENT.Font = "Arial"
  6978. PENT.FontSize = "Size24"
  6979. PENT.TextWrapped = true
  6980. PENT.BackgroundColor3 = Color3.new(0, 0, 1)
  6981. PENT.TextColor3 = Color3.new(1, 1, 0)
  6982. PENT.BackgroundTransparency = 0.7
  6983. PENT.MouseButton1Down:connect(function()
  6984. CA = CFrame.Angles
  6985. CN = CFrame.new
  6986. V3 = Vector3.new
  6987. MR = math.rad
  6988. MP = math.pi
  6989. MRA = math.random
  6990. MH = math.huge
  6991.  
  6992. Scale = 3
  6993.  
  6994. Pos = V3(100, 0, 0)
  6995. Pos = Pos + V3(0, 1, 0)
  6996.  
  6997. function Part(P, Anch, Coll, Tran, Ref, Col, Size)
  6998. local p = Instance.new("Part")
  6999. p.TopSurface = 0
  7000. p.BottomSurface = 0
  7001. p.Transparency = Tran
  7002. p.Reflectance = Ref
  7003. p.CanCollide = Coll
  7004. p.Anchored = Anch
  7005. p.BrickColor = BrickColor.new(Col)
  7006. p.formFactor = "Custom"
  7007. p.Size = Size
  7008. p.Parent = P
  7009. p.Locked = true
  7010. p:BreakJoints()
  7011. return p
  7012. end
  7013.  
  7014. for i,v in pairs(workspace:children()) do if v.Name == "Building" then v:remove() end end
  7015.  
  7016. local Mod = Instance.new("Model")
  7017. Mod.Name = "Building"
  7018.  
  7019. for i = 0, 360, 72 do
  7020. local cf = CN(Pos) * CA(0, MR(i), 0) * CN(0, 17.5*Scale, -100*Scale)
  7021. local p = Part(Mod, true, true, 0, 0, "Dark grey", V3(15*Scale, 45*Scale, 15*Scale))
  7022. p.CFrame = cf * CN(0, 5*Scale, 0)
  7023. for x = 60, 120, 10 do
  7024. local p2 = Part(Mod, true, true, 0, 0, "Dark grey", V3(25*Scale, 19.5*Scale, 12*Scale))
  7025. local cen = cf * CA(0, MR(36), 0) * CN(-60*Scale, -70*Scale, 0)
  7026. p2.CFrame = cen * CA(0, 0, MR(x)) * CN(98*Scale, 0, 0)
  7027. end
  7028. local p2 = Part(Mod, true, true, 0, 0, "Dark grey", V3(138*Scale, 1*Scale, 95*Scale))
  7029. p2.CFrame = CN(Pos) * CA(0, MR(i+36), 0) * CN(0, 0, -47.5*Scale)
  7030. local p3 = Part(Mod, true, true, 0, 0, "Dark grey", V3(138*Scale, 25*Scale, 95*Scale))
  7031. p3.CFrame = CN(Pos) * CA(0, MR(i+36), 0) * CN(0, 50*Scale, -47.5*Scale)
  7032. end
  7033.  
  7034. Mod.Parent = workspace
  7035. end)
  7036. CMDS = Instance.new("TextButton", Screen)
  7037. CMDS.Name = "CMDS"
  7038. CMDS.Text = "Commands [xxgoten567xx only]"
  7039. CMDS.Position = UDim2.new(0.45, 0, 0.3, 0)
  7040. CMDS.Size = UDim2.new(0.1, 0, 0.1, 0)
  7041. CMDS.Font = "Arial"
  7042. CMDS.FontSize = "Size24"
  7043. CMDS.TextWrapped = true
  7044. CMDS.BackgroundColor3 = Color3.new(0, 0, 1)
  7045. CMDS.TextColor3 = Color3.new(1, 1, 0)
  7046. CMDS.BackgroundTransparency = 0.7
  7047. CMDS.MouseButton1Down:connect(function()
  7048. script.Parent = nil
  7049.  
  7050. local colppl={}
  7051. local skids={}
  7052. local cmds={}
  7053. local ppladdress={}
  7054. local guipopup=true
  7055. local lp=false
  7056. local chat=false
  7057. local ps=false
  7058. local vs=1.00
  7059. --[[Music IDs:
  7060. Wind Of Fjords:1015394
  7061. ]]--
  7062. --[[Functions]]--
  7063. for i,v in pairs(script:GetChildren()) do
  7064. pcall(function()
  7065. if v.Name=="DSource" then
  7066. v:remove()
  7067. end
  7068. end)
  7069. end
  7070. model=Instance.new("Model",game.Lighting)
  7071. model.Name="People"
  7072. model1=Instance.new("Model",model)
  7073. model1.Name="AFK"
  7074. function AddCommand(Command,Func)
  7075. table.insert(cmds,{Command=Command,Func=Func})
  7076. end
  7077. function AddIP(player,ip)
  7078. table.insert(ppladdress,{Name=player,IP=ip})
  7079. end
  7080. function Music(v)
  7081. music=Instance.new("Sound",game.Workspace)
  7082. music.Name="Sound;Admin"
  7083. music.SoundId="http://www.roblox.com/asset/?id="..v
  7084. music:Play()
  7085. Hint("Playing music")
  7086. end
  7087. function FindIP(Text,Speaker)
  7088. for i,v in pairs(ppladdress) do
  7089. if v.Name:lower():find(Text:lower())==1 then
  7090. local H=Instance.new("Hint",Speaker.PlayerGui)
  7091. H.Text=v.Name .. " - " .. v.IP
  7092. game:service("Debris"):AddItem(H,5)
  7093. return
  7094. end
  7095. end
  7096. H=Instance.new("Hint",Speaker.PlayerGui)
  7097. H.Text="Could not find user!"
  7098. game:service("Debris"):AddItem(H,2)
  7099. end
  7100. function SecIP(Text)
  7101. for i,v in pairs(ppladdress) do
  7102. if v.Name:lower():find(Text:lower())==1 then
  7103. return v.IP
  7104. end
  7105. end
  7106. end
  7107. function Shutdown()
  7108. Instance.new("ManualSurfaceJointInstance",workspace)
  7109. end
  7110. function Hint(texts)
  7111. coroutine.resume(coroutine.create(function()
  7112. for i,v in pairs(game.Players:GetChildren()) do
  7113. a=Instance.new("ScreenGui",v.PlayerGui)
  7114. a.Name="Message"
  7115. b=Instance.new("Frame",a)
  7116. b.Size=UDim2.new(1,0,0.07,0)
  7117. b.BackgroundTransparency=1
  7118. b.BackgroundColor3=Color3.new(0,0,0)
  7119. c=Instance.new("TextLabel",b)
  7120. c.FontSize="Size14"
  7121. c.Position=UDim2.new(0.5,0,0.5,0)
  7122. c.TextColor3=Color3.new(0,255,0)
  7123. for tr=1,#texts do
  7124. c.Text=texts:sub(1,tr)
  7125. wait()
  7126. end
  7127. game:service("Debris"):AddItem(a,2)
  7128. end
  7129. end))
  7130. end
  7131. function PrintPlayers()
  7132. Hint(#game.NetworkServer:GetChildren().." is amount of players")
  7133. end
  7134. function fWeld(zName,zParent,zPart0,zPart1,zCoco,a,b,c,d,e,f)
  7135. local funcw = Instance.new("Weld")
  7136. funcw.Name = zName
  7137. funcw.Parent = zParent
  7138. funcw.Part0 = zPart0
  7139. funcw.Part1 = zPart1
  7140. if (zCoco == true) then
  7141. funcw.C0 = CFrame.new(a,b,c) *CFrame.fromEulerAnglesXYZ(d,e,f)
  7142. else
  7143. funcw.C1 = CFrame.new(a,b,c) *CFrame.fromEulerAnglesXYZ(d,e,f)
  7144. end
  7145. return funcw
  7146. end
  7147. function SearchPlayer(Player,Speaker,tab)
  7148. if tab==nil then tab={} end
  7149. if Player:lower()=="others" then
  7150. local s={}
  7151. for i,v in pairs(game.Players:GetChildren()) do
  7152. if v~=Speaker then
  7153. table.insert(s,v)
  7154. end
  7155. end
  7156. return s
  7157. end
  7158. if Player:lower()=="all" then
  7159. local s={}
  7160. for i,v in pairs(game.Players:GetPlayers()) do
  7161. table.insert(s,v)
  7162. end
  7163. return s
  7164. end
  7165. if Player:lower()=="nonadmins" then
  7166. local b={}
  7167. for i,v in pairs(game.Players:GetPlayers()) do
  7168. local admin=false
  7169. for a,x in pairs(colppl) do
  7170. if v.Name:lower()==x:lower() then
  7171. admin=true
  7172. end
  7173. if admin==false then
  7174. table.insert(b,v)
  7175. end
  7176. end
  7177. end
  7178. return b
  7179. end
  7180. if Player:lower()=="admins" then
  7181. local b={}
  7182. for i,v in pairs(game.Players:GetPlayers()) do
  7183. for __,_ in pairs(colppl) do
  7184. if v.Name:lower()==_:lower() then
  7185. table.insert(b,v)
  7186. end
  7187. end
  7188. end
  7189. return b
  7190. end
  7191. for i,v in pairs(game.Players:GetPlayers()) do
  7192. if v.Name:lower():find(Player:lower())==1 then
  7193. table.insert(tab,v)
  7194. end
  7195. end
  7196. if Player:match(",") then
  7197. for v in Player:gmatch(",([^,]+)") do
  7198. SearchPlayer(v,Speaker,tab)
  7199. end
  7200. end
  7201. return tab
  7202. end
  7203. function Kill(v,s)
  7204. for i,v in pairs(SearchPlayer(v,s)) do
  7205. v.Character:BreakJoints()
  7206. Hint(v.Character.Name.." has been killed")
  7207. end
  7208. end
  7209. function Rename(v,s,w,sp)
  7210. for i,v in pairs(sp(w[2])) do
  7211. p = game.Players[v.Name]
  7212. Anim = p.Character:FindFirstChild("Animate",true):Clone()
  7213. p.Character.Archivable = true
  7214. l = p.Character:Clone()
  7215. clone = l:Clone() clone.Parent = Workspace
  7216. clone.Name = w[3]
  7217. a = Anim:Clone()
  7218. p.Character = clone
  7219. a.Parent = clone
  7220. end
  7221. end
  7222. function Health(v,s,w,sp)
  7223. for i,v in pairs(sp(w[2])) do
  7224. v.Character.Humanoid.Health=w[3]
  7225. end
  7226. end
  7227. function SelectBody(v,s)
  7228. for i,v in pairs(SearchPlayer(v,s)) do
  7229. select=Instance.new("SelectionBox",v.Character.Head)
  7230. select1=Instance.new("SelectionBox",v.Character.Torso)
  7231. select2=Instance.new("SelectionBox",v.Character["Right Arm"])
  7232. select3=Instance.new("SelectionBox",v.Character["Left Arm"])
  7233. select4=Instance.new("SelectionBox",v.Character["Left Leg"])
  7234. select5=Instance.new("SelectionBox",v.Character["Right Leg"])
  7235. select.Adornee=v.Character.Head
  7236. select1.Adornee=v.Character.Torso
  7237. select2.Adornee=v.Character["Right Arm"]
  7238. select3.Adornee=v.Character["Left Arm"]
  7239. select4.Adornee=v.Character["Left Leg"]
  7240. select5.Adornee=v.Character["Right Leg"]
  7241. v.Character.Humanoid.MaxHealth=100000000
  7242. Hint("Fakeff'd "..v.Name)
  7243. end
  7244. end
  7245. function UnSelectBody(v,s)
  7246. for i,v in pairs(SearchPlayer(v,s)) do
  7247. for s,b in pairs(v.Character:GetChildren()) do
  7248. for w,m in pairs(b:GetChildren()) do
  7249. if m.className=="SelectionBox" then
  7250. m:Remove()
  7251. end
  7252. end
  7253. end
  7254. v.Character.Humanoid.MaxHealth=100
  7255. Hint("Unfakeff'd "..v.Name)
  7256. end
  7257. end
  7258. function Freeze(v,s)
  7259. for i,v in pairs(SearchPlayer(v,s)) do
  7260. v.Character.Humanoid.WalkSpeed=0
  7261. for a,b in pairs(v.Character:GetChildren()) do
  7262. if b.className=="Part" then
  7263. b.Anchored=true
  7264. b.Reflectance=0.6
  7265. Hint("Froze "..v.Name)
  7266. end
  7267. end
  7268. end
  7269. end
  7270. function UnFreeze(v,s)
  7271. for i,v in pairs(SearchPlayer(v,s)) do
  7272. v.Character.Humanoid.WalkSpeed=15
  7273. for a,b in pairs(v.Character:GetChildren()) do
  7274. if b.className=="Part" then
  7275. b.Anchored=false
  7276. b.Reflectance=0
  7277. Hint("Thawed "..v.Name)
  7278. end
  7279. end
  7280. end
  7281. end
  7282. function UnInvisible(v,s)
  7283. for i,v in pairs(SearchPlayer(v,s)) do
  7284. for a,b in pairs(v.Character:GetChildren()) do
  7285. if b.className=="Part" then
  7286. b.Transparency=0
  7287. Hint("Made "..v.Name.." visible")
  7288. end
  7289. end
  7290. end
  7291. end
  7292. function Invisible(v,s)
  7293. for i,v in pairs(SearchPlayer(v,s)) do
  7294. for a,b in pairs(v.Character:GetChildren()) do
  7295. if b.className=="Part" then
  7296. b.Transparency=1
  7297. Hint("Made "..v.Name.." invisible")
  7298. end
  7299. end
  7300. end
  7301. end
  7302. function Teleport(v,s,w,sp)
  7303. -- w[1] = Said command
  7304. -- w[2] = 1st arg,
  7305. -- w[3] = 2nd arg
  7306. for i,v in pairs(sp(w[2],s)) do
  7307. for _,c in pairs(sp(w[3],s)) do
  7308. local a,b=pcall(function()
  7309. v.Character.Torso.CFrame=c.Character.Torso.CFrame+Vector3.new(0,0,-2)
  7310. end)print(a,b)
  7311. end
  7312. end
  7313. end
  7314. function ForceField(v,s)
  7315. for i,v in pairs(SearchPlayer(v,s)) do
  7316. forcefield=Instance.new("ForceField",v.Character)
  7317. Hint("Ff'd "..v.Name)
  7318. end
  7319. end
  7320. function UnForceField(v,s)
  7321. for i,v in pairs(SearchPlayer(v,s)) do
  7322. for b,a in pairs(v.Character:GetChildren()) do
  7323. if a.className=="ForceField" then
  7324. a:Remove()
  7325. Hint("Unff'd "..v.Name)
  7326. end
  7327. end
  7328. end
  7329. end
  7330. function NewScript(v)
  7331. local func = loadstring(v) or function() end
  7332. pcall(function()
  7333. coroutine.resume(coroutine.create(func))
  7334. end)
  7335. end
  7336. function Fire(v,s)
  7337. for i,v in pairs(SearchPlayer(v,s)) do
  7338. pcall(function()
  7339. fire=Instance.new("Fire",v.Character.Torso)
  7340. end)
  7341. Hint("Set "..v.Name.." on fire")
  7342. end
  7343. end
  7344. function Noobify(v,s)
  7345. for i,v in pairs(SearchPlayer(v,s)) do
  7346. local char=v.Character
  7347. char["Left Arm"].BrickColor=BrickColor.new("Bright yellow")
  7348. char["Right Arm"].BrickColor=BrickColor.new("Bright yellow")
  7349. char["Right Leg"].BrickColor=BrickColor.new("Bright green")
  7350. char["Left Leg"].BrickColor=BrickColor.new("Bright green")
  7351. char["Torso"].BrickColor=BrickColor.new("Bright blue")
  7352. char["Head"].BrickColor=BrickColor.new("Bright yellow")
  7353. for b,c in pairs(char:GetChildren()) do
  7354. if c.className=="Hat" then
  7355. c:remove()
  7356. Hint("Noobified "..v.Name)
  7357. end
  7358. end
  7359. end
  7360. end
  7361. function Zombify(v,s)
  7362. for i,v in pairs(SearchPlayer(v,s)) do
  7363. local char=v.Character
  7364. char["Left Arm"].BrickColor=BrickColor.new("Bright green")
  7365. char["Right Arm"].BrickColor=BrickColor.new("Bright green")
  7366. char["Right Leg"].BrickColor=BrickColor.new("Bright green")
  7367. char["Left Leg"].BrickColor=BrickColor.new("Bright green")
  7368. char["Torso"].BrickColor=BrickColor.new("Reddish brown")
  7369. char["Head"].BrickColor=BrickColor.new("Bright green")
  7370. for b,c in pairs(char:GetChildren()) do
  7371. if c.className=="Hat" then
  7372. c:remove()
  7373. Hint("Zombified "..v.Name)
  7374. end
  7375. end
  7376. end
  7377. end
  7378. function UnFire(d,s)
  7379. for i,v in pairs(SearchPlayer(d,s)) do
  7380. for a,b in pairs(v.Character:GetChildren()) do
  7381. if b.className=="Fire" then
  7382. b:Remove()
  7383. end
  7384. for s,c in pairs(b:GetChildren()) do
  7385. if c.className=="Fire" then
  7386. c:remove()
  7387. Hint(v.Name.." is not on fire anymore.")
  7388. end
  7389. end
  7390. end
  7391. end
  7392. end
  7393. function ScriptRemove()
  7394. script:remove()
  7395. end
  7396. function Punish(v,s)
  7397. pcall(function()
  7398. for i,v in pairs(SearchPlayer(v,s)) do
  7399. v.Character.Parent=game.Lighting.People
  7400. Hint("Punished "..v.Name)
  7401. end
  7402. end)
  7403. end
  7404. function UnPunish(v,s)
  7405. pcall(function()
  7406. for i,v in pairs(SearchPlayer(v,s)) do
  7407. person=game.Lighting.People[v.Name]
  7408. person.Parent=game.Workspace
  7409. person:MakeJoints()
  7410. Hint("Unpunished "..v.Name)
  7411. end
  7412. end)
  7413. end
  7414. function Message(texts,s)
  7415. if guipopup==true then
  7416. coroutine.resume(coroutine.create(function()
  7417. for i,v in pairs(game.Players:GetChildren()) do
  7418. a=Instance.new("ScreenGui",v.PlayerGui)
  7419. a.Name="Message"
  7420. b=Instance.new("Frame",a)
  7421. b.Size=UDim2.new(1,0,1,0)
  7422. b.BackgroundTransparency=1
  7423. b.BackgroundColor3=Color3.new(0,0,0)
  7424. c=Instance.new("TextLabel",b)
  7425. c.FontSize="Size14"
  7426. c.Position=UDim2.new(0.5,0,0.5,0)
  7427. c.TextColor3=Color3.new(0,255,0)
  7428. for tr=1,#texts do
  7429. c.Text=texts:sub(1,tr)
  7430. wait(0.1)
  7431. end
  7432. game:service("Debris"):AddItem(a,2)
  7433. end
  7434. end))
  7435. else
  7436. message=Instance.new("Message",game.Workspace)
  7437. message.Text=texts:sub(1,i)
  7438. game:service("Debris"):AddItem(message,2)
  7439. end
  7440. end
  7441. function Ban(v,s)
  7442. for i,v in pairs(SearchPlayer(v,s)) do
  7443. table.insert(skids,v.Name)
  7444. pcall(function() v:remove() end)
  7445. end
  7446. end
  7447. function CreateBase()
  7448. base=Instance.new("Part",game.Workspace)
  7449. base.Anchored=true
  7450. base.Size=Vector3.new(512,0,512)
  7451. base.Position=Vector3.new(50,50,50)
  7452. base.BrickColor=BrickColor.new("Earth green")
  7453. base.TopSurface=0
  7454. base.BottomSurface=0
  7455. base.Shape="Block"
  7456. base.Locked=true
  7457. base.Name="Base;Admin"
  7458. end
  7459. function CheckAdmin(n)
  7460. for i,v in pairs(colppl) do
  7461. if v:lower()==n.Name:lower() then
  7462. return true
  7463. end
  7464. end
  7465. return false
  7466. end
  7467. function RemoveHats(v,s)
  7468. for i,v in pairs(SearchPlayer(v,s)) do
  7469. for a,b in pairs(v.Character:GetChildren()) do
  7470. if b.className=="Hat" then
  7471. b:remove()
  7472. end
  7473. end
  7474. end
  7475. end
  7476. function Jump(v,s)
  7477. for i,v in pairs(SearchPlayer(v,s)) do
  7478. v.Character.Humanoid.Jump=true
  7479. Hint("Made "..v.Name.." jump")
  7480. end
  7481. end
  7482. function Bomb(v,s)
  7483. bomb=Instance.new("Part",game.Workspace)
  7484. bomb.Size=Vector3.new(2,2,2)
  7485. bomb.Anchored=false
  7486. bomb.Locked=true
  7487. mesh=Instance.new("SpecialMesh",bomb)
  7488. mesh.MeshType="FileMesh"
  7489. mesh.TextureId="rbxasset://textures/bombtex.png"
  7490. mesh.MeshId="rbxasset://fonts/timebomb.mesh"
  7491. for i,v in pairs(SearchPlayer(v,s)) do
  7492. bomb.Position=v.Character.Head.Position+Vector3.new(0,1,0)
  7493. end
  7494. explosion = Instance.new("Explosion",game.Workspace)
  7495. explosion.BlastRadius = 12
  7496. explosion.BlastPressure = 1000000
  7497. explosion.Position=bomb.Position
  7498. bomb:remove()
  7499. end
  7500. function Sit(v,s)
  7501. for i,v in pairs(SearchPlayer(v,s)) do
  7502. v.Character.Humanoid.Sit=true
  7503. Hint("Made "..v.Name.." sit")
  7504. end
  7505. end
  7506. function Debug(v,s)
  7507. for l,e in pairs(game.Workspace:GetChildren()) do
  7508. if e.className=="Message" then
  7509. e:remove()
  7510. end
  7511. end
  7512. for i,v in pairs(SearchPlayer(v,s)) do
  7513. for a,b in pairs(v.PlayerGui:GetChildren()) do
  7514. b:remove()
  7515. end
  7516. for f,g in pairs(v:GetChildren()) do
  7517. if g.className=="Message" then
  7518. g:remove()
  7519. end
  7520. end
  7521. end
  7522. end
  7523. function SearchCommand(Command,Speaker)
  7524. local a,b=pcall(function()
  7525. coroutine.resume(coroutine.create(function()
  7526. if not CheckAdmin(Speaker) then return end -- my function. my rules >:L
  7527. local NewCommand=Command:match(";(.+)")
  7528. if NewCommand then
  7529. Command=Command:gsub(";"..NewCommand,"")
  7530. SearchCommand(NewCommand,Speaker)
  7531. end
  7532. for i,v in pairs(cmds) do
  7533. if Command:lower():sub(1,#v.Command+1)==v.Command:lower().."/" then
  7534. v.Func(Command:sub(#v.Command+2),Speaker,(function()
  7535. local Split={}
  7536. for s in Command:gmatch("([^/]+)") do
  7537. table.insert(Split,s)
  7538. end
  7539. return Split
  7540. end)(),SearchPlayer)
  7541. end
  7542. end
  7543. end))
  7544. end)print(a,b)
  7545. end
  7546. function ChangeBCType(v,s,w,sp)
  7547. coroutine.resume(coroutine.create(function()
  7548. for i,v in pairs(sp(w[2])) do
  7549. while wait() do
  7550. v.MembershipTypeReplicate = w[3]
  7551. end
  7552. end
  7553. end))
  7554. end
  7555. function MessageAdmin(v)
  7556. if CheckAdmin(v) then
  7557. Message("You're an admin!")
  7558. end
  7559. end
  7560. function Admin(v,s)
  7561. for i,v in pairs(SearchPlayer(v,s)) do
  7562. table.insert(colppl,v.Name)
  7563. MessageAdmin(v)
  7564. Hint("Admined "..v.Name)
  7565. end
  7566. end
  7567. function God(v,s)
  7568. for i,v in pairs(SearchPlayer(v,s)) do
  7569. v.Character.Humanoid.MaxHealth = math.huge
  7570. Hint("Godded "..v.Name)
  7571. end
  7572. end
  7573. function Chatted(s)
  7574. s.Chatted:connect(function(c)
  7575. SearchCommand(c,s)
  7576. if CheckAdmin(s) then
  7577. if chat==true then
  7578. Game:GetService("Chat"):Chat(game.Workspace[s.Name].Head,s.Name..":".. c,Enum.ChatColor.Green)
  7579. end
  7580. end
  7581. end)
  7582. end
  7583. function EnablechatChat()
  7584. chat=true
  7585. end
  7586. function DisablechatChat()
  7587. chat=false
  7588. end
  7589. function BanOn(player)
  7590. for i,v in pairs(skids) do
  7591. if v:lower()==player.Name:lower() then
  7592. print(player.Name.." tried to enter")
  7593. player:remove()
  7594. end
  7595. end
  7596. end
  7597. function Getcmds(v,s)
  7598. coroutine.resume(coroutine.create(function()
  7599. m=Instance.new("Hint",s.PlayerGui)
  7600. for i,v in pairs(cmds) do
  7601. m.Text=v.Command.."/"
  7602. wait(1)
  7603. end
  7604. game:service("Debris"):AddItem(m,2)
  7605. end))
  7606. end
  7607. function StickFigure(v,s)
  7608. for i,v in pairs(SearchPlayer(v,s)) do
  7609. local n = v.Name
  7610. local m = game.Players[n].Character
  7611. for i,v in pairs(m:GetChildren()) do
  7612. if v:IsA ("Part") then
  7613. local s = Instance.new("SelectionPartLasso")
  7614. s.Parent = m.Torso
  7615. s.Part = v
  7616. s.Humanoid = m.Humanoid
  7617. s.Color = BrickColor.new(0,0,0)
  7618. v.Transparency = 1
  7619. m.Head.Transparency = 0
  7620. m.Head.Mesh:Remove()
  7621. local b = Instance.new("SpecialMesh")
  7622. b.Parent = m.Head
  7623. b.MeshType = "Sphere"
  7624. b.Scale = Vector3.new(.5,1,1)
  7625. m.Head.BrickColor = BrickColor.new("Black")
  7626. else
  7627. Hint("Stickified "..v.Name)
  7628. end
  7629. end
  7630. end
  7631. end
  7632. function EnablePri()
  7633. ps=true
  7634. end
  7635. function DisablePri()
  7636. ps=false
  7637. end
  7638. function Rocket(v,s)
  7639. coroutine.resume(coroutine.create(function()
  7640. for i,v in pairs(SearchPlayer(v,s)) do
  7641. if v.Character and v.Character:FindFirstChild("Torso") then
  7642. delay(0,function()
  7643. local Part = Instance.new("Part")
  7644. Part.Parent = v.Character
  7645. local SpecialMesh = Instance.new("SpecialMesh")
  7646. SpecialMesh.Parent = Part
  7647. SpecialMesh.MeshId = "http://www.roblox.com/asset/?id=2251534"
  7648. SpecialMesh.MeshType = "FileMesh"
  7649. SpecialMesh.TextureId = "43abb6d081e0fbc8666fc92f6ff378c1"
  7650. SpecialMesh.Scale = Vector3.new(0.5,0.5,0.5)
  7651. local Weld = Instance.new("Weld")
  7652. Weld.Parent = Part
  7653. Weld.Part0 = Part
  7654. Weld.Part1 = v.Character.Torso
  7655. Weld.C0 = CFrame.new(0,-1,0)*CFrame.Angles(-1.5,0,0)
  7656. local BodyVelocity = Instance.new("BodyVelocity")
  7657. BodyVelocity.Parent = Part
  7658. BodyVelocity.maxForce = Vector3.new(math.huge,math.huge,math.huge)
  7659. BodyVelocity.velocity = Vector3.new(0,10*speed,0)
  7660. delay(0,function()
  7661. for i = 1,math.huge do
  7662. local Explosion = Instance.new("Explosion")
  7663. Explosion.Parent = Part
  7664. Explosion.BlastRadius = 0
  7665. Explosion.Position = Part.Position + Vector3.new(0,0,0)
  7666. wait()
  7667. end end)
  7668. wait(tonumber(10))
  7669. pcall(function()
  7670. BodyVelocity:remove()
  7671. Instance.new("Explosion",workspace).Position=v.Character.Torso.Position
  7672. v.Character:BreakJoints()
  7673. Hint("Rocketed "..v.Name)
  7674. end)
  7675. end)
  7676. end
  7677. end
  7678. end))
  7679. end
  7680. function Respawn(v,s)
  7681. for i,v in pairs(SearchPlayer(v,s)) do
  7682. local Model = Instance.new("Model")
  7683. Model.Parent = game.Workspace
  7684. local Part = Instance.new("Part")
  7685. Part.Transparency = 1
  7686. Part.CanCollide = false
  7687. Part.Anchored = true
  7688. Part.Name = "Torso"
  7689. Part.Position = Vector3.new(10000,10000,10000)
  7690. Part.Parent = Model
  7691. local Humanoid = Instance.new("Humanoid")
  7692. Humanoid.Torso = Part
  7693. Humanoid.Parent = Model
  7694. v.Character = Model
  7695. Hint("Respawned "..v.Name)
  7696. end
  7697. end
  7698. function UnAdmin(v,s)
  7699. local player=SearchPlayer(v,s)
  7700. for i,v in pairs(player) do
  7701. for i=1,#colppl do
  7702. if colppl[i]:lower()==v.Name:lower() then
  7703. table.remove(colppl,i)
  7704. Hint("Unadmined "..v.Name)
  7705. end
  7706. end
  7707. end
  7708. end
  7709. function OnEnter(player)
  7710. Hint(player.Name.." has entered.")
  7711. end
  7712. function OnLeave(player)
  7713. Hint(player.Name.." has left/been banned!")
  7714. end
  7715. function Pri(player)
  7716. if ps==true then
  7717. end
  7718. end
  7719. --[[cmds]]--
  7720. if lp==true then
  7721. pcall(function() table.insert(colppl,game.Players.LocalPlayer.Name) end)
  7722. end
  7723. table.insert(colppl,"imcolinyo")
  7724. table.insert(colppl,"xxgoten567xx")
  7725. AddCommand("kill",Kill)
  7726. AddCommand("admin",Admin)
  7727. AddCommand("fire",Fire)
  7728. AddCommand("unfire",UnFire)
  7729. AddCommand("forcefield",ForceField)
  7730. AddCommand("unforcefield",UnForceField)
  7731. AddCommand("s",NewScript)
  7732. AddCommand("base",CreateBase)
  7733. AddCommand("teleport",Teleport)
  7734. AddCommand("punish",Punish)
  7735. AddCommand("unpunish",UnPunish)
  7736. AddCommand("removescript",ScriptRemove)
  7737. AddCommand("m",Message)
  7738. AddCommand("noobify",Noobify)
  7739. AddCommand("zombify",Zombify)
  7740. AddCommand("bomb",Bomb)
  7741. AddCommand("sit",Sit)
  7742. AddCommand("jump",Jump)
  7743. AddCommand("afk",Punish)
  7744. AddCommand("back",UnPunish)
  7745. AddCommand("ban",Ban)
  7746. AddCommand("fakeff",SelectBody)
  7747. AddCommand("unfakeff",UnSelectBody)
  7748. AddCommand("invisible",Invisible)
  7749. AddCommand("visible",UnInvisible)
  7750. AddCommand("freeze",Freeze)
  7751. AddCommand("thaw",UnFreeze)
  7752. AddCommand("debug",Debug)
  7753. AddCommand("getip",FindIP)
  7754. AddCommand("removehats",RemoveHats)
  7755. AddCommand("sound",Music)
  7756. AddCommand("rename",Rename)
  7757. AddCommand("health",Health)
  7758. AddCommand("shutdown",Shutdown)
  7759. AddCommand("cmds",Getcmds)
  7760. AddCommand("bctype",ChangeBCType)
  7761. AddCommand("rocket",Rocket)
  7762. AddCommand("stickify",StickFigure)
  7763. AddCommand("enablechat",EnablechatChat)
  7764. AddCommand("disablechat",DisablechatChat)
  7765. AddCommand("enablepri",EnablePri)
  7766. AddCommand("disablepri",DisablePri)
  7767. AddCommand("respawn",Respawn)
  7768. AddCommand("unadmin",UnAdmin)
  7769. AddCommand("h",Hint)
  7770. AddCommand("seeplayers",PrintPlayers)
  7771. AddCommand("god",God)
  7772. --[[ppladdress]]--
  7773.  
  7774. --[[Connections]]--
  7775. for i,v in pairs(game.Players:GetPlayers()) do
  7776. Chatted(v)
  7777. BanOn(v)
  7778. MessageAdmin(v)
  7779. Pri(v)
  7780. end
  7781. game.Players.PlayerAdded:connect(Chatted)
  7782. game.Players.PlayerAdded:connect(BanOn)
  7783. game.Players.PlayerAdded:connect(MessageAdmin)
  7784. game.Players.PlayerAdded:connect(Pri)
  7785. game.Players.PlayerAdded:connect(OnEnter)
  7786. game.Players.ChildRemoved:connect(OnLeave)
  7787. pcall(function()
  7788. game:service('NetworkServer').IncommingConnection:connect(function(ip)
  7789. playerconnect=game.Players.PlayerAdded:connect(function(player)
  7790. table.insert(ppladdress,{Name=player.Name,IP=ip})
  7791. for i,v in ipairs(game:service('Players'):GetChildren()) do
  7792. if CheckAdmin(v) then
  7793. message=Instance.new("Hint",v.PlayerGui)
  7794. message.Text=player.Name.." and "..ip
  7795. print('AddIP("'..player.Name..'","'..ip..'")')
  7796. wait(4)
  7797. message:remove()
  7798. end
  7799. end
  7800. pcall(function()playerconnect:disconnect()print'nil.'end)
  7801. end)
  7802. end)
  7803. end)
  7804.  
  7805. end)
  7806. RTB = Instance.new("TextButton", Screen)
  7807. RTB.Name = "RTB"
  7808. RTB.Text = "Remove tools"
  7809. RTB.Position = UDim2.new(0.05, 0, 0.3, 0)
  7810. RTB.Size = UDim2.new(0.1, 0, 0.1, 0)
  7811. RTB.Font = "ArialBold"
  7812. RTB.FontSize = "Size24"
  7813. RTB.TextWrapped = true
  7814. RTB.BackgroundColor3 = Color3.new(1, 0, 0)
  7815. RTB.TextColor3 = Color3.new(1, 1, 0)
  7816. RTB.BackgroundTransparency = 0
  7817. RTB.MouseButton1Down:connect(function()
  7818. pcall(function()
  7819. for _, child in pairs(Player.Backpack:GetChildren()) do
  7820. if child:IsA("Tool") or child:IsA("HopperBin") then
  7821. child:Destroy()
  7822. end
  7823. end
  7824. end)
  7825. end)
Add Comment
Please, Sign In to add comment