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