-----------------

leafblower bike

Sep 16th, 2020
164
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.80 KB | None | 0 0
  1. --https://github.com/Mokiros/roblox-FE-compatibility
  2. if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end
  3. local Player,game,owner = owner,game
  4. local RealPlayer = Player
  5. do
  6. print("FE Compatibility code V2 by Mokiros")
  7. local RealPlayer = RealPlayer
  8. script.Parent = RealPlayer.Character
  9.  
  10. --Fake event to make stuff like Mouse.KeyDown work
  11. local Disconnect_Function = function(this)
  12. this[1].Functions[this[2]] = nil
  13. end
  14. local Disconnect_Metatable = {__index={disconnect=Disconnect_Function,Disconnect=Disconnect_Function}}
  15. local FakeEvent_Metatable = {__index={
  16. Connect = function(this,f)
  17. local i = tostring(math.random(0,10000))
  18. while this.Functions[i] do
  19. i = tostring(math.random(0,10000))
  20. end
  21. this.Functions[i] = f
  22. return setmetatable({this,i},Disconnect_Metatable)
  23. end
  24. }}
  25. FakeEvent_Metatable.__index.connect = FakeEvent_Metatable.__index.Connect
  26. local function fakeEvent()
  27. return setmetatable({Functions={}},FakeEvent_Metatable)
  28. end
  29.  
  30. --Creating fake input objects with fake variables
  31. local FakeMouse = {Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
  32. FakeMouse.keyUp = FakeMouse.KeyUp
  33. FakeMouse.keyDown = FakeMouse.KeyDown
  34. local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
  35. local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
  36. CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
  37. end}
  38. --Merged 2 functions into one by checking amount of arguments
  39. CAS.UnbindAction = CAS.BindAction
  40.  
  41. --This function will trigger the events that have been :Connect()'ed
  42. local function TriggerEvent(self,ev,...)
  43. for _,f in pairs(self[ev].Functions) do
  44. f(...)
  45. end
  46. end
  47. FakeMouse.TriggerEvent = TriggerEvent
  48. UIS.TriggerEvent = TriggerEvent
  49.  
  50. --Client communication
  51. local Event = Instance.new("RemoteEvent")
  52. Event.Name = "UserInput_Event"
  53. Event.OnServerEvent:Connect(function(plr,io)
  54. if plr~=RealPlayer then return end
  55. FakeMouse.Target = io.Target
  56. FakeMouse.Hit = io.Hit
  57. if not io.isMouse then
  58. local b = io.UserInputState == Enum.UserInputState.Begin
  59. if io.UserInputType == Enum.UserInputType.MouseButton1 then
  60. return FakeMouse:TriggerEvent(b and "Button1Down" or "Button1Up")
  61. end
  62. if io.UserInputType == Enum.UserInputType.MouseButton2 then
  63. return FakeMouse:TriggerEvent(b and "Button2Down" or "Button2Up")
  64. end
  65. for _,t in pairs(CAS.Actions) do
  66. for _,k in pairs(t.Keys) do
  67. if k==io.KeyCode then
  68. t.Function(t.Name,io.UserInputState,io)
  69. end
  70. end
  71. end
  72. FakeMouse:TriggerEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
  73. UIS:TriggerEvent(b and "InputBegan" or "InputEnded",io,false)
  74. end
  75. end)
  76. Event.Parent = NLS([==[local Event = script:WaitForChild("UserInput_Event")
  77. local Mouse = owner:GetMouse()
  78. local UIS = game:GetService("UserInputService")
  79. local input = function(io,RobloxHandled)
  80. if RobloxHandled then return end
  81. --Since InputObject is a client-side instance, we create and pass table instead
  82. Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
  83. end
  84. UIS.InputBegan:Connect(input)
  85. UIS.InputEnded:Connect(input)
  86.  
  87. local h,t
  88. --Give the server mouse data every second frame, but only if the values changed
  89. --If player is not moving their mouse, client won't fire events
  90. local HB = game:GetService("RunService").Heartbeat
  91. while true do
  92. if h~=Mouse.Hit or t~=Mouse.Target then
  93. h,t=Mouse.Hit,Mouse.Target
  94. Event:FireServer({isMouse=true,Target=t,Hit=h})
  95. end
  96. --Wait 2 frames
  97. for i=1,2 do
  98. HB:Wait()
  99. end
  100. end]==],script)
  101.  
  102. ----Sandboxed game object that allows the usage of client-side methods and services
  103. --Real game object
  104. local RealGame = game
  105.  
  106. --Metatable for fake service
  107. local FakeService_Metatable = {
  108. __index = function(self,k)
  109. local s = rawget(self,"_RealService")
  110. if s then
  111. return typeof(s[k])=="function"
  112. and function(_,...)return s[k](s,...)end or s[k]
  113. end
  114. end,
  115. __newindex = function(self,k,v)
  116. local s = rawget(self,"_RealService")
  117. if s then s[k]=v end
  118. end
  119. }
  120. local function FakeService(t,RealService)
  121. t._RealService = typeof(RealService)=="string" and RealGame:GetService(RealService) or RealService
  122. return setmetatable(t,FakeService_Metatable)
  123. end
  124.  
  125. --Fake game object
  126. local FakeGame = {
  127. GetService = function(self,s)
  128. return rawget(self,s) or RealGame:GetService(s)
  129. end,
  130. Players = FakeService({
  131. LocalPlayer = FakeService({GetMouse=function(self)return FakeMouse end},Player)
  132. },"Players"),
  133. UserInputService = FakeService(UIS,"UserInputService"),
  134. ContextActionService = FakeService(CAS,"ContextActionService"),
  135. RunService = FakeService({
  136. _btrs = {},
  137. RenderStepped = RealGame:GetService("RunService").Heartbeat,
  138. BindToRenderStep = function(self,name,_,fun)
  139. self._btrs[name] = self.Heartbeat:Connect(fun)
  140. end,
  141. UnbindFromRenderStep = function(self,name)
  142. self._btrs[name]:Disconnect()
  143. end,
  144. },"RunService")
  145. }
  146. rawset(FakeGame.Players,"localPlayer",FakeGame.Players.LocalPlayer)
  147. FakeGame.service = FakeGame.GetService
  148. FakeService(FakeGame,game)
  149. --Changing owner to fake player object to support owner:GetMouse()
  150. game,owner = FakeGame,FakeGame.Players.LocalPlayer
  151. end
  152. repeat wait() until game:service'Players'.LocalPlayer.Character
  153. --[[
  154.  
  155. - Added new color scheme.
  156. - Some minor edits.
  157. - New engine type, for your faster speed requirements.
  158. - Camera bug fix.
  159. ]]--
  160. do --CFrame lerp
  161. local function QuaternionFromCFrame(cf)
  162. local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components()
  163. local trace = m00 + m11 + m22
  164. if trace > 0 then
  165. local s = math.sqrt(1 + trace)
  166. local recip = 0.5/s
  167. return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5
  168. else
  169. local i = 0
  170. if m11 > m00 then
  171. i = 1
  172. end
  173. if m22 > (i == 0 and m00 or m11) then
  174. i = 2
  175. end
  176. if i == 0 then
  177. local s = math.sqrt(m00-m11-m22+1)
  178. local recip = 0.5/s
  179. return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip
  180. elseif i == 1 then
  181. local s = math.sqrt(m11-m22-m00+1)
  182. local recip = 0.5/s
  183. return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip
  184. elseif i == 2 then
  185. local s = math.sqrt(m22-m00-m11+1)
  186. local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip
  187. end
  188. end
  189. end
  190. local function QuaternionToCFrame(px, py, pz, x, y, z, w)
  191. local xs, ys, zs = x + x, y + y, z + z
  192. local wx, wy, wz = w*xs, w*ys, w*zs
  193. local xx = x*xs
  194. local xy = x*ys
  195. local xz = x*zs
  196. local yy = y*ys
  197. local yz = y*zs
  198. local zz = z*zs
  199. return CFrame.new(px, py, pz,1-(yy+zz), xy - wz, xz + wy,xy + wz, 1-(xx+zz), yz - wx, xz - wy, yz + wx, 1-(xx+yy))
  200. end
  201. local function QuaternionSlerp(a, b, t)
  202. local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4]
  203. local startInterp, finishInterp;
  204. if cosTheta >= 0.0001 then
  205. if (1 - cosTheta) > 0.0001 then
  206. local theta = math.acos(cosTheta)
  207. local invSinTheta = 1/math.sin(theta)
  208. startInterp = math.sin((1-t)*theta)*invSinTheta
  209. finishInterp = math.sin(t*theta)*invSinTheta
  210. else
  211. startInterp = 1-t
  212. finishInterp = t
  213. end
  214. else
  215. if (1+cosTheta) > 0.0001 then
  216. local theta = math.acos(-cosTheta)
  217. local invSinTheta = 1/math.sin(theta)
  218. startInterp = math.sin((t-1)*theta)*invSinTheta
  219. finishInterp = math.sin(t*theta)*invSinTheta
  220. else
  221. startInterp = t-1
  222. finishInterp = t
  223. end
  224. end
  225. return a[1]*startInterp + b[1]*finishInterp, a[2]*startInterp + b[2]*finishInterp, a[3]*startInterp + b[3]*finishInterp, a[4]*startInterp + b[4]*finishInterp
  226. end
  227. function clerp(a,b,t)
  228. local qa = {QuaternionFromCFrame(a)}
  229. local qb = {QuaternionFromCFrame(b)}
  230. local ax, ay, az = a.x, a.y, a.z
  231. local bx, by, bz = b.x, b.y, b.z
  232. local _t = 1-t
  233. return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t))
  234. end
  235.  
  236. end
  237.  
  238. plr = game:service'Players'.LocalPlayer
  239. char = plr.Character
  240. mouse = plr:GetMouse()
  241. humanoid = char:findFirstChild("Humanoid")
  242. torso = char:findFirstChild("Torso")
  243. head = char.Head
  244. ra = char:findFirstChild("Right Arm")
  245. la = char:findFirstChild("Left Arm")
  246. rl = char:findFirstChild("Right Leg")
  247. ll = char:findFirstChild("Left Leg")
  248. rs = torso:findFirstChild("Right Shoulder")
  249. ls = torso:findFirstChild("Left Shoulder")
  250. rh = torso:findFirstChild("Right Hip")
  251. lh = torso:findFirstChild("Left Hip")
  252. neck = torso:findFirstChild("Neck")
  253. rj = char:findFirstChild("HumanoidRootPart"):findFirstChild("RootJoint")
  254. anim = char:findFirstChild("Animate")
  255. rootpart = char:findFirstChild("HumanoidRootPart")
  256. camera = workspace.CurrentCamera
  257. modelforparts = char:findFirstChild("ModelForParts") or Instance.new("Model", char)
  258. modelforparts.Name = "ModelForParts"
  259. equipped = false
  260. local MAXSPEED = 90
  261. local SPEED = 0
  262. bg = Instance.new("BodyGyro")
  263. bg.maxTorque = Vector3.new(9e6,9e6,9e6)
  264. bg.D = 800
  265. bv = Instance.new("BodyVelocity")
  266. bv.maxForce = Vector3.new(9e6,9e6,9e6)
  267.  
  268. local sound = Instance.new("Sound", head)
  269. sound.Volume = 1
  270. sound.Pitch = 2
  271. sound.SoundId = "http://www.roblox.com/asset/?id=142782429"
  272. sound.Looped = true
  273. wait()
  274. sound:play()
  275.  
  276.  
  277. ColorScheme1 = BrickColor.new(106)
  278. ColorScheme2 = BrickColor.new(40)
  279. ColorScheme3 = BrickColor.new(199)
  280. ANGLE = 0
  281. equipped = true
  282.  
  283. rs.Parent = nil
  284. ls.Parent = nil
  285. rh.Parent = nil
  286. lh.Parent = nil
  287. anim.Parent = nil
  288. wait()
  289. local rm = Instance.new("Weld", modelforparts)
  290. rm.C0 = CFrame.new(1.5, 0.5, 0)
  291. rm.C1 = CFrame.new(0, 0.5, 0)
  292. rm.Part0 = torso
  293. rm.Part1 = ra
  294. local lm = Instance.new("Weld", modelforparts)
  295. lm.C0 = CFrame.new(-1.5, 0.5, 0)
  296. lm.C1 = CFrame.new(0, 0.5, 0)
  297. lm.Part0 = torso
  298. lm.Part1 = la
  299. local rlegm = Instance.new("Weld", modelforparts)
  300. rlegm.C0 = CFrame.new(0.5, -1, 0)
  301. rlegm.C1 = CFrame.new(0, 1, 0)
  302. rlegm.Part0 = torso
  303. rlegm.Part1 = rl
  304. local llegm = Instance.new("Weld", modelforparts)
  305. llegm.C0 = CFrame.new(-0.5, -1, 0)
  306. llegm.C1 = CFrame.new(0, 1, 0)
  307. llegm.Part0 = torso
  308. llegm.Part1 = ll
  309.  
  310. --grey part
  311. local part = Instance.new("Part", modelforparts)
  312. part.Size = Vector3.new(2.2, .85, 2.2)
  313. part.FormFactor = 'Custom'
  314. part.BrickColor = ColorScheme3
  315. part.Locked = true
  316. part.TopSurface = 10
  317. part.BottomSurface = 10
  318. part.LeftSurface = 10
  319. part.RightSurface = 10
  320. part.FrontSurface = 10
  321. part.BackSurface = 10
  322. part:breakJoints()
  323. part.Material = "SmoothPlastic"
  324. part.CanCollide = false
  325. Instance.new("CylinderMesh", part)
  326. local weld = Instance.new("Weld", part)
  327. weld.Part0 = part
  328. weld.Part1 = torso
  329. weld.C1 = CFrame.new(0, -2.1, 0)
  330. weld.C0 = CFrame.Angles(math.pi/2, math.pi/2, 0) * CFrame.new(0, 0, .95)
  331. --orange part
  332. local part2 = part:clone()
  333. part2.Parent = modelforparts
  334. part2.Size = Vector3.new(2.5, 1.05, 2.5)
  335. part2.BrickColor = ColorScheme1
  336. local wld2 = Instance.new("Weld", part)
  337. wld2.Part0 = part2
  338. wld2.Part1 = part
  339. wld2.C1 = CFrame.new()
  340. wld2.C0 = CFrame.new()
  341. --white part
  342. local part3 = part:clone()
  343. part3.Parent = modelforparts
  344. part3.Size = Vector3.new(2.62, .5, 2.62)
  345. part3.BrickColor = ColorScheme2
  346. local wld3 = Instance.new("Weld", part)
  347. wld3.Part0 = part3
  348. wld3.Part1 = part
  349. wld3.C1 = CFrame.new()
  350. wld3.C0 = CFrame.new()
  351. --airblower
  352. local airblowercyl = part:clone()
  353. airblowercyl.Parent = modelforparts
  354. airblowercyl.Size = Vector3.new(.95, 3.5, .95)
  355. airblowercyl.BrickColor = ColorScheme3
  356. local smoke = Instance.new("Smoke", airblowercyl)
  357. smoke.Color = Color3.new(.3, .3, .3)
  358. smoke.RiseVelocity = 10
  359. smoke.Opacity = .1
  360. local cwld = Instance.new("Weld", airblowercyl)
  361. cwld.Part0 = airblowercyl
  362. cwld.Part1 = part
  363. cwld.C1 = CFrame.Angles(0, 0, -math.pi/2)
  364. cwld.C0 = CFrame.new(0, -1.85-0.925, -.6) * CFrame.Angles(math.pi/14, 0, 0)
  365.  
  366. --handles
  367. local hndl = part:clone()
  368. hndl.Parent = modelforparts
  369. hndl.Size = Vector3.new(.2, .4, .2)
  370. hndl.BrickColor = BrickColor.new(26)
  371. hndl.Mesh:Destroy()
  372. local hwld = Instance.new("Weld", hndl)
  373. hwld.Part1 = part
  374. hwld.Part0 = hndl
  375. hwld.C1 = CFrame.new(.1, 0, 0) * CFrame.Angles(math.pi/2, 0, 0)
  376. hwld.C0 = CFrame.new(0, -.82 - .4, 0)
  377. Instance.new("BlockMesh", hndl).Scale = Vector3.new(.5, 1, .5)
  378. local hndl2 = hndl:clone()
  379. hndl2.Parent = modelforparts
  380. hndl2.Size = Vector3.new(.8, .2, .2)
  381. local hwld2 = Instance.new("Weld", hndl2)
  382. hwld2.Part0 = hndl2
  383. hwld2.Part1 = part
  384. hwld2.C1 = CFrame.new(-.25, 0, 0) * CFrame.Angles(math.pi/2, 0, 0)
  385. hwld2.C0 = CFrame.new(0, -1 - .4, 0)
  386. hndl2.Mesh.Scale = Vector3.new(1, .5, .5)
  387. local hndl3 = hndl:clone()
  388. hndl3.Parent = modelforparts
  389. hndl3.Size = Vector3.new(.2, .4, .2)
  390. local hwld3 = Instance.new("Weld", hndl3)
  391. hwld3.Part0 = hndl3
  392. hwld3.Part1 = part
  393. hwld3.C1 = CFrame.new(-.6, 0, 0) * CFrame.Angles(math.pi/2, 0, 0)
  394. hwld3.C0 = CFrame.new(0, -.82 - .4, 0)
  395. --balloon ropes
  396. local blnrope = part:clone()
  397. blnrope.Parent = modelforparts
  398. blnrope.Size = Vector3.new(.2, 3.8, .2)
  399. blnrope.BrickColor = BrickColor.new(1)
  400. blnrope.Mesh:Destroy()
  401. local blnwld = Instance.new("Weld", blnrope)
  402. blnwld.Part0 = blnrope
  403. blnwld.Part1 = airblowercyl
  404. blnwld.C1 = CFrame.new(0, 0, 0) * CFrame.Angles(math.pi/2, math.pi/7, -math.pi/8)
  405. blnwld.C0 = CFrame.new(0, -2, 0)
  406. Instance.new("BlockMesh", blnrope).Scale = Vector3.new(.2, 1, .2)
  407. local blnrope2 = blnrope:clone()
  408. blnrope2.Parent = modelforparts
  409. blnrope2.Size = Vector3.new(.2, 4, .2)
  410. local blnwld2 = Instance.new("Weld", blnrope2)
  411. blnwld2.Part0 = blnrope2
  412. blnwld2.Part1 = airblowercyl
  413. blnwld2.C1 = CFrame.new(0, 0, 0) * CFrame.Angles(math.pi/2, math.pi/4, -math.pi/74)
  414. blnwld2.C0 = CFrame.new(0, -2.2, 0)
  415. local blnrope3 = blnrope:clone()
  416. blnrope3.Parent = modelforparts
  417. local blnwld3 = Instance.new("Weld", blnrope3)
  418. blnwld3.Part0 = blnrope3
  419. blnwld3.Part1 = airblowercyl
  420. blnwld3.C0 = CFrame.new(0, -2, 0)
  421.  
  422.  
  423. --Stored balloon rope welds
  424. blnwldC1 = blnwld.C1
  425. blnwld2C1 = blnwld2.C1
  426. blnwld3C1 = blnwld3.C1
  427. --balloons
  428. local bln = part:clone()
  429. bln.Parent = modelforparts
  430. bln.Size = Vector3.new(1.65, 1.8, 1.65)
  431. bln.BrickColor = BrickColor.new(119)
  432. bln.Mesh:Destroy()
  433. bln.Transparency = .1
  434. local balnwld = Instance.new("Weld", bln)
  435. balnwld.Part0 = bln
  436. balnwld.Part1 = blnrope
  437. balnwld.C1 = CFrame.new(0, 0, 0)
  438. balnwld.C0 = CFrame.new(0, -2.6, 0)
  439. Instance.new("SpecialMesh", bln).MeshType = "Sphere"
  440. local bln2 = bln:clone()
  441. bln2.Parent = modelforparts
  442. bln2.BrickColor = BrickColor.new(23)
  443. local balnwld2 = Instance.new("Weld", bln2)
  444. balnwld2.Part0 = bln2
  445. balnwld2.Part1 = blnrope2
  446. balnwld2.C1 = CFrame.new(0, 0, 0)
  447. balnwld2.C0 = CFrame.new(0, -2.8, 0)
  448. local bln3 = bln:clone()
  449. bln3.Parent = modelforparts
  450. bln3.BrickColor = BrickColor.new(21)
  451. local balnwld3 = Instance.new("Weld", bln3)
  452. balnwld3.Part0 = bln3
  453. balnwld3.Part1 = blnrope3
  454. balnwld3.C0 = CFrame.new(0, -2.6, 0)
  455.  
  456. --Controls
  457. bg.Parent = rootpart
  458. bv.Parent = rootpart
  459. forwards = false
  460. backwards = false
  461. mouse.KeyDown:connect(function(k)
  462. if k == "w" then
  463. forwards = true
  464. coroutine.wrap(function()
  465. while forwards do wait()
  466. if SPEED >= MAXSPEED then SPEED = MAXSPEED forwards = false break end
  467. sound.Volume = sound.Volume + .05
  468. if sound.Volume >= .5 then sound.Volume = .5 end
  469. SPEED = SPEED + 5
  470. end
  471. end)()
  472. end
  473. end)
  474. mouse.KeyUp:connect(function(k)
  475. if k == "w" then
  476. forwards = false
  477. coroutine.wrap(function()
  478. while SPEED >= 0 do wait()
  479. sound.Volume = sound.Volume - .05
  480. if sound.Volume <= 0.25 then sound.Volume = 0.25 end
  481. SPEED = SPEED - 5
  482. if forward then break end
  483. if SPEED <= 0 then SPEED = 0 break end
  484. end
  485. end)()
  486. end
  487. end)
  488. --BALLONS MOOOOVEEE :DDD
  489. game:service'RunService'.RenderStepped:connect(function()
  490. if not equipped then return end
  491. blnwldC1 = CFrame.new(0, 0, 0) * CFrame.Angles(math.pi/2 - math.rad(SPEED/1.7) + math.sin(ANGLE)*.025, math.pi/7 + math.sin(ANGLE)*.105, -math.pi/8 - math.sin(ANGLE)*.018)
  492. blnwld2C1 = CFrame.new(0, 0, 0) * CFrame.Angles(math.pi/2 - math.rad(SPEED/1.7) + math.sin(ANGLE)*.015, math.pi/4 - math.sin(ANGLE)*.065, -math.pi/74 + math.sin(ANGLE)*.021)
  493. blnwld3C1 = CFrame.new(0, 0, 0) * CFrame.Angles(math.pi/2 - math.rad(SPEED/1.7) - math.sin(ANGLE)*.02, math.pi/16 - math.sin(ANGLE)*.125, math.pi/9 - math.sin(ANGLE)*.078)
  494. blnwld.C1 = clerp(blnwld.C1, blnwldC1, 0.05)
  495. blnwld2.C1 = clerp(blnwld2.C1, blnwld2C1, 0.05)
  496. blnwld3.C1 = clerp(blnwld3.C1, blnwld3C1, 0.05)
  497. end)
  498.  
  499. --positioning welds
  500. lm.C0 = CFrame.new(-1.25, .05, -.5) * CFrame.Angles(math.rad(35), 0, math.rad(45))
  501. rm.C0 = CFrame.new(1.25, .05, -.5) * CFrame.Angles(math.rad(35), 0, -math.rad(45))
  502. llegm.C0 = CFrame.new(-0.5, -1, 0) * CFrame.Angles(0, 0, -math.rad(15))
  503. rlegm.C0 = CFrame.new(0.5, -1, 0) * CFrame.Angles(0, 0, math.rad(15))
  504.  
  505.  
  506.  
  507. game:service'RunService'.RenderStepped:connect(function()
  508. for i,v in pairs(torso:children()) do if v and v:IsA'BodyGyro' then v:Destroy() end end
  509. ANGLE = (ANGLE % 360) + math.random(1, 10)/100
  510. humanoid.PlatformStand = true
  511. local rotpos = Vector3.new(camera.CoordinateFrame.x, camera.CoordinateFrame.y, camera.CoordinateFrame.z)
  512. bg.cframe = CFrame.new(torso.Position,rotpos) * CFrame.Angles(0, math.pi, 0)
  513. bv.velocity = (torso.CFrame * CFrame.Angles(math.pi/14, 0, 0)).lookVector * SPEED
  514. end)
  515.  
Add Comment
Please, Sign In to add comment