Advertisement
Hydasi

Universal Parkour Script

Jul 26th, 2022
23
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 48.72 KB | None | 0 0
  1. -- Variables and callouts by RiotDestrudo, Original Script by Emetimex.
  2.  
  3. WallRunPower = -12 -- Default -12, shows how much wall-run momentum you have.
  4. MaxRunSpeed = 24 -- Default 36, Peak Run speed.
  5. StunVelocity = -90 -- Default -90, the lesser the number the higher the stun tolerance, set to -999 for no fallstun.
  6. LedgeJumpPower = 45 -- Default 30, indicates your jump power after grabbing on a ledge
  7. LedgePushOff = -1 -- Default -30, (lesser = more powerful) the power of jumping away from the ledge your looking at x axis.
  8. VaultTolerance = 0 -- Default 2, Studs y that trigger when a vault will happen.
  9. VaultRange = 2 -- Default 2, Distance your vault can reach.
  10.  
  11.  
  12. --Emetimex
  13. plr = game.Players.LocalPlayer
  14. local colormansup = 255
  15. local sliding = false
  16.  
  17. if plr:WaitForChild("PlayerScripts"):FindFirstChild("Player Stuff") then
  18.  
  19. plr:WaitForChild("PlayerScripts"):FindFirstChild("Player Stuff"):Destroy()
  20.  
  21. end
  22.  
  23. local camerakill = false
  24. mobile = false
  25. local downeddel= false
  26. local walkingmode = false
  27. char = plr.Character
  28. if char:FindFirstChild("ClientInputHandler") then
  29. char:FindFirstChild("ClientInputHandler"):Destroy()
  30. end
  31. if plr:FindFirstChild("Status") then
  32. plr:FindFirstChild("Status"):Destroy()
  33. end
  34. if game.Workspace:FindFirstChild("Remote") then
  35. if game.Workspace:FindFirstChild("Remote"):FindFirstChild("TeamEvent") then
  36. Workspace.Remote.TeamEvent:FireServer("Medium stone grey")
  37. end
  38. end
  39. local downed = false
  40. local combatmusic = Instance.new("Sound",char)
  41. combatmusic.Volume = 0
  42. combatmusic.PlaybackSpeed = 1
  43. combatmusic.Looped = true
  44.  
  45.  
  46.  
  47. local ambience = Instance.new("Sound",char)
  48. ambience.Volume = 0.5
  49. ambience.PlaybackSpeed = 1
  50. ambience.Looped = true
  51.  
  52. local winder = Instance.new("Sound",char)
  53. winder.SoundId = "rbxassetid://337604103"
  54. winder.Volume = 0
  55. winder.PlaybackSpeed = 1
  56. winder.Looped = true
  57. winder:Play()
  58. local windercloth = Instance.new("Sound",char)
  59. windercloth.SoundId = "rbxassetid://195879271"
  60. windercloth.Volume = 0
  61. windercloth.PlaybackSpeed = 1
  62. windercloth.Looped = true
  63. windercloth:Play()
  64. local explorationmusic = Instance.new("Sound",char)
  65. explorationmusic.Volume = 0
  66. explorationmusic.PlaybackSpeed = 1
  67. explorationmusic.Looped = true
  68.  
  69. local rannum = math.random(1,11)
  70. if rannum == 1 then
  71. combatmusic.SoundId = "rbxassetid://4842424057"
  72. explorationmusic.SoundId = "rbxassetid://6092889291"
  73. ambience.SoundId = "rbxassetid://4842514147"
  74. ambience:Play()
  75. explorationmusic:Play()
  76. combatmusic:Play()
  77. end
  78. if rannum == 2 then
  79. combatmusic.SoundId = "rbxassetid://5167357719"
  80. explorationmusic.SoundId = "rbxassetid://5136807172"
  81. ambience.SoundId = "rbxassetid://5136807172"
  82. ambience:Play()
  83. explorationmusic:Play()
  84. combatmusic:Play()
  85. end
  86. if rannum == 3 then
  87. combatmusic.SoundId = "rbxassetid://5355007603"
  88. explorationmusic.SoundId = "rbxassetid://5192956194"
  89. ambience.SoundId = "rbxassetid://5192956194"
  90. ambience:Play()
  91. explorationmusic:Play()
  92. combatmusic:Play()
  93. end
  94. if rannum == 4 then
  95. combatmusic.SoundId = "rbxassetid://1591306349"
  96. explorationmusic.SoundId = "rbxassetid://5246801658"
  97. ambience.SoundId = "rbxassetid://5167384455"
  98. ambience:Play()
  99. explorationmusic:Play()
  100. combatmusic:Play()
  101. end
  102. if rannum == 5 then
  103. combatmusic.SoundId = "rbxassetid://5356631522"
  104. explorationmusic.SoundId = "rbxassetid://4502246491"
  105. ambience.SoundId = "rbxassetid://4502246491"
  106. ambience:Play()
  107. explorationmusic:Play()
  108. combatmusic:Play()
  109. end
  110. if rannum == 6 then
  111. combatmusic.SoundId = "rbxassetid://5183689299"
  112. explorationmusic.SoundId = "rbxassetid://538850338"
  113. ambience.SoundId = "rbxassetid://538850338"
  114. ambience:Play()
  115. explorationmusic:Play()
  116. combatmusic:Play()
  117. end
  118. if rannum == 7 then
  119. combatmusic.SoundId = "rbxassetid://5258344366"
  120. explorationmusic.SoundId = "rbxassetid://5079119831"
  121. ambience.SoundId = "rbxassetid://5079119831"
  122. ambience:Play()
  123. explorationmusic:Play()
  124. combatmusic:Play()
  125. end
  126. if rannum == 8 then
  127. combatmusic.SoundId = "rbxassetid://5995057631"
  128. explorationmusic.SoundId = "rbxassetid://477207390"
  129. ambience.SoundId = "rbxassetid://477207390"
  130. ambience:Play()
  131. explorationmusic:Play()
  132. combatmusic:Play()
  133. end
  134. if rannum == 9 then
  135. combatmusic.SoundId = "rbxassetid://4841933336"
  136. explorationmusic.SoundId = "rbxassetid://5114418235"
  137. ambience.SoundId = "rbxassetid://5114418235"
  138. ambience:Play()
  139. explorationmusic:Play()
  140. combatmusic:Play()
  141. end
  142. if rannum == 10 then
  143. combatmusic.SoundId = "rbxassetid://5132571388"
  144. explorationmusic.SoundId = "rbxassetid://5995060646"
  145. ambience.SoundId = "rbxassetid://5995060646"
  146. ambience:Play()
  147. explorationmusic:Play()
  148. combatmusic:Play()
  149. end
  150. if rannum == 11 then
  151. combatmusic.SoundId = "rbxassetid://5433879104"
  152. explorationmusic.SoundId = "rbxassetid://4692224051"
  153. ambience.SoundId = "rbxassetid://4692224051"
  154. ambience:Play()
  155. explorationmusic:Play()
  156. combatmusic:Play()
  157. end
  158.  
  159. local tricksinarow = 0
  160. local tricktime = 0
  161. local timestanding = 0
  162. local combattime = 0
  163.  
  164.  
  165.  
  166. root = char:WaitForChild("HumanoidRootPart")
  167.  
  168. local slidingsound = Instance.new("Sound",root)
  169. slidingsound.SoundId = "rbxassetid://4086205029"
  170. slidingsound.PlaybackSpeed = 1.25
  171. slidingsound.Looped = true
  172. slidingsound.Volume = 0.75
  173.  
  174. local wallrunningsound = Instance.new("Sound",root)
  175. wallrunningsound.SoundId = "rbxassetid://401049343"
  176. wallrunningsound.PlaybackSpeed = 1
  177. wallrunningsound.Looped = true
  178. wallrunningsound.Volume = 0.75
  179.  
  180.  
  181. function randomclothrollsound(truth)
  182. coroutine.resume(coroutine.create(function()
  183. if truth ~= nil then
  184. local s = Instance.new("Sound",root)
  185. s.Volume = 0.8 +math.random(1,6)*0.05
  186. s.PlaybackSpeed = 0.8 +math.random(1,6)*0.05
  187.  
  188. local rannum = math.random(1,5)
  189. if rannum == 1 then
  190. s.SoundId = "rbxassetid://4086203738"
  191. elseif rannum == 2 then
  192. s.SoundId = "rbxassetid://4086203442"
  193. elseif rannum == 3 then
  194. s.SoundId = "rbxassetid://4086203142"
  195. elseif rannum == 4 then
  196. s.SoundId = "rbxassetid://4086203973"
  197. else
  198. s.SoundId = "rbxassetid://4307029050"
  199. end
  200.  
  201.  
  202. s:Play()
  203. game:GetService("Debris"):AddItem(s,4)
  204. else
  205. local s = Instance.new("Sound",root)
  206. s.Volume = 0.25 +math.random(1,6)*0.05
  207. s.PlaybackSpeed = 0.8 +math.random(1,6)*0.05
  208.  
  209. local rannum = math.random(1,7)
  210. if rannum == 1 then
  211. s.SoundId = "rbxassetid://3929467229"
  212. elseif rannum == 2 then
  213. s.SoundId = "rbxassetid://3929467449"
  214. elseif rannum == 3 then
  215. s.SoundId = "rbxassetid://3929467655"
  216. elseif rannum == 4 then
  217. s.SoundId = "rbxassetid://3929467888"
  218. elseif rannum == 5 then
  219. s.SoundId = "rbxassetid://4458760046"
  220. elseif rannum == 6 then
  221. s.SoundId = "rbxassetid://4458760518"
  222. else
  223. s.SoundId = "rbxassetid://4458759938"
  224. end
  225.  
  226.  
  227. s:Play()
  228. game:GetService("Debris"):AddItem(s,4)
  229. end
  230.  
  231. end))
  232.  
  233. end
  234.  
  235.  
  236. local rollingsound = Instance.new("Sound",root)
  237. rollingsound.SoundId = "rbxassetid://2985734522"
  238. rollingsound.PlaybackSpeed = 1
  239. rollingsound.Volume = 0.75
  240.  
  241. local bodymovesound = Instance.new("Sound",root)
  242. bodymovesound.SoundId = "rbxassetid://152206206"
  243. bodymovesound.PlaybackSpeed = 0.945
  244. bodymovesound.Volume = 2.35
  245.  
  246.  
  247. local downedsound = Instance.new("Sound",root)
  248. downedsound.SoundId = "rbxassetid://178088040"
  249. downedsound.PlaybackSpeed = 1
  250. downedsound.Volume = 3
  251.  
  252.  
  253.  
  254. local jumplandsoundthingy = Instance.new("Sound",root)
  255. jumplandsoundthingy.SoundId = "rbxassetid://6079431954"
  256. jumplandsoundthingy.PlaybackSpeed = 0.785
  257. jumplandsoundthingy.Volume = 2
  258.  
  259. hum = char:WaitForChild("Humanoid")
  260. hum.JumpPower = 50
  261. local colorparkourkill = Instance.new("ColorCorrectionEffect",game.Lighting)
  262. --colorparkourkill.Saturation = 0
  263. --colorparkourkill.TintColor = Color3.new(1,1,1)
  264. if game.Lighting:FindFirstChild("COLORPARKOURKILL") then
  265. game.Lighting:FindFirstChild("COLORPARKOURKILL"):Destroy()
  266.  
  267.  
  268. end
  269. torso = char:WaitForChild("Torso")
  270. local gyro = Instance.new("BodyGyro",torso)
  271. gyro.D = 200
  272. gyro.P = 1800
  273. local cameratilterman = 0
  274. local springjumpdel =false
  275. local gobackroll = false
  276. local befpower = gyro.P
  277. gyro.P = befpower
  278. gyro.MaxTorque = Vector3.new(0,0,0)
  279. local runvel = Instance.new("BodyVelocity",root)
  280. runvel.MaxForce = Vector3.new(0,0,0)
  281. runvel.P = 9999999999999999999999
  282. hum.WalkSpeed =20
  283.  
  284. local flowmax = MaxRunSpeed
  285. local flowmin = 16
  286. local dodgedel = false
  287. local crouchspeed = 8
  288. local flow = flowmin
  289. for i,v in pairs(workspace:GetDescendants()) do
  290. if v.ClassName == "Part" or v.ClassName == "UnionOperation" or v.ClassName == "MeshPart" then
  291. if v.ClassName == "UnionOperation" then
  292. v.CollisionFidelity = Enum.CollisionFidelity.PreciseConvexDecomposition
  293. end
  294. if v.Transparency == 1 then
  295. v.CanCollide = false
  296. end
  297.  
  298. end
  299.  
  300. end
  301. floorpositiony = 0
  302. local UIS = game:GetService("UserInputService")
  303. local GuiService = game:GetService("GuiService")
  304.  
  305. if UIS.TouchEnabled and not UIS.KeyboardEnabled and not UIS.MouseEnabled
  306. and not UIS.GamepadEnabled and not GuiService:IsTenFootInterface() then
  307.  
  308. mobile = true
  309. jb = plr.PlayerGui:WaitForChild("TouchGui"):WaitForChild("TouchControlFrame"):WaitForChild("JumpButton")
  310. jb.MouseButton1Down:Connect(function()
  311. wallrunabletrue()
  312. wallruncheck()
  313. end)
  314. end
  315. local leftwallrunanim = Instance.new("Animation",char)
  316. leftwallrunanim.AnimationId = "rbxassetid://180426354"
  317. local leftwallrunanimplay = hum:LoadAnimation(leftwallrunanim)
  318.  
  319.  
  320. local downedanim1 = Instance.new("Animation",char)
  321. downedanim1.AnimationId = "rbxassetid://282574440"
  322. local downedanim1play = hum:LoadAnimation(downedanim1)
  323.  
  324.  
  325.  
  326.  
  327. local rightwallrunanim = Instance.new("Animation",char)
  328. rightwallrunanim.AnimationId = "rbxassetid://180426354"
  329. local rightwallrunanimplay = hum:LoadAnimation(rightwallrunanim)
  330.  
  331.  
  332. local verticalwallrunanim = Instance.new("Animation",char)
  333. verticalwallrunanim.AnimationId = "rbxassetid://180426354"
  334. local verticalwallrunanimplay = hum:LoadAnimation(verticalwallrunanim)
  335.  
  336. local roll = Instance.new("Animation",char)
  337. roll.AnimationId = "rbxassetid://180612465"
  338. local rollplay = hum:LoadAnimation(roll)
  339.  
  340.  
  341. local crouching = Instance.new("Animation",char)
  342. crouching.AnimationId = "rbxassetid://287325678"
  343. local crouchingplay = hum:LoadAnimation(crouching)
  344.  
  345. local springjump = Instance.new("Animation",char)
  346. springjump.AnimationId = "rbxassetid://287325678"
  347. local springjumpplay = hum:LoadAnimation(springjump)
  348.  
  349.  
  350. local dodging = Instance.new("Animation",char)
  351. dodging.AnimationId = "rbxassetid://287325678"
  352. local dodgingplay = hum:LoadAnimation(dodging)
  353.  
  354. local slidinganim = Instance.new("Animation",char)
  355. slidinganim.AnimationId = "rbxassetid://132546884"
  356. local slidingplay = hum:LoadAnimation(slidinganim)
  357. local rollering = false
  358.  
  359.  
  360. hum.Died:Connect(function()
  361. if game.Workspace:FindFirstChild("Remote") then
  362. if game.Workspace:FindFirstChild("Remote"):FindFirstChild("TeamEvent") then
  363. Workspace.Remote.TeamEvent:FireServer("Bright orange")
  364.  
  365. end
  366. end
  367. camerakill = true
  368. --colorparkourkill:Destroy()
  369. for i = 20,1,-1 do
  370. wait()
  371. combatmusic.PlaybackSpeed = combatmusic.PlaybackSpeed-0.05
  372. ambience.PlaybackSpeed = ambience.PlaybackSpeed-0.05
  373. explorationmusic.PlaybackSpeed = explorationmusic.PlaybackSpeed-0.05
  374. end
  375.  
  376. end)
  377.  
  378. local tappeda = false
  379. local tappeds = false
  380. local tappedd = false
  381. local tappedw = false
  382. UIS.InputEnded:Connect(function(input,gamestuff)
  383. if input.KeyCode == Enum.KeyCode.S then
  384. if gamestuff then return end
  385.  
  386. gobackroll = false
  387. end
  388. end)
  389.  
  390.  
  391. UIS.InputBegan:Connect(function(input,gamestuff)
  392. if input.KeyCode == Enum.KeyCode.N then
  393. if gamestuff then return end
  394.  
  395. if walkingmode == false then
  396. walkingmode = true
  397. else
  398. walkingmode = false
  399. end
  400. end
  401. if input.KeyCode == Enum.KeyCode.M then
  402. if gamestuff then return end
  403. if ambience.PlaybackSpeed ~= 0 then
  404. ambience.PlaybackSpeed = 0
  405. combatmusic.PlaybackSpeed = 0
  406. explorationmusic.PlaybackSpeed = 0
  407. else
  408. ambience.PlaybackSpeed = 1
  409. combatmusic.PlaybackSpeed = 1
  410. explorationmusic.PlaybackSpeed = 1
  411. end
  412.  
  413. end
  414.  
  415.  
  416. if input.KeyCode == Enum.KeyCode.S then
  417. if gamestuff then return end
  418.  
  419. gobackroll = true
  420. end
  421. if downed == true then return end
  422. if sliding == true then return end
  423. if input.KeyCode == Enum.KeyCode.A then
  424. if hitfloor == false then return end
  425. if gamestuff then return end
  426. if tappeda == false then
  427. tappeda = true
  428. wait(0.25)
  429. tappeda = false
  430. else
  431. if dodgedel == false then
  432. dodgedel = true
  433. dodgingplay:Play()
  434.  
  435. randomclothrollsound()
  436. local bv = Instance.new("BodyVelocity",char:WaitForChild("Head"))
  437. bv.Velocity = root.CFrame.RightVector*-flow*2+Vector3.new(0,flow/2,0)
  438. bv.MaxForce = Vector3.new(99999,99999,99999)
  439. bv.P = 99999999999999
  440. wait(0.1)
  441. bv:Destroy()
  442. wait(0.2)
  443. dodgingplay:Stop()
  444. dodgedel = false
  445. end
  446.  
  447. end
  448.  
  449. end
  450. if input.KeyCode == Enum.KeyCode.S then
  451. if hitfloor == false then return end
  452. if gamestuff then return end
  453. if tappeds == false then
  454. tappeds = true
  455. wait(0.25)
  456. tappeds = false
  457. else
  458. if dodgedel == false then
  459. dodgedel = true
  460. dodgingplay:Play()
  461. randomclothrollsound()
  462. local bv = Instance.new("BodyVelocity",char:WaitForChild("Head"))
  463. bv.Velocity = root.CFrame.LookVector*-flow*2+Vector3.new(0,flow/2,0)
  464. bv.MaxForce = Vector3.new(99999,99999,99999)
  465. bv.P = 99999999999999
  466. wait(0.1)
  467. bv:Destroy()
  468. wait(0.2)
  469. dodgingplay:Stop()
  470. dodgedel = false
  471. end
  472.  
  473. end
  474.  
  475. end
  476. if input.KeyCode == Enum.KeyCode.D then
  477. if hitfloor == false then return end
  478. if gamestuff then return end
  479. if tappedd == false then
  480. tappedd = true
  481. wait(0.25)
  482. tappedd = false
  483. else
  484. if dodgedel == false then
  485. dodgedel = true
  486. dodgingplay:Play()
  487. randomclothrollsound()
  488. local bv = Instance.new("BodyVelocity",char:WaitForChild("Head"))
  489. bv.Velocity = root.CFrame.RightVector*flow*2+Vector3.new(0,flow/2,0)
  490. bv.MaxForce = Vector3.new(99999,99999,99999)
  491. bv.P = 99999999999999
  492. wait(0.1)
  493. bv:Destroy()
  494. wait(0.2)
  495. dodgingplay:Stop()
  496. dodgedel = false
  497. end
  498.  
  499. end
  500.  
  501. end
  502. if input.KeyCode == Enum.KeyCode.W then
  503. if gamestuff then return end
  504. if hitfloor == false then return end
  505. if tappedw == false then
  506. tappedw = true
  507. wait(0.25)
  508. tappedw = false
  509. else
  510. if dodgedel == false then
  511. dodgedel = true
  512. dodgingplay:Play()
  513. randomclothrollsound()
  514. local bv = Instance.new("BodyVelocity",char:WaitForChild("Head"))
  515. bv.Velocity = root.CFrame.LookVector*flow*2+Vector3.new(0,flow/2,0)
  516. bv.MaxForce = Vector3.new(99999,99999,99999)
  517. bv.P = 99999999999999
  518. wait(0.1)
  519. bv:Destroy()
  520. wait(0.2)
  521. dodgingplay:Stop()
  522. dodgedel = false
  523. end
  524.  
  525. end
  526.  
  527. end
  528. end)
  529.  
  530. hum:SetStateEnabled(Enum.HumanoidStateType.FallingDown, false)
  531. hum:SetStateEnabled(Enum.HumanoidStateType.Ragdoll, false)
  532.  
  533. --rollplay:AdjustSpeed(0)
  534. --rollplay.TimePosition = 1
  535.  
  536. local player = game.Players.LocalPlayer
  537. local character = player.Character
  538. local hum = character:FindFirstChild("Humanoid")
  539. if not character or not character.Parent then
  540. character = player.CharacterAdded:wait()
  541. if camerakill == true then return end
  542. end
  543. local torso = character:WaitForChild("Torso")
  544. local rightShoulder = torso:WaitForChild("Right Shoulder")
  545. local leftShoulder = torso:WaitForChild("Left Shoulder")
  546. local camera = game.Workspace.CurrentCamera
  547.  
  548. updateSpeed = 0.5/2
  549.  
  550.  
  551. local plr = game.Players.LocalPlayer
  552. local char = plr.Character
  553. local ignorelist = {plr.Character}
  554. for i,v in pairs(workspace:GetDescendants()) do
  555. if v.ClassName == "Part" or v.ClassName == "MeshPart" or v.ClassName == "UnionOperation" then
  556. if v.CanCollide == false or v.Transparency == 1 then
  557.  
  558. ignorelist[#ignorelist+1] = v
  559. end
  560. end
  561. end
  562. leftarm = char:WaitForChild("Left Arm")
  563. rightarm = char:WaitForChild("Right Arm")
  564. leftleg = char:WaitForChild("Left Leg")
  565. if char:FindFirstChild("Head"):FindFirstChild("BillboardGui") then
  566. char:FindFirstChild("Head"):FindFirstChild("BillboardGui"):Destroy()
  567. end
  568. local flowermax = flowmax-flowmin
  569. local killermancamfov = 0
  570. rightleg = char:WaitForChild("Right Leg")
  571. local hum = char:WaitForChild("Humanoid")
  572.  
  573. local rootpart,head = char:WaitForChild("HumanoidRootPart"),char:WaitForChild("Head")
  574.  
  575. game:GetService("RunService"):BindToRenderStep("CameraOffset",Enum.RenderPriority.Character.Value+1,function()
  576. local offsetman = 1.5
  577. if sliding == true then
  578. offsetman = 0
  579.  
  580.  
  581. end
  582. if hum.Health == 0 then script:Destroy() end
  583. local distance = (character.Head.Position - camera.CoordinateFrame.p).magnitude
  584. if distance <= 1 then
  585. rightShoulder.C0 = rightShoulder.C0:lerp((camera.CoordinateFrame * CFrame.new(1, -1, 0)):toObjectSpace(torso.CFrame):inverse() * CFrame.Angles(0, math.pi/2, 0), updateSpeed)
  586. leftShoulder.C0 = leftShoulder.C0:lerp((camera.CoordinateFrame * CFrame.new(-1, -1, 0)):toObjectSpace(torso.CFrame):inverse() * CFrame.Angles(0, -math.pi/2, 0), updateSpeed)
  587. else
  588. rightShoulder.C0 = rightShoulder.C0:lerp(CFrame.new(1, 0.5, 0) * CFrame.Angles(0, math.pi/2, 0),updateSpeed)
  589. leftShoulder.C0 = leftShoulder.C0:lerp(CFrame.new(-1, 0.5, 0) * CFrame.Angles(0, -math.pi/2, 0),updateSpeed)
  590. end
  591. hum.CameraOffset = (rootpart.CFrame+Vector3.new(0,offsetman,0)):pointToObjectSpace(head.CFrame.p)
  592. rightarm.LocalTransparencyModifier = rightarm.Transparency+0.5
  593. leftarm.LocalTransparencyModifier = leftarm.Transparency+0.5
  594. leftleg.LocalTransparencyModifier = leftleg.Transparency+0.5
  595. rightleg.LocalTransparencyModifier = rightleg.Transparency+0.5
  596. if camerakill == false then
  597. game.StarterGui:SetCoreGuiEnabled(Enum.CoreGuiType.All, true)
  598. --killermancamfov = 20*(flow/flowermax)
  599. --colorparkourkill.TintColor = Color3.new(1,colormansup/255,colormansup/255)
  600. colormansup = colormansup+5
  601. if colormansup> 255 then
  602. colormansup = 255
  603. end
  604. --cam.FieldOfView = 50+killermancamfov
  605. cam.CFrame = cam.CFrame*CFrame.Angles(0,0,math.rad(cameratilterman))
  606.  
  607. end
  608. end)
  609. local befh = hum.Health
  610.  
  611.  
  612.  
  613.  
  614. local function round(number, decimalPlaces)
  615. number = math.round(number * 10^decimalPlaces) * 10^-decimalPlaces
  616. end
  617. local humdowner = false
  618.  
  619. function downer()
  620.  
  621. flow = flow-flowmax/10
  622. downedanim1play:Play()
  623. colormansup = colormansup-60
  624. downedsound:play()
  625. randomclothrollsound(true)
  626. randomclothrollsound(true)
  627. randomclothrollsound()
  628. randomclothrollsound()
  629. randomclothrollsound()
  630. downed = true
  631. hum.JumpPower =0
  632. downeddel = true
  633. coroutine.resume(coroutine.create(function()
  634.  
  635.  
  636. local tiltnumb = 0
  637. local rannum = math.random(1,4)
  638.  
  639. if rannum == 1 then
  640. tiltnumb = 80
  641. elseif rannum == 2 then
  642. tiltnumb = 50
  643. elseif rannum == 3 then
  644. tiltnumb = -80
  645. else
  646. tiltnumb = -50
  647. end
  648.  
  649. local cameratilterman2 =tiltnumb*0.2
  650.  
  651.  
  652.  
  653.  
  654. local cameratiltermax = cameratilterman2
  655.  
  656. local sinnerman = 1
  657. local sinnerman2 = 0
  658. for i = 20,1,-1 do
  659. game:GetService("RunService").RenderStepped:Wait()
  660. if camerakill == true then return end
  661. sinnerman = sinnerman-0.05
  662. sinnerman2 = math.sin(sinnerman*1.25)
  663. print(sinnerman .. " I AM SIN")
  664. cameratilterman2 = cameratiltermax*sinnerman2
  665.  
  666. cam.CFrame = cam.CFrame*CFrame.Angles(0,0,math.rad(cameratilterman2))
  667. end
  668. wait(1)
  669. downeddel = false
  670.  
  671. end))
  672. end
  673.  
  674. hum.HealthChanged:Connect(function()
  675. --colorparkourkill.Saturation = -1+hum.Health/hum.MaxHealth
  676. if hum.Health/hum.MaxHealth < 0.25 then
  677.  
  678. if humdowner == false then
  679. humdowner = true
  680. downer()
  681. end
  682. end
  683.  
  684.  
  685. if hum.Health < befh then
  686. combattime = 18
  687. local damagetiltmax = befh - hum.Health
  688. round(damagetiltmax,1)
  689. colormansup = colormansup-damagetiltmax*4.25
  690. local cameratilterman2 = math.random(damagetiltmax*-20,damagetiltmax*20)
  691. cameratilterman2 = cameratilterman2 *0.05
  692.  
  693. local cameratilterman3 = math.random(damagetiltmax*-20,damagetiltmax*20)
  694. cameratilterman3 = cameratilterman3 *0.0008675
  695.  
  696.  
  697. local cameratiltermax = cameratilterman2
  698. local cameratiltermax2 = cameratilterman3
  699. local sinnerman = 1
  700. local sinnerman2 = 0
  701. for i = 10,1,-1 do
  702. game:GetService("RunService").RenderStepped:Wait()
  703.  
  704. sinnerman = sinnerman-0.1
  705. sinnerman2 = math.sin(sinnerman*1.25)
  706. print(sinnerman .. " I AM SIN")
  707. cameratilterman2 = cameratiltermax*sinnerman2
  708. cameratilterman3 = cameratiltermax2*sinnerman2
  709. cam.CFrame = cam.CFrame*CFrame.Angles(math.rad(cameratilterman3),0,math.rad(cameratilterman2))
  710. end
  711.  
  712.  
  713. end
  714.  
  715. befh = hum.Health
  716.  
  717. end)
  718.  
  719. function tilterepic(maxnumbman,slideringman)
  720. coroutine.resume(coroutine.create(function()
  721.  
  722. if maxnumbman ~= 0 then
  723. local sinnerman = 0
  724. local slidingtruth = false
  725. if slideringman ~= nil then
  726. if slideringman == true then
  727. slidingtruth = true
  728. end
  729. end
  730. for i = 20,1,-1 do
  731. if slidingtruth == false then
  732. if wallrunning == false then return end
  733. end
  734.  
  735. if slidingtruth == true then
  736. if sliding == false then return end
  737. end
  738.  
  739. game:GetService("RunService").RenderStepped:Wait()
  740. if camerakill == true then return end
  741. sinnerman = sinnerman+0.05
  742. sinnerman = math.sin(sinnerman*1.25)
  743. print(sinnerman .. " I AM SIN2")
  744. cameratilterman = maxnumbman*sinnerman
  745. end
  746. else
  747. print("I AM ZERO BOYO")
  748. local cameratiltermax = cameratilterman
  749.  
  750. local sinnerman = 1
  751. local sinnerman2 = 0
  752. for i = 10,1,-1 do
  753. game:GetService("RunService").RenderStepped:Wait()
  754. if camerakill == true then return end
  755. sinnerman = sinnerman-0.1
  756. sinnerman2 = math.sin(sinnerman*1.25)
  757. print(sinnerman .. " I AM SIN")
  758. cameratilterman = cameratiltermax*sinnerman2
  759. end
  760. wait()
  761. cameratilterman = 0
  762. end
  763. end))
  764. end
  765.  
  766.  
  767. local rolldel =false
  768. function roll()
  769.  
  770. if sliding == true then return end
  771. if hitfloor == false then return end
  772. if wallrunning == true then return end
  773. if rolldel == true then return end
  774. rolldel = true
  775. randomclothrollsound(true)
  776. rollingsound.TimePosition = 0.3
  777. rollingsound:Play()
  778. root.Velocity = Vector3.new(0,0,0)
  779. local x, y, z = root.CFrame:ToEulerAnglesYXZ()
  780. rollering = true
  781. tricksinarow = tricksinarow+1
  782. local rollmancf = CFrame.new(Vector3.new(root.Position.X,floorpositiony+1.5,root.Position.Z))*CFrame.Angles(0, y, 0)
  783.  
  784. root.CFrame = rollmancf
  785.  
  786. wait()
  787. root.Velocity = Vector3.new(0,0,0)
  788.  
  789.  
  790. flow = flow+(flowmax-flowmin)/8
  791. runvel.Velocity = (root.CFrame.LookVector*hum.WalkSpeed)
  792. local bp = Instance.new("BodyPosition",torso)
  793. bp.Position = Vector3.new(0,floorpositiony,0)
  794. bp.MaxForce = Vector3.new(0,999999999,0)
  795. bp.P = 25000
  796. hum.PlatformStand = true
  797. runvel.MaxForce = Vector3.new(99999,99999,99999)
  798. gyro.CFrame = rollmancf
  799. gyro.P = 99999
  800. gyro.MaxTorque = Vector3.new(99999,99999,99999)
  801. rollplay:Play()
  802. local lookcfog = cam.CFrame
  803. local angle = 0
  804. rollplay:AdjustSpeed(0)
  805. rollplay.TimePosition = 1
  806. local rotatenumb = -18
  807. if gobackroll == true then
  808. rotatenumb = 18
  809. end
  810.  
  811. for i = 20,1,-1 do
  812. rs.Heartbeat:Wait()
  813. if camerakill == true then return end
  814. runvel.MaxForce = Vector3.new(99999,99999,99999)
  815. runvel.Velocity = rollmancf.LookVector*-rotatenumb*3
  816. gyro.CFrame = gyro.CFrame*CFrame.Angles(math.rad(rotatenumb),0,0)
  817. root.CFrame = gyro.CFrame
  818. end
  819. runvel.MaxForce = Vector3.new(0,0,0)
  820. rollplay:Stop()
  821. hum.PlatformStand = false
  822. rollering = false
  823. bp:Destroy()
  824. gyro.P = befpower
  825. runvel.MaxForce = Vector3.new(0,0,0)
  826. gyro.MaxTorque = Vector3.new(0,0,0)
  827. root.Velocity = Vector3.new(0,0,0)
  828. root.Velocity = Vector3.new(0,0,0)
  829. rolldel = false
  830. if rotatenumb == 18 then
  831. cam.CFrame = lookcfog
  832. end
  833. wait()
  834.  
  835. end
  836.  
  837.  
  838. local cdown = false
  839.  
  840. UIS.InputBegan:Connect(function(input,g)
  841.  
  842. if input.KeyCode == Enum.KeyCode.C then
  843. if g then return end
  844. cdown = true
  845.  
  846. end
  847. if input.KeyCode == Enum.KeyCode.P then
  848. if g then return end
  849. hum:TakeDamage(1)
  850. end
  851. end)
  852.  
  853. UIS.InputEnded:Connect(function(input,g)
  854. if input.KeyCode == Enum.KeyCode.C then
  855. if g then return end
  856. cdown = false
  857. end
  858. end)
  859.  
  860. wallrunable = false
  861.  
  862. wallrunning = false
  863. hitfloor = false
  864. leftwallrunning = false
  865. rightwallrunning = false
  866. onfloor = false
  867. frontwallrunning = false
  868. fronthit = false
  869. rs = game:GetService("RunService")
  870. cam = workspace.CurrentCamera
  871.  
  872.  
  873. UIS.InputBegan:Connect(function(input,gamestuff)
  874. if input.KeyCode == Enum.KeyCode.X then
  875. if camerakill == true then return end
  876. if gamestuff then return end
  877. if camerakill == false then
  878. for i = 5,1,-1 do
  879. rs.RenderStepped:Wait()
  880. if camerakill == true then return end
  881. cam.CFrame = cam.CFrame*CFrame.Angles(0,math.rad(35),0)
  882. end
  883. end
  884. end
  885. end)
  886. local rollering = false
  887. coroutine.resume(coroutine.create(function()
  888.  
  889. while true do
  890. if camerakill == true then return end
  891. rs.RenderStepped:Wait()
  892.  
  893. if combattime > 0.05 then
  894. if combatmusic.Volume ~= 0.5 then
  895. combatmusic.Volume = 0.5
  896. ambience.Volume = 0
  897. explorationmusic.Volume = 0
  898. combatmusic:Play()
  899. end
  900. combattime = combattime-0.01
  901. else
  902. combattime = 0
  903. if combatmusic.Volume == 0.5 then
  904. combatmusic.Volume = 0
  905. ambience.Volume = 0.5
  906.  
  907. explorationmusic.Volume = 0
  908. end
  909. end
  910. if rolldel == true or downed == true then
  911. if camerakill == true then return end
  912. cam.CFrame = char:WaitForChild("Head").CFrame
  913.  
  914. end
  915. if camerakill == false then
  916. winder.Volume = root.Velocity.Magnitude*0.015
  917. if winder.Volume > 5 then
  918. winder.Volume = 5
  919. end
  920. winder.PlaybackSpeed = root.Velocity.Magnitude*0.015
  921. if winder.PlaybackSpeed > 4 then
  922. winder.PlaybackSpeed = 4
  923. end
  924. windercloth.Volume = root.Velocity.Magnitude*0.015
  925. if windercloth.Volume > 5 then
  926. windercloth.Volume = 5
  927. end
  928. windercloth.PlaybackSpeed = root.Velocity.Magnitude*0.015
  929. if windercloth.PlaybackSpeed > 2 then
  930. windercloth.PlaybackSpeed = 2
  931. end
  932. end
  933.  
  934.  
  935. if rolldel == false and wallrunning == false and sliding == false and downed == false and holding == false then
  936. hum.AutoRotate = true
  937. if slidingsound.IsPlaying == true then
  938. slidingsound:Stop()
  939. end
  940. if wallrunningsound.IsPlaying == true then
  941. wallrunningsound:Stop()
  942. end
  943. else
  944. hum.AutoRotate = false
  945. if wallrunning == true then
  946. if wallrunningsound.IsPlaying == false then
  947. wallrunningsound:Play()
  948. end
  949. else
  950. if wallrunningsound.IsPlaying == true then
  951. wallrunningsound:Stop()
  952. end
  953. end
  954.  
  955.  
  956. if sliding == true then
  957. if slidingsound.IsPlaying == false then
  958. slidingsound:Play()
  959. end
  960. else
  961. if slidingsound.IsPlaying == true then
  962. slidingsound:Stop()
  963. end
  964. end
  965. end
  966.  
  967. end
  968.  
  969. end))
  970. function wallrunabletrue()
  971. coroutine.resume(coroutine.create(function()
  972. if hitfloor == true then return end
  973. wallrunable = true
  974. wait(0.05)
  975. wallrunable = false
  976. end))
  977. end
  978.  
  979.  
  980. wallrundel = false
  981. function verticalwallrun(grav2)
  982. coroutine.resume(coroutine.create(function()
  983. if wallrundel == true then return end
  984. if wallrunning == true then return end
  985. if downed == true then return end
  986. if cdown == true then return end
  987. if wallrunable == false then return end
  988.  
  989. if fronthit then
  990.  
  991. print("Made it 1")
  992. local rr = Ray.new(root.Position,root.CFrame.LookVector*5)
  993. local rhit,ray,rpoint = workspace:FindPartOnRayWithIgnoreList(rr,ignorelist)
  994. if rhit then
  995. if rhit then
  996. wallrunning = false
  997. wait()
  998. tilterepic(0)
  999. tricksinarow = tricksinarow+1
  1000. wallrunning = true
  1001. gyro.CFrame = CFrame.new(root.Position,root.Position+rpoint)*CFrame.Angles(math.rad(-22),math.rad(180),0)
  1002. gyro.MaxTorque = Vector3.new(99999,99999,99999)
  1003.  
  1004.  
  1005. local grav = grav2 + WallRunPower
  1006. runvel.Velocity = Vector3.new(0,grav,0)
  1007. print("Made it 2")
  1008. runvel.MaxForce = Vector3.new(99999,99999,99999)
  1009. wallrunable = false
  1010. hum.PlatformStand = true
  1011. randomclothrollsound()
  1012. verticalwallrunanimplay:Play()
  1013. while wallrunning == true do
  1014. rs.RenderStepped:Wait()
  1015. if camerakill == true then return end
  1016.  
  1017. grav = grav-0.8
  1018. local r2 = Ray.new(root.Position,root.CFrame.LookVector*5)
  1019. local hit,ray,point = workspace:FindPartOnRayWithIgnoreList(r2,ignorelist)
  1020. if hit then
  1021. print("Made it 3")
  1022. if hitfloor then wallrunning = false end
  1023. if cdown == true then wallrunning = false end
  1024. if hit then
  1025. gyro.CFrame = CFrame.new((ray+root.CFrame.LookVector*-2),(ray+root.CFrame.LookVector*-2)+point)*CFrame.Angles(math.rad(-22),math.rad(180),0)
  1026. runvel.Velocity = Vector3.new(0,grav,0)
  1027. gyro.P = befpower
  1028. if wallrunable == true then
  1029.  
  1030. wallrunning = false
  1031. gyro.MaxTorque = Vector3.new(0,0,0)
  1032. hum.PlatformStand = false
  1033. print("Jump")
  1034. randomclothrollsound()
  1035. jumplandsoundthingy:Play()
  1036. local rannum = math.random(1,3)
  1037. if rannum == 1 then
  1038. jumplandsoundthingy.SoundId = "rbxassetid://6079433272"
  1039. elseif rannum == 2 then
  1040. jumplandsoundthingy.SoundId = "rbxassetid://6079432684"
  1041. else
  1042. jumplandsoundthingy.SoundId = "rbxassetid://6079431954"
  1043. end
  1044. bodymovesound:Play()
  1045. hum.PlatformStand = false
  1046. runvel.velocity = root.CFrame.LookVector*-hum.WalkSpeed+Vector3.new(0,30,0)
  1047. wait(0.22)
  1048. end
  1049.  
  1050. else
  1051.  
  1052. wallrunning = false
  1053.  
  1054. end
  1055. else
  1056.  
  1057. wallrunning = false
  1058.  
  1059.  
  1060. end
  1061. end
  1062. hum.PlatformStand = false
  1063. verticalwallrunanimplay:Stop()
  1064. gyro.MaxTorque = Vector3.new(0,0,0)
  1065. print("Wall run ended")
  1066.  
  1067. runvel.MaxForce = Vector3.new(0,0,0)
  1068. hum:ChangeState(Enum.HumanoidStateType.Jumping)
  1069. return
  1070. end
  1071.  
  1072.  
  1073.  
  1074.  
  1075. end
  1076.  
  1077. end
  1078. end))
  1079. end
  1080.  
  1081.  
  1082.  
  1083. function wallruncheck()
  1084. if downed == true then
  1085. if rolldel == false and downeddel == false then
  1086. downedanim1play:Stop()
  1087. downed = false
  1088. hum.JumpPower = 50
  1089. roll()
  1090. return
  1091. end
  1092.  
  1093. end
  1094. if sliding == true then return end
  1095. if cdown == true then
  1096. if hitfloor == true then
  1097. roll()
  1098. end
  1099. end
  1100. if wallrundel == true then return end
  1101. if wallrunning == true then return end
  1102. if wallrunable == false then return end
  1103. if cdown == true then return end
  1104. if dodgedel == true then return end
  1105. wallrunable = false
  1106. local rr = Ray.new(root.Position,root.CFrame.RightVector*3.5)
  1107. local rhit,ray,rpoint = workspace:FindPartOnRayWithIgnoreList(rr,ignorelist)
  1108. if rhit then
  1109. if rhit then
  1110.  
  1111. wallrunning = true
  1112. gyro.CFrame = CFrame.new(root.Position,root.Position+rpoint)*CFrame.Angles(0,math.rad(-90),math.rad(20))
  1113. gyro.MaxTorque = Vector3.new(99999,99999,99999)
  1114. hum.PlatformStand = true
  1115.  
  1116. local grav = 20
  1117. runvel.Velocity = gyro.CFrame.LookVector*30+Vector3.new(0,grav,0)
  1118. runvel.Velocity = runvel.Velocity + gyro.CFrame.RightVector*5
  1119. runvel.MaxForce = Vector3.new(99999,99999,99999)
  1120. rightwallrunanimplay:Play()
  1121. randomclothrollsound()
  1122. tricksinarow = tricksinarow+1
  1123. tilterepic(35)
  1124. while wallrunning == true do
  1125. if camerakill == true then return end
  1126. rs.RenderStepped:Wait()
  1127.  
  1128. grav = grav-0.95
  1129. local r2 = Ray.new(root.Position,root.CFrame.RightVector*5)
  1130. local hit,ray,point = workspace:FindPartOnRayWithIgnoreList(r2,ignorelist)
  1131. if hit then
  1132.  
  1133. if hitfloor then wallrunning = false end
  1134. if cdown == true then wallrunning = false end
  1135. if fronthit == true then print("Face died") tilterepic(0) wallrunning = false rightwallrunanimplay:Stop() gyro.MaxTorque = Vector3.new(0,0,0)
  1136. print("Wall run end")
  1137.  
  1138. runvel.MaxForce = Vector3.new(0,0,0)wallrunable = true verticalwallrun(grav+hum.WalkSpeed) return end
  1139. if hit then
  1140. gyro.CFrame = CFrame.new((ray+root.CFrame.RightVector*-2),(ray+root.CFrame.RightVector*-2)+point)*CFrame.Angles(0,math.rad(-90),math.rad(20))
  1141. runvel.Velocity = gyro.CFrame.LookVector*hum.WalkSpeed+Vector3.new(0,grav,0)
  1142. gyro.P = befpower
  1143. if wallrunable == true then
  1144. tilterepic(0)
  1145. wallrunning = false
  1146. rightwallrunanimplay:Stop()
  1147. gyro.MaxTorque = Vector3.new(0,0,0)
  1148. hum.PlatformStand = false
  1149. jumplandsoundthingy:Play()
  1150. randomclothrollsound()
  1151. local rannum = math.random(1,3)
  1152. if rannum == 1 then
  1153. jumplandsoundthingy.SoundId = "rbxassetid://6079433272"
  1154. elseif rannum == 2 then
  1155. jumplandsoundthingy.SoundId = "rbxassetid://6079432684"
  1156. else
  1157. jumplandsoundthingy.SoundId = "rbxassetid://6079431954"
  1158. end
  1159. bodymovesound:Play()
  1160. runvel.velocity = cam.CFrame.LookVector*hum.WalkSpeed+Vector3.new(0,30,0)
  1161. wait(0.22)
  1162. end
  1163.  
  1164. else
  1165.  
  1166. wallrunning = false
  1167.  
  1168. end
  1169. else
  1170.  
  1171. wallrunning = false
  1172.  
  1173.  
  1174. end
  1175. end
  1176. tilterepic(0)
  1177. hum.PlatformStand = false
  1178. rightwallrunanimplay:Stop()
  1179. gyro.MaxTorque = Vector3.new(0,0,0)
  1180. print("Wall run end")
  1181. runvel.MaxForce = Vector3.new(0,0,0)
  1182. return
  1183. end
  1184.  
  1185.  
  1186.  
  1187.  
  1188. end
  1189.  
  1190. local rl = Ray.new(root.Position,root.CFrame.RightVector*-3.5)
  1191. local lhit,ray,rpoint = workspace:FindPartOnRayWithIgnoreList(rl,ignorelist)
  1192. if lhit then
  1193. if lhit then
  1194.  
  1195. wallrunning = true
  1196.  
  1197. gyro.CFrame = CFrame.new(root.Position,root.Position+rpoint)*CFrame.Angles(0,math.rad(90),math.rad(-20))
  1198. gyro.MaxTorque = Vector3.new(99999,99999,99999)
  1199. gyro.P = 250
  1200. local grav = 20
  1201. runvel.Velocity = (gyro.CFrame.LookVector*30+Vector3.new(0,grav,0))
  1202. runvel.Velocity = runvel.Velocity + gyro.CFrame.RightVector*-5
  1203. hum.PlatformStand = true
  1204.  
  1205.  
  1206. leftwallrunanimplay:Play()
  1207. randomclothrollsound()
  1208. tilterepic(-35)
  1209. tricksinarow = tricksinarow+1
  1210. runvel.MaxForce = Vector3.new(99999,99999,99999)
  1211.  
  1212. while wallrunning == true do
  1213. if camerakill == true then return end
  1214. rs.RenderStepped:Wait()
  1215.  
  1216. if hitfloor then wallrunning = false end
  1217. if fronthit == true then print("Face died") tilterepic(0) wallrunning = false leftwallrunanimplay:Stop() gyro.MaxTorque = Vector3.new(0,0,0)
  1218. print("Wall run end")
  1219. runvel.MaxForce = Vector3.new(0,0,0) wallrunable= true verticalwallrun(grav+hum.WalkSpeed) return end
  1220. rs.RenderStepped:Wait()
  1221. if camerakill == true then return end
  1222. grav = grav-0.95
  1223. local r2 = Ray.new(root.Position,root.CFrame.RightVector*-5)
  1224. local hit,ray,point = workspace:FindPartOnRayWithIgnoreList(r2,ignorelist)
  1225. if hit then
  1226.  
  1227. if cdown == true then wallrunning = false end
  1228. if hit then
  1229. gyro.CFrame = CFrame.new((ray+root.CFrame.RightVector*2),(ray+root.CFrame.RightVector*2)+point)*CFrame.Angles(0,math.rad(90),math.rad(-20))
  1230. runvel.Velocity = gyro.CFrame.LookVector*hum.WalkSpeed+Vector3.new(0,grav,0)
  1231. gyro.P = befpower
  1232.  
  1233. if wallrunable == true then
  1234.  
  1235. wallrunning = false
  1236. tilterepic(0)
  1237. leftwallrunanimplay:Stop()
  1238. gyro.MaxTorque = Vector3.new(0,0,0)
  1239. hum.PlatformStand = false
  1240. jumplandsoundthingy:Play()
  1241. randomclothrollsound()
  1242. local rannum = math.random(1,3)
  1243. if rannum == 1 then
  1244. jumplandsoundthingy.SoundId = "rbxassetid://6079433272"
  1245. elseif rannum == 2 then
  1246. jumplandsoundthingy.SoundId = "rbxassetid://6079432684"
  1247. else
  1248. jumplandsoundthingy.SoundId = "rbxassetid://6079431954"
  1249. end
  1250. bodymovesound:Play()
  1251. runvel.velocity = cam.CFrame.LookVector*hum.WalkSpeed+Vector3.new(0,30,0)
  1252. wait(0.22)
  1253. end
  1254.  
  1255. else
  1256.  
  1257. wallrunning = false
  1258.  
  1259. end
  1260. else
  1261.  
  1262. wallrunning = false
  1263.  
  1264.  
  1265. end
  1266. end
  1267. hum.PlatformStand = false
  1268. leftwallrunanimplay:Stop()
  1269. tilterepic(0)
  1270. gyro.MaxTorque = Vector3.new(0,0,0)
  1271. print("Wall run end")
  1272. runvel.MaxForce = Vector3.new(0,0,0)
  1273. return
  1274. end
  1275.  
  1276.  
  1277.  
  1278.  
  1279. end
  1280. wallrunable = true
  1281. verticalwallrun(hum.WalkSpeed+20)
  1282.  
  1283. end
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290. local spacedown = false
  1291. local backjumpdel = false
  1292. local backhit = false
  1293. UIS.InputBegan:Connect(function(inpt,gamestuff)
  1294. if inpt.KeyCode == Enum.KeyCode.Space then
  1295. if gamestuff then return end
  1296. if wallrunning == false then
  1297.  
  1298. if sliding == false then
  1299. if backhit == true then
  1300. if hitfloor == false then
  1301. jumplandsoundthingy:Play()
  1302. randomclothrollsound(false)
  1303. root.Velocity = root.CFrame.LookVector*120+Vector3.new(0,40,0)
  1304. end
  1305. end
  1306. end
  1307.  
  1308. end
  1309. wallrunabletrue()
  1310. wallruncheck()
  1311. if sliding == true then
  1312.  
  1313. spacedown = true
  1314. wait(0.1)
  1315. spacedown = false
  1316. end
  1317.  
  1318. wait(0.1)
  1319. if wallrunning == false then
  1320. if rolldel == false then
  1321.  
  1322. if backjumpdel == false then
  1323.  
  1324.  
  1325. end
  1326.  
  1327. end
  1328.  
  1329. end
  1330. end
  1331.  
  1332.  
  1333.  
  1334. end)
  1335.  
  1336.  
  1337.  
  1338.  
  1339. function slide()
  1340. coroutine.resume(coroutine.create(function()
  1341. if downed == true then return end
  1342. if sliding == true then return end
  1343. sliding = true
  1344. randomclothrollsound()
  1345. tilterepic(-15,true)
  1346. hum.PlatformStand = true
  1347. gyro.MaxTorque = Vector3.new(99999,99999,99999)
  1348. gyro.P = befpower*3
  1349.  
  1350. runvel.MaxForce = Vector3.new(99999,99999,99999)
  1351. local ogcf = root.CFrame
  1352. local befrooty = root.Position.Y
  1353. local ogcf = root.CFrame
  1354. gyro.CFrame = ogcf*CFrame.Angles(math.rad(80),0,0)
  1355. print("BEGINSLIDE")
  1356. tricksinarow = tricksinarow+1
  1357. while sliding == true do
  1358. rs.RenderStepped:Wait()
  1359. if camerakill == true then return end
  1360. runvel.Velocity = (ogcf.LookVector*flow*1.45)+Vector3.new(0,-70,0)
  1361.  
  1362. slidingplay:Play()
  1363. slidingplay:AdjustSpeed(0)
  1364. if root.Position.Y+0.05 < befrooty then
  1365. flow = flow+flowmax/70
  1366. end
  1367.  
  1368. befrooty = root.Position.Y
  1369.  
  1370.  
  1371.  
  1372. if root.Velocity.Magnitude < 20 then
  1373. sliding = false
  1374. slidingplay:Stop()
  1375. tilterepic(0,true)
  1376. cdown = false
  1377. break
  1378. end
  1379.  
  1380. if cdown == false then
  1381. sliding = false
  1382. slidingplay:Stop()
  1383. tilterepic(0,true)
  1384. break
  1385. else
  1386.  
  1387. end
  1388.  
  1389. flow = flow-flowmax/100
  1390.  
  1391.  
  1392.  
  1393. if spacedown == true then
  1394. sliding = false
  1395. cdown = false
  1396. slidingplay:Stop()
  1397. tilterepic(0,true)
  1398. break
  1399.  
  1400. end
  1401.  
  1402.  
  1403. if flow < flowmin+5 then
  1404. sliding = false
  1405. flow = flowmin
  1406. slidingplay:Stop()
  1407. tilterepic(0,true)
  1408. break
  1409. end
  1410.  
  1411. end
  1412.  
  1413.  
  1414. gyro.MaxTorque = Vector3.new(0,0,0)
  1415. gyro.P = befpower
  1416.  
  1417. runvel.MaxForce = Vector3.new(0,0,0)
  1418. hum.PlatformStand = false
  1419. if spacedown == true and flow < flowmax then
  1420. hum.PlatformStand = true
  1421. sliding = false
  1422. tilterepic(0,true)
  1423. slidingplay:Stop()
  1424. local x, y, z = cam.CFrame:ToEulerAnglesYXZ()
  1425. rollering = true
  1426.  
  1427. root.CFrame = CFrame.new(root.Position)*CFrame.Angles(0, y, 0)
  1428. bodymovesound:Play()
  1429.  
  1430. roll()
  1431. return
  1432.  
  1433. elseif spacedown == true and flowmax+3 < flow then
  1434. hum.PlatformStand = false
  1435. sliding = false
  1436. tilterepic(0,true)
  1437. slidingplay:Stop()
  1438. runvel.MaxForce = Vector3.new(99999,99999,99999)
  1439. bodymovesound:Play()
  1440. jumplandsoundthingy:Play()
  1441. randomclothrollsound()
  1442. local rannum = math.random(1,3)
  1443. if rannum == 1 then
  1444. jumplandsoundthingy.SoundId = "rbxassetid://6079433272"
  1445. elseif rannum == 2 then
  1446. jumplandsoundthingy.SoundId = "rbxassetid://6079432684"
  1447. else
  1448. jumplandsoundthingy.SoundId = "rbxassetid://6079431954"
  1449. end
  1450. runvel.velocity = cam.CFrame.LookVector*flow*2+Vector3.new(0,flow,0)
  1451. coroutine.resume(coroutine.create(function()
  1452.  
  1453.  
  1454. local tiltnumb = 0
  1455. local rannum = math.random(1,4)
  1456.  
  1457. if rannum == 1 then
  1458. tiltnumb = 40
  1459. elseif rannum == 2 then
  1460. tiltnumb = 20
  1461. elseif rannum == 3 then
  1462. tiltnumb = -40
  1463. else
  1464. tiltnumb = -20
  1465. end
  1466.  
  1467. local cameratilterman2 =tiltnumb*0.2
  1468.  
  1469.  
  1470.  
  1471.  
  1472. local cameratiltermax = cameratilterman2
  1473.  
  1474. local sinnerman = 1
  1475. local sinnerman2 = 0
  1476. for i = 10,1,-1 do
  1477. game:GetService("RunService").RenderStepped:Wait()
  1478. if camerakill == true then return end
  1479. sinnerman = sinnerman-0.1
  1480. sinnerman2 = math.sin(sinnerman*1.25)
  1481.  
  1482. print(sinnerman .. " I AM SIN")
  1483. cameratilterman2 = cameratiltermax*sinnerman2
  1484.  
  1485. cam.CFrame = cam.CFrame*CFrame.Angles(0,0,math.rad(cameratilterman2))
  1486. end
  1487.  
  1488.  
  1489. end))
  1490. wait(0.25)
  1491. runvel.MaxForce = Vector3.new(0,0,0)
  1492. return
  1493.  
  1494. else
  1495. hum.PlatformStand = false
  1496. sliding = false
  1497.  
  1498. return
  1499. end
  1500.  
  1501. end))
  1502.  
  1503. end
  1504.  
  1505. local sliding = false
  1506. local rppos = Vector3.new(0,0,0)
  1507. local landed = false
  1508. local pressspacebeforeland = false
  1509. local landdel = false
  1510. local beforelandy = 0
  1511. function landdeler()
  1512. coroutine.resume(coroutine.create(function()
  1513. landdel = true
  1514. wait(0.2)
  1515. landdel = false
  1516. pressspacebeforeland = false
  1517. beforelandy = root.Position.Y
  1518. end))
  1519. end
  1520.  
  1521. UIS.InputBegan:Connect(function(input,gamestuff)
  1522. if springjumpdel == true then return end
  1523. if input.KeyCode == Enum.KeyCode.Space then
  1524. if gamestuff == true then return end
  1525. if hitfloor == true then
  1526. if pressspacebeforeland == false then
  1527. pressspacebeforeland = true
  1528. else
  1529. if root.Position.Y > beforelandy + VaultTolerance then
  1530. runvel.MaxForce = Vector3.new(99999,99999,99999)
  1531. runvel.Velocity = cam.CFrame.LookVector*flow* VaultRange +Vector3.new(0,flow/2,0) -- 2 orig
  1532. springjumpdel = true
  1533. randomclothrollsound()
  1534. jumplandsoundthingy:Play()
  1535. local rannum = math.random(1,3)
  1536. if rannum == 1 then
  1537. jumplandsoundthingy.SoundId = "rbxassetid://6079433272"
  1538. elseif rannum == 2 then
  1539. jumplandsoundthingy.SoundId = "rbxassetid://6079432684"
  1540. else
  1541. jumplandsoundthingy.SoundId = "rbxassetid://6079431954"
  1542. end
  1543. bodymovesound:Play()
  1544. pressspacebeforeland = false
  1545. springjumpplay:Play()
  1546. tricksinarow = tricksinarow+1
  1547. coroutine.resume(coroutine.create(function()
  1548.  
  1549.  
  1550. local tiltnumb = 0
  1551. local rannum = math.random(1,4)
  1552.  
  1553. if rannum == 1 then
  1554. tiltnumb = 40
  1555. elseif rannum == 2 then
  1556. tiltnumb = 20
  1557. elseif rannum == 3 then
  1558. tiltnumb = -40
  1559. else
  1560. tiltnumb = -20
  1561. end
  1562.  
  1563. local cameratilterman2 =tiltnumb*0.2
  1564.  
  1565.  
  1566.  
  1567.  
  1568. local cameratiltermax = cameratilterman2
  1569.  
  1570. local sinnerman = 1
  1571. local sinnerman2 = 0
  1572. for i = 10,1,-1 do
  1573. game:GetService("RunService").RenderStepped:Wait()
  1574. if camerakill == true then return end
  1575. sinnerman = sinnerman-0.1
  1576. sinnerman2 = math.sin(sinnerman*1.25)
  1577. print("VAULT MOMENT!")
  1578. print(sinnerman .. " I AM SIN")
  1579. cameratilterman2 = cameratiltermax*sinnerman2
  1580.  
  1581. cam.CFrame = cam.CFrame*CFrame.Angles(0,0,math.rad(cameratilterman2))
  1582. end
  1583.  
  1584.  
  1585. end))
  1586.  
  1587.  
  1588.  
  1589. wait(0.2)
  1590. springjumpplay:Stop()
  1591. runvel.MaxForce = Vector3.new(0,0,0)
  1592. wait(0.2)
  1593. springjumpdel = false
  1594. end
  1595. end
  1596.  
  1597.  
  1598. end
  1599. end
  1600. end)
  1601.  
  1602.  
  1603. local plr = game.Players.LocalPlayer
  1604. local Character = plr.Character or plr.CharacterAdded:Wait()
  1605. local Root = Character:WaitForChild("HumanoidRootPart")
  1606. local Head = Character:WaitForChild("Head")
  1607. local Hum = Character:WaitForChild("Humanoid")
  1608. local holdingon = Instance.new("Animation",hum)
  1609. holdingon.AnimationId = "rbxassetid://148831003"
  1610. local climbingstuffs = Instance.new("Animation",hum)
  1611. climbingstuffs.AnimationId = "rbxassetid://125750702"
  1612. local CA = Hum:LoadAnimation(climbingstuffs)
  1613. local HA = Hum:LoadAnimation(holdingon)
  1614. local TouchGui = plr:WaitForChild("PlayerGui"):FindFirstChild("TouchGui")
  1615. local UIS = game:GetService("UserInputService")
  1616.  
  1617. ledgeavailable = true
  1618. holding = false
  1619.  
  1620.  
  1621.  
  1622.  
  1623. function climb()
  1624. local Vele = Instance.new("BodyVelocity",Head)
  1625. Root.Anchored = false
  1626. Vele.MaxForce = Vector3.new(1,1,1) * math.huge
  1627. Vele.Velocity = Root.CFrame.LookVector * LedgePushOff + Vector3.new(0,LedgeJumpPower,0)
  1628. HA:Stop() CA:Play()
  1629. game.Debris:AddItem(Vele,.15)
  1630. holding = false
  1631. wait(.0)
  1632. ledgeavailable = true
  1633. end
  1634.  
  1635. UIS.InputBegan:Connect(function(Key,Chat)
  1636. if not holding then return end
  1637. if Key.KeyCode == Enum.KeyCode.Space and not Chat then
  1638. climb()
  1639. end
  1640. end)
  1641.  
  1642. if TouchGui then
  1643. TouchGui:WaitForChild("TouchControlFrame"):WaitForChild("JumpButton").MouseButton1Click:Connect(function()
  1644. if not holding then return end climb()
  1645. end)
  1646. end
  1647.  
  1648.  
  1649.  
  1650.  
  1651. while true do
  1652. repeat rs.RenderStepped:Wait() until sliding == false
  1653. rs.RenderStepped:Wait()
  1654. local r = Ray.new(root.Position,root.CFrame.LookVector*-6)
  1655. local hit,ray = workspace:FindPartOnRayWithIgnoreList(r,ignorelist)
  1656. if hit then
  1657. backhit = true
  1658.  
  1659. else
  1660. backhit = false
  1661. end
  1662.  
  1663. if camerakill == true then return end
  1664. if hum.FloorMaterial == Enum.Material.Air then
  1665. if landed == true then
  1666. landed = false
  1667. end
  1668. else
  1669. if landed == false then
  1670. landed = true
  1671.  
  1672. landdeler()
  1673. end
  1674.  
  1675. end
  1676. local killx,killy,killz = root.CFrame:ToEulerAnglesYXZ()
  1677. local nobadcf = CFrame.new(root.Position)*CFrame.Angles(0,killy,0)
  1678. local rclimber = Ray.new(Head.CFrame.p, nobadcf.LookVector * 6)
  1679.  
  1680. local killclimberray = Ray.new(Head.CFrame.p+Vector3.new(0,0.5,0), nobadcf.LookVector * 9)
  1681.  
  1682. local killmansraypart,killmansposition workspace:FindPartOnRayWithIgnoreList(killclimberray,ignorelist)
  1683.  
  1684. local part,position = workspace:FindPartOnRayWithIgnoreList(rclimber,ignorelist)
  1685. if not killmansraypart then
  1686.  
  1687.  
  1688. if part and ledgeavailable and not holding and not killmansraypart then
  1689. if part.Size.Y >= 4 and part.CanCollide == true and killmansraypart == nil and part.Transparency ~= 1 then
  1690. if Head.Position.Y >= (part.Position.Y + (part.Size.Y / 2)) - 1 and Head.Position.Y <= part.Position.Y + (part.Size.Y / 2) and Hum.FloorMaterial == Enum.Material.Air and sliding == false and downed == false and wallrunning == true then
  1691. if HA.IsPlaying == false then
  1692. wallrunning = false
  1693. root.CFrame = nobadcf
  1694. randomclothrollsound(false)
  1695. HA:Play()
  1696. wallrunning = false
  1697. HA:AdjustSpeed(0)
  1698. HA.TimePosition = 1.3
  1699. end
  1700.  
  1701. Root.Anchored = true holding = true ledgeavailable = false
  1702. end
  1703. end
  1704. end
  1705. end
  1706. local r = Ray.new(root.Position,Vector3.new(0,1,0).Unit*-5.5)
  1707. local hit,ray = workspace:FindPartOnRayWithIgnoreList(r,ignorelist)
  1708. if hit then
  1709. floorpositiony = ray.Y
  1710. if hitfloor == false then
  1711. hitfloor = true
  1712. if root.Velocity.Y < -60 then
  1713. if cdown == true then
  1714. root.Velocity = Vector3.new(root.Velocity.X,-10,root.Velocity.Z)
  1715. cdown = false
  1716.  
  1717. roll()
  1718. else
  1719. if root.Velocity.Y < StunVelocity then
  1720. downer()
  1721.  
  1722. end
  1723.  
  1724. end
  1725. end
  1726. end
  1727.  
  1728. else
  1729. if hitfloor == true then
  1730. hitfloor = false
  1731. end
  1732. end
  1733. local r = Ray.new(root.Position,root.CFrame.LookVector*1.8)
  1734. local hit,ray,rp = workspace:FindPartOnRayWithIgnoreList(r,ignorelist)
  1735. if hit then
  1736. fronthit = true
  1737. rppos = rp
  1738. else
  1739. fronthit = false
  1740. end
  1741. if hitfloor == true then
  1742.  
  1743. if cdown == true then
  1744. if flow < flowmin+5 then
  1745.  
  1746. if flow ~= crouchspeed then
  1747. flow = crouchspeed
  1748. end
  1749. if crouchingplay.IsPlaying == false then
  1750. crouchingplay:Play()
  1751. randomclothrollsound()
  1752. end
  1753. else
  1754. if landed == true then
  1755. slide()
  1756. end
  1757.  
  1758. end
  1759. end
  1760.  
  1761. end
  1762. if cdown == false then
  1763. if crouchingplay.IsPlaying == true then
  1764. crouchingplay:Stop()
  1765. end
  1766. if walkingmode == false and hum.MoveDirection ~= Vector3.new(0,0,0) or wallrunning == true then
  1767. flow = flow+flowmax/70
  1768.  
  1769.  
  1770. if tricksinarow > 8 then
  1771. if combatmusic.Volume ~= 0.5 then
  1772. combatmusic.Volume = 0
  1773. ambience.Volume = 0
  1774. explorationmusic.Volume =0.5
  1775. end
  1776. end
  1777.  
  1778. if timestanding ~= 0 then
  1779. timestanding = 0
  1780. end
  1781. if flow > flowmax then
  1782. flow = flowmax
  1783. end
  1784. else
  1785. flow = flow-flowmax/23
  1786. if combatmusic.Volume ~= 0.5 then
  1787. timestanding = timestanding+0.05
  1788. end
  1789.  
  1790. if timestanding > 18 then
  1791. timestanding = 0
  1792. tricksinarow = 0
  1793. if combatmusic.Volume ~= 0.5 then
  1794. if ambience.Volume ~= 0.5 then
  1795. ambience.Volume = 0.5
  1796. explorationmusic.Volume = 0
  1797. combatmusic.Volume = 0
  1798.  
  1799. end
  1800.  
  1801. end
  1802. end
  1803. if flow < flowmin then
  1804. flow = flowmin
  1805. end
  1806. end
  1807.  
  1808.  
  1809.  
  1810. end
  1811. if downed == false then
  1812. hum.WalkSpeed = flow
  1813. else
  1814. hum.WalkSpeed = 1
  1815. end
  1816.  
  1817. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement