View difference between Paste ID: JUc21wYg and UixHy3mr
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 converted by An ignorant / zach ")
3
warn(" credits goes to the real creator ")
4
warn(" pls dont abuse ")
5
warn(" i beg u ")
6
local Player,game,owner = owner,game
7
local RealPlayer = Player
8
do
9
    print("FE Compatibility code by Mokiros")
10
    print("This EDIT was made by Zach the script stealer / aka zach so please stop pretending that you made it")
11
    local rp = RealPlayer
12
    script.Parent = rp.Character
13
   
14
    --RemoteEvent for communicating
15
    local Event = Instance.new("RemoteEvent")
16
    Event.Name = "UserInput_Event"
17
 
18
    --Fake event to make stuff like Mouse.KeyDown work
19
    local function fakeEvent()
20
        local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
21
        t.connect = t.Connect
22
        return t
23
    end
24
 
25
    --Creating fake input objects with fake variables
26
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()}
27
    local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
28
    local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
29
        CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
30
    end}
31
    --Merged 2 functions into one by checking amount of arguments
32
    CAS.UnbindAction = CAS.BindAction
33
 
34
    --This function will trigger the events that have been :Connect()'ed
35
    local function te(self,ev,...)
36
        local t = m[ev]
37
        if t and t._fakeEvent then
38
            for _,f in pairs(t.Functions) do
39
                f(...)
40
            end
41
        end
42
    end
43
    m.TrigEvent = te
44
    UIS.TrigEvent = te
45
 
46
    Event.OnServerEvent:Connect(function(plr,io)
47
        if plr~=rp then return end
48
        m.Target = io.Target
49
        m.Hit = io.Hit
50
        if not io.isMouse then
51
            local b = io.UserInputState == Enum.UserInputState.Begin
52
            if io.UserInputType == Enum.UserInputType.MouseButton1 then
53
                return m:TrigEvent(b and "Button1Down" or "Button1Up")
54
            end
55
            for _,t in pairs(CAS.Actions) do
56
                for _,k in pairs(t.Keys) do
57
                    if k==io.KeyCode then
58
                        t.Function(t.Name,io.UserInputState,io)
59
                    end
60
                end
61
            end
62
            m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
63
            UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
64
        end
65
    end)
66
    Event.Parent = NLS([==[
67
    local Player = game:GetService("Players").LocalPlayer
68
    local Event = script:WaitForChild("UserInput_Event")
69
 
70
    local Mouse = Player:GetMouse()
71
    local UIS = game:GetService("UserInputService")
72
    local input = function(io,a)
73
        if a then return end
74
        --Since InputObject is a client-side instance, we create and pass table instead
75
        Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
76
    end
77
    UIS.InputBegan:Connect(input)
78
    UIS.InputEnded:Connect(input)
79
 
80
    local h,t
81
    --Give the server mouse data 30 times every second, but only if the values changed
82
    --If player is not moving their mouse, client won't fire events
83
    while wait(1/30) do
84
        if h~=Mouse.Hit or t~=Mouse.Target then
85
            h,t=Mouse.Hit,Mouse.Target
86
            Event:FireServer({isMouse=true,Target=t,Hit=h})
87
        end
88
    end]==],Player.Character)
89
 
90
    ----Sandboxed game object that allows the usage of client-side methods and services
91
    --Real game object
92
    local _rg = game
93
 
94
    --Metatable for fake service
95
    local fsmt = {
96
        __index = function(self,k)
97
            local s = rawget(self,"_RealService")
98
            if s then return s[k] end
99
        end,
100
        __newindex = function(self,k,v)
101
            local s = rawget(self,"_RealService")
102
            if s then s[k]=v end
103
        end,
104
        __call = function(self,...)
105
            local s = rawget(self,"_RealService")
106
            if s then return s(...) end
107
        end
108
    }
109
    local function FakeService(t,RealService)
110
        t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
111
        return setmetatable(t,fsmt)
112
    end
113
 
114
    --Fake game object
115
    local g = {
116
        GetService = function(self,s)
117
            return self[s]
118
        end,
119
        Players = FakeService({
120
            LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
121
        },"Players"),
122
        UserInputService = FakeService(UIS,"UserInputService"),
123
        ContextActionService = FakeService(CAS,"ContextActionService"),
124
    }
125
    rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
126
    g.service = g.GetService
127
   
128
    g.RunService = FakeService({
129
        RenderStepped = _rg:GetService("RunService").Heartbeat,
130
        BindToRenderStep = function(self,name,_,fun)
131
 
132
        end,
133
        UnbindFromRenderStep = function(self,name)
134
            self._btrs[name]:Disconnect()
135
        end,
136
    },"RunService")
137
 
138
    setmetatable(g,{
139
        __index=function(self,s)
140
            return _rg:GetService(s) or typeof(_rg[s])=="function"
141
            and function(_,...)return _rg[s](_rg,...)end or _rg[s]
142
        end,
143
        __newindex = fsmt.__newindex,
144
        __call = fsmt.__call
145
    })
146
    --Changing owner to fake player object to support owner:GetMouse()
147
    game,owner = g,g.Players.LocalPlayer
148
end
149
150
151
152
153
local Player = game:GetService("Players").LocalPlayer
154
local Character = Player.Character
155
local Mouse = Player:GetMouse()
156
--Mouse.TargetFilter = workspace
157
158
local Head = Character:WaitForChild("Head")
159
local Torso = Character:WaitForChild("Torso")
160
local RootPart = Character:WaitForChild("HumanoidRootPart")
161
local Human = Character:WaitForChild("Humanoid")
162
163
Human.AutoRotate = false
164
Human.JumpPower = 0
165
Human.WalkSpeed = 12
166
167
-----------------------------------------------------------------------------------------------------------------------
168
169
for _, Item in next, Character:GetChildren() do
170
	if Item:IsA("CharacterAppearance") then
171
		Item:Destroy()
172
	end
173
end
174
175
local Pants = Character:FindFirstChild("Pants") or Instance.new("Pants")
176
Pants.PantsTemplate = "rbxassetid://69232474"
177
Pants.Name = "Pants"
178
Pants.Parent = Character
179
180
local Shirt = Character:FindFirstChild("Shirt") or Instance.new("Shirt")
181
Shirt.ShirtTemplate = "rbxassetid://69232183"
182
Shirt.Name = "Shirt"
183
Shirt.Parent = Character
184
185
local Face = Head:WaitForChild("face")
186
Face.Texture = "rbxassetid://112805849"
187
188
local TShirt = Torso:FindFirstChild("roblox")
189
if TShirt then
190
	TShirt:Destroy()
191
end
192
193
--[[local BodyColors = Character:WaitForChild("Body Colors")
194
BodyColors.HeadColor = BrickColor.new("Light orange")
195
BodyColors.LeftArmColor = BrickColor.new("Light orange")
196
BodyColors.RightArmColor = BrickColor.new("Light orange")
197
BodyColors.TorsoColor = BrickColor.new("Light orange")--]]
198
199
spawn(function() wait(.5)
200
	Head.BrickColor = BrickColor.new("Light orange")
201
	Torso.BrickColor = BrickColor.new("Light orange")
202
	Character["Left Arm"].BrickColor = BrickColor.new("Light orange")
203
	Character["Right Arm"].BrickColor = BrickColor.new("Light orange")
204
end)
205
206
Character:WaitForChild("Animate"):Destroy()
207
208
local RJ = RootPart:WaitForChild("RootJoint")
209
RJ:Destroy()
210
RJ = Instance.new("Weld", RootPart)
211
RJ.Part0 = RootPart
212
RJ.Part1 = Torso
213
214
local Neck = Instance.new("Weld", Torso)
215
Neck.Part0 = Torso
216
Neck.Part1 = Character:WaitForChild("Head")
217
Neck.C0 = CFrame.new(0, 1.5, 0)
218
219
Torso:WaitForChild("Right Shoulder").Part1 = nil
220
local RS = Instance.new("Weld", Head)
221
RS.Part0 = Head
222
RS.Part1 = Character:WaitForChild("Right Arm")
223
224
Torso:WaitForChild("Left Shoulder").Part1 = nil
225
local LS = Instance.new("Weld", Head)
226
LS.Part0 = Head
227
LS.Part1 = Character:WaitForChild("Left Arm")
228
229
local LH = Torso:WaitForChild("Left Hip")
230
LH:Destroy()
231
LH = Instance.new("Weld", Torso)
232
LH.Part0 = Torso
233
LH.Part1 = Character:WaitForChild("Left Leg")
234
235
local RH = Torso:WaitForChild("Right Hip")
236
RH:Destroy()
237
RH = Instance.new("Weld", Torso)
238
RH.Part0 = Torso
239
RH.Part1 = Character:WaitForChild("Right Leg")
240
241
local GUN = Instance.new("Part", Character)
242
GUN.CanCollide = false
243
GUN.Size = Vector3.new(1.549, 2.302, 3.814)
244
GUN.Name = "Handle"
245
GUN.Material = Enum.Material.SmoothPlastic
246
247
local MS = Instance.new("SpecialMesh", GUN)
248
MS.MeshType = Enum.MeshType.FileMesh
249
MS.MeshId = "rbxassetid://450812185"
250
MS.TextureId = "rbxassetid://450812194"
251
252
local GRIP = Instance.new("Weld", RS.Part1)
253
GRIP.Part0 = RS.Part1
254
GRIP.Part1 = GUN
255
256
local SN = Instance.new("Sound", GUN)
257
SN.SoundId = "rbxassetid://341294387"
258
SN.PlaybackSpeed = 0.9
259
SN.Looped = true
260
SN.Volume = 0
261
SN:Play()
262
263
local FL = Instance.new("Part", GUN)
264
FL.BrickColor = BrickColor.Yellow()
265
FL.Transparency = 1
266
FL.Material = Enum.Material.SmoothPlastic
267
FL.CanCollide = false
268
FL.Size = Vector3.new(1, 3.38, 1)
269
270
local MS2 = Instance.new("SpecialMesh", FL)
271
MS2.MeshType = Enum.MeshType.FileMesh
272
MS2.MeshId = "rbxassetid://1323306"
273
MS2.Scale = Vector3.new(0.35, 1.9, 0.35)
274
275
local FLW = Instance.new("Weld", GUN)
276
FLW.Part0 = GUN
277
FLW.Part1 = FL
278
FLW.C0 = CFrame.new(0.293, 0.251, 3.221, 0, 0.028, 1, 1, 0, 0, 0, 1, -0.028)
279
280
-----------------------------------------------------------------------------------------------------------------------
281
282
local STANCE = {
283
	NK = CFrame.new(0, 1, 0, 0.747311652, 0, 0.664473772, 0, 1, 0, -0.664473772, 0, 0.747311652);
284
	RJ = CFrame.new(0, 0, 0, 0.747311592, 0, -0.664473712, 0, 1, 0, 0.664473712, 0, 0.747311592);
285
	LS = CFrame.new(0.474761963, -1.61745477, -1.20455933, -0.127145067, -0.88503027, -0.447834671, -0.836402416, 0.338357687, -0.431213528, 0.533165276, 0.319743276, -0.783262014);
286
	RS = CFrame.new(1.14480591, -1.47239065, 0.695491791, 0.972185493, -0.190045089, -0.136889026, 0.123703048, 0.912935674, -0.388903707, 0.198880106, 0.361152887, 0.911051929);
287
	GRIP = CFrame.new(-0.0976009369, -1.92251587, -1.31733322, -0.980839312, 0.117544398, -0.155363142, 0.158846945, 0.944226265, -0.288452089, 0.11279203, -0.307604104, -0.944805682);
288
}
289
290
LS.C0 = STANCE.LS
291
RS.C0 = STANCE.RS
292
RJ.C0 = STANCE.RJ
293
GRIP.C0 = STANCE.GRIP
294
295
local Down = false
296
297
Mouse.Button1Down:Connect(function()
298
	Down = true
299
end)
300
301
Mouse.Button1Up:Connect(function()
302
	Down = false
303
end)
304
305
math.randomseed(os.time())
306
307
local function Taunt()
308
	local Taunts = {137542750, 130774824, 130776108, 679798995, 679798810}
309
	local Sound = Instance.new("Sound", GUN)
310
	local Id = Taunts[math.random(#Taunts)]
311
	Sound.TimePosition = Id == 130776108 and 4.2 or 0
312
	Sound.SoundId = "rbxassetid://" .. Id
313
	Sound.Volume = 1
314
	Sound.Ended:Connect(function()
315
		Sound:Destroy()
316
	end)
317
	Sound:Play()
318
end
319
320
Mouse.KeyDown:Connect(function(Key)
321
	if Key == string.char(32) then
322
		Taunt()
323
	end
324
end)
325
326
327
328
local function Shoot()
329
	local Bullet = Instance.new("Part")
330
	Bullet.Size = Vector3.new(0.3, 0.3, 0.7)
331
	Bullet.Transparency = 1
332
	Bullet.CanCollide = false
333
	
334
	local AntiGravity = Instance.new("BodyForce", Bullet)
335
	AntiGravity.Force = Vector3.new(0, Bullet:GetMass() * workspace.Gravity, 0)
336
	
337
	local Start = (GUN.CFrame * CFrame.new(0.255, 0.251, 1.877)).p
338
	Bullet.CFrame = CFrame.new(Start, Mouse.Hit.p)
339
	Bullet.Velocity = Bullet.CFrame.lookVector * 300
340
	
341
	Bullet.Touched:Connect(function(Hit)
342
		if Hit.Parent and Hit.Parent ~= Character and Hit.Parent:FindFirstChild("Humanoid") then
343
			Hit.Parent.Humanoid:TakeDamage(5)
344
			Bullet:Destroy()
345
		end
346
	end)
347
	
348
	Bullet.Parent = workspace
349
	game.Debris:AddItem(Bullet, 3)
350
end
351
352
353
game:GetService("RunService"):BindToRenderStep("Invisible", Enum.RenderPriority.Character.Value - 1, function()
354
	GUN.LocalTransparencyModifier = 0
355
	FL.LocalTransparencyModifier = 0
356
	LS.Part1.LocalTransparencyModifier = 0
357
	RS.Part1.LocalTransparencyModifier = 0
358
end)
359
360
local Heartbeat, Angle = game:GetService("RunService").Heartbeat
361
362
while Heartbeat:Wait() do
363
	local Angle = tick() * 8
364
		
365
	-- Torso lean
366
	local VelocityForTilt = RootPart.Velocity * Vector3.new(1, 0, 1) / 150
367
   	local VectorForTilt = RootPart.CFrame:vectorToObjectSpace(VelocityForTilt)
368
   	RJ.C0 = RJ.C0:Lerp(STANCE.RJ * CFrame.Angles(VectorForTilt.Z, VectorForTilt.X, -VectorForTilt.X), 0.1)
369
370
	-- Rotate to face camera
371
	local RootPosition = RootPart.Position
372
	local Direction = Mouse.Hit.p - RootPosition
373
	Direction = Vector3.new(Direction.X, 0, Direction.Z).unit
374
	local NewCFrame = CFrame.new(RootPosition, RootPosition + Direction) * CFrame.Angles(0, -0.02, 0)
375
	RootPart.CFrame = RootPart.CFrame:Lerp(NewCFrame, 0.1)
376
	
377
	-- Neck Angle
378
	local Hypotenuse = (Mouse.Hit.p - Head.Position).magnitude
379
	local Opposite = Mouse.Hit.p.y - Head.Position.y
380
	local Pitch = math.asin(Opposite / Hypotenuse)
381
	local NewNeckCFrame = STANCE.NK * CFrame.Angles(Pitch + 0.2, 0, 0) * CFrame.new(0, 0.5, 0)
382
	Neck.C0 = Neck.C0:Lerp(NewNeckCFrame, 0.1)
383
	
384
	-- Legs
385
	local FlatVelocity = (Torso.Velocity * Vector3.new(1, 0, 1))
386
	if FlatVelocity.magnitude < 2 then
387
		LH.C0 = LH.C0:Lerp(CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.sin(tick() * 0.5) / 17, 0, -0.02 + math.sin(tick() * 0.4) / 19) * CFrame.new(0, -1, 0), 0.2)
388
		RH.C0 = RH.C0:Lerp(CFrame.new(0.5, -1, 0) * CFrame.Angles(math.sin(-tick() * 0.5) / 18, 0, 0.02 + math.sin(-tick() * 0.35) / 20) * CFrame.new(0, -1, 0), 0.2)
389
	else
390
		local Look = (Torso.CFrame.lookVector * Vector3.new(1, 0, 1)).unit
391
		local Move = FlatVelocity.unit
392
		local OffAngle = (Look:Cross(Move).Y > 0 and 1 or -1) * math.acos(1 - (Look - Move).magnitude ^ 2 / 2)
393
		OffAngle = math.max(-math.pi, math.min(math.pi, OffAngle))	
394
		LH.C0 = LH.C0:Lerp(CFrame.new(-0.5, 0, 0) * CFrame.Angles(0, OffAngle, 0)
395
		  * CFrame.new(0, -math.max(0, math.cos(Angle * 2) / 5) + math.max(0, math.cos(Angle + math.pi) / 2.5) - 2, math.sin(-Angle + math.pi) / 1.8 + 0.15)
396
		  * CFrame.Angles(math.sin(-Angle) / 1.8 - 0.2, 0, 0), 0.2)
397
		RH.C0 = RH.C0:Lerp(CFrame.new(0.5, 0, 0) * CFrame.Angles(0, OffAngle, 0)
398
		  * CFrame.new(0, -math.max(0, math.cos(Angle * 2) / 5) + math.max(0, math.cos(Angle) / 2.5) - 2, math.sin(-Angle) / 1.8 + 0.15) 
399
		  * CFrame.Angles(math.sin(Angle) / 1.8 - 0.2, 0, 0), 0.2)
400
	end
401
	
402
	-- Shooting
403
	if Down then
404
		SN.Volume = SN.Volume + (1.5 - SN.Volume) * 0.3
405
		FL.Transparency = FL.Transparency + (0.6 - FL.Transparency) * 0.2
406
		FLW.C0 = FLW.C0 * CFrame.Angles(0, 0.2, 0)
407
		Shoot()
408
	else
409
		SN.Volume = SN.Volume + (0 - SN.Volume) * 0.15
410
		FL.Transparency = FL.Transparency + (1 - FL.Transparency) * 0.2
411
	end
412
end