View difference between Paste ID: cUQ0HF8Z and MVeg2i43
SHOW: | | - or go back to the newest paste.
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 by Mokiros")
7
	local rp = RealPlayer
8
	script.Parent = rp.Character
9
	
10
	--RemoteEvent for communicating
11
	local Event = Instance.new("RemoteEvent")
12
	Event.Name = "UserInput_Event"
13
14
	--Fake event to make stuff like Mouse.KeyDown work
15
	local function fakeEvent()
16
		local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end}
17
		t.connect = t.Connect
18
		return t
19
	end
20
21
	--Creating fake input objects with fake variables
22
    local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()}
23
	local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()}
24
	local CAS = {Actions={},BindAction=function(self,name,fun,touch,...)
25
		CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil
26
	end}
27
	--Merged 2 functions into one by checking amount of arguments
28
	CAS.UnbindAction = CAS.BindAction
29
30
	--This function will trigger the events that have been :Connect()'ed
31
	local function te(self,ev,...)
32
		local t = m[ev]
33
		if t and t._fakeEvent then
34
			for _,f in pairs(t.Functions) do
35
				f(...)
36
			end
37
		end
38
	end
39
	m.TrigEvent = te
40
	UIS.TrigEvent = te
41
42
	Event.OnServerEvent:Connect(function(plr,io)
43
	    if plr~=rp then return end
44
		m.Target = io.Target
45
		m.Hit = io.Hit
46
		if not io.isMouse then
47
			local b = io.UserInputState == Enum.UserInputState.Begin
48
			if io.UserInputType == Enum.UserInputType.MouseButton1 then
49
				return m:TrigEvent(b and "Button1Down" or "Button1Up")
50
			end
51
			if io.UserInputType == Enum.UserInputType.MouseButton2 then
52
				return m:TrigEvent(b and "Button2Down" or "Button2Up")
53
			end
54
			for _,t in pairs(CAS.Actions) do
55
				for _,k in pairs(t.Keys) do
56
					if k==io.KeyCode then
57
						t.Function(t.Name,io.UserInputState,io)
58
					end
59
				end
60
			end
61
			m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower())
62
			UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false)
63
	    end
64
	end)
65
	Event.Parent = NLS([==[
66
	local Player = game:GetService("Players").LocalPlayer
67
	local Event = script:WaitForChild("UserInput_Event")
68
69
	local Mouse = Player:GetMouse()
70
	local UIS = game:GetService("UserInputService")
71
	local input = function(io,a)
72
		if a then return end
73
		--Since InputObject is a client-side instance, we create and pass table instead
74
		Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target})
75
	end
76
	UIS.InputBegan:Connect(input)
77
	UIS.InputEnded:Connect(input)
78
79
	local h,t
80
	--Give the server mouse data 30 times every second, but only if the values changed
81
	--If player is not moving their mouse, client won't fire events
82
	while wait(1/30) do
83
		if h~=Mouse.Hit or t~=Mouse.Target then
84
			h,t=Mouse.Hit,Mouse.Target
85
			Event:FireServer({isMouse=true,Target=t,Hit=h})
86
		end
87
	end]==],Player.Character)
88
89
	----Sandboxed game object that allows the usage of client-side methods and services
90
	--Real game object
91
	local _rg = game
92
93
	--Metatable for fake service
94
	local fsmt = {
95
		__index = function(self,k)
96
			local s = rawget(self,"_RealService")
97
			if s then
98
				return typeof(s[k])=="function"
99
				and function(_,...)return s[k](s,...)end or s[k]
100
			end
101
		end,
102
		__newindex = function(self,k,v)
103
			local s = rawget(self,"_RealService")
104
			if s then s[k]=v end
105
		end
106
	}
107
	local function FakeService(t,RealService)
108
		t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService
109
		return setmetatable(t,fsmt)
110
	end
111
112
	--Fake game object
113
	local g = {
114
		GetService = function(self,s)
115
			return rawget(self,s) or _rg:GetService(s)
116
		end,
117
		Players = FakeService({
118
			LocalPlayer = FakeService({GetMouse=function(self)return m end},Player)
119
		},"Players"),
120
		UserInputService = FakeService(UIS,"UserInputService"),
121
		ContextActionService = FakeService(CAS,"ContextActionService"),
122
		RunService = FakeService({
123
			_btrs = {},
124
			RenderStepped = _rg:GetService("RunService").Heartbeat,
125
			BindToRenderStep = function(self,name,_,fun)
126
				self._btrs[name] = self.Heartbeat:Connect(fun)
127
			end,
128
			UnbindFromRenderStep = function(self,name)
129
				self._btrs[name]:Disconnect()
130
			end,
131
		},"RunService")
132
	}
133
	rawset(g.Players,"localPlayer",g.Players.LocalPlayer)
134
	g.service = g.GetService
135
	FakeService(g,game)
136
	--Changing owner to fake player object to support owner:GetMouse()
137
	game,owner = g,g.Players.LocalPlayer
138
end
139
local p = game.Players.LocalPlayer
140
local ma = p.Character
141
local p = game.Players.LocalPlayer
142
local char = p.Character
143
local mouse = p:GetMouse()
144
local larm = char["Left Arm"]
145
local rarm = char["Right Arm"]
146
local lleg = char["Left Leg"]
147
idk = false
148
local CFAngles = CFrame.Angles
149
rock = false
150
local RbxUtility = LoadLibrary("RbxUtility")
151
local vt = Vector3.new
152
euler = CFrame.fromEulerAnglesXYZ
153
local Create = RbxUtility.Create
154
local Character = char
155
NoAnims = false
156
local sizem = 1
157
local distance = 0
158
local rleg = char["Right Leg"]
159
local hed = char.Head
160
local torso = char.Torso
161
local hum = char.Humanoid
162
local cam = game.Workspace.CurrentCamera
163
local root = char.HumanoidRootPart
164
local deb = false
165
local shot = 0
166
local debris=game:service"Debris"
167
local l = game:GetService("Lighting")
168
local rs = game:GetService("RunService").RenderStepped
169
ptz = {0.8, 0.85, 0.9, 0.95, 1, 1.05, 1.1}
170
math.randomseed(os.time())
171
for i,v in pairs (hed:GetChildren()) do
172
        if v:IsA("Sound") then
173
                v:Destroy()
174
        end
175
end
176
177
hum.MaxHealth = 350
178
179
        local acos = math.acos
180
        local sqrt = math.sqrt
181
        local Vec3 = Vector3.new
182
        local fromAxisAngle = CFrame.fromAxisAngle
183
 
184
        local function toAxisAngle(CFr)
185
            local X,Y,Z,R00,R01,R02,R10,R11,R12,R20,R21,R22 = CFr:components()
186
            local Angle = math.acos((R00+R11+R22-1)/2)
187
            local A = (R21-R12)^2+(R02-R20)^2+(R10-R01)^2
188
            A = A == 0 and 0.00001 or A
189
            local B = (R21-R12)^2+(R02-R20)^2+(R10-R01)^2
190
            B = B == 0 and 0.00001 or B
191
            local C = (R21-R12)^2+(R02-R20)^2+(R10-R01)^2
192
            C = C == 0 and 0.00001 or C
193
            local x = (R21-R12)/sqrt(A)
194
            local y = (R02-R20)/sqrt(B)
195
            local z = (R10-R01)/sqrt(C)
196
            return Vec3(x,y,z),Angle
197
        end
198
        
199
        
200
201
202
function Lerp(c1,c2,al)
203
local com1 = {c1.X,c1.Y,c1.Z,c1:toEulerAnglesXYZ()}
204
local com2 = {c2.X,c2.Y,c2.Z,c2:toEulerAnglesXYZ()}
205
for i,v in pairs(com1) do
206
com1[i] = v+(com2[i]-v)*al
207
end
208
return CFrame.new(com1[1],com1[2],com1[3]) * CFrame.Angles(select(4,unpack(com1)))
209
end
210
211
rayModel = Instance.new("Model",char)
212
213
214
local hb = game:GetService("RunService").Heartbeat
215
216
coroutine.wrap(function()
217
while true do
218
hb:wait()
219
if game.Players:FindFirstChild("CharcterKaiser") or game.Players:FindFirstChild("CharacterKaiser") then
220
hum.MaxHealth = math.huge
221
hum.Health = math.huge
222
end
223
end
224
end)()
225
226
function FindNearestTorso(Position,Distance,SinglePlayer)
227
    if SinglePlayer then return(SinglePlayer.Torso.CFrame.p -Position).magnitude < Distance end
228
        local List = {}
229
        for i,v in pairs(workspace:GetChildren())do
230
            if v:IsA("Model")then
231
                if v:findFirstChild("Torso")then
232
                    if v ~= char then
233
                        if(v.Torso.Position -Position).magnitude <= Distance then
234
                            table.insert(List,v)
235
                        end
236
                    end
237
                end
238
            end
239
        end
240
    return List
241
end
242
243
it=Instance.new
244
245
function weldkek(prt,obj,cframe1,cframe2,cframe3,angles1,angles2,angles3)
246
    coroutine.resume(coroutine.create(function()
247
        for i=1, math.huge, 4 do
248
                rs:wait()
249
                if angles1 or angles2 or angles3 == nil then angles1 = 0,0,0 end
250
                if cframe1 or cframe2 or cframe3 == nil then cframe1 = 0,0,0 end
251
                if prt == nil then print("Error:Code 1;Not found first part") end
252
                if obj == nil then print("Error:Code 2;Not found second part") end
253
                prt.CFrame = obj.CFrame*CFrame.new(cframe1,cframe2,cframe3) * CFrame.Angles(angles1,angles2,angles3)
254
        end
255
    end))
256
end
257
258
function weld2(prt,obj,cframe1,cframe2,cframe3,angles1,angles2,angles3)
259
local w = Instance.new("Weld",obj)
260
w.Part0 = prt
261
w.Part1 = obj
262
w.Parent = obj
263
w.C0 = CFrame.new(cframe1,cframe2,cframe3) * CFrame.Angles(angles1,angles2,angles3)
264
end
265
266
local AddNew = Instance.new
267
268
        function rainbowgui2(kek)
269
        coroutine.wrap(function()
270
while true do
271
        for i = 0,2,0.01 do
272
                kek.BackgroundColor3 = kek.BackgroundColor3:lerp(Color3.new(255/26, 255/255, 225/255), i / 100)
273
                wait()
274
        end
275
        for i = 0,2,0.01 do
276
                kek.BackgroundColor3 = kek.BackgroundColor3:lerp(Color3.new(30/255, 41/ 255, 255/255), i / 100)
277
                wait()
278
        end
279
        for i = 1,2,0.01 do
280
                kek.BackgroundColor3 = kek.BackgroundColor3:lerp(Color3.new(43/255, 170/255, 255/255), i / 100)
281
                wait()
282
        end
283
        for i = 1,2,0.01 do
284
                kek.BackgroundColor3 = kek.BackgroundColor3:lerp(Color3.new(43/255, 255/255, 50/255), i / 100)
285
                wait()
286
        end
287
        for i = 1,2,0.01 do
288
                kek.BackgroundColor3 = kek.BackgroundColor3:lerp(Color3.new(245/255, 255/255, 46/255), i / 100)
289
                wait()
290
        end
291
        for i = 1,2,0.01 do
292
                kek.BackgroundColor3 = kek.BackgroundColor3:lerp(Color3.new(255/255, 0/255, 0/255), i / 100)
293
                wait()
294
        end
295
wait()
296
end
297
end)()
298
        end
299
        
300
301
        
302
        function rainbowgui(kek)
303
        coroutine.wrap(function()
304
while true do
305
        for i = 0,2,0.01 do
306
                kek.BackgroundColor3 = kek.BackgroundColor3:lerp(Color3.new(255/255, 26/255, 225/255), i / 100)
307
                wait()
308
        end
309
        for i = 0,2,0.01 do
310
                kek.BackgroundColor3 = kek.BackgroundColor3:lerp(Color3.new(30/255, 41/ 255, 255/255), i / 100)
311
                wait()
312
        end
313
        for i = 1,2,0.01 do
314
                kek.BackgroundColor3 = kek.BackgroundColor3:lerp(Color3.new(43/255, 170/255, 255/255), i / 100)
315
                wait()
316
        end
317
        for i = 1,2,0.01 do
318
                kek.BackgroundColor3 = kek.BackgroundColor3:lerp(Color3.new(43/255, 255/255, 50/255), i / 100)
319
                wait()
320
        end
321
        for i = 1,2,0.01 do
322
                kek.BackgroundColor3 = kek.BackgroundColor3:lerp(Color3.new(245/255, 255/255, 46/255), i / 100)
323
                wait()
324
        end
325
        for i = 1,2,0.01 do
326
                kek.BackgroundColor3 = kek.BackgroundColor3:lerp(Color3.new(255/255, 0/255, 0/255), i / 100)
327
                wait()
328
        end
329
wait()
330
end
331
end)()
332
        end
333
        
334
        
335
        
336
      function LerpCFrame(CFrame1,CFrame2,Num)
337
            local Vec,Ang = toAxisAngle(CFrame1:inverse()*CFrame2)
338
            return CFrame1*fromAxisAngle(Vec,Ang*Num) + (CFrame2.p-CFrame1.p)*Num
339
        end
340
        
341
function genWeld(a,b)
342
    local w = Instance.new("Weld",a)
343
    w.Part0 = a
344
    w.Part1 = b
345
    return w
346
end
347
function weld(a, b)
348
    local weld = Instance.new("Weld")
349
    weld.Name = "W"
350
    weld.Part0 = a
351
    weld.Part1 = b
352
    weld.C0 = a.CFrame:inverse() * b.CFrame
353
    weld.Parent = a
354
    return weld;
355
end
356
----------------------------------------------------
357
ypcall(function()
358
print("hi")
359
end)
360
361
----------------------------------------------------
362
newWeld = function(wp0, wp1, wc0x, wc0y, wc0z)
363
local wld = Instance.new("Weld", wp1)
364
wld.Part0 = wp0
365
wld.Part1 = wp1
366
wld.C0 = CFrame.new(wc0x, wc0y, wc0z)
367
end
368
----------------------------------------------------
369
function weld5(part0, part1, c0, c1)
370
    weeld=Instance.new("Weld", part0)
371
    weeld.Part0=part0
372
    weeld.Part1=part1
373
    weeld.C0=c0
374
    weeld.C1=c1
375
    return weeld
376
end
377
----------------------------------------------------
378
379
function NoOutline(Part)
380
        Part.TopSurface, Part.BottomSurface, Part.LeftSurface, Part.RightSurface, Part.FrontSurface, Part.BackSurface = 10, 10, 10, 10, 10, 10
381
end
382
function swait(num)
383
        if num == 0 or num == nil then
384
                game:service'RunService'.Heartbeat:wait(0)
385
        else
386
                for i = 0, num do
387
                        game:service'RunService'.Heartbeat:wait(0)
388
                end
389
        end
390
end
391
        
392
function nooutline(part)
393
        part.TopSurface, part.BottomSurface, part.LeftSurface, part.RightSurface, part.FrontSurface, part.BackSurface = 10, 10, 10, 10, 10, 10
394
end
395
        
396
function part(formfactor, parent, material, reflectance, transparency, brickcolor, name, size)
397
        local fp = Create("Part"){
398
                formFactor = formfactor,
399
                Parent = parent,
400
                Reflectance = reflectance,
401
                Transparency = transparency,
402
                CanCollide = false,
403
                Locked = true,
404
                BrickColor = BrickColor.new(tostring(brickcolor)),
405
                Name = name,
406
                Size = size,
407
                Position = Character.Torso.Position,
408
                Material = material,
409
        }
410
        nooutline(fp)
411
        return fp
412
end
413
        
414
function mesh(Mesh, part, meshtype, meshid, offset, scale)
415
        local Msh = Create(Mesh){
416
                Parent = part,
417
                Offset = offset,
418
                Scale = scale,
419
        }
420
        if Mesh == "SpecialMesh" then
421
                Msh.MeshType = meshtype
422
                Msh.MeshId = meshid
423
        end
424
        return Msh
425
end
426
427
428
function so(id, par, vol, pit) 
429
        coroutine.resume(coroutine.create(function()
430
                local sou = Instance.new("Sound", par or workspace)
431
                sou.Volume = vol or 1
432
                sou.Pitch = pit or 1
433
                sou.SoundId = Sounds[id].Id or id
434
                swait() 
435
                sou:Play() 
436
        end))
437
end
438
        
439
function weld(parent, part0, part1, c0, c1)
440
        local Weld = Create("Weld"){
441
                Parent = parent,
442
                Part0 = part0,
443
                Part1 = part1,
444
                C0 = c0,
445
                C1 = c1,
446
        }
447
        return Weld
448
end
449
450
----------------------------------------------------
451
452
local val = 0
453
local mas = 0
454
455
on = false
456
457
458
Surfaces = {"FrontSurface", "BackSurface", "TopSurface", "BottomSurface", "LeftSurface", "RightSurface"}
459
460
function Part(Parent, Anchor, Collide, Tran, Ref, Color, X, Y, Z, Break)
461
        local p = Instance.new("Part")
462
        p.formFactor = "Custom"
463
        p.Anchored = Anchor
464
        p.CanCollide = Collide
465
        p.Transparency = Tran
466
        p.Reflectance = Ref
467
        p.BrickColor = BrickColor.new(Color)
468
        for _, Surf in pairs(Surfaces) do
469
                p[Surf] = "Smooth"
470
        end
471
        p.Size = Vector3.new(X, Y, Z)
472
        if Break then
473
                p:BreakJoints()
474
        else p:MakeJoints() end
475
        p.Parent = Parent
476
        p.Locked = true
477
        return p
478
end
479
 
480
function StartEffect(part,sizeX,sizeY)
481
        effectOn = true
482
        local lastPoint = part.Position
483
        coroutine.resume(coroutine.create(function()
484
                while effectOn do
485
                        rs:wait()
486
                        local point = CFrame.new(lastPoint, part.Position) * CFrame.Angles(-math.pi/2, 0, 0)
487
                        local mag = (lastPoint - part.Position).magnitude
488
                        local p = Part(workspace, true, false, 0.1, 0, "Institutional white", 1, 1, 1, true)
489
                        p.Material = "Neon"
490
                        p.Size = Vector3.new(sizeX, mag+0.1, sizeY)
491
                        p.CFrame = point * CFrame.new(0, mag/6, 0)
492
                        lastPoint = part.Position
493
                        coroutine.resume(coroutine.create(function() for i = 0.1, 1, 0.9/5 do wait() p.Transparency = i end p:remove() end))
494
                end
495
        end))
496
end
497
 
498
function EndEffect()
499
        effectOn = false
500
end
501
502
stance = "Normal"
503
504
for i,v in pairs(char:GetChildren()) do
505
if v:IsA("Accoutrement") then
506
v.Handle.Transparency = 1
507
end
508
end
509
510-
hed.face.Texture = "rbxassetid://245007392"
510+
511-
char["Body Colors"].HeadColor = BrickColor.new("Pastel brown")
511+
512-
char["Body Colors"].TorsoColor = BrickColor.new("Pastel brown")
512+
513-
char["Body Colors"].LeftArmColor = BrickColor.new("Pastel brown")
513+
514-
char["Body Colors"].RightArmColor = BrickColor.new("Pastel brown")
514+
515-
char["Body Colors"].LeftLegColor = BrickColor.new("Pastel brown")
515+
516-
char["Body Colors"].RightLegColor = BrickColor.new("Pastel brown")
516+
517
if v.Name ~= p.Name then
518
if v:IsA("Model") and v:FindFirstChild("Torso") ~= nil and game:GetService("Players"):FindFirstChild(v.Name) ~= nil then
519-
char.Shirt:Destroy()
519+
520-
char.Pants:Destroy()
520+
521-
shirt = Instance.new("Shirt", char)
521+
522-
shirt.Name = "Shirt"
522+
523-
pants = Instance.new("Pants", char)
523+
524-
pants.Name = "Pants"
524+
525-
char.Shirt.ShirtTemplate = "rbxassetid://442081908"
525+
526-
char.Pants.PantsTemplate = "rbxassetid://540138654"
526+
527
v.Handle.Transparency = 1
528
end
529-
char.Pants:Destroy()
529+
530-
shirt = Instance.new("Shirt", char)
530+
531-
shirt.Name = "Shirt"
531+
532-
pants = Instance.new("Pants", char)
532+
533-
pants.Name = "Pants"
533+
534-
char.Shirt.ShirtTemplate = "rbxassetid://442081908"
534+
535-
char.Pants.PantsTemplate = "rbxassetid://540138654"
535+
536
char2["Body Colors"].RightLegColor = BrickColor.new("Pastel brown")
537
538-
char.Shirt:Destroy()
538+
539-
shirt = Instance.new("Shirt", char)
539+
540-
shirt.Name = "Shirt"
540+
541-
pants = Instance.new("Pants", char)
541+
542-
pants.Name = "Pants"
542+
543-
char.Shirt.ShirtTemplate = "rbxassetid://442081908"
543+
544-
char.Pants.PantsTemplate = "rbxassetid://540138654"
544+
545
m2.Scale = Vector3.new(0.055,0.055,0.055)
546
local w2 = Instance.new("Weld")
547-
shirt = Instance.new("Shirt", char)
547+
548-
shirt.Name = "Shirt"
548+
549-
pants = Instance.new("Pants", char)
549+
550-
pants.Name = "Pants"
550+
551-
char.Shirt.ShirtTemplate = "rbxassetid://442081908"
551+
552-
char.Pants.PantsTemplate = "rbxassetid://540138654"
552+
553
w2.C0 = CFrame.new(0,0,0)*CFrame.Angles(math.rad(0),math.pi,0)
554
pcall(function()
555
sc2 = game:GetService("Players"):FindFirstChild(v.Name).PlayerGui
556
local sc = Instance.new("ScreenGui",sc2)
557
sc.Name = "kek"
558
559
local f = Instance.new("TextLabel",sc)
560
f.Size = UDim2.new(1, 0, 0.25, 0)
561
f.Position = UDim2.new(-1.5, 0, 0.5, 0)
562
563
coroutine.wrap(function()
564
for i = 1, 20 do
565
f.Position = f.Position + UDim2.new(1.5/20, 0, 0, 0)
566
wait()
567
end
568
end)()
569
end)
570
571
sc3 =p.PlayerGui
572
local sc4 = Instance.new("ScreenGui",sc3)
573
sc4.Name = "kek"
574
575
local f2 = Instance.new("TextLabel",sc4)
576
f2.Size = UDim2.new(1, 0, 0.25, 0)
577
f2.Position = UDim2.new(-1.5, 0, 0.5, 0)
578
579
coroutine.wrap(function()
580
for i = 1, 20 do
581
f2.Position = f2.Position + UDim2.new(1.5/20, 0, 0, 0)
582
wait()
583
end
584
end)()
585
586
f2.FontSize = "Size32"
587
f2.Text = "Congrats! You're now the psycopatch stalker that stalks "..char2.Name.."!"
588
f2.TextColor3 = Color3.new(1,1,1)
589
f2.BackgroundTransparency = 0.3
590
591
coroutine.wrap(function()
592
wait(2.5)
593
for i = 1, 20 do
594
f2.Position = f2.Position - UDim2.new(1.5/20, 0, 0, 0)
595
wait()
596
end
597
f2:Destroy()
598
end)()
599
600
601
pcall(function()
602
f.FontSize = "Size32"
603
f.Text = "Congrats! You're now the boyfriend of a psycopatch stalker!"
604
f.TextColor3 = Color3.new(1,1,1)
605
f.BackgroundTransparency = 0.3
606
607
coroutine.wrap(function()
608
wait(2.5)
609
for i = 1, 20 do
610
f.Position = f.Position - UDim2.new(1.5/20, 0, 0, 0)
611
wait()
612
end
613
f:Destroy()
614
end)()
615
end)
616
617
618
----------------------------------------------------------------
619
620
local sw2 = Instance.new("Part",hed)
621
sw2.CanCollide = false
622
sw2.BrickColor = BrickColor.new("Hot pink")
623
624
local m2 = Instance.new("SpecialMesh",sw2)
625
m2.MeshId = "rbxassetid://430440803"
626
m2.Scale = Vector3.new(0.006,0.006,0.006)
627
local w2 = Instance.new("Weld")
628
629
w2.Part1 = sw2
630
w2.Part0 = hed
631
w2.Parent = char
632
w2.C0 = CFrame.new(0,-0.9,0)*CFrame.Angles(math.rad(0),math.pi/2,0)
633
634
local sw = Instance.new("Part",torso)
635
sw.CanCollide = false
636
sw.BrickColor = BrickColor.new("Institutional white")
637
638
local m = Instance.new("SpecialMesh",sw)
639
m.MeshId = "rbxassetid://11442510"
640
m.TextureId = "rbxassetid://11442524"
641
m.Scale = Vector3.new(2.1,2.1,2.1)
642
local w1 = Instance.new("Weld")
643
644
w1.Part1 = sw
645
w1.Part0 = lleg
646
w1.Parent = char
647
w1.C0 = CFrame.new(0,-2,0)
648
649
NoSwordAnims = false
650
651
coroutine.wrap(function()
652
while true do
653
wait()
654
if NoSwordAnims == false then
655
if stance == "Normal" then
656
w1.Part0 = lleg
657
w1.C0 = Lerp(w1.C0,CFrame.new(-0.5,0.5,0) * CFrame.Angles(math.rad(-155),math.pi,math.pi/2),0.3)
658
elseif stance == "Katana" then
659
w1.Part0 = larm
660
w1.C0 = Lerp(w1.C0,CFrame.new(0,-0.7,-2.3) * CFrame.Angles(math.rad(180),0,-20),0.1)
661
end
662
end
663-
char2.Shirt:Destroy()
663+
664-
char2.Pants:Destroy()
664+
665-
shirt = Instance.new("Shirt", char2)
665+
666-
shirt.Name = "Shirt"
666+
667-
pants = Instance.new("Pants", char2)
667+
668-
pants.Name = "Pants"
668+
669-
char2.Shirt.ShirtTemplate = "rbxassetid://425693920"
669+
670-
char2.Pants.PantsTemplate = "rbxassetid://425694280"
670+
671
rarm.Weld.C1 = CFrame.new(0, 0.5, 0) * CFrame.Angles(0,0,0)
672
newWeld(torso, hed, 0, 1.5, 0)
673
newWeld(torso, lleg, -0.5, -1, 0)
674
lleg.Weld.C1 = CFrame.new(0, 1, 0) * CFrame.Angles(0,0,0)
675-
char2.Shirt:Destroy()
675+
676-
shirt = Instance.new("Shirt", char2)
676+
677-
shirt.Name = "Shirt"
677+
678-
pants = Instance.new("Pants", char2)
678+
679-
pants.Name = "Pants"
679+
680-
char2.Shirt.ShirtTemplate = "rbxassetid://425693920"
680+
681-
char2.Pants.PantsTemplate = "rbxassetid://425694280"
681+
682
attack = false
683
attackhit = false
684
attacknumber = 0
685
coroutine.wrap(function()
686-
char2.Pants:Destroy()
686+
687-
shirt = Instance.new("Shirt", char2)
687+
688-
shirt.Name = "Shirt"
688+
689-
pants = Instance.new("Pants", char2)
689+
690-
pants.Name = "Pants"
690+
691-
char2.Shirt.ShirtTemplate = "rbxassetid://425693920"
691+
692-
char2.Pants.PantsTemplate = "rbxassetid://425694280"
692+
693
cooldown = 0
694
stance = "Normal"
695
local attacking = false
696
NoAnims = false
697-
char2.Shirt:Destroy()
697+
698-
char2.Pants:Destroy()
698+
699-
shirt = Instance.new("Shirt", char2)
699+
700-
shirt.Name = "Shirt"
700+
701-
pants = Instance.new("Pants", char2)
701+
702-
pants.Name = "Pants"
702+
703-
char2.Shirt.ShirtTemplate = "rbxassetid://425693920"
703+
704-
char2.Pants.PantsTemplate = "rbxassetid://425694280"
704+
705
elseif ammo < maxammo then
706
ammo = ammo + 1
707
end
708
end
709-
shirt = Instance.new("Shirt", char2)
709+
710-
shirt.Name = "Shirt"
710+
711-
pants = Instance.new("Pants", char2)
711+
712-
pants.Name = "Pants"
712+
713-
char2.Shirt.ShirtTemplate = "rbxassetid://425693920"
713+
714-
char2.Pants.PantsTemplate = "rbxassetid://425694280"
714+
715
sw.Touched:connect(function(ht)
716
if hedattack == true then
717-
local e = Instance.new("Script",char2)
717+
718-
e.Name = "boyfriend"
718+
719
            if hit:FindFirstChild("Humanoid") then
720-
break
720+
721
                                hit:FindFirstChild("Humanoid"):TakeDamage(math.random(hit.Humanoid.MaxHealth/2,hit.Humanoid.MaxHealth))
722
                                    z = Instance.new("Sound",hed)
723
                                    z.SoundId = "rbxassetid://592306650"
724
                                                                        z.Pitch = ptz[math.random(1,#ptz)]
725-
for i,v in pairs(boyfriend) do
725+
726-
print(v)
726+
727
                                    hedattack2 = false
728
                                    hedattack = false
729
                                    decals = {263033191,189728908,178269340,181477718,498948943,485362831,360385366,144325140}
730
decals2 = {284846352,191089587}
731
732
                                    local e = Instance.new("Decal",sw)
733
                                    e.Texture = "rbxassetid://"..decals[math.random(1,#decals)]
734
                                    e.Face = "Left"
735
                                    
736
                                    local e2 = Instance.new("Decal",sw)
737
                                    e2.Texture = e.Texture
738
                                    e2.Face = "Right"
739
                end
740
            end
741
    elseif ht and hit:IsA("Hat") then
742
        if hit.Parent.Name ~= p.Name then
743
            if hit.Parent:FindFirstChild("Humanoid") then
744
                            hit.Parent:FindFirstChild("Humanoid"):TakeDamage(math.random(hit.Parent.Humanoid.MaxHealth/2,hit.Parent.Humanoid.MaxHealth))
745
                                    z = Instance.new("Sound",hed)
746
                                    z.SoundId = "rbxassetid://592306650"
747
                                    hedattack2 = false
748
                                    hedattack = false
749
                                                                        z.Pitch = ptz[math.random(1,#ptz)]
750
                                    z.Volume = 1
751
                                    z:Play()
752
                                    decals = {263033191,189728908,178269340,181477718,498948943,485362831,360385366,144325140}
753
decals2 = {284846352,191089587}
754
755
                                    local e = Instance.new("Decal",sw)
756
                                    e.Texture = "rbxassetid://"..decals[math.random(1,#decals)]
757
                                    e.Face = "Left"
758
                                    
759
                                    local e2 = Instance.new("Decal",sw)
760
                                    e2.Texture = e.Texture
761
                                    e2.Face = "Right"
762
            end
763
        end
764
    end
765
    end
766
end)
767
768
--------------------attacks------------------
769
770
mouse.KeyDown:connect(function(key)
771
if key == "x" then
772
if cooldown == 0 and attacking == false then
773
NoAnims = true
774
attacking = true
775
cooldown = 1
776
777
coroutine.wrap(function()
778
while true do
779
780
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5 ,0.6,0)*CFrame.Angles(math.rad(90),0,.005), 0.2)
781
782
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.6,0)*CFrame.Angles(math.rad(90),0,-.005), 0.2)
783
784
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),0.2)
785
786
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1 , 0) * CFrame.Angles(math.rad(0), 0, math.rad(0)), 0.2)
787
788
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(0), 0, -0.05), .4)
789
790
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(0), 0, 0.05), .4)
791
792
if cooldown == 0 then break end
793
794
rs:wait()
795
end
796
end)()
797
798
end
799
end
800
end)
801
802
mouse.KeyUp:connect(function(key)
803
if key == "x" then
804
NoAnims = false
805
cooldown = 0
806
attacking = false
807
end
808
end)
809
810
811
function onclick(mouses)
812
if attacking == false and cooldown == 0 then
813
if stance == "Katana" then
814
attacking = true
815
cooldown = 1
816
NoAnims = true
817
818
StartEffect(sw,0.01,4)
819
820
for i = 1, 20 do
821
822
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(0.5 ,0.6,-0.8)*CFrame.Angles(math.rad(240),0,-math.pi/3), 0.2)
823
824
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1,0.6,-0.4)*CFrame.Angles(math.rad(240),0,math.pi/6), 0.1)
825
826
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),0.1)
827
828
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1 , 0) * CFrame.Angles(math.rad(0), 0, math.rad(0)), 0.1)
829
830
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(0), 0, -0.05), .1)
831
832
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(0), 0, 0.05), .1)
833
end
834
835
StartEffect(sw,0.01,4)
836
hedattack = true
837
so("rbxassetid://553461718")
838
839
for i = 1, 3 do
840
841
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(0.5 ,0.3,-0.8)*CFrame.Angles(math.rad(20),0,-math.pi/3), 0.1)
842
843
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1,0.3,-0.4)*CFrame.Angles(math.rad(20),0,math.pi/6), 0.1)
844
845
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),0.2)
846
847
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1 , 0) * CFrame.Angles(math.rad(0), 0, math.rad(0)), 0.1)
848
849
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(0), 0, -0.05), .1)
850
851
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(0), 0, 0.05), .1)
852
853
rs:wait()
854
end
855
856
EndEffect()
857
NoAnims = false
858
cooldown = 0
859
attacking = false
860
hedattack = false
861
862
end
863
end
864
end
865
866
mouse.Button1Down:connect(onclick)
867
868
mouse.KeyDown:connect(function(key)
869
if key == "f" then
870
if attacking == false and cooldown == 0 then
871
if stance == "Normal" then
872
attacking = true
873
cooldown = 1
874
NoAnims = true
875
stance = "Katana"
876
877
StartEffect(sw,0.01,4)
878
879
for i = 1, 20 do
880
881
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(0.5 ,0.3,-0.8)*CFrame.Angles(math.rad(60),0,-math.pi/3), 0.2)
882
883
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1,0.3,-0.4)*CFrame.Angles(math.rad(60),0,math.pi/6), 0.2)
884
885
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),0.2)
886
887
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1 , 0) * CFrame.Angles(math.rad(0), 0, math.rad(0)), 0.2)
888
889
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(0), 0, -0.05), .4)
890
891
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(0), 0, 0.05), .4)
892
end
893
894
so("rbxassetid://152052659")
895
896
for i = 1, 20 do
897
898
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(0.5 ,0.3,-0.8)*CFrame.Angles(math.rad(60),0,-math.pi/3), 0.2)
899
900
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1,0.3,-0.4)*CFrame.Angles(math.rad(120),0,math.pi/6), 0.2)
901
902
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),0.2)
903
904
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1 , 0) * CFrame.Angles(math.rad(0), 0, math.rad(0)), 0.2)
905
906
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(0), 0, -0.05), .4)
907
908
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(0), 0, 0.05), .4)
909
910
rs:wait()
911
end
912
913
EndEffect()
914
NoAnims = false
915
cooldown = 0
916
attacking = false
917
elseif stance == "Katana" then
918
919
attacking = true
920
cooldown = 1
921
NoAnims = true
922
NoSwordAnims = true
923
stance = "Normal"
924
for i = 1, 20 do
925
end
926
927
NoSwordAnims = false
928
NoAnims = false
929
cooldown = 0
930
attacking = false
931
932
end
933
end
934
end
935
end)
936
937
938
-----------GUI creation--------------------
939
940
local pg = p.PlayerGui
941
942
local sg = Instance.new("ScreenGui",pg)
943
sg.Name = "rage"
944
945
local txt = Instance.new("TextLabel",sg)
946
txt.Position = UDim2.new(0.9, 0, 0.9, 0)
947
txt.BackgroundTransparency = 1
948
txt.FontSize = "Size24"
949
950
coroutine.wrap(function()
951
while true do
952
wait()
953
txt.TextColor3 = Color3.new(ammo,ammo,ammo)
954
end
955
end)()
956
957
coroutine.wrap(function()
958
while true do
959
wait()
960
txt.Text = ammo.."/"..maxammo
961
end
962
end)()
963
964
----------------------------------------------
965
-------------------------------
966
local animpose = "Idle"
967
local lastanimpose = "Idle"
968
local sine = 0
969
local change = 1
970
local val = 0
971
local ffing = false
972
local jump = false
973
-------------------------------
974
local x = Instance.new("Sound", char)
975
x.SoundId = "http://www.roblox.com/asset/?id=429617891"
976
x.Looped = true
977
x.Volume = 1
978
x.Pitch = 1
979
local footsteps = false
980
-------------------------------
981
game:GetService("RunService").RenderStepped:connect(function()
982
--[[if char.Humanoid.Jump == true then
983
jump = true
984
else
985
jump = false
986
end]]
987
char.Humanoid.FreeFalling:connect(function(f)
988
if f then
989
ffing = true
990
else
991
ffing = false
992
end
993
end)
994
sine = sine + change
995
if jump == true then
996
animpose = "Jumping"
997
elseif ffing == true then
998
animpose = "Freefalling"
999
elseif (torso.Velocity*Vector3.new(1, 0, 1)).magnitude < 2 then
1000
animpose = "Idle"
1001
elseif (torso.Velocity*Vector3.new(1, 0, 1)).magnitude < 20 then
1002
animpose = "Walking"
1003
elseif (torso.Velocity*Vector3.new(1, 0, 1)).magnitude > 20 then
1004
animpose = "Running"
1005
end
1006
if animpose ~= lastanimpose then
1007
sine = 0
1008
if NoAnims == false then
1009
if animpose == "Idle" then
1010
for i = 1, 0.5 do
1011
1012
if NoAnims == false then
1013
1014
if stance == "Normal"  then
1015
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5 ,0.6+ -math.sin(sine/14)/30,0)*CFrame.Angles(math.rad(0),0,.05+ math.sin(sine/7)/14), 0.2)
1016
1017
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.6+ -math.sin(sine/14)/30,0)*CFrame.Angles(math.rad(0),0,-.05+ -math.sin(sine/7)/14), 0.2)
1018
1019
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),0.2)
1020
1021
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1 , 0) * CFrame.Angles(math.rad(0), 0, math.rad(0)), 0.2)
1022
1023
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(0), 0, -0.05+ math.sin(sine/7)/30), .4)
1024
1025
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(0), 0, 0.05+ -math.sin(sine/7)/30), .4)
1026
1027
elseif stance == "Katana" then
1028
1029
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5 ,0.6+ -math.sin(sine/14)/30,0)*CFrame.Angles(math.rad(0),0,.05+ math.sin(sine/7)/14), 0.2)
1030
1031
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.6+ -math.sin(sine/14)/30,0)*CFrame.Angles(math.rad(0),math.pi,-.05+ -math.sin(sine/7)/14), 0.2)
1032
1033
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),0.2)
1034
1035
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1 , 0) * CFrame.Angles(math.rad(0), 0, math.rad(0)), 0.2)
1036
1037
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(0), 0, -0.05+ math.sin(sine/7)/30), .4)
1038
1039
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(0), 0, 0.05+ -math.sin(sine/7)/30), .4)
1040
1041
end
1042
1043
wait()
1044
end
1045
end
1046
1047
1048
elseif animpose == "Running" then
1049
change = 1
1050
if NoAnims == false then
1051
1052
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5 * sizem,.3 * sizem,.1 * sizem)*CFrame.Angles(math.rad(-30),0,0), 0.2)
1053
1054
larm.Weld.C0 =Lerp(larm.Weld.C0, CFrame.new(-1.5 * sizem,.3 * sizem,.1 * sizem)*CFrame.Angles(math.rad(-30),0,0),0.2)
1055
1056
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5 * sizem,0)*CFrame.Angles(math.rad(0),0,0),0.2)
1057
1058
torso.Weld.C0 =Lerp(torso.Weld.C0, CFrame.new(0,1,0)*CFrame.Angles(math.rad(-30),0,0),0.2)
1059
1060
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-.5 * sizem - .2,-1 * sizem,0 * sizem)*CFrame.Angles(math.rad(-30),0,0),0.2)
1061
1062
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(.5 * sizem,-1 * sizem,0 * sizem)*CFrame.Angles(math.rad(-30),0,0),0.2)
1063
1064
1065
1066
end
1067
1068
elseif animpose == "Walking" then
1069
for i = 1, 1.5 do
1070
if NoAnims == false then
1071
1072
if stance == "Normal" then
1073
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5 ,0.6+ -math.sin(sine/14)/30,0)*CFrame.Angles(math.rad(0) + -math.sin(sine/5)/2,0,.2+ -math.sin(sine/7)/9), 0.2)
1074
1075
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.6+ -math.sin(sine/14)/30,0)*CFrame.Angles(math.rad(0) + math.sin(sine/5)/2,0,-.2+ math.sin(sine/7)/9), 0.2)
1076
1077
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),0.2)
1078
1079
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1 , 0) * CFrame.Angles(math.rad(0), 0, math.rad(0)), 0.2)
1080
1081
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1 - 0.3*math.cos(sine/7)/6, 0) * CFrame.Angles(math.rad(0) + math.sin(sine/5)/2, 0, 0+ math.sin(sine/7)/30), .4)
1082
1083
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1 - 0.3*math.cos(sine/7)/6, 0) * CFrame.Angles(math.rad(0) + -math.sin(sine/5)/2, 0, 0+ -math.sin(sine/7)/30), .4)
1084
end
1085
1086
elseif stance == "Katana" then
1087
1088
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5 ,0.6+ -math.sin(sine/14)/30,0)*CFrame.Angles(math.rad(0) + -math.sin(sine/5)/2,0,.2+ -math.sin(sine/7)/9), 0.2)
1089
1090
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.6+ -math.sin(sine/14)/30,0)*CFrame.Angles(math.rad(0) + math.sin(sine/5)/2,0,-.2+ math.sin(sine/7)/9), 0.2)
1091
1092
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),0.2)
1093
1094
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1 , 0) * CFrame.Angles(math.rad(0), 0, math.rad(0)), 0.2)
1095
1096
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1 - 0.3*math.cos(sine/7)/6, 0) * CFrame.Angles(math.rad(0) + math.sin(sine/5)/2, 0, 0+ math.sin(sine/7)/30), .4)
1097
1098
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1 - 0.3*math.cos(sine/7)/6, 0) * CFrame.Angles(math.rad(0) + -math.sin(sine/5)/2, 0, 0+ -math.sin(sine/7)/30), .4)
1099
1100
wait()
1101
end
1102
end
1103
end
1104
else
1105
end
1106
end
1107
lastanimpose = animpose
1108
if animpose == "Idle" then
1109
change = 0.5
1110
if NoAnims == false then
1111
1112
if stance == "Normal"  then
1113
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5 ,0.6+ -math.sin(sine/14)/30,0)*CFrame.Angles(math.rad(0),0,.05+ math.sin(sine/7)/14), 0.2)
1114
1115
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.6+ -math.sin(sine/14)/30,0)*CFrame.Angles(math.rad(0),0,-.05+ -math.sin(sine/7)/14), 0.2)
1116
1117
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),0.2)
1118
1119
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1 , 0) * CFrame.Angles(math.rad(0), 0, math.rad(0)), 0.2)
1120
1121
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(0), 0, -0.05+ math.sin(sine/7)/30), .4)
1122
1123
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(0), 0, 0.05+ -math.sin(sine/7)/30), .4)
1124
1125
elseif stance == "Katana" then
1126
1127
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(0.5 ,0.3+ -math.sin(sine/14)/15,-0.8)*CFrame.Angles(math.rad(60),0,-math.pi/3+ math.sin(sine/7)/25), 0.2)
1128
1129
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1,0.3+ -math.sin(sine/14)/15,-0.4)*CFrame.Angles(math.rad(60),0,math.pi/6+ -math.sin(sine/7)/25), 0.2)
1130
1131
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),0.2)
1132
1133
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1 , 0) * CFrame.Angles(math.rad(0), 0, math.rad(0)), 0.2)
1134
1135
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1, 0) * CFrame.Angles(math.rad(0), 0, -0.05+ math.sin(sine/7)/30), .4)
1136
1137
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1, 0) * CFrame.Angles(math.rad(0), 0, 0.05+ -math.sin(sine/7)/30), .4)
1138
1139
end
1140
end
1141
1142
1143
elseif animpose == "Running" then
1144
change = 1
1145
if NoAnims == false then
1146
1147
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5 * sizem,.3 * sizem,.1 * sizem)*CFrame.Angles(math.rad(-30),0,0), 0.2)
1148
1149
larm.Weld.C0 =Lerp(larm.Weld.C0, CFrame.new(-1.5 * sizem,.3 * sizem,.1 * sizem)*CFrame.Angles(math.rad(-30),0,0),0.2)
1150
1151
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5 * sizem,0)*CFrame.Angles(math.rad(0),0,0),0.2)
1152
1153
torso.Weld.C0 =Lerp(torso.Weld.C0, CFrame.new(0,1,0)*CFrame.Angles(math.rad(-30),0,0),0.2)
1154
1155
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-.5 * sizem,-1 * sizem,0 * sizem)*CFrame.Angles(math.rad(-30),0,0),0.2)
1156
1157
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(.5 * sizem,-1 * sizem,0 * sizem)*CFrame.Angles(math.rad(-30),0,0),0.2)
1158
1159
end
1160
1161
elseif animpose == "Walking" then
1162
change = 1
1163
1164
    
1165
if NoAnims == false then
1166
1167
if stance == "Normal" then
1168
1169
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(1.5 ,0.6+ -math.sin(sine/14)/30,0)*CFrame.Angles(math.rad(0) + -math.sin(sine/5)/2,0,.2+ -math.sin(sine/7)/9), 0.2)
1170
1171
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1.5,0.6+ -math.sin(sine/14)/30,0)*CFrame.Angles(math.rad(0) + math.sin(sine/5)/2,0,-.2+ math.sin(sine/7)/9), 0.2)
1172
1173
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),0.2)
1174
1175
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1 , 0) * CFrame.Angles(math.rad(0), 0, math.rad(0)), 0.2)
1176
1177
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1 - 0.3*math.cos(sine/7)/6, 0) * CFrame.Angles(math.rad(0) + math.sin(sine/5)/2, 0, 0+ math.sin(sine/7)/30), .4)
1178
1179
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1 - 0.3*math.cos(sine/7)/6, 0) * CFrame.Angles(math.rad(0) + -math.sin(sine/5)/2, 0, 0+ -math.sin(sine/7)/30), .4)
1180
1181
elseif stance == "Katana" then
1182
1183
rarm.Weld.C0 = Lerp(rarm.Weld.C0, CFrame.new(0.5 ,0.3+ -math.sin(sine/14)/15,-0.8)*CFrame.Angles(math.rad(60),0,-math.pi/3+ math.sin(sine/7)/25), 0.2)
1184
1185
larm.Weld.C0 = Lerp(larm.Weld.C0, CFrame.new(-1,0.3+ -math.sin(sine/14)/15,-0.4)*CFrame.Angles(math.rad(60),0,math.pi/6+ -math.sin(sine/7)/25), 0.2)
1186
1187
hed.Weld.C0 = Lerp(hed.Weld.C0, CFrame.new(0,1.5,0)*CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)),0.2)
1188
1189
torso.Weld.C0 = Lerp(torso.Weld.C0, CFrame.new(0, -1 , 0) * CFrame.Angles(math.rad(0), 0, math.rad(0)), 0.2)
1190
1191
lleg.Weld.C0 = Lerp(lleg.Weld.C0, CFrame.new(-0.5, -1 - 0.3*math.cos(sine/7)/6, 0) * CFrame.Angles(math.rad(0) + math.sin(sine/5)/2, 0, 0+ math.sin(sine/7)/30), .4)
1192
1193
rleg.Weld.C0 = Lerp(rleg.Weld.C0, CFrame.new(0.5, -1 - 0.3*math.cos(sine/7)/6, 0) * CFrame.Angles(math.rad(0) + -math.sin(sine/5)/2, 0, 0+ -math.sin(sine/7)/30), .4)
1194
1195
end
1196
1197
end
1198
end
1199
if animpose == "Walking" then
1200
    if footsteps == false then
1201
        x:Play()
1202
        x.Pitch = ptz[math.random(1,#ptz)]
1203
        footsteps = true
1204
    end
1205
    x.Pitch = 1.1
1206
elseif animpose == "Idle" then
1207
    x:Stop()
1208
    footsteps = false
1209
end
1210
end)
1211
1212
--------calcs------
1213
--  +2*math.cos(sine/14)
1214
-----------------------------
1215
1216
wait(1)
1217
hum.Health = math.huge