Advertisement
Ban43_GodOfEdits

test spiderman

Aug 25th, 2018
186
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 54.26 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
  6.  
  7. local plr = game:GetService('Players').LocalPlayer
  8. local mouse = plr:GetMouse()
  9. local chr = plr.Character
  10. local rope = nil
  11. local working = false
  12. local working2 = false
  13. local forward = false
  14. local backward = false
  15. local shooting = false
  16. local left = false
  17. local right = false
  18. local crawling = false
  19. local active = true
  20. local wing1 = nil
  21. local wing2 = nil
  22. local hats = {}
  23. local gui = Instance.new('ScreenGui')
  24. gui.Parent = plr.PlayerGui
  25. gui.Name = "Spiderman"
  26. gui.ResetOnSpawn = false
  27. local frame = Instance.new('Frame',gui)
  28. frame.Size = UDim2.new(0.2,0,0.2,0)
  29. frame.Position = UDim2.new(0,0,0.9,0)
  30. frame.BackgroundColor3 = Color3.fromRGB(255, 66, 66)
  31. frame.BorderSizePixel = 4
  32. frame.BorderColor3 = Color3.fromRGB(66, 134, 244)
  33. frame.Active = true
  34. frame.Draggable = true
  35. local txt = Instance.new('TextLabel',frame)
  36. txt.Text = "Spiderman Gui"
  37. txt.TextColor3 = Color3.fromRGB(66, 134, 244)
  38. txt.Size = UDim2.new(1,0,0.3,0)
  39. txt.TextScaled = true
  40. txt.BackgroundTransparency = 1
  41. local but = Instance.new('TextButton',frame)
  42. but.Text = "Toggle Suit"
  43. but.TextColor3 = Color3.fromRGB(255, 66, 66)
  44. but.Size = UDim2.new(0.7,0,0.3,0)
  45. but.Position = UDim2.new(0.15,0,0.5,0)
  46. but.BorderSizePixel = 0
  47. but.TextScaled = true
  48. but.BackgroundColor3 = Color3.fromRGB(66, 134, 244)
  49. but.MouseButton1Down:connect(function()
  50. active = not active
  51. end)
  52. local txt2 = Instance.new('TextLabel',frame)
  53. txt2.Text = "Toggle wall climb on with C."
  54. txt2.TextColor3 = Color3.fromRGB(66, 134, 244)
  55. txt2.Size = UDim2.new(1,0,0.15,0)
  56. txt2.Position = UDim2.new(0,0,0.85,0)
  57. txt2.TextScaled = true
  58. txt2.BackgroundTransparency = 1
  59. function webshot(char)
  60. local haaaaaaaaa = coroutine.wrap(function()
  61. if char:FindFirstChildOfClass('Humanoid').Health > 0 then
  62. for i,v in pairs(char:GetChildren()) do
  63. local partz = {Enum.NormalId.Back,Enum.NormalId.Right,Enum.NormalId.Left,Enum.NormalId.Top,Enum.NormalId.Bottom,Enum.NormalId.Front}
  64. if v:IsA('Part') and v.Transparency ~= 1 and v.Name ~= "Head" then
  65. for a,c in pairs(partz) do
  66. local dec = Instance.new('Decal',v)
  67. dec.Texture = 'http://www.roblox.com/asset/?id=148633485'
  68. dec.Face = c
  69. end
  70. end
  71. end
  72. char:FindFirstChildOfClass('Humanoid').Health = char:FindFirstChildOfClass('Humanoid').Health - char:FindFirstChildOfClass('Humanoid').MaxHealth*.75
  73. if char:FindFirstChild('HumanoidRootPart') then
  74. local heyyyy = nil
  75. if char:FindFirstChild('Animate') then
  76. heyyyy = char.Animate:Clone()
  77. char.Animate:Destroy()
  78. end
  79. char:FindFirstChildOfClass('Humanoid').PlatformStand = true
  80. local ahhhhhhh = true
  81. char.HumanoidRootPart.CFrame = CFrame.new(char.HumanoidRootPart.Position)*CFrame.Angles(0,0,math.pi/2)
  82. if char:FindFirstChildOfClass('Humanoid') then
  83. char:FindFirstChildOfClass('Humanoid').Changed:connect(function(change)
  84. if change == "PlatformStand" and ahhhhhhh then
  85. char:FindFirstChildOfClass('Humanoid').PlatformStand = true
  86. end
  87. end)
  88. end
  89. wait(60)
  90. ahhhhhhh = false
  91. if char:FindFirstChildOfClass('Humanoid') then
  92. char:FindFirstChildOfClass('Humanoid').PlatformStand = false
  93. end
  94. if force then
  95. force:Destroy()
  96. end
  97. if heyyyy then
  98. heyyyy.Parent = char
  99. end
  100. for i,v in pairs(char:GetChildren()) do
  101. if v.Name ~= "Head" then
  102. for a,c in pairs(v:GetChildren()) do
  103. if c:IsA('Decal') then
  104. c:Destroy()
  105. end
  106. end
  107. end
  108. end
  109. end
  110. end
  111. end)
  112. haaaaaaaaa()
  113. end
  114. --------------------------------------
  115. plr=game:service'Players'.LocalPlayer
  116. chr=plr.Character
  117. local ms = plr:GetMouse()
  118. CV="Bright red"
  119.  
  120. local txt = Instance.new("BillboardGui", chr)
  121. txt.Adornee = chr.Head
  122. txt.Name = "_status"
  123. txt.Size = UDim2.new(4, 0, 2.5, 0)
  124. txt.StudsOffset = Vector3.new(-4, 2, 0)
  125. local text = Instance.new("TextLabel", txt)
  126. text.Size = UDim2.new(3, 0, 0.5, 0)
  127. text.FontSize = "Size24"
  128. text.TextScaled = true
  129. text.TextTransparency = 0
  130. text.BackgroundTransparency = 1
  131. text.TextTransparency = 0
  132. text.TextStrokeTransparency = 0
  133. text.Font = "SciFi"
  134. text.TextStrokeColor3 = Color3.new(128,0,0)
  135. text.Text = "Spider-Man"
  136. --------------------------------------
  137. plr=game:service'Players'.LocalPlayer
  138. chr=plr.Character
  139. local ms = plr:GetMouse()
  140. CV="Bright red"
  141.  
  142. local txt = Instance.new("BillboardGui", chr)
  143. txt.Adornee = chr.Head
  144. txt.Name = "_status"
  145. txt.Size = UDim2.new(4, 0, 2.5, 0)
  146. txt.StudsOffset = Vector3.new(-4, 1.5, 0)
  147. local text = Instance.new("TextLabel", txt)
  148. text.Size = UDim2.new(3, 0, 0.5, 0)
  149. text.FontSize = "Size24"
  150. text.TextScaled = false
  151. text.TextTransparency = 0
  152. text.BackgroundTransparency = 1
  153. text.TextTransparency = 0
  154. text.TextStrokeTransparency = 0
  155. text.Font = "SciFi"
  156. text.TextStrokeColor3 = Color3.new(0,0,128)
  157. text.Text = "WIP"
  158.  
  159. MaxHealth = 500
  160.  
  161.  
  162. mouse.KeyDown:connect(function(key)
  163. if key == "f" then
  164. if rope == nil then
  165. if plr.Character and mouse.Hit and mouse.Target and plr.Character:FindFirstChild('Head') and plr.Character:FindFirstChild('Left Arm') and plr.Character:FindFirstChild('Torso') and plr.Character.Torso:FindFirstChild('Left Shoulder') then
  166. if game.CoreGui:FindFirstChild('hekking spiderman') then
  167. game.CoreGui:FindFirstChild('hekking spiderman'):Destroy()
  168. end
  169. local Head = plr.Character.Head
  170. local RightShoulder = plr.Character.Torso["Left Shoulder"]
  171. local RightArm = plr.Character["Left Arm"]
  172. local MousePosition = mouse.Hit.p
  173. local ToMouse = (MousePosition - Head.Position).unit
  174. local Angle = math.acos(ToMouse:Dot(Vector3.new(0, -1, 0)))
  175. local FromRightArmPos = (Head.Position + Head.CFrame:vectorToWorldSpace(Vector3.new(((Head.Size.X / 2) + (RightArm.Size.X / 2)), ((Head.Size.Y / 2) - (RightArm.Size.Z / 2)), 0)))
  176. local ToMouseRightArm = ((MousePosition - FromRightArmPos) * Vector3.new(-1 ,0, -1)).unit
  177. local Look = (Head.CFrame.lookVector * Vector3.new(-1, 0, -1)).unit
  178. local LateralAngle = math.acos(ToMouseRightArm:Dot(Look))
  179. if tostring(LateralAngle) == "-1.#IND" then
  180. LateralAngle = 0
  181. end
  182. local Cross = Head.CFrame.lookVector:Cross(ToMouseRightArm)
  183. if LateralAngle < (-math.pi / 2) then
  184. LateralAngle = (-math.pi / 2)
  185. end
  186. if Cross.Y > 0 then
  187. LateralAngle = -LateralAngle
  188. end
  189. RightShoulder.C0 = CFrame.new(RightShoulder.C0.p) * CFrame.Angles(((-math.pi / 2) + Angle), ((-math.pi / 2) - LateralAngle), -math.pi/2)
  190. wait()
  191. local pa = Instance.new('Part',workspace)
  192. pa.Name = "SPOODERMEN"
  193. pa.Size = Vector3.new(0.2,0.2,0.2)
  194. pa.Anchored = true
  195. pa.CFrame = CFrame.new(MousePosition)
  196. pa.Transparency = 1
  197. local att = Instance.new('Attachment',pa)
  198. local att2 = Instance.new('Attachment',RightArm)
  199. att2.CFrame = CFrame.new(0,-1,0)
  200. att2.Axis = Vector3.new(0,0,0)
  201. local ropez = Instance.new('RopeConstraint',RightArm)
  202. ropez.Color = BrickColor.new('Institutional white')
  203. ropez.Attachment0 = att
  204. ropez.Attachment1 = att2
  205. ropez.Length = ropez.CurrentDistance-5
  206. ropez.Visible = true
  207. rope = ropez
  208. crawling = false
  209. txt2.Text = "Toggle wall climb on with C."
  210. end
  211. else
  212. if plr.Character and plr.Character:FindFirstChildOfClass('Humanoid') and plr.Character:FindFirstChild('Right Arm') and plr.Character:FindFirstChild('Torso') and plr.Character.Torso:FindFirstChild('Left Shoulder') then
  213. local RightShoulder = plr.Character.Torso["Left Shoulder"]
  214. rope:Destroy()
  215. rope = nil
  216. RightShoulder.C0 = CFrame.new(RightShoulder.C0.p)*CFrame.Angles(0,-math.pi/2,0)
  217. working = false
  218. working2 = false
  219. forward = false
  220. backward = false
  221. right = false
  222. left = false
  223. local mouse = game.Players.LocalPlayer:GetMouse()
  224. local running = false
  225.  
  226.  
  227.  
  228. -- Gradually regenerates the Humanoid's Health over time.
  229.  
  230. local REGEN_RATE = 100/100 -- Regenerate this fraction of MaxHealth per second.
  231. local REGEN_STEP = 1 -- Wait this long between each regeneration step.
  232.  
  233. --------------------------------------------------------------------------------
  234.  
  235. local Character = script.Parent
  236. local Humanoidr = Character:WaitForChild'Humanoid'
  237.  
  238. --------------------------------------------------------------------------------
  239.  
  240. while true do
  241. while Humanoidr.Health < Humanoidr.MaxHealth do
  242. local dt = wait(REGEN_STEP)
  243. local dh = dt*REGEN_RATE*Humanoidr.MaxHealth
  244. Humanoidr.Health = math.min(Humanoidr.Health + dh, Humanoidr.MaxHealth)
  245. end
  246. Humanoidr.HealthChanged:Wait()
  247. end
  248.  
  249. Humanoidr.MaxHealth = 500
  250.  
  251. music = Instance.new("Sound",Character) -- change to Character for global music --Change to Torso for non-global music. You may wanna leave this at torso tho...
  252. music.Volume = 3
  253. music.SoundId = "rbxassetid://459993965"--576413172 --music2 = 1117522463 --music3 = 903651242 --music4 = 611389938
  254. music.Looped = true
  255. music:Play()
  256. -- Objects
  257.  
  258. local ScreenGui = Instance.new("ScreenGui")
  259. local Frame = Instance.new("Frame")
  260. local TextLabel = Instance.new("TextLabel")
  261.  
  262. -- Properties
  263. ScreenGui.Name = "hekking spiderman"
  264. ScreenGui.Parent = game.CoreGui
  265.  
  266. Frame.Parent = ScreenGui
  267. Frame.BackgroundColor3 = Color3.new(1, 1, 1)
  268. Frame.BorderSizePixel = 0
  269. Frame.Size = UDim2.new(1, 0, 0.0500000007, 0)
  270.  
  271. TextLabel.Parent = Frame
  272. TextLabel.BackgroundColor3 = Color3.new(1, 1, 1)
  273. TextLabel.BackgroundTransparency = 1
  274. TextLabel.Size = UDim2.new(1, 0, 1, 0)
  275. TextLabel.Font = Enum.Font.SourceSans
  276. TextLabel.FontSize = Enum.FontSize.Size14
  277. TextLabel.Text = "!! PRESS BACKSPACE TO REGAIN BALANCE !!"
  278. TextLabel.TextColor3 = Color3.new(0, 0, 0)
  279. TextLabel.TextScaled = true
  280. TextLabel.TextSize = 14
  281. TextLabel.TextWrapped = true
  282. end
  283. end
  284. elseif key == "q" and rope ~= nil then
  285. working = true
  286. working2 = false
  287. elseif key == "e" and rope ~= nil then
  288. working2 = true
  289. working = false
  290. elseif key == "w" and rope ~= nil then
  291. forward = true
  292. elseif key == "s" and rope ~= nil then
  293. backward = true
  294. elseif key == "a" and rope ~= nil then
  295. left = true
  296. elseif key == "d" and rope ~= nil then
  297. right = true
  298. elseif key == "x" and shooting == false then
  299. if plr.Character and mouse.Hit and plr.Character:FindFirstChild('Head') and plr.Character:FindFirstChild('Right Arm') and plr.Character:FindFirstChild('Torso') and plr.Character.Torso:FindFirstChild('Right Shoulder') then
  300. shooting = true
  301. local Head = plr.Character.Head
  302. local RightShoulder = plr.Character.Torso["Right Shoulder"]
  303. local RightArm = plr.Character["Right Arm"]
  304. local MousePosition = mouse.Hit.p
  305. local ToMouse = (MousePosition - Head.Position).unit
  306. local Angle = math.acos(ToMouse:Dot(Vector3.new(0, 1, 0)))
  307. local FromRightArmPos = (Head.Position + Head.CFrame:vectorToWorldSpace(Vector3.new(((Head.Size.X / 2) + (RightArm.Size.X / 2)), ((Head.Size.Y / 2) - (RightArm.Size.Z / 2)), 0)))
  308. local ToMouseRightArm = ((MousePosition - FromRightArmPos) * Vector3.new(1 ,0, 1)).unit
  309. local Look = (Head.CFrame.lookVector * Vector3.new(1, 0, 1)).unit
  310. local LateralAngle = math.acos(ToMouseRightArm:Dot(Look))
  311. if tostring(LateralAngle) == "-1.#IND" then
  312. LateralAngle = 0
  313. end
  314. local Cross = Head.CFrame.lookVector:Cross(ToMouseRightArm)
  315. if LateralAngle > (math.pi / 2) then
  316. LateralAngle = (math.pi / 2)
  317. end
  318. if Cross.Y < 0 then
  319. LateralAngle = -LateralAngle
  320. end
  321. RightShoulder.C0 = CFrame.new(RightShoulder.C0.p) * CFrame.Angles(((math.pi / 2) - Angle), ((math.pi / 2) + LateralAngle), math.pi/2)
  322. wait()
  323. local shot = Instance.new('Part',workspace)
  324. shot.Name = "AAAA"
  325. shot.CanCollide = false
  326. shot.BrickColor = BrickColor.new('Institutional white')
  327. shot.Size = Vector3.new(3,3,0.2)
  328. shot.Transparency = 1
  329. shot.CFrame = CFrame.new(chr['Right Arm'].CFrame.p, mouse.Hit.p)*CFrame.Angles(0,0,0)
  330. local dec = Instance.new('Decal',shot)
  331. dec.Texture = 'rbxassetid://148633485'
  332. local dec2 = Instance.new('Decal',shot)
  333. dec2.Texture = 'rbxassetid://148633485'
  334. dec2.Face = Enum.NormalId.Back
  335. local heck = Instance.new('BodyVelocity',shot)
  336. heck.Velocity = (shot.CFrame*CFrame.Angles(0,0,0)).lookVector*120
  337. shot.Touched:connect(function(hit)
  338. if hit.Parent:FindFirstChildOfClass('Humanoid') and hit.Parent ~= chr then
  339. webshot(hit.Parent)
  340. shot:Destroy()
  341. elseif hit.Parent.Parent:FindFirstChildOfClass('Humanoid') and hit.Parent.Parent ~= chr then
  342. webshot(hit.Parent.Parent)
  343. shot:Destroy()
  344. elseif hit.Parent.Parent:FindFirstChildOfClass('Humanoid') == nil and hit.Parent:FindFirstChildOfClass('Humanoid') == nil then
  345. shot:Destroy()
  346. end
  347. end)
  348. wait(1)
  349. RightShoulder.C0 = CFrame.new(RightShoulder.C0.p)*CFrame.Angles(0,math.pi/2,0)
  350. shooting = false
  351. end
  352. elseif key == "c" and rope == nil then
  353. if crawling then
  354. crawling = false
  355. txt2.Text = "Toggle wall climb on with C."
  356. else
  357. crawling = true
  358. txt2.Text = "Toggle wall climb off with C."
  359. end
  360. elseif key == "z" and rope == nil and wing1 == nil and wing2 == nil then
  361. local plr = game.Players.LocalPlayer
  362. if chr:FindFirstChild('HumanoidRootPart') and chr.HumanoidRootPart:FindFirstChild('RootJoint') then
  363. chr.HumanoidRootPart.RootJoint.C0 = CFrame.new(0,0,0)*CFrame.Angles(math.rad(180),math.rad(0),math.rad(180))
  364. end
  365. if chr.Torso:FindFirstChild('Right Shoulder') then
  366. chr.Torso["Right Shoulder"].C0 = CFrame.new(1.5,0,0)*CFrame.Angles(math.rad(-90),math.rad(0),math.rad(90))
  367. end
  368. if chr.Torso:FindFirstChild('Left Shoulder') then
  369. chr.Torso["Left Shoulder"].C0 = CFrame.new(-1.5,0,0)*CFrame.Angles(math.rad(-90),math.rad(0),math.rad(-90))
  370. end
  371. if chr:FindFirstChildOfClass('Humanoid'):FindFirstChild('Animator') and chr:FindFirstChild('Animate') then
  372. animator = chr:FindFirstChildOfClass('Humanoid'):FindFirstChild('Animator')
  373. animator:remove()
  374. chr.Animate.Disabled = true
  375. end
  376. if chr:FindFirstChildOfClass('Humanoid') then
  377. chr:FindFirstChildOfClass('Humanoid').HipHeight = -3
  378. chr:FindFirstChildOfClass('Humanoid').WalkSpeed = 40
  379. end
  380. if chr:FindFirstChild('Torso') then
  381. wing1 = Instance.new('WedgePart',chr)
  382. wing1.Size = Vector3.new(0.2,1.5,3)
  383. wing1.Transparency = 1
  384. local dec = Instance.new('Decal',wing1)
  385. dec.Texture = 'http://www.roblox.com/asset/?id=148633485'
  386. dec.Face = Enum.NormalId.Right
  387. local dec2 = Instance.new('Decal',wing1)
  388. dec2.Texture = 'http://www.roblox.com/asset/?id=148633485'
  389. dec2.Face = Enum.NormalId.Left
  390. local dec3 = Instance.new('Decal',wing1)
  391. dec3.Texture = 'http://www.roblox.com/asset/?id=148633485'
  392. dec3.Face = Enum.NormalId.Front
  393. local weld = Instance.new('Weld',wing1)
  394. weld.Part0 = wing1
  395. weld.Part1 = chr.Torso
  396. weld.C0 = CFrame.new(0,-1.5,1)*CFrame.Angles(math.rad(0),math.rad(90),math.rad(90))
  397. wing2 = Instance.new('WedgePart',chr)
  398. wing2.Size = Vector3.new(0.2,1.5,3)
  399. wing2.Transparency = 1
  400. local dec4 = Instance.new('Decal',wing2)
  401. dec4.Texture = 'http://www.roblox.com/asset/?id=148633485'
  402. dec4.Face = Enum.NormalId.Right
  403. local dec5 = Instance.new('Decal',wing2)
  404. dec5.Texture = 'http://www.roblox.com/asset/?id=148633485'
  405. dec5.Face = Enum.NormalId.Left
  406. local dec6 = Instance.new('Decal',wing2)
  407. dec6.Texture = 'http://www.roblox.com/asset/?id=148633485'
  408. dec6.Face = Enum.NormalId.Front
  409. local weld2 = Instance.new('Weld',wing2)
  410. weld2.Part0 = wing2
  411. weld2.Part1 = chr.Torso
  412. weld2.C0 = CFrame.new(0,-1.5,1)*CFrame.Angles(math.rad(180),math.rad(270),math.rad(90))
  413. for i,v in pairs(chr:GetChildren()) do
  414. if v:IsA('Part') then
  415. v.Velocity = Vector3.new(0,0,0)
  416. local BodyForce = Instance.new('BodyForce',v)
  417. local Part = v
  418. BodyForce.Name = "stop destroying me"
  419. BodyForce.Force = Vector3.new(0,Part.Size.X * Part.Size.Y * Part.Size.Z * (game.Workspace.Gravity-45),0)
  420. end
  421. end
  422. end
  423. elseif key == string.char(8) then
  424. if game.CoreGui:FindFirstChild('hekking spiderman') then
  425. game.CoreGui:FindFirstChild('hekking spiderman'):Destroy()
  426. end
  427. elseif key == string.char(47) or key == string.char(48) then
  428. if chr:FindFirstChildOfClass('Humanoid') then
  429. chr:FindFirstChildOfClass('Humanoid').WalkSpeed = 70
  430. end
  431. end
  432. end)
  433.  
  434. mouse.KeyUp:connect(function(key)
  435. if key == "q" and rope ~= nil then
  436. working = false
  437. elseif key == "e" and rope ~= nil then
  438. working2 = false
  439. elseif key == "w" and rope ~= nil then
  440. forward = false
  441. elseif key == "s" and rope ~= nil then
  442. backward = false
  443. elseif key == "a" and rope ~= nil then
  444. left = false
  445. elseif key == "d" and rope ~= nil then
  446. right = false
  447. elseif key == "z" and wing1 ~= nil and wing2 ~= nil then
  448. if animator and chr:FindFirstChildOfClass('Humanoid') and chr:FindFirstChild('Animate') then
  449. animator.Parent = chr:FindFirstChildOfClass('Humanoid')
  450. chr.Animate.Disabled = false
  451. end
  452. if chr.Torso:FindFirstChild('Right Shoulder') then
  453. chr.Torso["Right Shoulder"].C0 = CFrame.new(1,0.5,0)*CFrame.Angles(0,math.pi/2,0)
  454. end
  455. if chr.Torso:FindFirstChild('Left Shoulder') then
  456. chr.Torso["Left Shoulder"].C0 = CFrame.new(-1,0.5,0)*CFrame.Angles(0,-math.pi/2,0)
  457. end
  458. if chr:FindFirstChild('HumanoidRootPart') and chr.HumanoidRootPart:FindFirstChild('RootJoint') then
  459. chr.HumanoidRootPart.RootJoint.C0 = CFrame.new(0,0,0)*CFrame.Angles(math.rad(-270),math.rad(180),math.rad(0))
  460. end
  461. if chr:FindFirstChildOfClass('Humanoid') then
  462. chr:FindFirstChildOfClass('Humanoid').HipHeight = 0
  463. chr:FindFirstChildOfClass('Humanoid').WalkSpeed = 16
  464. end
  465. if wing1 then
  466. wing1:Destroy()
  467. wing1 = nil
  468. end
  469. if wing2 then
  470. wing2:Destroy()
  471. wing2 = nil
  472. end
  473. for i,v in pairs(plr.Character:GetChildren()) do
  474. if v:IsA('Part') then
  475. for a,c in pairs(v:GetChildren()) do
  476. if c:IsA('BodyForce') then
  477. c:Destroy()
  478. end
  479. end
  480. end
  481. end
  482. elseif key == string.char(47) or key == string.char(48) then
  483. if chr:FindFirstChildOfClass('Humanoid') then
  484. chr:FindFirstChildOfClass('Humanoid').WalkSpeed = 16
  485. end
  486. end
  487. end)
  488.  
  489. plr.CharacterAppearanceLoaded:connect(function()
  490. wait()
  491. for i,v in pairs(hats) do
  492. table.remove(hats,i)
  493. end
  494. if plr.Character:FindFirstChild('Torso') then
  495. local chr = plr.Character
  496. chr.Torso.Touched:connect(function(hit)
  497. if hit:IsA('TrussPart') == false and rope == nil and crawling and hit.CanCollide then
  498. local c = Instance.new('TrussPart',workspace.CurrentCamera)
  499. c.Anchored = true
  500. c.Transparency = 1
  501. c.CFrame = CFrame.new(chr.Torso.Position + (chr.Torso.CFrame.lookVector * 1), chr.Torso.Position + (chr.Torso.CFrame.lookVector * 12))
  502. game:GetService('Debris'):AddItem(c,0.5)
  503. end
  504. end)
  505. end
  506. end)
  507.  
  508. if plr.Character:FindFirstChild('Torso') then
  509. local chr = plr.Character
  510. chr.Torso.Touched:connect(function(hit)
  511. if hit:IsA('TrussPart') == false and rope == nil and crawling and hit.CanCollide then
  512. local c = Instance.new('TrussPart',workspace.CurrentCamera)
  513. c.Anchored = true
  514. c.Transparency = 1
  515. c.CFrame = CFrame.new(chr.Torso.Position + (chr.Torso.CFrame.lookVector * 1), chr.Torso.Position + (chr.Torso.CFrame.lookVector * 12))
  516. game:GetService('Debris'):AddItem(c,0.5)
  517. end
  518. end)
  519. end
  520.  
  521. game:GetService('RunService').Stepped:connect(function()
  522. chr = plr.Character
  523. local cam = game.Workspace.CurrentCamera
  524. for i,v in pairs(plr.PlayerGui:GetChildren()) do
  525. if v.Name == "SPOOOODA" then
  526. v:Destroy()
  527. end
  528. end
  529. if chr:FindFirstChild('HumanoidRootPart') and (cam.CoordinateFrame.p - chr.HumanoidRootPart.Position).magnitude < 2 then
  530. local haay = Instance.new('ScreenGui',plr.PlayerGui)
  531. haay.Name = "SPOOOODA"
  532. local img = Instance.new('ImageLabel',haay)
  533. img.Image = 'rbxassetid://744896574'
  534. img.BackgroundTransparency = 1
  535. img.Size = UDim2.new(1,0,1,0)
  536. end
  537. if plr.Character:FindFirstChild('Torso') then
  538. for a,c in pairs(plr.Character:GetChildren()) do
  539. for i,v in pairs(c:GetChildren()) do
  540. if v:IsA('BodyForce') and v.Name ~= "stop destroying me" then
  541. v:Destroy()
  542. end
  543. end
  544. end
  545. end
  546. if rope ~= nil and plr.Character and plr.Character:FindFirstChildOfClass('Humanoid') then
  547. plr.Character:FindFirstChildOfClass('Humanoid').PlatformStand = true
  548. end
  549. if working then
  550. rope.Length = rope.Length-2
  551. if rope ~= nil and plr.Character and plr.Character:FindFirstChild('Torso') then
  552. for i,v in pairs(plr.Character:GetChildren()) do
  553. if v:IsA('Part') then
  554. local BodyForce = Instance.new('BodyForce',v)
  555. local Part = v
  556. BodyForce.Force = Vector3.new(0,Part.Size.X * Part.Size.Y * Part.Size.Z * 196.2,0)
  557. end
  558. end
  559. end
  560. end
  561. if working2 then
  562. rope.Length = rope.Length+1
  563. end
  564. if forward and plr.Character and plr.Character:FindFirstChild('Torso') then
  565. local force = Instance.new('BodyForce',plr.Character.Torso)
  566. force.Force = Vector3.new(cam.CFrame.lookVector.x*1000,0,cam.CFrame.lookVector.z*1000)
  567. end
  568. if right and plr.Character and plr.Character:FindFirstChild('Torso') then
  569. local force = Instance.new('BodyForce',plr.Character.Torso)
  570. force.Force = Vector3.new(cam.CFrame.rightVector.x*1000,0,cam.CFrame.rightVector.z*1000)
  571. end
  572. if left and plr.Character and plr.Character:FindFirstChild('Torso') then
  573. local force = Instance.new('BodyForce',plr.Character.Torso)
  574. force.Force = Vector3.new(-cam.CFrame.rightVector.x*1000,0,-cam.CFrame.rightVector.z*1000)
  575. end
  576. if backward and plr.Character and plr.Character:FindFirstChild('Torso') then
  577. local force = Instance.new('BodyForce',plr.Character.Torso)
  578. force.Force = Vector3.new(-cam.CFrame.lookVector.x*1000,0,-cam.CFrame.lookVector.z*1000)
  579. end
  580. for i,v in pairs(chr:GetChildren()) do
  581. if v:IsA('Part') and v.Anchored == true then
  582. v.Anchored = false
  583. end
  584. end
  585. if active then
  586. for i,v in pairs(plr.Character:GetChildren()) do
  587. if v:IsA('Accessory') then
  588. if v:FindFirstChildOfClass('Part') then
  589. if v:FindFirstChildOfClass('Part'):FindFirstChildOfClass('SpecialMesh') then
  590. if v:FindFirstChildOfClass('Part'):FindFirstChildOfClass('SpecialMesh').TextureId ~= "rbxassetid://454487924" then
  591. table.insert(hats,v:Clone())
  592. end
  593. end
  594. end
  595. v:Destroy()
  596. elseif v:IsA('Shirt') then
  597. if v.ShirtTemplate ~= 'rbxassetid://638689615' then
  598. table.insert(hats,v:Clone())
  599. end
  600. v:Destroy()
  601. elseif v:IsA('Pants') then
  602. if v.PantsTemplate ~= 'rbxassetid://638690509' then
  603. table.insert(hats,v:Clone())
  604. end
  605. v:Destroy()
  606. end
  607. end
  608. local shirt = Instance.new('Shirt',plr.Character)
  609. shirt.ShirtTemplate = 'rbxassetid://638689615'
  610. local pants = Instance.new('Pants',plr.Character)
  611. pants.PantsTemplate = 'rbxassetid://638690509'
  612. local ac = Instance.new('Accessory',plr.Character)
  613. local pa = Instance.new('Part',ac)
  614. pa.Size = Vector3.new(1,1,1)
  615. local me = Instance.new('SpecialMesh',pa)
  616. me.MeshType = Enum.MeshType.FileMesh
  617. me.MeshId = 'rbxassetid://151354047'
  618. me.TextureId = 'rbxassetid://454487924'
  619. me.Scale = Vector3.new(1.26,1.26,1.26)
  620. local weld = Instance.new('Weld',pa)
  621. weld.Part0 = pa
  622. weld.Part1 = plr.Character.Head
  623. else
  624. for i,v in pairs(plr.Character:GetChildren()) do
  625. if v:IsA('Accessory') or v:IsA('Shirt') or v:IsA('Pants') then
  626. v:Destroy()
  627. end
  628. end
  629. for i,v in pairs(hats) do
  630. v:Clone().Parent = chr
  631. end
  632. end
  633. end)
  634.  
  635. --3DG
  636. --three dimensional grapples
  637. function clerp(c1,c2,al)
  638. local com1 = {c1.X,c1.Y,c1.Z,c1:toEulerAnglesXYZ()}
  639. local com2 = {c2.X,c2.Y,c2.Z,c2:toEulerAnglesXYZ()}
  640. for i,v in pairs(com1) do
  641. com1[i] = v+(com2[i]-v)*al
  642. end
  643. return CFrame.new(com1[1],com1[2],com1[3]) * CFrame.Angles(select(4,unpack(com1)))
  644. end
  645.  
  646. plr = game:service'Players'.LocalPlayer
  647. plrgui = plr.PlayerGui
  648. char = plr.Character
  649. mouse = plr:GetMouse()
  650. humanoid = char:findFirstChild("Humanoid")
  651. torso = char:findFirstChild("Torso")
  652. head = char.Head
  653. ra = char:findFirstChild("Right Arm")
  654. la = char:findFirstChild("Left Arm")
  655. rl = char:findFirstChild("Right Leg")
  656. ll = char:findFirstChild("Left Leg")
  657. rs = torso:findFirstChild("Right Shoulder")
  658. ls = torso:findFirstChild("Left Shoulder")
  659. rh = torso:findFirstChild("Right Hip")
  660. lh = torso:findFirstChild("Left Hip")
  661. neck = torso:findFirstChild("Neck")
  662. rj = char:findFirstChild("HumanoidRootPart"):findFirstChild("RootJoint")
  663. rootpart = char:findFirstChild("HumanoidRootPart")
  664. camera = workspace.CurrentCamera
  665. anim = char:findFirstChild("Animate")
  666. if anim then
  667. anim:Destroy()
  668. end
  669.  
  670.  
  671. game:service'Debris':AddItem(lal, 8)
  672.  
  673. local rm = Instance.new("Weld", torso)
  674. rm.C0 = CFrame.new(1.5, 0.5, 0)
  675. rm.C1 = CFrame.new(0, 0.5, 0)
  676. rm.Part0 = torso
  677. rm.Part1 = ra
  678. rm.Name = 'Right Shoulder'
  679.  
  680. local lm = Instance.new("Weld", torso)
  681. lm.C0 = CFrame.new(-1.5, 0.5, 0)
  682. lm.C1 = CFrame.new(0, 0.5, 0)
  683. lm.Part0 = torso
  684. lm.Part1 = la
  685. lm.Name = 'Left Shoulder'
  686.  
  687. local rlegm = Instance.new("Weld", torso)
  688. rlegm.C0 = CFrame.new(0.5, -1, 0)
  689. rlegm.C1 = CFrame.new(0, 1, 0)
  690. rlegm.Part0 = torso
  691. rlegm.Part1 = rl
  692.  
  693. local llegm = Instance.new("Weld", torso)
  694. llegm.C0 = CFrame.new(-0.5, -1, 0)
  695. llegm.C1 = CFrame.new(0, 1, 0)
  696. llegm.Part0 = torso
  697. llegm.Part1 = ll
  698.  
  699. rj.C0 = CFrame.new()
  700. rj.C1 = CFrame.new()
  701.  
  702. neck.C0 = CFrame.new(0, 1, 0)
  703. neck.C1 = CFrame.new(0, -0.5, 0)
  704.  
  705.  
  706. local speed = 0.3
  707. local angle = 0
  708. local anglespeed = 1
  709. rsc0 = rm.C0
  710. lsc0 = lm.C0
  711. llc0 = llegm.C0
  712. rlc0 = rlegm.C0
  713. rootc0 = rj.C0
  714. neckc0 = neck.C0
  715.  
  716. model = Instance.new('Model', char)
  717. model.Name = '3DG'
  718. function Weld(part0,part1,c1,c0)
  719. local w = Instance.new('Weld', model)
  720. w.Part0 = part0
  721. w.Part1 = part1
  722. w.C0 = c0 or CFrame.new()
  723. w.C1 = c1 or CFrame.new()
  724. end
  725.  
  726. local BasePart = Instance.new('Part')
  727. BasePart.FormFactor = 'Custom'
  728. BasePart.Material = 'Neon'
  729. BasePart.CanCollide = false
  730. BasePart.Locked = true
  731. BasePart.TopSurface = 10
  732. BasePart.BottomSurface = 10
  733. BasePart.LeftSurface = 10
  734. BasePart.RightSurface = 10
  735. BasePart.FrontSurface = 10
  736. BasePart.BackSurface = 10
  737. BasePart:breakJoints()
  738.  
  739.  
  740. for i = 1,2 do
  741. local strap = BasePart:clone()
  742. strap.Size = Vector3.new(1.025,.2,1.025)
  743. strap.Parent = model
  744. strap.BrickColor = BrickColor.new()
  745. strap:BreakJoints()
  746. Weld(strap, la, CFrame.new(0, .1 - i/3,0))
  747. end
  748.  
  749. for i = 1,2 do
  750. local strap = BasePart:clone()
  751. strap.Size = Vector3.new(1.025,.2,1.025)
  752. strap.Parent = model
  753. strap.BrickColor = BrickColor.new()
  754. strap:BreakJoints()
  755. Weld(strap, ra, CFrame.new(0, .1 - i/3,0))
  756. end
  757.  
  758. local ropeStart = BasePart:clone()
  759. ropeStart.Size = Vector3.new(0,0,0)
  760. ropeStart.Parent = model
  761. ropeStart.BrickColor = BrickColor.new()
  762. ropeStart:BreakJoints()
  763. Weld(ropeStart, ra, CFrame.new(-.45, -.5, 0))
  764. local ropeStart2 = BasePart:clone()
  765. ropeStart2.Size = Vector3.new(0,0,0)
  766. ropeStart2.Parent = model
  767. ropeStart2.BrickColor = BrickColor.new()
  768. ropeStart2:BreakJoints()
  769. Weld(ropeStart2, la, CFrame.new(.45, -.5, 0))
  770.  
  771. local ropeCont = BasePart:clone()
  772. ropeCont.Size = Vector3.new(.8,.2,.8)
  773. ropeCont.Parent = model
  774. ropeCont.BrickColor = BrickColor.new(199)
  775. ropeCont:BreakJoints()
  776. Instance.new('CylinderMesh', ropeCont)
  777. Weld(ropeCont, la, CFrame.new(0,0,0), CFrame.Angles(math.pi/2, math.pi/2, 0))
  778. local ropeCont2 = BasePart:clone()
  779. ropeCont2.Size = Vector3.new(.8,.2,.8)
  780. ropeCont2.Parent = model
  781. ropeCont2.BrickColor = BrickColor.new(199)
  782. ropeCont2:BreakJoints()
  783. Instance.new('CylinderMesh', ropeCont2)
  784. Weld(ropeCont2, ra, CFrame.new(0,0,0), CFrame.Angles(math.pi/2, math.pi/2, 0))
  785.  
  786. local GasTank = BasePart:clone()
  787. GasTank.Size = Vector3.new(0,0,0)
  788. GasTank.Parent = model
  789. GasTank.BrickColor = BrickColor.new(194)
  790. GasTank:BreakJoints()
  791. Instance.new('SpecialMesh', GasTank)
  792. Weld(GasTank, ra, CFrame.new(0, -.25, .5))
  793. local GasTank2 = BasePart:clone()
  794. GasTank2.Size = Vector3.new(0,0,0)
  795. GasTank2.Parent = model
  796. GasTank2.BrickColor = BrickColor.new(194)
  797. GasTank2:BreakJoints()
  798. Instance.new('SpecialMesh', GasTank2)
  799. Weld(GasTank2, la, CFrame.new(0, -.25, .5))
  800.  
  801. local pa = BasePart:clone()
  802. pa.BrickColor = BrickColor.new()
  803. pa.Anchored = true
  804. pa.Size = Vector3.new(.5,1,.5)
  805. local special = Instance.new('SpecialMesh', pa)
  806. special.MeshId = "rbxassetid://1033714"
  807. special.Scale = Vector3.new(.25,2,.25)
  808. local ropePA = BasePart:clone()
  809. ropePA.Parent = pa
  810. ropePA.Anchored = true
  811. ropePA.BrickColor = BrickColor.new'White'
  812. Instance.new('CylinderMesh', ropePA).Scale = Vector3.new(.25,1,.25)
  813.  
  814. local pa2 = BasePart:clone()
  815. pa2.BrickColor = BrickColor.new()
  816. pa2.Anchored = true
  817. pa2.Size = Vector3.new(.5,1,.5)
  818. local special = Instance.new('SpecialMesh', pa2)
  819. special.MeshId = "rbxassetid://1033714"
  820. special.Scale = Vector3.new(.25,2,.25)
  821. local ropePA2 = BasePart:clone()
  822. ropePA2.Parent = pa2
  823. ropePA2.Anchored = true
  824. ropePA2.BrickColor = BrickColor.new'White'
  825. Instance.new('CylinderMesh', ropePA2).Scale = Vector3.new(.25,1,.25)
  826.  
  827. local pa3 = BasePart:clone()
  828. pa3.Transparency = 1
  829. pa3.Anchored = true
  830. pa3.Size = Vector3.new(2,2,2)
  831.  
  832. local torso3 = Instance.new('Part', char)
  833. torso3.Name = 'FakeTorsoForStuff'
  834. torso3.Size = torso.Size
  835. torso3.Transparency = 1
  836. torso3:breakJoints()
  837. Weld(torso3, torso)
  838.  
  839. Instance.new('PointLight', torso)
  840.  
  841. local jumpmode
  842.  
  843. local SGui = Instance.new('ScreenGui', plr.PlayerGui)
  844. local JumpButton = Instance.new('TextButton', SGui)
  845. JumpButton.BackgroundColor = BrickColor.new('Dark stone grey')
  846. JumpButton.BorderSizePixel = 4
  847. JumpButton.TextColor3 = Color3.new(1,1,1)
  848. JumpButton.BorderColor3 = Color3.new()
  849. JumpButton.TextStrokeTransparency = .5
  850. JumpButton.FontSize = 'Size12'
  851. JumpButton.Text = 'Thrust up when grappled'
  852. JumpButton.Size = UDim2.new(0, 250, 0, 50)
  853. JumpButton.Position = UDim2.new(1, -250, 1, -50)
  854. local OnOff = Instance.new('Frame', JumpButton)
  855. OnOff.BackgroundColor3 = Color3.new()
  856. OnOff.BorderSizePixel = 0
  857. OnOff.Size = UDim2.new(.8, 0, 0, 5)
  858. OnOff.Position = UDim2.new(.1, 0, 1, -10)
  859. JumpButton.MouseButton1Down:connect(function()
  860. jumpmode = not jumpmode
  861. if jumpmode then
  862. OnOff.BackgroundColor3 = Color3.new(0,1,0)
  863. else
  864. OnOff.BackgroundColor3 = Color3.new()
  865. end
  866. end)
  867.  
  868.  
  869.  
  870. local bodygyro = Instance.new('BodyGyro', torso)
  871. bodygyro.maxTorque = Vector3.new(14e16,14e16,14e16)
  872. bodygyro.P = 10000
  873.  
  874. ro=Instance.new("RocketPropulsion",rootpart)
  875. ro.Name = 'RockatPropoolsun'
  876. ro.MaxSpeed=200
  877. ro.MaxThrust=8000
  878. ro.TurnP = 0
  879. ro.MaxTorque=Vector3.new(14e16,14e16,14e16)
  880.  
  881. ro2=Instance.new("RocketPropulsion",torso)
  882. ro2.Name = 'RockatPropoolsun2'
  883. ro2.MaxSpeed=200
  884. ro2.MaxThrust=8000
  885. ro2.TurnP = 0
  886. ro2.MaxTorque=Vector3.new(14e16,14e16,14e16)
  887. local run
  888. mouse.KeyDown:connect(function(k)
  889. if k:byte() == 48 then
  890. run = not run
  891. if run then
  892. humanoid.WalkSpeed = 70
  893. else
  894. humanoid.WalkSpeed = 16
  895. end
  896. end
  897. if k:byte() == 32 then
  898. if Grapple1 or Grapple2 then
  899. wait()
  900. humanoid.PlatformStand = true
  901. rlegm.C0 = rlc0 * CFrame.new(0, .5, -.65) * CFrame.Angles(-math.pi/8, 0, .1)
  902. llegm.C0 = llc0 * CFrame.new(0, .5, -.65) * CFrame.Angles(-math.pi/8, 0, -.1)
  903. if pa3.Parent ~= nil then
  904. ro3:Fire()
  905. end
  906. if Grapple1 then
  907. ro:Fire()
  908. end
  909. if Grapple2 then
  910. ro2:Fire()
  911. end
  912. end
  913. end
  914. if k=="q" then
  915. local sound = Instance.new('Sound', head)
  916. sound.SoundId = "rbxassetid://151733071"
  917. sound.Pitch = 3+math.random()/3
  918. sound.Volume = .8
  919. sound:play()
  920. game:service'Debris':AddItem(sound,4)
  921. lm.Parent = torso
  922. pa.CFrame = la.CFrame
  923. local grapplepos = pa.Position
  924. local grapplevelocity = (mouse.Hit.p - grapplepos).unit*50
  925. local lastgrapplepos = pa.Position
  926. while wait() do
  927. lastgrapplepos = grapplepos
  928. grapplepos = grapplepos + grapplevelocity
  929. local RayCast = Ray.new(lastgrapplepos, (grapplepos - lastgrapplepos))
  930. local hit, hitpos = workspace:FindPartOnRay(RayCast, char)
  931. if (torso.Position - pa.Position).magnitude > 900 then
  932. pa.Parent = nil
  933. break
  934. end
  935. pa.Anchored = true
  936. pa.CFrame = CFrame.new(grapplepos, grapplepos+grapplevelocity) * CFrame.Angles(math.pi/2, 0, 0)
  937. pa.Parent = char
  938. if hit then
  939. local rotX,rotY,rotZ = pa.CFrame:toEulerAnglesXYZ()
  940. local sound = Instance.new('Sound', head)
  941. sound.SoundId = "rbxassetid://151733071"
  942. sound.Pitch = 1.2+math.random()/3
  943. sound.Volume = .25
  944. sound:play()
  945. game:service'Debris':AddItem(sound,4)
  946. pa.Parent = char
  947. pa.CFrame=CFrame.new(hitpos.x, hitpos.y, hitpos.z)*CFrame.Angles(rotX,rotY,rotZ)*CFrame.Angles(math.pi,0,0)
  948. ro.Target=pa
  949. lm.Parent = torso
  950. local ray = Ray.new(rootpart.Position, Vector3.new(0, -6, 0))
  951. local hitz, enz = workspace:FindPartOnRay(ray, char)
  952. local hum = hit and hit.Parent and hit.Parent:findFirstChild'Humanoid'
  953. if hum then
  954. hum:TakeDamage(math.random(7,11))
  955. end
  956. local hum = hit and hit.Parent and hit.Parent.Parent and hit.Parent.Parent:findFirstChild'Humanoid'
  957. if hum then
  958. hum:TakeDamage(math.random(7,11))
  959. end
  960. if pa.Parent ~= nil and humanoid.PlatformStand or not (hitz and hitz.CanCollide) then
  961. ro:Fire()
  962. if jumpmode then
  963. humanoid.Jump = true
  964. end
  965. end
  966. Gweld = Instance.new("Weld", char)
  967. Gweld.C0 = hit.CFrame:toObjectSpace(pa.CFrame)
  968. Gweld.Part0 = hit
  969. Gweld.Part1 = pa
  970. pa.Anchored = false
  971. Grapple1Hit = hit
  972. Grapple1 = true
  973. break
  974. end
  975. pa.Anchored = true
  976. pa.CFrame = CFrame.new(grapplepos, grapplepos+grapplevelocity) * CFrame.Angles(math.pi/2, 0, 0)
  977. end
  978. end
  979.  
  980. if k=="e" then
  981. local sound = Instance.new('Sound', head)
  982. sound.SoundId = "rbxassetid://151733071"
  983. sound.Pitch = 3+math.random()/3
  984. sound.Volume = .8
  985. sound:play()
  986. game:service'Debris':AddItem(sound,4)
  987. pa2.CFrame = ra.CFrame
  988. rm.Parent = torso
  989. local grapplepos = pa2.Position
  990. local grapplevelocity = (mouse.Hit.p - grapplepos).unit*50
  991. local lastgrapplepos = pa2.Position
  992. while wait() do
  993. lastgrapplepos = grapplepos
  994. grapplepos = grapplepos + grapplevelocity
  995. local RayCast = Ray.new(lastgrapplepos, (grapplepos - lastgrapplepos))
  996. local hit, hitpos = workspace:FindPartOnRay(RayCast, char)
  997. if (torso.Position - pa2.Position).magnitude > 900 then
  998. pa2.Parent = nil
  999. break
  1000. end
  1001. pa2.Anchored = true
  1002. pa2.CFrame = CFrame.new(grapplepos, grapplepos+grapplevelocity) * CFrame.Angles(math.pi/2, 0, 0)
  1003. pa2.Parent = char
  1004. if hit then
  1005. local rotX,rotY,rotZ = pa2.CFrame:toEulerAnglesXYZ()
  1006. local sound = Instance.new('Sound', head)
  1007. sound.SoundId = "rbxassetid://151733071"
  1008. sound.Pitch = 1.2+math.random()/3
  1009. sound.Volume = .25
  1010. sound:play()
  1011. game:service'Debris':AddItem(sound,4)
  1012. pa2.Parent = char
  1013. pa2.CFrame=CFrame.new(hitpos.x, hitpos.y, hitpos.z)*CFrame.Angles(rotX,rotY,rotZ)*CFrame.Angles(math.pi,0,0)
  1014. ro2.Target=pa2
  1015. rm.Parent = torso
  1016. local ray = Ray.new(rootpart.Position, Vector3.new(0, -6, 0))
  1017. local hitz, enz = workspace:FindPartOnRay(ray, char)
  1018. local hum = hit and hit.Parent and hit.Parent:findFirstChild'Humanoid'
  1019. if hum then
  1020. hum:TakeDamage(math.random(7,11))
  1021. end
  1022. local hum = hit and hit.Parent and hit.Parent.Parent and hit.Parent.Parent:findFirstChild'Humanoid'
  1023. if hum then
  1024. hum:TakeDamage(math.random(7,11))
  1025. end
  1026. if pa2.Parent ~= nil and humanoid.PlatformStand or not (hitz and hitz.CanCollide) then
  1027. if jumpmode then
  1028. humanoid.Jump = true
  1029. end
  1030. ro2:Fire()
  1031. end
  1032. Gweld2 = Instance.new("Weld", char)
  1033. Gweld2.C0 = hit.CFrame:toObjectSpace(pa2.CFrame)
  1034. Gweld2.Part0 = hit
  1035. Gweld2.Part1 = pa2
  1036. pa2.Anchored = false
  1037. Grapple2Hit = hit
  1038. Grapple2 = true
  1039. break
  1040. end
  1041. pa2.Anchored = true
  1042. pa2.CFrame = CFrame.new(grapplepos, grapplepos+grapplevelocity) * CFrame.Angles(math.pi/2, 0, 0)
  1043. end
  1044. end
  1045. end)
  1046.  
  1047. mouse.KeyUp:connect(function(k)
  1048. if k=="q" then
  1049. pcall(function() Gweld:remove() end)
  1050. game:service'RunService'.RenderStepped:wait()
  1051. pcall(function() pa.Parent = nil Grapple1 = false end)
  1052. pcall(function() ro:Abort() end)
  1053. game:service'RunService'.RenderStepped:wait()
  1054. pcall(function() ro2.Target=pa2 if Grapple2 and humanoid.PlatformStand or Grapple2 and not hitz then ro2:Fire() end end)
  1055. elseif k=="e" then
  1056. pcall(function() Gweld2:remove() end)
  1057. game:service'RunService'.RenderStepped:wait()
  1058. pcall(function() pa2.Parent = nil Grapple2 = false end)
  1059. pcall(function() ro2:Abort() end)
  1060. game:service'RunService'.RenderStepped:wait()
  1061. pcall(function() ro.Target=pa if Grapple1 and humanoid.PlatformStand or Grapple1 and not hitz then ro:Fire() end end)
  1062. end
  1063. end)
  1064.  
  1065.  
  1066. local MidPointUsed = false
  1067. local TorsoSmoke = Instance.new('Smoke', torso)
  1068.  
  1069.  
  1070. game:service'RunService'.RenderStepped:connect(function()
  1071. angle = (angle % 100) + anglespeed/10
  1072. mvmnt = math.pi * math.sin(math.pi*2/100*(angle*10))
  1073. local rscf = rsc0
  1074. local lscf = lsc0
  1075. local rlcf = rlc0
  1076. local llcf = llc0
  1077. local rjcf = rootc0
  1078. local ncf = neckc0
  1079. for i,object in pairs(char:children()) do
  1080. if object:IsA("Tool") then
  1081. tool = true
  1082. if not debounce then
  1083. for x,value in pairs(object:children()) do
  1084. if value:IsA("StringValue") and value.Name == "toolanim" and value.Value == "Slash" then
  1085. debounce = true
  1086. coroutine.wrap(function()
  1087. slashing = true
  1088. wait(.25)
  1089. slashing = false
  1090. debounce = false
  1091. end)()
  1092. value:Destroy()
  1093. end
  1094. end
  1095. end
  1096. elseif not object:IsA'Tool' then
  1097. tool = false
  1098. end
  1099. end
  1100. if not humanoid.PlatformStand then
  1101. if humanoid.Sit == true then
  1102. speed = 0.2
  1103. anglespeed = 1/4
  1104. ncf = neckc0 * CFrame.Angles(0, 0, 0)
  1105. rjcf = rootc0
  1106. rscf = rsc0 * CFrame.Angles(math.pi/2+math.sin(-angle)*0.05, 0, 0)
  1107. lscf = lsc0 * CFrame.Angles(math.pi/2+math.sin(-angle)*0.05, 0, 0)
  1108. rlcf = rlc0 * CFrame.Angles(math.pi/2+-math.rad(.2), 0, math.rad(.2))
  1109. llcf = llc0 * CFrame.Angles(math.pi/2+math.rad(.2), 0, -math.rad(.2))
  1110. elseif Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude <= 2 then
  1111. anglespeed = 1/4
  1112. speed = 0.2
  1113. ncf = neckc0 * CFrame.Angles(math.sin(angle)*0.075, 0, 0)
  1114. rjcf = rootc0
  1115. rscf = rsc0 * CFrame.new(0, math.sin(angle)*0.05, 0) * CFrame.Angles(math.sin(-angle)*0.05, 0, 0)
  1116. lscf = lsc0 * CFrame.new(0, math.sin(angle)*0.05, 0) * CFrame.Angles(math.sin(-angle)*0.05, 0, 0)
  1117. rlcf = rlc0 * CFrame.Angles(-math.rad(.2), 0, math.rad(.2))
  1118. llcf = llc0 * CFrame.Angles(math.rad(.2), 0, -math.rad(.2))
  1119. elseif Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude <= 20 then
  1120. anglespeed = 1.7
  1121. speed = 0.25
  1122. anglespeed = 2.2
  1123. speed = 0.25
  1124. ncf = neckc0 * CFrame.Angles(0, 0, 0)
  1125. rjcf = rootc0 * CFrame.new(0, math.abs(math.sin(angle))*.055, 0) * CFrame.Angles(-math.rad(1), 0, 0)
  1126. rscf = rsc0 * CFrame.Angles(math.sin(angle)*.5, 0, -math.rad(1))
  1127. lscf = lsc0 * CFrame.Angles(math.sin(-angle)*.5, 0, math.rad(1))
  1128. rlcf = rlc0 * CFrame.new(0, .075 + -math.cos(-angle)*.075, math.sin(angle)*0.1) * CFrame.Angles(math.sin(-angle)*.45, 0, math.rad(.5))
  1129. llcf = llc0 * CFrame.new(0, .075 - -math.cos(angle)*.075, -math.sin(angle)*0.1) * CFrame.Angles(math.sin(angle)*.45, 0, -math.rad(.5))
  1130. elseif Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude >= 20 then
  1131. local RotVelocityZ = torso.RotVelocity.Y
  1132. if RotVelocityZ >= 15 then
  1133. RotVelocityZ = 15
  1134. elseif RotVelocityZ <= -15 then
  1135. RotVelocityZ = -15
  1136. end
  1137. speed = 0.25
  1138. anglespeed = 2.7
  1139. ncf = neckc0 * CFrame.Angles(0, 0, -math.sin(angle)*.045)
  1140. rscf = rsc0 * CFrame.new(0, 0, -math.sin(angle)*0.125) * CFrame.Angles(math.pi/14+math.sin(angle)*1.5, 0, -math.sin(math.abs(angle))*0.3)
  1141. lscf = lsc0 * CFrame.new(0, 0, math.sin(angle)*0.125) * CFrame.Angles(math.pi/14+math.sin(-angle)*1.5, 0, -math.sin(math.abs(angle))*0.3)
  1142. rjcf = rootc0 * CFrame.new(0, math.abs(math.sin(angle))*.175 - .2, 0) * CFrame.Angles(math.abs(math.sin(angle))*0.055 + -math.pi/18, 0, math.rad(RotVelocityZ) + math.sin(angle)*.045)
  1143. rlcf = rlc0 * CFrame.new(0, .3 + -math.cos(-angle)*.3, -.2+math.sin(angle)*0.25) * CFrame.Angles(-math.pi/18+math.sin(-angle)*1.3, 0, math.rad(.5))
  1144. llcf = llc0 * CFrame.new(0, .3 - -math.cos(angle)*.3, -.05-math.sin(angle)*0.25) * CFrame.Angles(-math.pi/18+math.sin(angle)*1.3, 0, -math.rad(.5))
  1145. end
  1146. if tool then
  1147. rscf = rsc0 * CFrame.Angles(math.pi/2, 0, 0)
  1148. if slashing then
  1149. rscf = rsc0
  1150. end
  1151. end
  1152. end
  1153. if pa2.Parent == nil then
  1154. rm.C0 = clerp(rm.C0,rscf,speed)
  1155. end
  1156. if pa.Parent == nil then
  1157. lm.C0 = clerp(lm.C0,lscf,speed)
  1158. end
  1159. rj.C0 = clerp(rj.C0,rjcf,speed)
  1160. neck.C0 = clerp(neck.C0,ncf,speed)
  1161. rlegm.C0 = clerp(rlegm.C0,rlcf,speed)
  1162. llegm.C0 = clerp(llegm.C0,llcf,speed)
  1163. end)
  1164.  
  1165.  
  1166.  
  1167. game:service'RunService'.RenderStepped:connect(function()
  1168. if Vector3.new(torso.Velocity.x, 0, torso.Velocity.z).magnitude >= 225 then
  1169. TorsoSmoke.Enabled = true
  1170. else
  1171. TorsoSmoke.Enabled = false
  1172. end
  1173. local ray = Ray.new(rootpart.Position, Vector3.new(0, -7, 0))
  1174. local hitz, enz = workspace:FindPartOnRay(ray, char)
  1175. if hitz and hitz.CanCollide and pa.Parent ~= char and pa2.Parent ~= char then
  1176. bodygyro.Parent = nil
  1177. humanoid.PlatformStand = false
  1178. end
  1179. if pa.Parent ~= nil or Grapple1 then
  1180. local size = (ropeStart2.Position-pa.Position).magnitude
  1181. ropePA.Size = Vector3.new(.2, size, .2)
  1182. ropePA.CFrame = CFrame.new(ropeStart2.Position, pa.Position) * CFrame.Angles(math.pi/2, 0, 0) * CFrame.new(0, -size/2, 0)
  1183. lm.C0 = CFrame.new(Vector3.new(lsc0.x, lsc0.y, lsc0.z), torso.CFrame:pointToObjectSpace(pa.Position)) * CFrame.Angles(math.pi/2, 0, 0)
  1184. else
  1185. if not debounce and humanoid.PlatformStand then
  1186. lm.C0 = lsc0 * CFrame.Angles(-.15, 0, -.15)
  1187. end
  1188. end
  1189. if pa2.Parent ~= nil or Grapple2 then
  1190. local size = (ropeStart.Position-pa2.Position).magnitude
  1191. ropePA2.Size = Vector3.new(.2, size, .2)
  1192. ropePA2.CFrame = CFrame.new(ropeStart.Position, pa2.Position) * CFrame.Angles(math.pi/2, 0, 0) * CFrame.new(0, -size/2, 0)
  1193. rm.C0 = CFrame.new(Vector3.new(rsc0.x, rsc0.y, rsc0.z), torso.CFrame:pointToObjectSpace(pa2.Position)) * CFrame.Angles(math.pi/2, 0, 0)
  1194. else
  1195. if not debounce and humanoid.PlatformStand then
  1196. rm.C0 = rsc0 * CFrame.Angles(-.15, 0, .15)
  1197. end
  1198. end
  1199. if Grapple1 and Grapple1Hit.Parent == nil then
  1200. pcall(function() Gweld:remove() end)
  1201. pa.Parent = nil
  1202. Grapple1 = false
  1203. ro:Abort()
  1204. end
  1205. if Grapple2 and Grapple2Hit.Parent == nil then
  1206. pcall(function() Gweld2:remove() end)
  1207. pa2.Parent = nil
  1208. Grapple2 = false
  1209. ro2:Abort()
  1210. end
  1211. if Grapple1 and Grapple2 and (humanoid.PlatformStand or not hitz) then
  1212. local distance = (pa.Position-pa2.Position).magnitude
  1213. bodygyro.Parent = torso
  1214. torso.CFrame = CFrame.new(torso.Position, Vector3.new(camera.CoordinateFrame.x, camera.CoordinateFrame.y, camera.CoordinateFrame.z)) * CFrame.Angles(0, math.pi, 0)
  1215. bodygyro.cframe = CFrame.new(torso.Position, Vector3.new(camera.CoordinateFrame.x, camera.CoordinateFrame.y, camera.CoordinateFrame.z)) * CFrame.Angles(0, math.pi, 0)
  1216. pa3.Parent = char
  1217. if distance <= .5 then
  1218. pa3.CFrame = pa.CFrame
  1219. elseif distance > .5 then
  1220. pa3.CFrame = CFrame.new(pa.Position, pa2.Position) * CFrame.new(0, 0, -distance/2)
  1221. end
  1222. if not MidPointUsed then
  1223. ro3=Instance.new("RocketPropulsion",torso3)
  1224. ro3.Name = 'RockatPropoolsun3'
  1225. ro3.MaxSpeed=250
  1226. ro3.MaxThrust=16000
  1227. ro3.TurnP = 0
  1228. ro3.TurnD = 0
  1229. ro3.MaxTorque=Vector3.new(14e16,14e16,14e16)
  1230. if humanoid.PlatformStand or not hitz then
  1231. ro:Abort()
  1232. ro2:Abort()
  1233. end
  1234. ro3.Target = pa3
  1235. if humanoid.PlatformStand or not hitz then
  1236. ro3:Fire()
  1237. end
  1238. MidPointUsed = true
  1239. end
  1240. elseif (not Grapple1 or not Grapple2) and MidPointUsed == true and (humanoid.PlatformStand or not hitz) then
  1241. pa3.Parent = nil
  1242. MidPointUsed = false
  1243. ro3:Abort()
  1244. ro3:Destroy()
  1245. if Grapple1 then
  1246. ro:Fire()
  1247. end
  1248. if Grapple2 then
  1249. ro2:Fire()
  1250. end
  1251. end
  1252. if not Grapple1 then
  1253. pcall(function() Gweld:remove() end)
  1254. end
  1255. if not Grapple2 then
  1256. pcall(function() Gweld2:remove() end)
  1257. end
  1258. if (Grapple1 or Grapple2) and not hitz then
  1259. bodygyro.Parent = torso
  1260. humanoid.PlatformStand = true
  1261. rlegm.Parent = torso
  1262. llegm.Parent = torso
  1263. lm.Parent = torso
  1264. rm.Parent = torso
  1265. rlegm.C0 = rlc0 * CFrame.new(0, .5, -.65) * CFrame.Angles(-math.pi/8, 0, .1)
  1266. llegm.C0 = llc0 * CFrame.new(0, .5, -.65) * CFrame.Angles(-math.pi/8, 0, -.1)
  1267. end
  1268. if (Grapple1 or Grapple2) and not hitz or humanoid.PlatformStand then
  1269. bodygyro.Parent = torso
  1270. bodygyro.cframe = CFrame.new(torso.Position, Vector3.new(camera.CoordinateFrame.x, camera.CoordinateFrame.y, camera.CoordinateFrame.z)) * CFrame.Angles(0, math.pi, 0)
  1271. rlegm.Parent = torso
  1272. llegm.Parent = torso
  1273. rlegm.C0 = rlc0 * CFrame.new(0, .5, -.65) * CFrame.Angles(-math.pi/8, 0, .1)
  1274. llegm.C0 = llc0 * CFrame.new(0, .5, -.65) * CFrame.Angles(-math.pi/8, 0, -.1)
  1275. end
  1276. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement