Josiahiscool73

Parkour script FE

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