SHOW:
|
|
- or go back to the newest paste.
1 | --//====================================================\\-- | |
2 | - | local Player,Mouse,mouse,UserInputService,ContextActionService = owner |
2 | + | --|| Templates BY Aom[WCR] |
3 | --\\====================================================//-- | |
4 | - | do print("FE Compatibility code by Mokiros")local a=RealPlayer;script.Parent=a.Character;local b=Instance.new("RemoteEvent")b.Name="UserInput_Event"local function c()local d={_fakeEvent=true,Functions={},Connect=function(self,e)table.insert(self.Functions,e)end}d.connect=d.Connect;return d end;local f={Target=nil,Hit=CFrame.new(),KeyUp=c(),KeyDown=c(),Button1Up=c(),Button1Down=c(),Button2Up=c(),Button2Down=c()}local g={InputBegan=c(),InputEnded=c()}local CAS={Actions={},BindAction=function(self,h,i,j,...)CAS.Actions[h]=i and{Name=h,Function=i,Keys={...}}or nil end}CAS.UnbindAction=CAS.BindAction;local function k(self,l,...)local d=f[l]if d and d._fakeEvent then for m,e in pairs(d.Functions)do e(...)end end end;f.TrigEvent=k;g.TrigEvent=k;b.OnServerEvent:Connect(function(n,o)if n~=a then return end;f.Target=o.Target;f.Hit=o.Hit;if not o.isMouse then local p=o.UserInputState==Enum.UserInputState.Begin;if o.UserInputType==Enum.UserInputType.MouseButton1 then return f:TrigEvent(p and"Button1Down"or"Button1Up")end;if o.UserInputType==Enum.UserInputType.MouseButton2 then return f:TrigEvent(p and"Button2Down"or"Button2Up")end;for m,d in pairs(CAS.Actions)do for m,q in pairs(d.Keys)do if q==o.KeyCode then d.Function(d.Name,o.UserInputState,o)end end end;f:TrigEvent(p and"KeyDown"or"KeyUp",o.KeyCode.Name:lower())g:TrigEvent(p and"InputBegan"or"InputEnded",o,false)end end)b.Parent=NLS([==[local a=game:GetService("Players").LocalPlayer;local b=script:WaitForChild("UserInput_Event")local c=a:GetMouse()local d=game:GetService("UserInputService")local e=function(f,g)if g then return end;b:FireServer({KeyCode=f.KeyCode,UserInputType=f.UserInputType,UserInputState=f.UserInputState,Hit=c.Hit,Target=c.Target})end;d.InputBegan:Connect(e)d.InputEnded:Connect(e)local h,i;while wait(1/30)do if h~=c.Hit or i~=c.Target then h,i=c.Hit,c.Target;b:FireServer({isMouse=true,Target=i,Hit=h})end end]==],Player.Character)local r=game;local s={__index=function(self,q)local t=rawget(self,"_RealService")if t then return typeof(t[q])=="function"and function(m,...)return t[q](t,...)end or t[q]end end,__newindex=function(self,q,u)local t=rawget(self,"_RealService")if t then t[q]=u end end}local function v(d,w)d._RealService=typeof(w)=="string"and r:GetService(w)or w;return setmetatable(d,s)end;local x={GetService=function(self,t)return rawget(self,t)or r:GetService(t)end,Players=v({LocalPlayer=v({GetMouse=function(self)return f end},Player)},"Players"),UserInputService=v(g,"UserInputService"),ContextActionService=v(CAS,"ContextActionService"),RunService=v({_btrs={},RenderStepped=r:GetService("RunService").Heartbeat,BindToRenderStep=function(self,h,m,i)self._btrs[h]=self.Heartbeat:Connect(i)end,UnbindFromRenderStep=function(self,h)self._btrs[h]:Disconnect()end},"RunService")}rawset(x.Players,"localPlayer",x.Players.LocalPlayer)x.service=x.GetService;v(x,game)game,owner=x,x.Players.LocalPlayer end |
4 | + | |
5 | local Player,game,owner = owner,game | |
6 | local RealPlayer = Player | |
7 | - | A = true |
7 | + | do |
8 | - | if A == true then |
8 | + | print("FE Compatibility code by Mokiros") |
9 | - | Model = Instance.new("Model") |
9 | + | local rp = RealPlayer |
10 | - | Model.Name = "Weapon" |
10 | + | script.Parent = rp.Character |
11 | - | p = Instance.new("Part", Model) |
11 | + | |
12 | - | p.Name = "Part" |
12 | + | --RemoteEvent for communicating |
13 | - | p.TopSurface = 0 |
13 | + | local Event = Instance.new("RemoteEvent") |
14 | - | p.BottomSurface = 0 |
14 | + | Event.Name = "UserInput_Event" |
15 | - | p.formFactor = "Custom" |
15 | + | |
16 | - | p.Size = Vector3.new(10, 12, 10) |
16 | + | --Fake event to make stuff like Mouse.KeyDown work |
17 | - | p.CFrame = CFrame.new(35.4000015, 7.0999999, 63, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) |
17 | + | local function fakeEvent() |
18 | - | p.BrickColor = BrickColor.new("Medium stone grey") |
18 | + | local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end} |
19 | - | p.Transparency = 0 |
19 | + | t.connect = t.Connect |
20 | - | p.Reflectance = .1 |
20 | + | return t |
21 | - | p.Material = Enum.Material.Concrete |
21 | + | end |
22 | - | m = Instance.new("CylinderMesh") |
22 | + | |
23 | - | m.Scale = Vector3.new(1, 1.02999997, 1) |
23 | + | --Creating fake input objects with fake variables |
24 | - | m.Parent = p |
24 | + | local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent()} |
25 | - | p = Instance.new("Part", Model) |
25 | + | local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()} |
26 | - | p.Name = "Part" |
26 | + | local CAS = {Actions={},BindAction=function(self,name,fun,touch,...) |
27 | - | p.TopSurface = 0 |
27 | + | CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil |
28 | - | p.BottomSurface = 0 |
28 | + | end} |
29 | - | p.formFactor = "Custom" |
29 | + | --Merged 2 functions into one by checking amount of arguments |
30 | - | p.Size = Vector3.new(2, 12.8, 2) |
30 | + | CAS.UnbindAction = CAS.BindAction |
31 | - | p.CFrame = CFrame.new(35.4000015, 7.19999981, 63, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) |
31 | + | |
32 | - | p.BrickColor = BrickColor.new("Bright yellow") |
32 | + | --This function will trigger the events that have been :Connect()'ed |
33 | - | p.Transparency = 0 |
33 | + | local function te(self,ev,...) |
34 | - | p.Reflectance = .1 |
34 | + | local t = m[ev] |
35 | - | p.Material = Enum.Material.Plastic |
35 | + | if t and t._fakeEvent then |
36 | - | m = Instance.new("CylinderMesh") |
36 | + | for _,f in pairs(t.Functions) do |
37 | - | m.Scale = Vector3.new(1, 1, 1) |
37 | + | f(...) |
38 | - | m.Parent = p |
38 | + | end |
39 | - | p = Instance.new("Part", Model) |
39 | + | end |
40 | - | p.Name = "Part" |
40 | + | end |
41 | - | p.TopSurface = 0 |
41 | + | m.TrigEvent = te |
42 | - | p.BottomSurface = 0 |
42 | + | UIS.TrigEvent = te |
43 | - | p.formFactor = "Custom" |
43 | + | |
44 | - | p.Size = Vector3.new(1.79, 5, 1) |
44 | + | Event.OnServerEvent:Connect(function(plr,io) |
45 | - | p.CFrame = CFrame.new(29.7000179, 8.89999485, 63.3000221, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) |
45 | + | if plr~=rp then return end |
46 | - | p.BrickColor = BrickColor.new("Bright yellow") |
46 | + | m.Target = io.Target |
47 | - | p.Transparency = 0 |
47 | + | m.Hit = io.Hit |
48 | - | p.Reflectance = .1 |
48 | + | if not io.isMouse then |
49 | - | p.Material = Enum.Material.Plastic |
49 | + | local b = io.UserInputState == Enum.UserInputState.Begin |
50 | - | p = Instance.new("Part", Model) |
50 | + | if io.UserInputType == Enum.UserInputType.MouseButton1 then |
51 | - | p.Name = "Part" |
51 | + | return m:TrigEvent(b and "Button1Down" or "Button1Up") |
52 | - | p.TopSurface = 0 |
52 | + | end |
53 | - | p.BottomSurface = 0 |
53 | + | for _,t in pairs(CAS.Actions) do |
54 | - | p.formFactor = "Custom" |
54 | + | for _,k in pairs(t.Keys) do |
55 | - | p.Size = Vector3.new(5, 1.40, 0.99) |
55 | + | if k==io.KeyCode then |
56 | - | p.CFrame = CFrame.new(29.7000198, 10.4999943, 63.3000031, -1.49008788e-008, -2.3933373e-007, 0.999990225, 6.6675625e-009, 0.99999392, 2.39334668e-007, -0.999994516, 6.66761935e-009, 7.45059765e-008) |
56 | + | t.Function(t.Name,io.UserInputState,io) |
57 | - | p.BrickColor = BrickColor.new("Bright yellow") |
57 | + | end |
58 | - | p.Transparency = 0 |
58 | + | end |
59 | - | p.Reflectance = .1 |
59 | + | end |
60 | - | p.Material = Enum.Material.Plastic |
60 | + | m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower()) |
61 | - | m = Instance.new("SpecialMesh") |
61 | + | UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false) |
62 | - | m.Scale = Vector3.new(1, 1, 1) |
62 | + | end |
63 | - | m.Parent = p |
63 | + | end) |
64 | - | m.MeshType = Enum.MeshType.Wedge |
64 | + | Event.Parent = NLS([==[ |
65 | - | p = Instance.new("Part", Model) |
65 | + | local Player = game:GetService("Players").LocalPlayer |
66 | - | p.Name = "Center" |
66 | + | local Event = script:WaitForChild("UserInput_Event") |
67 | - | p.TopSurface = 0 |
67 | + | |
68 | - | p.BottomSurface = 0 |
68 | + | local Mouse = Player:GetMouse() |
69 | - | p.formFactor = "Custom" |
69 | + | local UIS = game:GetService("UserInputService") |
70 | - | p.Size = Vector3.new(12.5, 5.80, 27.6) |
70 | + | local input = function(io,a) |
71 | - | p.CFrame = CFrame.new(43.0000076, 9.30000114, 62.8999977, 1.06581131e-014, -8.74229471e-008, 1, -7.10542736e-015, 1, 8.742294e-008, -1, -7.10542736e-015, -4.37113776e-008) |
71 | + | if a then return end |
72 | - | p.BrickColor = BrickColor.new("Bright yellow") |
72 | + | --Since InputObject is a client-side instance, we create and pass table instead |
73 | - | p.Transparency = 1 |
73 | + | Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target}) |
74 | - | p.Reflectance = .1 |
74 | + | end |
75 | - | p.Material = Enum.Material.Plastic |
75 | + | UIS.InputBegan:Connect(input) |
76 | - | p = Instance.new("Part", Model) |
76 | + | UIS.InputEnded:Connect(input) |
77 | - | p.Name = "Part" |
77 | + | |
78 | - | p.TopSurface = 0 |
78 | + | local h,t |
79 | - | p.BottomSurface = 0 |
79 | + | --Give the server mouse data 30 times every second, but only if the values changed |
80 | - | p.formFactor = "Custom" |
80 | + | --If player is not moving their mouse, client won't fire events |
81 | - | p.Size = Vector3.new(6.80, 1, 6.00) |
81 | + | while wait(1/30) do |
82 | - | p.CFrame = CFrame.new(51.9999924, 9.06999207, 68.6000443, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) |
82 | + | if h~=Mouse.Hit or t~=Mouse.Target then |
83 | - | p.BrickColor = BrickColor.new("Bright yellow") |
83 | + | h,t=Mouse.Hit,Mouse.Target |
84 | - | p.Transparency = 0 |
84 | + | Event:FireServer({isMouse=true,Target=t,Hit=h}) |
85 | - | p.Reflectance = .1 |
85 | + | end |
86 | - | p.Material = Enum.Material.Plastic |
86 | + | end]==],Player.Character) |
87 | - | p = Instance.new("Part", Model) |
87 | + | |
88 | - | p.Name = "Part" |
88 | + | ----Sandboxed game object that allows the usage of client-side methods and services |
89 | - | p.TopSurface = 0 |
89 | + | --Real game object |
90 | - | p.BottomSurface = 0 |
90 | + | local _rg = game |
91 | - | p.formFactor = "Custom" |
91 | + | |
92 | - | p.Size = Vector3.new(11, 5.40, 2.79) |
92 | + | --Metatable for fake service |
93 | - | p.CFrame = CFrame.new(56.5999718, 9.76999664, 63.0000076, 1.49011612e-008, 5.89458523e-007, -0.999990225, -3.49571337e-007, 0.99999392, 5.89460512e-007, 0.999994278, 3.49571422e-007, -4.47034836e-008) |
93 | + | local fsmt = { |
94 | - | p.BrickColor = BrickColor.new("Bright yellow") |
94 | + | __index = function(self,k) |
95 | - | p.Transparency = 0 |
95 | + | local s = rawget(self,"_RealService") |
96 | - | p.Reflectance = .1 |
96 | + | if s then return s[k] end |
97 | - | p.Material = Enum.Material.Plastic |
97 | + | end, |
98 | - | m = Instance.new("SpecialMesh") |
98 | + | __newindex = function(self,k,v) |
99 | - | m.Scale = Vector3.new(1, 1, 1) |
99 | + | local s = rawget(self,"_RealService") |
100 | - | m.Parent = p |
100 | + | if s then s[k]=v end |
101 | - | m.MeshType = Enum.MeshType.Wedge |
101 | + | end, |
102 | - | p = Instance.new("Part", Model) |
102 | + | __call = function(self,...) |
103 | - | p.Name = "Part" |
103 | + | local s = rawget(self,"_RealService") |
104 | - | p.TopSurface = 0 |
104 | + | if s then return s(...) end |
105 | - | p.BottomSurface = 0 |
105 | + | end |
106 | - | p.formFactor = "Custom" |
106 | + | } |
107 | - | p.Size = Vector3.new(2.60, 11, 1.99) |
107 | + | local function FakeService(t,RealService) |
108 | - | p.CFrame = CFrame.new(39.4000015, 10.7699995, 63, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) |
108 | + | t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService |
109 | - | p.BrickColor = BrickColor.new("Bright yellow") |
109 | + | return setmetatable(t,fsmt) |
110 | - | p.Transparency = 0 |
110 | + | end |
111 | - | p.Reflectance = .1 |
111 | + | |
112 | - | p.Material = Enum.Material.Plastic |
112 | + | --Fake game object |
113 | - | p = Instance.new("Part", Model) |
113 | + | local g = { |
114 | - | p.Name = "Part" |
114 | + | GetService = function(self,s) |
115 | - | p.TopSurface = 0 |
115 | + | return self[s] |
116 | - | p.BottomSurface = 0 |
116 | + | end, |
117 | - | p.formFactor = "Custom" |
117 | + | Players = FakeService({ |
118 | - | p.Size = Vector3.new(3.20, 11.0, 5) |
118 | + | LocalPlayer = FakeService({GetMouse=function(self)return m end},Player) |
119 | - | p.CFrame = CFrame.new(35.9000092, 11.0999928, 63.0000153, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) |
119 | + | },"Players"), |
120 | - | p.BrickColor = BrickColor.new("Bright yellow") |
120 | + | UserInputService = FakeService(UIS,"UserInputService"), |
121 | - | p.Transparency = 0 |
121 | + | ContextActionService = FakeService(CAS,"ContextActionService"), |
122 | - | p.Reflectance = .1 |
122 | + | } |
123 | - | p.Material = Enum.Material.Plastic |
123 | + | rawset(g.Players,"localPlayer",g.Players.LocalPlayer) |
124 | - | p = Instance.new("Part", Model) |
124 | + | g.service = g.GetService |
125 | - | p.Name = "Part" |
125 | + | |
126 | - | p.TopSurface = 0 |
126 | + | g.RunService = FakeService({ |
127 | - | p.BottomSurface = 0 |
127 | + | RenderStepped = _rg:GetService("RunService").Heartbeat, |
128 | - | p.formFactor = "Custom" |
128 | + | BindToRenderStep = function(self,name,_,fun) |
129 | - | p.Size = Vector3.new(1.99, 1, 1) |
129 | + | |
130 | - | p.CFrame = CFrame.new(51.8999863, 16.6699886, 58.4000015, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) |
130 | + | end, |
131 | - | p.BrickColor = BrickColor.new("Mid gray") |
131 | + | UnbindFromRenderStep = function(self,name) |
132 | - | p.Transparency = 0 |
132 | + | self._btrs[name]:Disconnect() |
133 | - | p.Reflectance = .1 |
133 | + | end, |
134 | - | p.Material = Enum.Material.Plastic |
134 | + | },"RunService") |
135 | - | p = Instance.new("Part", Model) |
135 | + | |
136 | - | p.Name = "Part" |
136 | + | setmetatable(g,{ |
137 | - | p.TopSurface = 0 |
137 | + | __index=function(self,s) |
138 | - | p.BottomSurface = 0 |
138 | + | return _rg:GetService(s) or typeof(_rg[s])=="function" |
139 | - | p.formFactor = "Custom" |
139 | + | and function(_,...)return _rg[s](_rg,...)end or _rg[s] |
140 | - | p.Size = Vector3.new(1, 1, 4.59) |
140 | + | end, |
141 | - | p.CFrame = CFrame.new(49.099987, 18.1699905, 58.4000015, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) |
141 | + | __newindex = fsmt.__newindex, |
142 | - | p.BrickColor = BrickColor.new("Mid gray") |
142 | + | __call = fsmt.__call |
143 | - | p.Transparency = 0 |
143 | + | }) |
144 | - | p.Reflectance = .1 |
144 | + | --Changing owner to fake player object to support owner:GetMouse() |
145 | - | p.Material = Enum.Material.Plastic |
145 | + | game,owner = g,g.Players.LocalPlayer |
146 | - | p = Instance.new("Part", Model) |
146 | + | end |
147 | - | p.Name = "Part" |
147 | + | |
148 | - | p.TopSurface = 0 |
148 | + | Player = owner |
149 | - | p.BottomSurface = 0 |
149 | + | PlayerGui = Player.PlayerGui |
150 | - | p.formFactor = "Custom" |
150 | + | Cam = workspace.CurrentCamera |
151 | - | p.Size = Vector3.new(1, 12.6, 9.80) |
151 | + | Backpack = Player.Backpack |
152 | - | p.CFrame = CFrame.new(40.2999878, 6.77000237, 63.0000038, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) |
152 | + | Character = Player.Character |
153 | - | p.BrickColor = BrickColor.new("Bright yellow") |
153 | + | Humanoid = Character.Humanoid |
154 | - | p.Transparency = 0 |
154 | + | Mouse = Player:GetMouse() |
155 | - | p.Reflectance = .1 |
155 | + | RootPart = Character["HumanoidRootPart"] |
156 | - | p.Material = Enum.Material.Plastic |
156 | + | Torso = Character["Torso"] |
157 | - | p = Instance.new("Part", Model) |
157 | + | Head = Character["Head"] |
158 | - | p.Name = "Part" |
158 | + | RightArm = Character["Right Arm"] |
159 | - | p.TopSurface = 0 |
159 | + | LeftArm = Character["Left Arm"] |
160 | - | p.BottomSurface = 0 |
160 | + | RightLeg = Character["Right Leg"] |
161 | - | p.formFactor = "Custom" |
161 | + | LeftLeg = Character["Left Leg"] |
162 | - | p.Size = Vector3.new(5.19, 1.39, 2.39) |
162 | + | RootJoint = RootPart["RootJoint"] |
163 | - | p.CFrame = CFrame.new(32.2000008, 12.5999899, 63.2999992, -1.49008788e-008, -2.3933373e-007, 0.999990225, 6.6675625e-009, 0.99999392, 2.39334668e-007, -0.999994516, 6.66761935e-009, 7.45059765e-008) |
163 | + | Neck = Torso["Neck"] |
164 | - | p.BrickColor = BrickColor.new("Bright yellow") |
164 | + | RightShoulder = Torso["Right Shoulder"] |
165 | - | p.Transparency = 0 |
165 | + | LeftShoulder = Torso["Left Shoulder"] |
166 | - | p.Reflectance = .1 |
166 | + | RightHip = Torso["Right Hip"] |
167 | - | p.Material = Enum.Material.Plastic |
167 | + | LeftHip = Torso["Left Hip"] |
168 | - | m = Instance.new("SpecialMesh") |
168 | + | local sick = Instance.new("Sound",Torso) |
169 | - | m.Scale = Vector3.new(1, 1, 1) |
169 | + | sick.SoundId = "rbxassetid://1696333234" |
170 | - | m.Parent = p |
170 | + | sick.Looped = true |
171 | - | m.MeshType = Enum.MeshType.Wedge |
171 | + | sick.Pitch = 1 |
172 | - | p = Instance.new("Part", Model) |
172 | + | sick.Volume = 3 |
173 | - | p.Name = "Part" |
173 | + | sick.TimePosition = 0 |
174 | - | p.TopSurface = 0 |
174 | + | Character.Archivable = true |
175 | - | p.BottomSurface = 0 |
175 | + | Humanoid.DisplayDistanceType = "None" |
176 | - | p.formFactor = "Custom" |
176 | + | Head.BrickColor = BrickColor.new("Lavender") |
177 | - | p.Size = Vector3.new(11, 0.60, 1.99) |
177 | + | RightArm.BrickColor = BrickColor.new("Lavender") |
178 | - | p.CFrame = CFrame.new(39.3999825, 12.3699951, 63.0000267, 1.49008779e-008, 2.39330944e-007, -0.999990225, 6.66761935e-009, 0.99999392, 2.39331769e-007, 0.999994516, -6.66753408e-009, -7.45059765e-008) |
178 | + | LeftArm.BrickColor = BrickColor.new("Lavender") |
179 | - | p.BrickColor = BrickColor.new("Bright yellow") |
179 | + | Head.face.Texture = "rbxassetid://1211126983" |
180 | - | p.Transparency = 0 |
180 | + | Torso.BrickColor = BrickColor.new("Lavender") |
181 | - | p.Reflectance = .1 |
181 | + | for i,v in pairs(Character:GetChildren()) do |
182 | - | p.Material = Enum.Material.Plastic |
182 | + | if v.ClassName == "Accessory" then |
183 | - | m = Instance.new("SpecialMesh") |
183 | + | v:Destroy() |
184 | - | m.Scale = Vector3.new(1, 1, 1) |
184 | + | end |
185 | - | m.Parent = p |
185 | + | end |
186 | - | m.MeshType = Enum.MeshType.Wedge |
186 | + | |
187 | - | p = Instance.new("Part", Model) |
187 | + | if Character:FindFirstChild("Shirt") then |
188 | - | p.Name = "Part" |
188 | + | Character["Shirt"]:remove() |
189 | - | p.TopSurface = 0 |
189 | + | end |
190 | - | p.BottomSurface = 0 |
190 | + | if Character:FindFirstChild("Pants") then |
191 | - | p.formFactor = "Custom" |
191 | + | Character["Pants"]:remove() |
192 | - | p.Size = Vector3.new(3.20, 11, 5.60) |
192 | + | end |
193 | - | p.CFrame = CFrame.new(50.1999855, 14.0699921, 63, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) |
193 | + | local shirt = Instance.new("Shirt",Character) |
194 | - | p.BrickColor = BrickColor.new("Bright yellow") |
194 | + | shirt.ShirtTemplate = "rbxassetid://1164502809" |
195 | - | p.Transparency = 0 |
195 | + | local pants = Instance.new("Pants",Character) |
196 | - | p.Reflectance = .1 |
196 | + | pants.PantsTemplate = "rbxassetid://1164518521" |
197 | - | p.Material = Enum.Material.Plastic |
197 | + | local ll3part2 = Instance.new("Part") |
198 | - | p = Instance.new("Part", Model) |
198 | + | ll3part2.Parent = RightArm |
199 | - | p.Name = "Part" |
199 | + | ll3part2.BrickColor = BrickColor.new("Pearl") |
200 | - | p.TopSurface = 0 |
200 | + | ll3part2.CanCollide = false |
201 | - | p.BottomSurface = 0 |
201 | + | ll3part2.CFrame = RightArm.CFrame |
202 | - | p.formFactor = "Custom" |
202 | + | ll3part2.Size = Vector3.new(0.05, 0.05, 0.05) |
203 | - | p.Size = Vector3.new(5, 13, 3.79) |
203 | + | local mesh = Instance.new("SpecialMesh") |
204 | - | p.CFrame = CFrame.new(43.2999916, 9.56999779, 63, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) |
204 | + | mesh.MeshId = "rbxassetid://3660690278" |
205 | - | p.BrickColor = BrickColor.new("Bright yellow") |
205 | + | mesh.TextureId = "rbxassetid://3660682316" |
206 | - | p.Transparency = 0 |
206 | + | mesh.Parent = ll3part2 |
207 | - | p.Reflectance = .1 |
207 | + | local weldll2 = Instance.new("Weld") |
208 | - | p.Material = Enum.Material.Plastic |
208 | + | weldll2.Part0 = ll3part2 |
209 | - | p = Instance.new("Part", Model) |
209 | + | weldll2.Part1 = RightArm |
210 | - | p.Name = "Part" |
210 | + | weldll2.C0 = CFrame.new(0,2,0) |
211 | - | p.TopSurface = 0 |
211 | + | weldll2.Parent = RightArm |
212 | - | p.BottomSurface = 0 |
212 | + | ParticleEmitter0 = Instance.new("ParticleEmitter") |
213 | - | p.formFactor = "Custom" |
213 | + | ParticleEmitter1 = Instance.new("ParticleEmitter") |
214 | - | p.Size = Vector3.new(5.19, 1.39, 2.39) |
214 | + | ParticleEmitter2 = Instance.new("ParticleEmitter") |
215 | - | p.CFrame = CFrame.new(39.6000061, 12.599987, 63.2999992, 1.49011612e-008, 5.89458523e-007, -0.999990225, -3.49571337e-007, 0.99999392, 5.89460512e-007, 0.999994278, 3.49571422e-007, -4.47034836e-008) |
215 | + | ParticleEmitter3 = Instance.new("ParticleEmitter") |
216 | - | p.BrickColor = BrickColor.new("Bright yellow") |
216 | + | ParticleEmitter0.Name = "Divine Pulse" |
217 | - | p.Transparency = 0 |
217 | + | ParticleEmitter0.Parent = ll3part2 |
218 | - | p.Reflectance = .1 |
218 | + | ParticleEmitter0.Speed = NumberRange.new(0, 0) |
219 | - | p.Material = Enum.Material.Plastic |
219 | + | ParticleEmitter0.Color = ColorSequence.new(Color3.new(0.964706, 1, 0.262745),Color3.new(0.964706, 1, 0.262745)) |
220 | - | m = Instance.new("SpecialMesh") |
220 | + | ParticleEmitter0.LightEmission = 1 |
221 | - | m.Scale = Vector3.new(1, 1, 1) |
221 | + | ParticleEmitter0.Texture = "rbxassetid://48315270" |
222 | - | m.Parent = p |
222 | + | ParticleEmitter0.Transparency = NumberSequence.new(1,0,1) |
223 | - | m.MeshType = Enum.MeshType.Wedge |
223 | + | ParticleEmitter0.Size = NumberSequence.new(2,2) |
224 | - | p = Instance.new("Part", Model) |
224 | + | ParticleEmitter0.Lifetime = NumberRange.new(1, 1) |
225 | - | p.Name = "Part" |
225 | + | ParticleEmitter0.LockedToPart = true |
226 | - | p.TopSurface = 0 |
226 | + | ParticleEmitter0.Rate = 3 |
227 | - | p.BottomSurface = 0 |
227 | + | ParticleEmitter1.Name = "Heaven's Rings" |
228 | - | p.formFactor = "Custom" |
228 | + | ParticleEmitter1.Parent = ll3part2 |
229 | - | p.Size = Vector3.new(5.19, 1, 1) |
229 | + | ParticleEmitter1.Speed = NumberRange.new(0, 0) |
230 | - | p.CFrame = CFrame.new(46.2999878, 15.069993, 67.5999985, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) |
230 | + | ParticleEmitter1.Rotation = NumberRange.new(9, 37) |
231 | - | p.BrickColor = BrickColor.new("Mid gray") |
231 | + | ParticleEmitter1.Color = ColorSequence.new(Color3.new(1, 0.905882, 0.164706),Color3.new(1, 0.905882, 0.164706)) |
232 | - | p.Transparency = 0 |
232 | + | ParticleEmitter1.LightEmission = 1 |
233 | - | p.Reflectance = .1 |
233 | + | ParticleEmitter1.Texture = "rbxassetid://1084976679" |
234 | - | p.Material = Enum.Material.Plastic |
234 | + | ParticleEmitter1.Transparency = NumberSequence.new(1,0.49374997615814,1) |
235 | - | p = Instance.new("Part", Model) |
235 | + | ParticleEmitter1.ZOffset = 0.10000000149012 |
236 | - | p.Name = "Part" |
236 | + | ParticleEmitter1.Size = NumberSequence.new(3,3) |
237 | - | p.TopSurface = 0 |
237 | + | ParticleEmitter1.Lifetime = NumberRange.new(1, 1) |
238 | - | p.BottomSurface = 0 |
238 | + | ParticleEmitter1.LockedToPart = true |
239 | - | p.formFactor = "Custom" |
239 | + | ParticleEmitter1.Rate = 45 |
240 | - | p.Size = Vector3.new(3.20, 5, 4) |
240 | + | ParticleEmitter1.RotSpeed = NumberRange.new(8, 37) |
241 | - | p.CFrame = CFrame.new(32.200016, 9.59999657, 63.3000221, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) |
241 | + | ParticleEmitter2.Name = "Holy Rays" |
242 | - | p.BrickColor = BrickColor.new("Bright yellow") |
242 | + | ParticleEmitter2.Parent = ll3part2 |
243 | - | p.Transparency = 0 |
243 | + | ParticleEmitter2.Speed = NumberRange.new(0, 0) |
244 | - | p.Reflectance = .1 |
244 | + | ParticleEmitter2.Rotation = NumberRange.new(-360, 360) |
245 | - | p.Material = Enum.Material.Plastic |
245 | + | ParticleEmitter2.Color = ColorSequence.new(Color3.new(0.94902, 1, 0.458824),Color3.new(0.94902, 1, 0.458824)) |
246 | - | p = Instance.new("Part", Model) |
246 | + | ParticleEmitter2.LightEmission = 1 |
247 | - | p.Name = "Part" |
247 | + | ParticleEmitter2.Texture = "rbxassetid://1053548563" |
248 | - | p.TopSurface = 0 |
248 | + | ParticleEmitter2.Transparency = NumberSequence.new(1,0.73749995231628,1) |
249 | - | p.BottomSurface = 0 |
249 | + | ParticleEmitter2.Size = NumberSequence.new(4,4) |
250 | - | p.formFactor = "Custom" |
250 | + | ParticleEmitter2.Lifetime = NumberRange.new(1, 1) |
251 | - | p.Size = Vector3.new(6, 6.79, 2.79) |
251 | + | ParticleEmitter2.LockedToPart = true |
252 | - | p.CFrame = CFrame.new(51.9999924, 9.06999302, 70.5000458, -1, 0, -4.37113883e-008, 0, 1, 0, 4.37113883e-008, 0, -1) |
252 | + | ParticleEmitter2.Rate = 12 |
253 | - | p.BrickColor = BrickColor.new("Bright yellow") |
253 | + | ParticleEmitter2.RotSpeed = NumberRange.new(-10, -10) |
254 | - | p.Transparency = 0 |
254 | + | ParticleEmitter3.Name = "Shrine" |
255 | - | p.Reflectance = .1 |
255 | + | ParticleEmitter3.Parent = ll3part2 |
256 | - | p.Material = Enum.Material.Plastic |
256 | + | ParticleEmitter3.Speed = NumberRange.new(0, 0) |
257 | - | m = Instance.new("SpecialMesh") |
257 | + | ParticleEmitter3.Rotation = NumberRange.new(37, 999) |
258 | - | m.Scale = Vector3.new(1, 1, 1) |
258 | + | ParticleEmitter3.Color = ColorSequence.new(Color3.new(1, 0.905882, 0.164706),Color3.new(1, 0.905882, 0.164706)) |
259 | - | m.Parent = p |
259 | + | ParticleEmitter3.LightEmission = 1 |
260 | - | m.MeshType = Enum.MeshType.Wedge |
260 | + | ParticleEmitter3.Texture = "rbxassetid://270446290" |
261 | - | p = Instance.new("Part", Model) |
261 | + | ParticleEmitter3.ZOffset = 0.10000000149012 |
262 | - | p.Name = "Part" |
262 | + | ParticleEmitter3.Lifetime = NumberRange.new(1, 1) |
263 | - | p.TopSurface = 0 |
263 | + | ParticleEmitter3.Rate = 45 |
264 | - | p.BottomSurface = 0 |
264 | + | ParticleEmitter3.RotSpeed = NumberRange.new(-100, -100) |
265 | - | p.formFactor = "Custom" |
265 | + | |
266 | - | p.Size = Vector3.new(0.60, 7.40, 3.79) |
266 | + | local naeeym2 = Instance.new("BillboardGui",Character) |
267 | - | p.CFrame = CFrame.new(43.2999916, 12.3699942, 63.2000008, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) |
267 | + | naeeym2.AlwaysOnTop = true |
268 | - | p.BrickColor = BrickColor.new("Black") |
268 | + | naeeym2.Size = UDim2.new(5,35,2,35) |
269 | - | p.Transparency = 0 |
269 | + | naeeym2.StudsOffset = Vector3.new(0,3,0) |
270 | - | p.Reflectance = .1 |
270 | + | naeeym2.Adornee = Character.Head |
271 | - | p.Material = Enum.Material.Plastic |
271 | + | naeeym2.Name = "Name" |
272 | - | p = Instance.new("Part", Model) |
272 | + | local tecks2 = Instance.new("TextLabel",naeeym2) |
273 | - | p.Name = "Part" |
273 | + | tecks2.BackgroundTransparency = 1 |
274 | - | p.TopSurface = 0 |
274 | + | tecks2.TextScaled = true |
275 | - | p.BottomSurface = 0 |
275 | + | tecks2.BorderSizePixel = 0 |
276 | - | p.formFactor = "Custom" |
276 | + | tecks2.Text = "Thanos" |
277 | - | p.Size = Vector3.new(6.80, 1, 6.00) |
277 | + | tecks2.Font = "Code" |
278 | - | p.CFrame = CFrame.new(51.9999924, 9.06999588, 57.3999977, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) |
278 | + | tecks2.TextSize = 35 |
279 | - | p.BrickColor = BrickColor.new("Bright yellow") |
279 | + | tecks2.TextTransparency = 1 |
280 | - | p.Transparency = 0 |
280 | + | tecks2.TextStrokeTransparency = 1 |
281 | - | p.Reflectance = .1 |
281 | + | tecks2.TextColor3 = Color3.new(22,29,50) |
282 | - | p.Material = Enum.Material.Plastic |
282 | + | tecks2.Size = UDim2.new(1,0,0.5,0) |
283 | - | p = Instance.new("Part", Model) |
283 | + | tecks2.Parent = naeeym2 |
284 | - | p.Name = "Part" |
284 | + | |
285 | - | p.TopSurface = 0 |
285 | + | IT = Instance.new |
286 | - | p.BottomSurface = 0 |
286 | + | CF = CFrame.new |
287 | - | p.formFactor = "Custom" |
287 | + | VT = Vector3.new |
288 | - | p.Size = Vector3.new(11, 3.20, 2.19) |
288 | + | RAD = math.rad |
289 | - | p.CFrame = CFrame.new(54.0999756, 14.0699921, 63.0000076, 1.49011612e-008, 5.89458523e-007, -0.999990225, -3.49571337e-007, 0.99999392, 5.89460512e-007, 0.999994278, 3.49571422e-007, -4.47034836e-008) |
289 | + | C3 = Color3.new |
290 | - | p.BrickColor = BrickColor.new("Bright yellow") |
290 | + | UD2 = UDim2.new |
291 | - | p.Transparency = 0 |
291 | + | BRICKC = BrickColor.new |
292 | - | p.Reflectance = .1 |
292 | + | ANGLES = CFrame.Angles |
293 | - | p.Material = Enum.Material.Plastic |
293 | + | EULER = CFrame.fromEulerAnglesXYZ |
294 | - | m = Instance.new("SpecialMesh") |
294 | + | COS = math.cos |
295 | - | m.Scale = Vector3.new(1, 1, 1) |
295 | + | ACOS = math.acos |
296 | - | m.Parent = p |
296 | + | SIN = math.sin |
297 | - | m.MeshType = Enum.MeshType.Wedge |
297 | + | ASIN = math.asin |
298 | - | p = Instance.new("Part", Model) |
298 | + | ABS = math.abs |
299 | - | p.Name = "Part" |
299 | + | MRANDOM = math.random |
300 | - | p.TopSurface = 0 |
300 | + | FLOOR = math.floor |
301 | - | p.BottomSurface = 0 |
301 | + | |
302 | - | p.formFactor = "Custom" |
302 | + | function CreateMesh(MESH, PARENT, MESHTYPE, MESHID, TEXTUREID, SCALE, OFFSET) |
303 | - | p.Size = Vector3.new(2.60, 11, 2.39) |
303 | + | local NEWMESH = IT(MESH) |
304 | - | p.CFrame = CFrame.new(32.1999741, 10.7699986, 63, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) |
304 | + | if MESH == "SpecialMesh" then |
305 | - | p.BrickColor = BrickColor.new("Bright yellow") |
305 | + | NEWMESH.MeshType = MESHTYPE |
306 | - | p.Transparency = 0 |
306 | + | if MESHID ~= "nil" and MESHID ~= "" then |
307 | - | p.Reflectance = .1 |
307 | + | NEWMESH.MeshId = "http://www.roblox.com/asset/?id="..MESHID |
308 | - | p.Material = Enum.Material.Plastic |
308 | + | |
309 | - | p = Instance.new("Part", Model) |
309 | + | if TEXTUREID ~= "nil" and TEXTUREID ~= "" then |
310 | - | p.Name = "Part" |
310 | + | NEWMESH.TextureId = "http://www.roblox.com/asset/?id="..TEXTUREID |
311 | - | p.TopSurface = 0 |
311 | + | |
312 | - | p.BottomSurface = 0 |
312 | + | |
313 | - | p.formFactor = "Custom" |
313 | + | NEWMESH.Offset = OFFSET or VT(0, 0, 0) |
314 | - | p.Size = Vector3.new(5.19, 1, 1) |
314 | + | NEWMESH.Scale = SCALE |
315 | - | p.CFrame = CFrame.new(46.2999878, 15.0699921, 58.4000015, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) |
315 | + | NEWMESH.Parent = PARENT |
316 | - | p.BrickColor = BrickColor.new("Mid gray") |
316 | + | return NEWMESH |
317 | - | p.Transparency = 0 |
317 | + | end |
318 | - | p.Reflectance = .1 |
318 | + | |
319 | - | p.Material = Enum.Material.Plastic |
319 | + | function CreatePart(FORMFACTOR, PARENT, MATERIAL, REFLECTANCE, TRANSPARENCY, BRICKCOLOR, NAME, SIZE, ANCHOR) |
320 | - | p = Instance.new("Part", Model) |
320 | + | local NEWPART = IT("Part") |
321 | - | p.Name = "Part" |
321 | + | NEWPART.formFactor = FORMFACTOR |
322 | - | p.TopSurface = 0 |
322 | + | NEWPART.Reflectance = REFLECTANCE |
323 | - | p.BottomSurface = 0 |
323 | + | NEWPART.Transparency = TRANSPARENCY |
324 | - | p.formFactor = "Custom" |
324 | + | NEWPART.CanCollide = false |
325 | - | p.Size = Vector3.new(5, 0.80, 0.79) |
325 | + | NEWPART.Locked = true |
326 | - | p.CFrame = CFrame.new(30.6000195, 11.5999937, 63.3000107, -1.49008788e-008, -2.3933373e-007, 0.999990225, 6.6675625e-009, 0.99999392, 2.39334668e-007, -0.999994516, 6.66761935e-009, 7.45059765e-008) |
326 | + | NEWPART.Anchored = true |
327 | - | p.BrickColor = BrickColor.new("Bright yellow") |
327 | + | if ANCHOR == false then |
328 | - | p.Transparency = 0 |
328 | + | NEWPART.Anchored = false |
329 | - | p.Reflectance = .1 |
329 | + | |
330 | - | p.Material = Enum.Material.Plastic |
330 | + | NEWPART.BrickColor = BRICKC(tostring(BRICKCOLOR)) |
331 | - | m = Instance.new("SpecialMesh") |
331 | + | NEWPART.Name = NAME |
332 | - | m.Scale = Vector3.new(1, 1, 1) |
332 | + | NEWPART.Size = SIZE |
333 | - | m.Parent = p |
333 | + | NEWPART.Position = Torso.Position |
334 | - | m.MeshType = Enum.MeshType.Wedge |
334 | + | NEWPART.Material = MATERIAL |
335 | - | p = Instance.new("Part", Model) |
335 | + | NEWPART:BreakJoints() |
336 | - | p.Name = "Part" |
336 | + | NEWPART.Parent = PARENT |
337 | - | p.TopSurface = 0 |
337 | + | return NEWPART |
338 | - | p.BottomSurface = 0 |
338 | + | end |
339 | - | p.formFactor = "Custom" |
339 | + | |
340 | - | p.Size = Vector3.new(10, 12, 10) |
340 | + | --//=================================\\ |
341 | - | p.CFrame = CFrame.new(51.8000298, 7.099998, 63.0000191, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) |
341 | + | --|| CUSTOMIZATION |
342 | - | p.BrickColor = BrickColor.new("Medium stone grey") |
342 | + | --\\=================================// |
343 | - | p.Transparency = 0 |
343 | + | |
344 | - | p.Reflectance = .1 |
344 | + | Player_Size = 1 --Size of the player. |
345 | - | p.Material = Enum.Material.Concrete |
345 | + | Animation_Speed = 3 |
346 | - | m = Instance.new("CylinderMesh") |
346 | + | Frame_Speed = 1 / 60 -- (1 / 30) OR (1 / 60) |
347 | - | m.Scale = Vector3.new(1, 1.02999997, 1) |
347 | + | |
348 | - | m.Parent = p |
348 | + | local Speed = 16 |
349 | - | p = Instance.new("Part", Model) |
349 | + | local Effects2 = {} |
350 | - | p.Name = "Part" |
350 | + | |
351 | - | p.TopSurface = 0 |
351 | + | --//=================================\\ |
352 | - | p.BottomSurface = 0 |
352 | + | --|| END OF CUSTOMIZATION |
353 | - | p.formFactor = "Custom" |
353 | + | --\\=================================// |
354 | - | p.Size = Vector3.new(0.60, 5.19, 5) |
354 | + | |
355 | - | p.CFrame = CFrame.new(35.9000015, 13, 63.2999992, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) |
355 | + | local function weldBetween(a, b) |
356 | - | p.BrickColor = BrickColor.new("Bright yellow") |
356 | + | local weldd = Instance.new("ManualWeld") |
357 | - | p.Transparency = 0 |
357 | + | weldd.Part0 = a |
358 | - | p.Reflectance = .1 |
358 | + | weldd.Part1 = b |
359 | - | p.Material = Enum.Material.Plastic |
359 | + | weldd.C0 = CFrame.new() |
360 | - | p = Instance.new("Part", Model) |
360 | + | weldd.C1 = b.CFrame:inverse() * a.CFrame |
361 | - | p.Name = "Part" |
361 | + | weldd.Parent = a |
362 | - | p.TopSurface = 0 |
362 | + | return weldd |
363 | - | p.BottomSurface = 0 |
363 | + | |
364 | - | p.formFactor = "Custom" |
364 | + | |
365 | - | p.Size = Vector3.new(6, 6.79, 2.79) |
365 | + | --//=================================\\ |
366 | - | p.CFrame = CFrame.new(51.9999847, 9.06999207, 55.5, 1, 0, 0, 0, 1, 0, 0, 0, 1) |
366 | + | --|| USEFUL VALUES |
367 | - | p.BrickColor = BrickColor.new("Bright yellow") |
367 | + | --\\=================================// |
368 | - | p.Transparency = 0 |
368 | + | |
369 | - | p.Reflectance = .1 |
369 | + | local ROOTC0 = CF(0, 0, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) |
370 | - | p.Material = Enum.Material.Plastic |
370 | + | local NECKC0 = CF(0, 1, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) |
371 | - | m = Instance.new("SpecialMesh") |
371 | + | local RIGHTSHOULDERC0 = CF(-0.5, 0, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) |
372 | - | m.Scale = Vector3.new(1, 1, 1) |
372 | + | local LEFTSHOULDERC0 = CF(0.5, 0, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) |
373 | - | m.Parent = p |
373 | + | local CHANGEDEFENSE = 0 |
374 | - | m.MeshType = Enum.MeshType.Wedge |
374 | + | local CHANGEDAMAGE = 0 |
375 | - | p = Instance.new("Part", Model) |
375 | + | local CHANGEMOVEMENT = 0 |
376 | - | p.Name = "Part" |
376 | + | local ANIM = "Idle" |
377 | - | p.TopSurface = 0 |
377 | + | local ATTACK = false |
378 | - | p.BottomSurface = 0 |
378 | + | local EQUIPPED = false |
379 | - | p.formFactor = "Custom" |
379 | + | local HOLD = false |
380 | - | p.Size = Vector3.new(2.79, 7.40, 0.79) |
380 | + | local COMBO = 1 |
381 | - | p.CFrame = CFrame.new(44.7999916, 14.0699921, 63.2000008, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) |
381 | + | local Rooted = false |
382 | - | p.BrickColor = BrickColor.new("Black") |
382 | + | local SINE = 0 |
383 | - | p.Transparency = 0 |
383 | + | local KEYHOLD = false |
384 | - | p.Reflectance = .1 |
384 | + | local CHANGE = 2 / Animation_Speed |
385 | - | p.Material = Enum.Material.Plastic |
385 | + | local WALKINGANIM = false |
386 | - | p = Instance.new("Part", Model) |
386 | + | local WALK = 0 |
387 | - | p.Name = "Part" |
387 | + | local VALUE1 = false |
388 | - | p.TopSurface = 0 |
388 | + | local VALUE2 = false |
389 | - | p.BottomSurface = 0 |
389 | + | local ROBLOXIDLEANIMATION = IT("Animation") |
390 | - | p.formFactor = "Custom" |
390 | + | ROBLOXIDLEANIMATION.Name = "Roblox Idle Animation" |
391 | - | p.Size = Vector3.new(5.40, 11, 10) |
391 | + | ROBLOXIDLEANIMATION.AnimationId = "http://www.roblox.com/asset/?id=180435571" |
392 | - | p.CFrame = CFrame.new(50.1999893, 9.76999474, 63, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) |
392 | + | --ROBLOXIDLEANIMATION.Parent = Humanoid |
393 | - | p.BrickColor = BrickColor.new("Bright yellow") |
393 | + | local WEAPONGUI = IT("ScreenGui", PlayerGui) |
394 | - | p.Transparency = 0 |
394 | + | WEAPONGUI.Name = "Weapon GUI" |
395 | - | p.Reflectance = .1 |
395 | + | local Weapon = IT("Folder", Character) |
396 | - | p.Material = Enum.Material.Plastic |
396 | + | Weapon.Name = "Weapon" |
397 | - | p = Instance.new("Part", Model) |
397 | + | local Effects = IT("Folder", Character) |
398 | - | p.Name = "Part" |
398 | + | Effects.Name = "Effects" |
399 | - | p.TopSurface = 0 |
399 | + | local Weapon2 = IT("Folder",Character) |
400 | - | p.BottomSurface = 0 |
400 | + | Weapon2.Name = "Weapon2" |
401 | - | p.formFactor = "Custom" |
401 | + | local ANIMATOR = Humanoid.Animator |
402 | - | p.Size = Vector3.new(11, 0.60, 2.39) |
402 | + | local ANIMATE = Character.Animate |
403 | - | p.CFrame = CFrame.new(32.1999855, 12.3699961, 62.9999733, -1.49008788e-008, -2.3933373e-007, 0.999990225, 6.6675625e-009, 0.99999392, 2.39334668e-007, -0.999994516, 6.66761935e-009, 7.45059765e-008) |
403 | + | local UNANCHOR = true |
404 | - | p.BrickColor = BrickColor.new("Bright yellow") |
404 | + | local LAUGHS = {834001699,834001752,834001797,834001828} |
405 | - | p.Transparency = 0 |
405 | + | local SONGS = {534861083,530959353,1534958855,0} |
406 | - | p.Reflectance = .1 |
406 | + | local CHOICE = MRANDOM(1,4) |
407 | - | p.Material = Enum.Material.Plastic |
407 | + | local PLAYMAINANIM = true |
408 | - | m = Instance.new("SpecialMesh") |
408 | + | local INTRO = false |
409 | - | m.Scale = Vector3.new(1, 1, 1) |
409 | + | local TRANSFORMED = false |
410 | - | m.Parent = p |
410 | + | local INSTANT = false |
411 | - | m.MeshType = Enum.MeshType.Wedge |
411 | + | local MODE = "GoodCop" |
412 | - | p = Instance.new("Part", Model) |
412 | + | |
413 | - | p.Name = "Part" |
413 | + | --//=================================\\ |
414 | - | p.TopSurface = 0 |
414 | + | --\\=================================// |
415 | - | p.BottomSurface = 0 |
415 | + | |
416 | - | p.formFactor = "Custom" |
416 | + | |
417 | - | p.Size = Vector3.new(4, 13, 1) |
417 | + | function CastProperRay(StartPos, EndPos, Distance, Ignore) |
418 | - | p.CFrame = CFrame.new(40.8999939, 10.0700006, 63, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) |
418 | + | local DIRECTION = CF(StartPos,EndPos).lookVector |
419 | - | p.BrickColor = BrickColor.new("Bright yellow") |
419 | + | return Raycast(StartPos, DIRECTION, Distance, Ignore) |
420 | - | p.Transparency = 0 |
420 | + | end |
421 | - | p.Reflectance = .1 |
421 | + | |
422 | - | p.Material = Enum.Material.Plastic |
422 | + | --//=================================\\ |
423 | - | p = Instance.new("Part", Model) |
423 | + | --|| SAZERENOS' ARTIFICIAL HEARTBEAT |
424 | - | p.Name = "Part" |
424 | + | --\\=================================// |
425 | - | p.TopSurface = 0 |
425 | + | |
426 | - | p.BottomSurface = 0 |
426 | + | ArtificialHB = Instance.new("BindableEvent", script) |
427 | - | p.formFactor = "Custom" |
427 | + | ArtificialHB.Name = "ArtificialHB" |
428 | - | p.Size = Vector3.new(10.1, 1, 0.99) |
428 | + | |
429 | - | p.CFrame = CFrame.new(51.8999825, 18.1699867, 62.9999733, 1.49008796e-008, 2.39336913e-007, -0.999990225, 6.66744882e-009, 0.99999392, 2.39337737e-007, 0.999994516, -6.66736355e-009, -7.45059765e-008) |
429 | + | script:WaitForChild("ArtificialHB") |
430 | - | p.BrickColor = BrickColor.new("Mid gray") |
430 | + | |
431 | - | p.Transparency = 0 |
431 | + | frame = Frame_Speed |
432 | - | p.Reflectance = .1 |
432 | + | tf = 0 |
433 | - | p.Material = Enum.Material.Plastic |
433 | + | allowframeloss = false |
434 | - | m = Instance.new("SpecialMesh") |
434 | + | tossremainder = false |
435 | - | m.Scale = Vector3.new(1, 1, 1) |
435 | + | lastframe = tick() |
436 | - | m.Parent = p |
436 | + | script.ArtificialHB:Fire() |
437 | - | m.MeshType = Enum.MeshType.Wedge |
437 | + | |
438 | - | p = Instance.new("Part", Model) |
438 | + | game:GetService("RunService").Heartbeat:connect(function(s, p) |
439 | - | p.Name = "Part" |
439 | + | tf = tf + s |
440 | - | p.TopSurface = 0 |
440 | + | if tf >= frame then |
441 | - | p.BottomSurface = 0 |
441 | + | if allowframeloss then |
442 | - | p.formFactor = "Custom" |
442 | + | script.ArtificialHB:Fire() |
443 | - | p.Size = Vector3.new(1, 1, 4.59) |
443 | + | lastframe = tick() |
444 | - | p.CFrame = CFrame.new(49.099987, 18.1699944, 67.5999985, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) |
444 | + | |
445 | - | p.BrickColor = BrickColor.new("Mid gray") |
445 | + | for i = 1, math.floor(tf / frame) do |
446 | - | p.Transparency = 0 |
446 | + | script.ArtificialHB:Fire() |
447 | - | p.Reflectance = .1 |
447 | + | |
448 | - | p.Material = Enum.Material.Plastic |
448 | + | lastframe = tick() |
449 | - | p = Instance.new("Part", Model) |
449 | + | |
450 | - | p.Name = "Part" |
450 | + | if tossremainder then |
451 | - | p.TopSurface = 0 |
451 | + | tf = 0 |
452 | - | p.BottomSurface = 0 |
452 | + | |
453 | - | p.formFactor = "Custom" |
453 | + | tf = tf - frame * math.floor(tf / frame) |
454 | - | p.Size = Vector3.new(1.99, 1, 1) |
454 | + | |
455 | - | p.CFrame = CFrame.new(51.8999863, 16.6699886, 67.5999908, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) |
455 | + | |
456 | - | p.BrickColor = BrickColor.new("Mid gray") |
456 | + | end) |
457 | - | p.Transparency = 0 |
457 | + | |
458 | - | p.Reflectance = .1 |
458 | + | --//=================================\\ |
459 | - | p.Material = Enum.Material.Plastic |
459 | + | --\\=================================// |
460 | - | p = Instance.new("Part", Model) |
460 | + | |
461 | - | p.Name = "Part" |
461 | + | |
462 | - | p.TopSurface = 0 |
462 | + | |
463 | - | p.BottomSurface = 0 |
463 | + | |
464 | - | p.formFactor = "Custom" |
464 | + | |
465 | - | p.Size = Vector3.new(1, 1, 4.59) |
465 | + | --//=================================\\ |
466 | - | p.CFrame = CFrame.new(49.099987, 18.1699867, 63.0000153, 0, -5.38727239e-028, 0.999999642, -0.999999642, -5.38727287e-028, 9.62964972e-035, 5.38727335e-028, -0.999999762, -4.37113776e-008) |
466 | + | --|| SOME FUNCTIONS |
467 | - | p.BrickColor = BrickColor.new("Mid gray") |
467 | + | --\\=================================// |
468 | - | p.Transparency = 0 |
468 | + | |
469 | - | p.Reflectance = .1 |
469 | + | function Raycast(POSITION, DIRECTION, RANGE, IGNOREDECENDANTS) |
470 | - | p.Material = Enum.Material.Plastic |
470 | + | return workspace:FindPartOnRay(Ray.new(POSITION, DIRECTION.unit * RANGE), IGNOREDECENDANTS) |
471 | - | p = Instance.new("Part", Model) |
471 | + | end |
472 | - | p.Name = "Part" |
472 | + | |
473 | - | p.TopSurface = 0 |
473 | + | function PositiveAngle(NUMBER) |
474 | - | p.BottomSurface = 0 |
474 | + | if NUMBER >= 0 then |
475 | - | p.formFactor = "Custom" |
475 | + | NUMBER = 0 |
476 | - | p.Size = Vector3.new(10.1, 1, 0.99) |
476 | + | |
477 | - | p.CFrame = CFrame.new(46.2999916, 18.1699886, 63.0000229, -1.49008823e-008, -2.39345496e-007, 0.999990225, 6.66727829e-009, 0.99999392, 2.39346434e-007, -0.999994516, 6.66733513e-009, 7.45059765e-008) |
477 | + | return NUMBER |
478 | - | p.BrickColor = BrickColor.new("Mid gray") |
478 | + | end |
479 | - | p.Transparency = 0 |
479 | + | |
480 | - | p.Reflectance = .1 |
480 | + | function NegativeAngle(NUMBER) |
481 | - | p.Material = Enum.Material.Plastic |
481 | + | if NUMBER <= 0 then |
482 | - | m = Instance.new("SpecialMesh") |
482 | + | NUMBER = 0 |
483 | - | m.Scale = Vector3.new(1, 1, 1) |
483 | + | |
484 | - | m.Parent = p |
484 | + | return NUMBER |
485 | - | m.MeshType = Enum.MeshType.Wedge |
485 | + | end |
486 | ||
487 | - | Spawn = function() |
487 | + | function Swait(NUMBER) |
488 | - | Modelc = Model:clone() |
488 | + | if NUMBER == 0 or NUMBER == nil then |
489 | - | for _, v in pairs(Modelc:children()) do |
489 | + | ArtificialHB.Event:wait() |
490 | - | if v.className == "Part" then |
490 | + | else |
491 | - | if v.Name ~= "Center" then |
491 | + | for i = 1, NUMBER do |
492 | - | w = Instance.new("Weld") |
492 | + | ArtificialHB.Event:wait() |
493 | - | w.Part0 = Modelc.Center |
493 | + | |
494 | - | w.Part1 = v |
494 | + | |
495 | - | w.C1 = v.CFrame:inverse() * CFrame.new(v.Position) |
495 | + | end |
496 | - | w.C0 = Modelc.Center.CFrame:inverse() * CFrame.new(v.Position) |
496 | + | |
497 | - | w.Parent = w.Part0 |
497 | + | function QuaternionFromCFrame(cf) |
498 | local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components() | |
499 | local trace = m00 + m11 + m22 | |
500 | if trace > 0 then | |
501 | - | return Modelc |
501 | + | local s = math.sqrt(1 + trace) |
502 | local recip = 0.5 / s | |
503 | return (m21 - m12) * recip, (m02 - m20) * recip, (m10 - m01) * recip, s * 0.5 | |
504 | - | CameraRadius = 66 |
504 | + | else |
505 | - | TimeStopRadius = 66 |
505 | + | local i = 0 |
506 | if m11 > m00 then | |
507 | - | RightShoulderC0 = CFrame.new(1, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0) |
507 | + | i = 1 |
508 | - | RightShoulderC1 = CFrame.new(-0.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0) |
508 | + | |
509 | - | LeftShoulderC0 = CFrame.new(-1, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0) |
509 | + | if m22 > (i == 0 and m00 or m11) then |
510 | - | LeftShoulderC1 = CFrame.new(0.5, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0) |
510 | + | i = 2 |
511 | - | RightHipC0 = CFrame.new(1, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0) |
511 | + | |
512 | - | RightHipC1 = CFrame.new(0.5, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0) |
512 | + | if i == 0 then |
513 | - | LeftHipC0 = CFrame.new(-1, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0) |
513 | + | local s = math.sqrt(m00 - m11 - m22 + 1) |
514 | - | LeftHipC1 = CFrame.new(-0.5, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0) |
514 | + | local recip = 0.5 / s |
515 | - | NeckC0 = CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0) |
515 | + | return 0.5 * s, (m10 + m01) * recip, (m20 + m02) * recip, (m21 - m12) * recip |
516 | - | NeckC1 = CFrame.new(0, -0.5, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0) |
516 | + | elseif i == 1 then |
517 | - | RootJointC0 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0) |
517 | + | local s = math.sqrt(m11 - m22 - m00 + 1) |
518 | - | RootJointC1 = CFrame.new(0, 0, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0) |
518 | + | local recip = 0.5 / s |
519 | return (m01 + m10) * recip, 0.5 * s, (m21 + m12) * recip, (m02 - m20) * recip | |
520 | - | getWelds = function(c) --designate weld variables |
520 | + | elseif i == 2 then |
521 | - | local t = c.Torso |
521 | + | local s = math.sqrt(m22 - m00 - m11 + 1) |
522 | - | local hrp = c.HumanoidRootPart.RootJoint |
522 | + | local recip = 0.5 / s return (m02 + m20) * recip, (m12 + m21) * recip, 0.5 * s, (m10 - m01) * recip |
523 | - | RightShoulder = t:FindFirstChild("Right Shoulder") |
523 | + | |
524 | - | LeftShoulder = t:FindFirstChild("Left Shoulder") |
524 | + | |
525 | - | RightHip = t:FindFirstChild("Right Hip") |
525 | + | end |
526 | - | LeftHip = t:FindFirstChild("Left Hip") |
526 | + | |
527 | - | RootJoint = hrp |
527 | + | function QuaternionToCFrame(px, py, pz, x, y, z, w) |
528 | - | Neck = t:FindFirstChild("Neck") |
528 | + | local xs, ys, zs = x + x, y + y, z + z |
529 | local wx, wy, wz = w * xs, w * ys, w * zs | |
530 | - | resetWelds = function(ext, occ) --extent 1-3; occlusion |
530 | + | local xx = x * xs |
531 | - | --1 == reset desiredangle/currentangle |
531 | + | local xy = x * ys |
532 | - | --2 == reset C0/C1 |
532 | + | local xz = x * zs |
533 | - | --3 == reset both des/cur/c0/c1 |
533 | + | local yy = y * ys |
534 | - | local r = { |
534 | + | local yz = y * zs |
535 | - | RightShoulder, |
535 | + | local zz = z * zs |
536 | - | LeftShoulder, |
536 | + | 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)) |
537 | - | RightHip, |
537 | + | end |
538 | - | LeftHip, |
538 | + | |
539 | - | RootJoint, |
539 | + | function QuaternionSlerp(a, b, t) |
540 | - | Neck, |
540 | + | local cosTheta = a[1] * b[1] + a[2] * b[2] + a[3] * b[3] + a[4] * b[4] |
541 | - | Grip |
541 | + | local startInterp, finishInterp; |
542 | - | } |
542 | + | if cosTheta >= 0.0001 then |
543 | - | for _, v in pairs(r) do |
543 | + | if (1 - cosTheta) > 0.0001 then |
544 | - | for i = 1, #occ do |
544 | + | local theta = ACOS(cosTheta) |
545 | - | if occ[i] == v then |
545 | + | local invSinTheta = 1 / SIN(theta) |
546 | - | table.remove(r, _) |
546 | + | startInterp = SIN((1 - t) * theta) * invSinTheta |
547 | finishInterp = SIN(t * theta) * invSinTheta | |
548 | else | |
549 | startInterp = 1 - t | |
550 | - | for _, v in pairs(r) do |
550 | + | finishInterp = t |
551 | - | if v.Name == "Right Shoulder" then |
551 | + | |
552 | - | if ext == 1 then |
552 | + | else |
553 | - | v.DesiredAngle = 0 |
553 | + | if (1 + cosTheta) > 0.0001 then |
554 | - | v.CurrentAngle = 0 |
554 | + | local theta = ACOS(-cosTheta) |
555 | - | elseif ext == 2 then |
555 | + | local invSinTheta = 1 / SIN(theta) |
556 | - | v.C0 = RightShoulderC0 |
556 | + | startInterp = SIN((t - 1) * theta) * invSinTheta |
557 | - | v.C1 = RightShoulderC1 |
557 | + | finishInterp = SIN(t * theta) * invSinTheta |
558 | - | elseif ext == 3 then |
558 | + | |
559 | - | v.DesiredAngle = 0 |
559 | + | startInterp = t - 1 |
560 | - | v.CurrentAngle = 0 |
560 | + | finishInterp = t |
561 | - | v.C0 = RightShoulderC0 |
561 | + | |
562 | - | v.C1 = RightShoulderC1 |
562 | + | |
563 | 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 | |
564 | - | elseif v.Name == "Left Shoulder" then |
564 | + | end |
565 | - | if ext == 1 then |
565 | + | |
566 | - | v.DesiredAngle = 0 |
566 | + | function Clerp(a, b, t) |
567 | - | v.CurrentAngle = 0 |
567 | + | local qa = {QuaternionFromCFrame(a)} |
568 | - | elseif ext == 2 then |
568 | + | local qb = {QuaternionFromCFrame(b)} |
569 | - | v.C0 = LeftShoulderC0 |
569 | + | local ax, ay, az = a.x, a.y, a.z |
570 | - | v.C1 = LeftShoulderC1 |
570 | + | local bx, by, bz = b.x, b.y, b.z |
571 | - | elseif ext == 3 then |
571 | + | local _t = 1 - t |
572 | - | v.DesiredAngle = 0 |
572 | + | return QuaternionToCFrame(_t * ax + t * bx, _t * ay + t * by, _t * az + t * bz, QuaternionSlerp(qa, qb, t)) |
573 | - | v.CurrentAngle = 0 |
573 | + | end |
574 | - | v.C0 = LeftShoulderC0 |
574 | + | |
575 | - | v.C1 = LeftShoulderC1 |
575 | + | function CreateFrame(PARENT, TRANSPARENCY, BORDERSIZEPIXEL, POSITION, SIZE, COLOR, BORDERCOLOR, NAME) |
576 | local frame = IT("Frame") | |
577 | - | elseif v.Name == "Right Hip" then |
577 | + | frame.BackgroundTransparency = TRANSPARENCY |
578 | - | if ext == 1 then |
578 | + | frame.BorderSizePixel = BORDERSIZEPIXEL |
579 | - | v.DesiredAngle = 0 |
579 | + | frame.Position = POSITION |
580 | - | v.CurrentAngle = 0 |
580 | + | frame.Size = SIZE |
581 | - | elseif ext == 2 then |
581 | + | frame.BackgroundColor3 = COLOR |
582 | - | v.C0 = RightHipC0 |
582 | + | frame.BorderColor3 = BORDERCOLOR |
583 | - | v.C1 = RightHipC1 |
583 | + | frame.Name = NAME |
584 | - | elseif ext == 3 then |
584 | + | frame.Parent = PARENT |
585 | - | v.DesiredAngle = 0 |
585 | + | return frame |
586 | - | v.CurrentAngle = 0 |
586 | + | end |
587 | - | v.C0 = RightHipC0 |
587 | + | |
588 | - | v.C1 = RightHipC1 |
588 | + | function CreateLabel(PARENT, TEXT, TEXTCOLOR, TEXTFONTSIZE, TEXTFONT, TRANSPARENCY, BORDERSIZEPIXEL, STROKETRANSPARENCY, NAME) |
589 | local label = IT("TextLabel") | |
590 | - | elseif v.Name == "Left Hip" then |
590 | + | label.BackgroundTransparency = 1 |
591 | - | if ext == 1 then |
591 | + | label.Size = UD2(1, 0, 1, 0) |
592 | - | v.DesiredAngle = 0 |
592 | + | label.Position = UD2(0, 0, 0, 0) |
593 | - | v.CurrentAngle = 0 |
593 | + | label.TextColor3 = TEXTCOLOR |
594 | - | elseif ext == 2 then |
594 | + | label.TextStrokeTransparency = STROKETRANSPARENCY |
595 | - | v.C0 = LeftHipC0 |
595 | + | label.TextTransparency = TRANSPARENCY |
596 | - | v.C1 = LeftHipC1 |
596 | + | label.FontSize = TEXTFONTSIZE |
597 | - | elseif ext == 3 then |
597 | + | label.Font = TEXTFONT |
598 | - | v.DesiredAngle = 0 |
598 | + | label.BorderSizePixel = BORDERSIZEPIXEL |
599 | - | v.CurrentAngle = 0 |
599 | + | label.TextScaled = false |
600 | - | v.C0 = LeftHipC0 |
600 | + | label.Text = TEXT |
601 | - | v.C1 = LeftHipC1 |
601 | + | label.Name = NAME |
602 | label.Parent = PARENT | |
603 | - | elseif v.Name == "Neck" then |
603 | + | return label |
604 | - | if ext == 1 then |
604 | + | end |
605 | - | v.DesiredAngle = 0 |
605 | + | |
606 | - | v.CurrentAngle = 0 |
606 | + | function NoOutlines(PART) |
607 | - | elseif ext == 2 then |
607 | + | PART.TopSurface, PART.BottomSurface, PART.LeftSurface, PART.RightSurface, PART.FrontSurface, PART.BackSurface = 10, 10, 10, 10, 10, 10 |
608 | - | v.C0 = NeckC0 |
608 | + | end |
609 | - | v.C1 = NeckC1 |
609 | + | |
610 | - | elseif ext == 3 then |
610 | + | |
611 | - | v.DesiredAngle = 0 |
611 | + | function CreateWeldOrSnapOrMotor(TYPE, PARENT, PART0, PART1, C0, C1) |
612 | - | v.CurrentAngle = 0 |
612 | + | local NEWWELD = IT(TYPE) |
613 | - | v.C0 = NeckC0 |
613 | + | NEWWELD.Part0 = PART0 |
614 | - | v.C1 = NeckC1 |
614 | + | NEWWELD.Part1 = PART1 |
615 | NEWWELD.C0 = C0 | |
616 | - | elseif v.Name == "RootJoint" then |
616 | + | NEWWELD.C1 = C1 |
617 | - | if ext == 1 then |
617 | + | NEWWELD.Parent = PARENT |
618 | - | v.DesiredAngle = 0 |
618 | + | return NEWWELD |
619 | - | v.CurrentAngle = 0 |
619 | + | end |
620 | - | elseif ext == 2 then |
620 | + | |
621 | - | v.C0 = RootJointC0 |
621 | + | function CreateSound(ID, PARENT, VOLUME, PITCH) |
622 | - | v.C1 = RootJointC1 |
622 | + | local NEWSOUND = nil |
623 | - | elseif ext == 3 then |
623 | + | coroutine.resume(coroutine.create(function() |
624 | - | v.DesiredAngle = 0 |
624 | + | NEWSOUND = IT("Sound", PARENT) |
625 | - | v.CurrentAngle = 0 |
625 | + | NEWSOUND.Volume = VOLUME |
626 | - | v.C0 = RootJointC0 |
626 | + | NEWSOUND.Pitch = PITCH |
627 | - | v.C1 = RootJointC1 |
627 | + | NEWSOUND.SoundId = "http://www.roblox.com/asset/?id="..ID |
628 | Swait() | |
629 | - | elseif v.Name == "RightGrip" then |
629 | + | NEWSOUND:play() |
630 | - | if ext == 1 then |
630 | + | game:GetService("Debris"):AddItem(NEWSOUND, 10) |
631 | - | elseif ext == 2 then |
631 | + | end)) |
632 | - | Grip.C0 = nGrip.C0 |
632 | + | return NEWSOUND |
633 | - | Grip.C1 = nGrip.C1 |
633 | + | end |
634 | - | elseif ext == 3 then |
634 | + | |
635 | - | Grip.C0 = nGrip.C0 |
635 | + | function CFrameFromTopBack(at, top, back) |
636 | - | Grip.C1 = nGrip.C1 |
636 | + | local right = top:Cross(back) |
637 | return CF(at.x, at.y, at.z, right.x, top.x, back.x, right.y, top.y, back.y, right.z, top.z, back.z) | |
638 | end | |
639 | ||
640 | function CreateRing(SIZE,DOESROT,ROT,WAIT,CFRAME,COLOR,GROW) | |
641 | local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(0,0,0)) | |
642 | local mesh = IT("SpecialMesh",wave) | |
643 | - | doitdocdoit = function() |
643 | + | mesh.MeshType = "FileMesh" |
644 | - | if deb == false then |
644 | + | mesh.MeshId = "http://www.roblox.com/asset/?id=3270017" |
645 | - | return |
645 | + | mesh.Scale = SIZE |
646 | mesh.Offset = VT(0,0,0) | |
647 | - | deb = false |
647 | + | wave.CFrame = CFRAME |
648 | - | |
648 | + | coroutine.resume(coroutine.create(function(PART) |
649 | - | vPlayer = owner |
649 | + | for i = 1, WAIT do |
650 | - | cPlayer = vPlayer.Character |
650 | + | Swait() |
651 | - | Anim = cPlayer.Animate |
651 | + | mesh.Scale = mesh.Scale + GROW |
652 | - | Anim.Disabled = true |
652 | + | if DOESROT == true then |
653 | - | Hum = cPlayer.Humanoid |
653 | + | wave.CFrame = wave.CFrame * CFrame.fromEulerAnglesXYZ(0,ROT,0) |
654 | - | Hum.Name = "NOPE" |
654 | + | |
655 | - | Hum.WalkSpeed = 0 |
655 | + | wave.Transparency = wave.Transparency + (0.5/WAIT) |
656 | - | getWelds(cPlayer) |
656 | + | if wave.Transparency > 0.99 then |
657 | - | resetWelds(3, {}) |
657 | + | wave:remove() |
658 | - | |
658 | + | |
659 | - | bodypos = Instance.new("BodyPosition") |
659 | + | |
660 | - | bodypos.P = 4000 |
660 | + | end)) |
661 | - | bodypos.maxForce = Vector3.new(5000000, 50000000, 5000000) * 5000 |
661 | + | end |
662 | - | bodypos.position = cPlayer.Torso.Position + Vector3.new(0, .5, 0) |
662 | + | |
663 | - | bodypos.Parent = cPlayer.Torso |
663 | + | function MagicSphere(SIZE,WAIT,CFRAME,COLOR,GROW) |
664 | - | |
664 | + | local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(1,1,1), true) |
665 | - | dir = cPlayer.HumanoidRootPart.CFrame.lookVector |
665 | + | local mesh = IT("SpecialMesh",wave) |
666 | - | CPlayer = cPlayer |
666 | + | mesh.MeshType = "Sphere" |
667 | - | partpos = Instance.new("Part", workspace) |
667 | + | mesh.Scale = SIZE |
668 | - | partpos.Transparency = 1 |
668 | + | mesh.Offset = VT(0,0,0) |
669 | - | partpos.CanCollide = false |
669 | + | wave.CFrame = CFRAME |
670 | - | partpos.Anchored = true |
670 | + | coroutine.resume(coroutine.create(function(PART) |
671 | - | partpos.CFrame = cPlayer.Torso.CFrame |
671 | + | for i = 1, WAIT do |
672 | - | |
672 | + | Swait() |
673 | - | sound = Instance.new("Sound") |
673 | + | mesh.Scale = mesh.Scale + GROW |
674 | - | sound.Parent = partpos |
674 | + | wave.Transparency = wave.Transparency + (1/WAIT) |
675 | - | sound.Volume = 1 |
675 | + | if wave.Transparency > 0.99 then |
676 | - | sound.SoundId = "http://www.roblox.com/asset/?id=468760371" |
676 | + | wave:remove() |
677 | - | -- sound.SoundId="http://www.roblox.com/asset/?id=168009623" |
677 | + | |
678 | - | sound2 = Instance.new("Sound") |
678 | + | |
679 | - | sound2.Parent = workspace.CurrentCamera |
679 | + | end)) |
680 | - | sound2.Volume = 1 |
680 | + | end |
681 | - | sound2.SoundId = "http://www.roblox.com/asset/?id=468760371" |
681 | + | |
682 | - | -- sound2.SoundId="http://www.roblox.com/asset/?id=168009623" |
682 | + | function Slice(SIZE,WAIT,CFRAME,COLOR,GROW) |
683 | - | sound:Play() |
683 | + | local wave = CreatePart(3, Effects, "Neon", 0, 0.5, BRICKC(COLOR), "Effect", VT(1,1,1), true) |
684 | - | sound2:Play() |
684 | + | local mesh = CreateMesh("SpecialMesh", wave, "FileMesh", "448386996", "", VT(0,SIZE/10,SIZE/10), VT(0,0,0)) |
685 | - | expected = 10 |
685 | + | wave.CFrame = CFRAME |
686 | - | did = false |
686 | + | coroutine.resume(coroutine.create(function(PART) |
687 | - | pooted = 0 |
687 | + | for i = 1, WAIT do |
688 | - | sos = game:GetService("RunService").Stepped:connect(function() |
688 | + | Swait() |
689 | - | pooted = pooted + 1 |
689 | + | mesh.Scale = mesh.Scale * GROW |
690 | - | if pooted >= expected + 1 then |
690 | + | wave.Transparency = wave.Transparency + (0.5/WAIT) |
691 | - | sos:disconnect() |
691 | + | if wave.Transparency > 0.99 then |
692 | - | did = true |
692 | + | wave:remove() |
693 | - | return |
693 | + | |
694 | end | |
695 | - | resetWelds(3, {}) |
695 | + | end)) |
696 | - | RightShoulder.C0 = RightShoulder.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-pooted), math.rad(0), math.rad(0)) |
696 | + | end |
697 | - | LeftShoulder.C0 = LeftShoulder.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-pooted), math.rad(0), math.rad(0)) |
697 | + | |
698 | - | RightHip.C0 = RightHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-pooted), math.rad(0), math.rad(0)) |
698 | + | function MagicBlock(SIZE,WAIT,CFRAME,COLOR,GROW) |
699 | - | LeftHip.C0 = LeftHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-pooted), math.rad(0), math.rad(0)) |
699 | + | local wave = CreatePart(3, Effects, "Neon", 0, 0, BRICKC(COLOR), "Effect", VT(SIZE,SIZE,SIZE), true) |
700 | - | Neck.C0 = Neck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0)) |
700 | + | local mesh = IT("BlockMesh",wave) |
701 | - | RootJoint.C0 = RootJoint.C0 * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0)) |
701 | + | wave.CFrame = CFRAME * ANGLES(RAD(math.random(-360,360)),RAD(math.random(-360,360)),RAD(math.random(-360,360))) |
702 | - | end) |
702 | + | coroutine.resume(coroutine.create(function(PART) |
703 | - | --[[sound=Instance.new("Sound") |
703 | + | for i = 1, WAIT do |
704 | - | sound.Parent=cPlayer.Torso |
704 | + | Swait() |
705 | - | sound.Volume=1 |
705 | + | mesh.Scale = mesh.Scale + GROW |
706 | - | sound.SoundId="http://www.roblox.com/asset/?id=316900066" |
706 | + | wave.CFrame = CFRAME * ANGLES(RAD(math.random(-360,360)),RAD(math.random(-360,360)),RAD(math.random(-360,360))) |
707 | - | sound:Play()]]-- |
707 | + | wave.Transparency = wave.Transparency + (1/WAIT) |
708 | - | while did == false do |
708 | + | if wave.Transparency > 0.99 then |
709 | wave:remove() | |
710 | end | |
711 | - | |
711 | + | |
712 | - | expected = 10 |
712 | + | end)) |
713 | - | did = false |
713 | + | end |
714 | - | pooted = 0 |
714 | + | |
715 | - | sos = game:GetService("RunService").Stepped:connect(function() |
715 | + | function MakeForm(PART,TYPE) |
716 | - | pooted = pooted + 1 |
716 | + | if TYPE == "Cyl" then |
717 | - | if pooted >= expected + 1 then |
717 | + | local MSH = IT("CylinderMesh",PART) |
718 | - | sos:disconnect() |
718 | + | elseif TYPE == "Ball" then |
719 | - | did = true |
719 | + | local MSH = IT("SpecialMesh",PART) |
720 | - | return |
720 | + | MSH.MeshType = "Sphere" |
721 | elseif TYPE == "Wedge" then | |
722 | - | resetWelds(3, {}) |
722 | + | local MSH = IT("SpecialMesh",PART) |
723 | - | RightShoulder.C0 = RightShoulder.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-12 - pooted * 8), math.rad(0), math.rad(pooted)) |
723 | + | MSH.MeshType = "Wedge" |
724 | - | LeftShoulder.C0 = LeftShoulder.C0 * CFrame.new(0, 0, pooted * .1) * CFrame.fromEulerAnglesXYZ(math.rad(-12 - pooted * 9), math.rad(pooted * 9), math.rad(0)) |
724 | + | |
725 | - | RightHip.C0 = RightHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-12), math.rad(0), math.rad(0)) |
725 | + | end |
726 | - | LeftHip.C0 = LeftHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-12), math.rad(0), math.rad(0)) |
726 | + | |
727 | - | Neck.C0 = Neck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(pooted / 2), math.rad(0), math.rad(-pooted * 9)) |
727 | + | function CheckTableForString(Table, String) |
728 | - | RootJoint.C0 = RootJoint.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-pooted), math.rad(pooted / 3), math.rad(pooted * 10)) |
728 | + | for i, v in pairs(Table) do |
729 | - | end) |
729 | + | if string.find(string.lower(String), string.lower(v)) then |
730 | - | while did == false do |
730 | + | return true |
731 | end | |
732 | end | |
733 | - | wait(.2) |
733 | + | return false |
734 | - | expected = 5 |
734 | + | end |
735 | - | did = false |
735 | + | |
736 | - | pooted = 0 |
736 | + | |
737 | - | nubhit = nil |
737 | + | |
738 | - | sos = game:GetService("RunService").Stepped:connect(function() |
738 | + | Debris = game:GetService("Debris") |
739 | - | pooted = pooted + 1 |
739 | + | |
740 | - | if pooted >= expected + 1 then |
740 | + | function CastZapRay(StartPos, Vec, Length, Ignore, DelayIfHit) |
741 | - | sos:disconnect() |
741 | + | local Direction = CFrame.new(StartPos, Vec).lookVector |
742 | - | did = true |
742 | + | local Ignore = ((type(Ignore) == "table" and Ignore) or {Ignore}) |
743 | - | return |
743 | + | local RayHit, RayPos, RayNormal = game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(StartPos, Direction * Length), Ignore) |
744 | if RayHit and CheckIntangible(RayHit) then | |
745 | - | resetWelds(3, {}) |
745 | + | if DelayIfHit then |
746 | - | RightShoulder.C0 = RightShoulder.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-12 - pooted * 8), math.rad(0), math.rad(pooted)) |
746 | + | |
747 | - | LeftShoulder.C0 = LeftShoulder.C0 * CFrame.new(0, 0, pooted * .1) * CFrame.fromEulerAnglesXYZ(math.rad(-12 - pooted * 9), math.rad(pooted * 9), math.rad(0)) |
747 | + | |
748 | - | RightHip.C0 = RightHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-12), math.rad(0), math.rad(0)) |
748 | + | RayHit, RayPos, RayNormal = CastZapRay((RayPos + (Vec * 0.01)), Vec, (Length - ((StartPos - RayPos).magnitude)), Ignore, DelayIfHit) |
749 | - | LeftHip.C0 = LeftHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-12), math.rad(0), math.rad(0)) |
749 | + | |
750 | - | Neck.C0 = Neck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(5), math.rad(0), math.rad(-90 + pooted * 40)) |
750 | + | return RayHit, RayPos, RayNormal |
751 | - | RootJoint.C0 = RootJoint.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-10 + pooted * 4), math.rad(3.3), math.rad(90 - pooted * 34)) |
751 | + | end |
752 | - | if nubhit == nil then |
752 | + | |
753 | - | bodypos.position = bodypos.position + dir * 4 |
753 | + | function RayCast(Position, Direction, MaxDistance, IgnoreList) |
754 | - | cPlayer.Torso.CFrame = CFrame.new(bodypos.position + dir * 4, bodypos.position + dir * 20) |
754 | + | return game:GetService("Workspace"):FindPartOnRayWithIgnoreList(Ray.new(Position, Direction.unit * (MaxDistance or 999.999)), IgnoreList) |
755 | - | --bodypos.position=bodypos.position + dir*9 |
755 | + | end |
756 | - | --cPlayer.Torso.CFrame=CFrame.new(bodypos.position+dir*9,bodypos.position+dir*20) |
756 | + | |
757 | function turnto(position) | |
758 | - | if nubhit == nil and pooted >= 2 then |
758 | + | RootPart.CFrame=CFrame.new(RootPart.CFrame.p,VT(position.X,RootPart.Position.Y,position.Z)) * CFrame.new(0, 0, 0) |
759 | - | pos = bodypos.position + dir * 2 |
759 | + | end |
760 | - | radi = 6 |
760 | + | |
761 | - | for _, v in pairs(workspace:children()) do |
761 | + | function Pose(WhichPose,Speed,Time,Magic,Gyro,Tors) |
762 | - | h = v:FindFirstChild("Humanoid") |
762 | + | PLAYMAINANIM = false |
763 | - | t = v:FindFirstChild("Torso") |
763 | + | if WhichPose == "Cast1" then |
764 | - | if h ~= nil and t ~= nil and v ~= cPlayer then |
764 | + | for i=0, Time, 0.1 / Animation_Speed do |
765 | - | if (t.Position - pos).magnitude <= radi then |
765 | + | Swait() |
766 | - | print(":>") |
766 | + | if Magic == true then |
767 | - | nubhit = v |
767 | + | WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"White".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil}) |
768 | end | |
769 | if Gyro ~= nil and Gyro ~= false then | |
770 | Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p) | |
771 | end | |
772 | RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(35)), Speed / Animation_Speed) | |
773 | - | if nubhit ~= nil then |
773 | + | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-35)), Speed / Animation_Speed) |
774 | - | if nubhit.Torso:FindFirstChild("PART1") == nil then |
774 | + | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(125), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed) |
775 | - | v = Instance.new("BodyVelocity") |
775 | + | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed) |
776 | - | v.P = 4000 |
776 | + | RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed) |
777 | - | v.maxForce = Vector3.new(500000000000, 500000000000, 500000000000) |
777 | + | LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed) |
778 | - | v.velocity = dir * 4 + Vector3.new(0, 4, 0) |
778 | + | |
779 | - | v.Name = "PART1" |
779 | + | elseif WhichPose == "Cast2" then |
780 | - | v.Parent = nubhit.Torso |
780 | + | for i=0, Time, 0.1 / Animation_Speed do |
781 | - | game:GetService("Debris"):AddItem(v, 5) |
781 | + | Swait() |
782 | - | coroutine.resume(coroutine.create(function(v) |
782 | + | if Magic == true then |
783 | - | for i = 1, 100 do |
783 | + | WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"White".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil}) |
784 | - | v.velocity = v.velocity - Vector3.new(0, .07, 0) |
784 | + | WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = LeftArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"White".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil}) |
785 | - | wait() |
785 | + | |
786 | if Gyro ~= nil and Gyro ~= false then | |
787 | - | end), v) |
787 | + | Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p) |
788 | - | v = Instance.new("BodyGyro") |
788 | + | |
789 | - | v.P = 20 |
789 | + | RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed) |
790 | - | v.D = 30 |
790 | + | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-15 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed) |
791 | - | v.maxTorque = Vector3.new(5000000, 5000000, 5000000) |
791 | + | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(15)) * RIGHTSHOULDERC0, Speed / Animation_Speed) |
792 | - | v.cframe = CPlayer.Torso.CFrame * CFrame.fromEulerAnglesXYZ(math.pi / 2, math.pi, 0) |
792 | + | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(120), RAD(0), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed) |
793 | - | v.Name = "PART1" |
793 | + | RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed) |
794 | - | v.Parent = nubhit.Torso |
794 | + | LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed) |
795 | - | game:GetService("Debris"):AddItem(v, 5) |
795 | + | |
796 | elseif WhichPose == "RightArmUp" then | |
797 | for i=0, Time, 0.1 / Animation_Speed do | |
798 | - | end) |
798 | + | Swait() |
799 | - | while did == false do |
799 | + | if Magic == true then |
800 | WACKYEFFECT({Time = 15, EffectType = "Crystal", Size = VT(1,1,1)*1.5, Size2 = VT(0,4,0), Transparency = 0, Transparency2 = 1, CFrame = RightArm.CFrame*CF(0,-1,0)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Glass", Color = BRICKC"White".Color, SoundID = nil, SoundPitch = nil, SoundVolume = nil}) | |
801 | end | |
802 | - | if nubhit == nil then |
802 | + | if Gyro ~= nil and Gyro ~= false then |
803 | - | sound:Stop() |
803 | + | Gyro.cframe = CF(RootPart.Position,Mouse.Hit.p) |
804 | - | wait(.5) |
804 | + | |
805 | - | sound2:Stop() |
805 | + | RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(15)), Speed / Animation_Speed) |
806 | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-15)), Speed / Animation_Speed) | |
807 | - | expected = 32 |
807 | + | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.2) * ANGLES(RAD(125), RAD(0), RAD(25)) * RIGHTSHOULDERC0, Speed / Animation_Speed) |
808 | - | did = false |
808 | + | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed) |
809 | - | pooted = 0 |
809 | + | RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed) |
810 | - | sos = game:GetService("RunService").Stepped:connect(function() |
810 | + | LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed) |
811 | - | pooted = pooted + 1 |
811 | + | |
812 | - | if pooted >= expected + 1 then |
812 | + | elseif WhichPose == "Taunt" then |
813 | - | sos:disconnect() |
813 | + | for i=0, Time, 0.1 / Animation_Speed do |
814 | - | did = true |
814 | + | Swait() |
815 | - | return |
815 | + | RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed) |
816 | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed) | |
817 | - | RightShoulder.C0 = RightShoulder.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-.03), math.rad(0), math.rad(.03)) |
817 | + | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed) |
818 | - | LeftShoulder.C0 = LeftShoulder.C0 * CFrame.new(0, 0, .02) * CFrame.fromEulerAnglesXYZ(math.rad(-.05), math.rad(.08), math.rad(0)) |
818 | + | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed) |
819 | - | RightHip.C0 = RightHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-.04), math.rad(0), math.rad(0)) |
819 | + | RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed) |
820 | - | LeftHip.C0 = LeftHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-.04), math.rad(0), math.rad(0)) |
820 | + | LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed) |
821 | - | Neck.C0 = Neck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(.05), math.rad(0), math.rad(.1)) |
821 | + | |
822 | - | RootJoint.C0 = RootJoint.C0 * CFrame.fromEulerAnglesXYZ(math.rad(.2), math.rad(0.05), math.rad(-.05)) |
822 | + | CreateSound(221057812,Torso,10,1,false) |
823 | - | bodypos.position = bodypos.position + dir * .05 |
823 | + | for i=0, Time*2, 0.1 / Animation_Speed do |
824 | - | cPlayer.Torso.CFrame = CFrame.new(bodypos.position + dir * .05, bodypos.position + dir * 20) |
824 | + | Swait() |
825 | - | end) |
825 | + | RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed) |
826 | - | while did == false do |
826 | + | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(35 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(0)), Speed / Animation_Speed) |
827 | - | wait() |
827 | + | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(145), RAD(0), RAD(45)) * RIGHTSHOULDERC0, Speed / Animation_Speed) |
828 | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(5), RAD(25), RAD(-15)) * LEFTSHOULDERC0, Speed / Animation_Speed) | |
829 | - | bodypos.Parent = nil |
829 | + | RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed) |
830 | - | expected = 12 |
830 | + | LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed) |
831 | - | did = false |
831 | + | |
832 | - | pooted = 0 |
832 | + | for i=0, Time, 0.1 / Animation_Speed do |
833 | - | sos = game:GetService("RunService").Stepped:connect(function() |
833 | + | Swait() |
834 | - | pooted = pooted + 1 |
834 | + | RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), Speed / Animation_Speed) |
835 | - | if pooted >= expected + 1 then |
835 | + | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(0), RAD(0)), Speed / Animation_Speed) |
836 | - | sos:disconnect() |
836 | + | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.35, 0.65, -0.5) * ANGLES(RAD(175), RAD(0), RAD(-35)) * RIGHTSHOULDERC0, Speed / Animation_Speed) |
837 | - | did = true |
837 | + | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed) |
838 | - | return |
838 | + | RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed) |
839 | LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed) | |
840 | - | RightShoulder.C0 = RightShoulder.C0 * CFrame.fromEulerAnglesXYZ(math.rad(4.5), math.rad(0), math.rad(-.15)) |
840 | + | |
841 | - | LeftShoulder.C0 = LeftShoulder.C0 * CFrame.new(0, 0, -.07) * CFrame.fromEulerAnglesXYZ(math.rad(5.6), math.rad(-4.5), math.rad(1.25)) |
841 | + | elseif WhichPose == "Prepare key" then |
842 | - | RightHip.C0 = RightHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(1.24), math.rad(0), math.rad(0)) |
842 | + | for i=0, Time, 0.1 / Animation_Speed do |
843 | - | LeftHip.C0 = LeftHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(1.24), math.rad(0), math.rad(0)) |
843 | + | Swait() |
844 | - | Neck.C0 = Neck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(1), math.rad(-2.5), math.rad(-8)) |
844 | + | if Gyro ~= nil and Gyro ~= false then |
845 | - | RootJoint.C0 = RootJoint.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-.5), math.rad(-.5), math.rad(7)) |
845 | + | Gyro.cframe = CF(RootPart.Position,Tors.Position) |
846 | - | end) |
846 | + | |
847 | RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(65)), Speed / Animation_Speed) | |
848 | - | while did == false do |
848 | + | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-65)), Speed / Animation_Speed) |
849 | - | wait() |
849 | + | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(65)) * RIGHTSHOULDERC0, Speed / Animation_Speed) |
850 | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed) | |
851 | - | expected = 6 |
851 | + | RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed) |
852 | - | did = false |
852 | + | LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed) |
853 | - | pooted = 0 |
853 | + | |
854 | - | sos = game:GetService("RunService").Stepped:connect(function() |
854 | + | elseif WhichPose == "Turn key" then |
855 | - | pooted = pooted + 1 |
855 | + | for i=0, Time, 0.1 / Animation_Speed do |
856 | - | if pooted >= expected + 1 then |
856 | + | Swait() |
857 | - | sos:disconnect() |
857 | + | if Gyro ~= nil and Gyro ~= false then |
858 | - | did = true |
858 | + | Gyro.cframe = CF(RootPart.Position,Tors.Position) |
859 | - | return |
859 | + | |
860 | RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(75)), Speed / Animation_Speed) | |
861 | - | resetWelds(3, {}) |
861 | + | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 6.5 * SIN(SINE / 12)), RAD(0), RAD(-75)), Speed / Animation_Speed) |
862 | - | RightShoulder.C0 = RightShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(pooted * 5), math.rad(0), math.rad(pooted * 18)) |
862 | + | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), -0.25) * ANGLES(RAD(90), RAD(0), RAD(75)) * ANGLES(RAD(0), RAD(-90), RAD(0)) * RIGHTSHOULDERC0, Speed / Animation_Speed) |
863 | - | LeftShoulder.C0 = LeftShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(pooted * 5), math.rad(0), math.rad(-pooted * 18)) |
863 | + | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.15 * COS(SINE / 12) - 0.05 * COS(SINE / 12), 0.5) * ANGLES(RAD(-45), RAD(0), RAD(45)) * LEFTSHOULDERC0, Speed / Animation_Speed) |
864 | - | RightHip.C0 = RightHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-pooted * 2), math.rad(0), math.rad(pooted * 6)) |
864 | + | RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.5, -0.5) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-3), RAD(0), RAD(-15)), Speed / Animation_Speed) |
865 | - | LeftHip.C0 = LeftHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-pooted * 2), math.rad(0), math.rad(-pooted * 6)) |
865 | + | LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), Speed / Animation_Speed) |
866 | - | Neck.C0 = Neck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(20 + pooted * 5), math.rad(0), math.rad(0)) |
866 | + | |
867 | - | RootJoint.C0 = RootJoint.C0 * CFrame.new(0, pooted * .03, -pooted * .1) * CFrame.fromEulerAnglesXYZ(math.rad(pooted * 6), math.rad(0), math.rad(pooted * 1)) |
867 | + | |
868 | - | print(":(") |
868 | + | PLAYMAINANIM = true |
869 | - | end) |
869 | + | end |
870 | - | wait(.3) |
870 | + | |
871 | - | while did == false do |
871 | + | --//=================================\\ |
872 | - | wait() |
872 | + | --|| SPEECH |
873 | --\\=================================// | |
874 | - | resetWelds(3, { |
874 | + | |
875 | - | "Neck" |
875 | + | function Chatter(Text,Timer) |
876 | - | }) |
876 | + | local chat = coroutine.wrap(function() |
877 | - | expected = 5 |
877 | + | if Character:FindFirstChild("SpeechBoard")~= nil then |
878 | - | did = false |
878 | + | Character:FindFirstChild("SpeechBoard"):destroy() |
879 | - | pooted = 0 |
879 | + | |
880 | - | p = Instance.new("Part", workspace) |
880 | + | local naeeym2 = IT("BillboardGui",Character) |
881 | - | p.Name = "ORB" |
881 | + | naeeym2.Size = UD2(0,100,0,40) |
882 | - | p.TopSurface = 0 |
882 | + | naeeym2.StudsOffset = Vector3.new(0,2,0) |
883 | - | p.BottomSurface = 0 |
883 | + | naeeym2.Adornee = Character.Head |
884 | - | p.formFactor = "Custom" |
884 | + | naeeym2.Name = "SpeechBoard" |
885 | - | p.CFrame = cPlayer.Torso.CFrame |
885 | + | naeeym2.AlwaysOnTop = true |
886 | - | m = Instance.new("SpecialMesh", p) |
886 | + | local tecks2 = IT("TextLabel",naeeym2) |
887 | - | m.MeshType = "Sphere" |
887 | + | tecks2.BackgroundTransparency = 1 |
888 | - | p.BrickColor = BrickColor:White() |
888 | + | tecks2.BorderSizePixel = 0 |
889 | - | p.Size = Vector3.new(1, 1, 1) |
889 | + | tecks2.Text = "" |
890 | - | p.CanCollide = false |
890 | + | tecks2.Font = "Legacy" |
891 | - | p.Anchored = true |
891 | + | tecks2.TextSize = 15 |
892 | - | game:GetService("Debris"):AddItem(p, 5) |
892 | + | tecks2.TextStrokeTransparency = 1 |
893 | - | coroutine.resume(coroutine.create(function(p) |
893 | + | tecks2.TextColor3 = Color3.new(242,243,243) |
894 | - | nubhit.Torso.Anchored = true |
894 | + | tecks2.TextStrokeColor3 = Color3.new(242,243,243) |
895 | - | for i = 1, 10 do |
895 | + | tecks2.Size = UDim2.new(1,0,0.5,0) |
896 | - | p.Mesh.Scale = p.Mesh.Scale + Vector3.new(5, 5, 5) |
896 | + | for i = 1,string.len(Text),1 do |
897 | - | p.Transparency = .5 + i / 20 |
897 | + | CreateSound(418252437, Head, 3, MRANDOM(8,12)/15, false) |
898 | - | wait() |
898 | + | tecks2.Text = string.sub(Text,1,i) |
899 | wait(Timer) | |
900 | - | p:Remove() |
900 | + | |
901 | - | end), p) |
901 | + | wait(1) |
902 | - | sos = game:GetService("RunService").Stepped:connect(function() |
902 | + | naeeym2:Destroy() |
903 | - | pooted = pooted + 1 |
903 | + | end) |
904 | - | if pooted >= expected + 1 then |
904 | + | chat() |
905 | - | sos:disconnect() |
905 | + | end |
906 | - | did = true |
906 | + | |
907 | - | return |
907 | + | function chatfunc(text,waitt) |
908 | local chat = coroutine.wrap(function() | |
909 | - | resetWelds(3, {}) |
909 | + | if Character:FindFirstChild("TalkingBillBoard")~= nil then |
910 | - | RightShoulder.C0 = RightShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-pooted * 10), math.rad(-pooted * 12), math.rad(pooted * 10)) |
910 | + | Character:FindFirstChild("TalkingBillBoard"):destroy() |
911 | - | LeftShoulder.C0 = LeftShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-pooted * 10), math.rad(pooted * 12), math.rad(-pooted * 10)) |
911 | + | end |
912 | - | RightHip.C0 = RightHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-pooted * 2), math.rad(0), math.rad(-pooted * 10)) |
912 | + | local naeeym2 = Instance.new("BillboardGui",Character) |
913 | - | LeftHip.C0 = LeftHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-pooted * 2), math.rad(0), math.rad(pooted * 9)) |
913 | + | naeeym2.Size = UDim2.new(0,100,0,40) |
914 | - | Neck.C0 = Neck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(20 - pooted * 6), math.rad(0), math.rad(0)) |
914 | + | naeeym2.StudsOffset = Vector3.new(0,5,0) |
915 | - | RootJoint.C0 = RootJoint.C0 * CFrame.new(0, pooted * .03, -pooted * .1) * CFrame.fromEulerAnglesXYZ(math.rad(-pooted * 9.5), math.rad(0), math.rad(pooted * .2)) |
915 | + | naeeym2.Adornee = Character.Head |
916 | - | print(":(") |
916 | + | naeeym2.Name = "TalkingBillBoard" |
917 | - | end) |
917 | + | naeeym2.AlwaysOnTop = true |
918 | - | |
918 | + | local tecks2 = Instance.new("TextLabel",naeeym2) |
919 | - | while did == false do |
919 | + | tecks2.BackgroundTransparency = 1 |
920 | - | wait() |
920 | + | tecks2.BorderSizePixel = 0 |
921 | tecks2.Text = "" | |
922 | - | wait(1) |
922 | + | tecks2.Font = "SciFi" |
923 | - | expected = 5 |
923 | + | tecks2.TextSize = 30 |
924 | - | did = false |
924 | + | tecks2.TextStrokeTransparency = 1 |
925 | - | pooted = 0 |
925 | + | tecks2.TextColor3 = SKILLTEXTCOLOR |
926 | - | sos = game:GetService("RunService").Stepped:connect(function() |
926 | + | tecks2.TextStrokeColor3 = Color3.new(27,42,53) |
927 | - | pooted = pooted + 1 |
927 | + | tecks2.Size = UDim2.new(1,0,0.5,0) |
928 | - | if pooted >= expected + 1 then |
928 | + | for i = 1,string.len(text),1 do |
929 | - | sos:disconnect() |
929 | + | tecks2.Text = string.sub(text,1,i) |
930 | - | did = true |
930 | + | Swait() |
931 | - | return |
931 | + | end |
932 | wait(waitt) | |
933 | - | resetWelds(3, {}) |
933 | + | coroutine.resume(coroutine.create(function() |
934 | - | RightShoulder.C0 = RightShoulder.C0 * CFrame.new(0, 0.05 * pooted, 0) * CFrame.fromEulerAnglesXYZ(math.rad(pooted * 2), math.rad(0), math.rad(pooted * 6)) |
934 | + | for i = 1, 10 do |
935 | - | LeftShoulder.C0 = LeftShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(pooted * 2), math.rad(0), math.rad(-pooted * 6)) |
935 | + | tecks2.TextTransparency = tecks2.TextTransparency + 0.1 |
936 | - | RightHip.C0 = RightHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-pooted * 2), math.rad(0), math.rad(-57 + pooted * 20)) |
936 | + | Swait() |
937 | - | LeftHip.C0 = LeftHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-pooted * 2), math.rad(0), math.rad(57 - pooted * 20)) |
937 | + | |
938 | - | Neck.C0 = Neck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(pooted * 4), math.rad(0), math.rad(0)) |
938 | + | naeeym2:Destroy() |
939 | - | RootJoint.C0 = RootJoint.C0 * CFrame.new(0, 0, -.1 * pooted) * CFrame.fromEulerAnglesXYZ(math.rad(-57 + pooted * 20), math.rad(0), math.rad(0)) |
939 | + | end)) |
940 | - | print(":(") |
940 | + | end) |
941 | - | end) |
941 | + | chat() |
942 | - | while did == false do |
942 | + | end |
943 | - | wait() |
943 | + | |
944 | ||
945 | - | wait(.8) |
945 | + | function SpawnTrail(FROM,TO,BIG) |
946 | - | expected = 5 |
946 | + | local TRAIL = CreatePart(3, Effects, "Neon", 0, 0.5, "Really red", "Trail", VT(0,0,0)) |
947 | - | did = false |
947 | + | MakeForm(TRAIL,"Cyl") |
948 | - | pooted = 0 |
948 | + | local DIST = (FROM - TO).Magnitude |
949 | - | bodypos.Parent = cPlayer.Torso |
949 | + | if BIG == true then |
950 | - | workspace.CurrentCamera.CameraType = "Follow" |
950 | + | TRAIL.Size = VT(10,DIST,10) |
951 | - | sos = game:GetService("RunService").Stepped:connect(function() |
951 | + | else |
952 | - | pooted = pooted + 1 |
952 | + | TRAIL.Size = VT(0.25,DIST,0.25) |
953 | - | if pooted >= expected + 1 then |
953 | + | |
954 | - | sos:disconnect() |
954 | + | TRAIL.CFrame = CF(FROM, TO) * CF(0, 0, -DIST/2) * ANGLES(RAD(90),RAD(0),RAD(0)) |
955 | - | did = true |
955 | + | coroutine.resume(coroutine.create(function() |
956 | - | return |
956 | + | for i = 1, 5 do |
957 | Swait() | |
958 | - | RightShoulder.C0 = RightShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-2), math.rad(0), math.rad(-3)) |
958 | + | TRAIL.Transparency = TRAIL.Transparency + 0.1 |
959 | - | LeftShoulder.C0 = LeftShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(2), math.rad(0), math.rad(3)) |
959 | + | |
960 | - | RightHip.C0 = RightHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(1), math.rad(0), math.rad(-8)) |
960 | + | TRAIL:remove() |
961 | - | LeftHip.C0 = LeftHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(1), math.rad(0), math.rad(8)) |
961 | + | end)) |
962 | - | Neck.C0 = Neck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-14), math.rad(0), math.rad(0)) |
962 | + | end |
963 | - | RootJoint.C0 = RootJoint.C0 * CFrame.new(0, 0, .05) * CFrame.fromEulerAnglesXYZ(math.rad(-7), math.rad(0), math.rad(0)) |
963 | + | |
964 | - | |
964 | + | function WACKYEFFECT(Table) |
965 | - | bodypos.position = bodypos.position + Vector3.new(0, 240, 0) |
965 | + | local TYPE = (Table.EffectType or "Sphere") |
966 | - | cPlayer.Torso.CFrame = cPlayer.Torso.CFrame + Vector3.new(0, 240, 0) |
966 | + | local SIZE = (Table.Size or VT(1,1,1)) |
967 | - | |
967 | + | local ENDSIZE = (Table.Size2 or VT(0,0,0)) |
968 | - | print(":(") |
968 | + | local TRANSPARENCY = (Table.Transparency or 0) |
969 | - | end) |
969 | + | local ENDTRANSPARENCY = (Table.Transparency2 or 1) |
970 | - | local DIOPLS = Instance.new("Sound", cPlayer.Torso) |
970 | + | local CFRAME = (Table.CFrame or Torso.CFrame) |
971 | - | DIOPLS.SoundId = "rbxassetid://316900066" |
971 | + | local MOVEDIRECTION = (Table.MoveToPos or nil) |
972 | - | DIOPLS.Volume = 1 |
972 | + | local ROTATION1 = (Table.RotationX or 0) |
973 | - | DIOPLS:Play() |
973 | + | local ROTATION2 = (Table.RotationY or 0) |
974 | - | game:GetService("Debris"):AddItem(DIOPLS, 19) |
974 | + | local ROTATION3 = (Table.RotationZ or 0) |
975 | - | while did == false do |
975 | + | local MATERIAL = (Table.Material or "Neon") |
976 | - | wait() |
976 | + | local COLOR = (Table.Color or C3(242,243,243)) |
977 | local TIME = (Table.Time or 45) | |
978 | - | wait(.8) |
978 | + | local SOUNDID = (Table.SoundID or nil) |
979 | - | LOL = Spawn() |
979 | + | local SOUNDPITCH = (Table.SoundPitch or nil) |
980 | - | LOL.Parent = workspace |
980 | + | local SOUNDVOLUME = (Table.SoundVolume or nil) |
981 | - | LOL:MakeJoints() |
981 | + | coroutine.resume(coroutine.create(function() |
982 | - | LOL:MoveTo(cPlayer.Torso.CFrame.p) |
982 | + | local PLAYSSOUND = false |
983 | - | C = LOL.Center |
983 | + | local SOUND = nil |
984 | - | C.CFrame = CFrame.new(nubhit.Torso.Position + Vector3.new(0, 1200, 0)) * CFrame.new(8, 0, 0) |
984 | + | local EFFECT = CreatePart(3, Effects, MATERIAL, 0, TRANSPARENCY, BRICKC("Pearl"), "Effect", VT(1,1,1), true) |
985 | - | |
985 | + | if SOUNDID ~= nil and SOUNDPITCH ~= nil and SOUNDVOLUME ~= nil then |
986 | - | bb = Instance.new("BodyPosition") |
986 | + | PLAYSSOUND = true |
987 | - | bb.Parent = C |
987 | + | SOUND = CreateSound(SOUNDID, EFFECT, SOUNDVOLUME, SOUNDPITCH, false) |
988 | - | bb.maxForce = Vector3.new(50000000000000000, 50000000000000000, 50000000000000000) |
988 | + | |
989 | - | bb.position = bb.Parent.Position |
989 | + | EFFECT.Color = COLOR |
990 | - | C.CFrame = CFrame.new(bb.position) |
990 | + | local MSH = nil |
991 | - | orig = bb.position |
991 | + | if TYPE == "Sphere" then |
992 | - | |
992 | + | MSH = CreateMesh("SpecialMesh", EFFECT, "Sphere", "", "", SIZE, VT(0,0,0)) |
993 | - | gg = Instance.new("BodyGyro") |
993 | + | elseif TYPE == "Block" then |
994 | - | gg.P = 15000 |
994 | + | MSH = IT("BlockMesh",EFFECT) |
995 | - | gg.D = 100 |
995 | + | MSH.Scale = VT(SIZE.X,SIZE.X,SIZE.X) |
996 | - | gg.maxTorque = Vector3.new(500000000, 500000000, 500000000) |
996 | + | elseif TYPE == "Wave" then |
997 | - | gg.cframe = CFrame.new(C.Position, Vector3.new(nubhit.Torso.Position.x, C.Position.y, nubhit.Torso.Position.z)) * CFrame.fromEulerAnglesXYZ(-math.rad(10), math.rad(10), 0) |
997 | + | MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "0", "", SIZE, VT(0,0,-SIZE.X/8)) |
998 | - | gg.Parent = C |
998 | + | elseif TYPE == "Ring" then |
999 | - | |
999 | + | MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "0", "", VT(SIZE.X,SIZE.X,0.1), VT(0,0,0)) |
1000 | - | expected = 80 |
1000 | + | elseif TYPE == "Slash" then |
1001 | - | did = false |
1001 | + | MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "0", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0)) |
1002 | - | pooted = 0 |
1002 | + | elseif TYPE == "Round Slash" then |
1003 | - | |
1003 | + | MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "0", "", VT(SIZE.X/10,0,SIZE.X/10), VT(0,0,0)) |
1004 | - | resetWelds(3, {}) |
1004 | + | elseif TYPE == "Swirl" then |
1005 | - | |
1005 | + | MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "0", "", SIZE, VT(0,0,0)) |
1006 | - | Hum.PlatformStand = true |
1006 | + | elseif TYPE == "Skull" then |
1007 | - | |
1007 | + | MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "0", "", SIZE, VT(0,0,0)) |
1008 | - | RightShoulder.C0 = RightShoulder.C0 * CFrame.new(0, .4, 0) * CFrame.fromEulerAnglesXYZ(math.rad(30), math.rad(0), math.rad(180)) |
1008 | + | elseif TYPE == "Crystal" then |
1009 | - | LeftShoulder.C0 = LeftShoulder.C0 * CFrame.new(0, .4, 0) * CFrame.fromEulerAnglesXYZ(math.rad(30), math.rad(0), math.rad(-180)) |
1009 | + | MSH = CreateMesh("SpecialMesh", EFFECT, "FileMesh", "0", "", SIZE, VT(0,0,0)) |
1010 | - | RightHip.C0 = RightHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-8), math.rad(0), math.rad(-8)) |
1010 | + | |
1011 | - | LeftHip.C0 = LeftHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-8), math.rad(0), math.rad(8)) |
1011 | + | if MSH ~= nil then |
1012 | - | Neck.C0 = Neck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-45), math.rad(0), math.rad(0)) |
1012 | + | local MOVESPEED = nil |
1013 | - | RootJoint.C0 = RootJoint.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0)) |
1013 | + | if MOVEDIRECTION ~= nil then |
1014 | - | |
1014 | + | MOVESPEED = (CFRAME.p - MOVEDIRECTION).Magnitude/TIME |
1015 | - | bodypos.Parent = nil |
1015 | + | |
1016 | - | w = Instance.new("Weld") |
1016 | + | local GROWTH = SIZE - ENDSIZE |
1017 | - | w.Part0 = C |
1017 | + | local TRANS = TRANSPARENCY - ENDTRANSPARENCY |
1018 | - | w.Part1 = cPlayer.Torso |
1018 | + | if TYPE == "Block" then |
1019 | - | w.C0 = CFrame.new(.3, 5.6, -7) * CFrame.fromEulerAnglesXYZ(math.pi / .9, math.pi / 10, 0) |
1019 | + | EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))) |
1020 | - | w.C0 = w.C0 * CFrame.fromEulerAnglesXYZ(0, 0, 0) |
1020 | + | else |
1021 | - | w.Parent = w.Part0 |
1021 | + | EFFECT.CFrame = CFRAME |
1022 | - | |
1022 | + | |
1023 | - | sos = game:GetService("RunService").Stepped:connect(function() |
1023 | + | for LOOP = 1, TIME+1 do |
1024 | - | pooted = pooted + 1 |
1024 | + | Swait() |
1025 | - | if pooted >= expected + 1 then |
1025 | + | MSH.Scale = MSH.Scale - GROWTH/TIME |
1026 | - | sos:disconnect() |
1026 | + | if TYPE == "Wave" then |
1027 | - | did = true |
1027 | + | MSH.Offset = VT(0,0,-MSH.Scale.X/8) |
1028 | - | return |
1028 | + | |
1029 | EFFECT.Transparency = EFFECT.Transparency - TRANS/TIME | |
1030 | - | |
1030 | + | if TYPE == "Block" then |
1031 | - | bb.position = orig - Vector3.new(0, 1202 / 80 * pooted, 0) |
1031 | + | EFFECT.CFrame = CFRAME*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))) |
1032 | - | C.CFrame = C.CFrame - Vector3.new(0, 1202 / 80, 0) |
1032 | + | else |
1033 | - | print(":(") |
1033 | + | EFFECT.CFrame = EFFECT.CFrame*ANGLES(RAD(ROTATION1),RAD(ROTATION2),RAD(ROTATION3)) |
1034 | - | end) |
1034 | + | |
1035 | if MOVEDIRECTION ~= nil then | |
1036 | - | while did == false do |
1036 | + | local ORI = EFFECT.Orientation |
1037 | - | wait() |
1037 | + | EFFECT.CFrame = CF(EFFECT.Position,MOVEDIRECTION)*CF(0,0,-MOVESPEED) |
1038 | EFFECT.Orientation = ORI | |
1039 | - | C.CFrame = CFrame.new(nubhit.Torso.Position + Vector3.new(0, 4, 0), Vector3.new(nubhit.Torso.Position.x, C.Position.y, nubhit.Torso.Position.z)) * CFrame.fromEulerAnglesXYZ(-math.rad(5), math.rad(5), 0) |
1039 | + | |
1040 | - | C.CFrame = C.CFrame * CFrame.new(8, 0, 0) |
1040 | + | |
1041 | - | bl2 = Instance.new("Part") |
1041 | + | if PLAYSSOUND == false then |
1042 | - | bl2.TopSurface = 0 |
1042 | + | EFFECT:remove() |
1043 | - | bl2.BottomSurface = 0 |
1043 | + | else |
1044 | - | bl2.CanCollide = false |
1044 | + | SOUND.Stopped:Connect(function() |
1045 | - | bl2.formFactor = "Symmetric" |
1045 | + | EFFECT:remove() |
1046 | - | local ShockWaveSound = Instance.new("Sound", bl2) |
1046 | + | end) |
1047 | - | ShockWaveSound.SoundId = "rbxassetid://138186576" |
1047 | + | |
1048 | - | ShockWaveSound.Pitch = 0.8 |
1048 | + | |
1049 | - | ShockWaveSound.Volume = 1 |
1049 | + | if PLAYSSOUND == false then |
1050 | - | ShockWaveSound:Play() |
1050 | + | EFFECT:remove() |
1051 | - | m = Instance.new("SpecialMesh") |
1051 | + | else |
1052 | - | m.MeshId = "http://www.roblox.com/asset/?id=20329976" |
1052 | + | repeat Swait() until SOUND.Playing == false |
1053 | - | m.Scale = Vector3.new(1, 4, 1) |
1053 | + | EFFECT:remove() |
1054 | - | m.Parent = bl2 |
1054 | + | |
1055 | - | bl2.Size = Vector3.new(1, 1, 1) |
1055 | + | |
1056 | - | bl2.Anchored = false |
1056 | + | end)) |
1057 | - | bl2.Name = "c" |
1057 | + | end |
1058 | - | bl2.CFrame = CFrame.new(C.Position) - Vector3.new(0, 2, 0) |
1058 | + | |
1059 | - | bl2.BrickColor = BrickColor.new("White") |
1059 | + | |
1060 | - | bl2.Parent = CPlayer |
1060 | + | --//=================================\\ |
1061 | - | coroutine.resume(coroutine.create(function(p) |
1061 | + | --|| DAMAGING |
1062 | - | for i = 1, 10 do |
1062 | + | --\\=================================// |
1063 | - | p.Mesh.Scale = p.Mesh.Scale + Vector3.new(8, 0, 8) |
1063 | + | |
1064 | - | p.Transparency = .25 + i * .075 |
1064 | + | function ApplyDamage(Humanoid,Damage,OneShot) |
1065 | - | p.CFrame = p.CFrame * CFrame.fromEulerAnglesXYZ(0, math.rad(5), 0) |
1065 | + | Damage = Damage * DAMAGEMULTIPLIER |
1066 | - | wait() |
1066 | + | local DEAD = false |
1067 | if Humanoid.Health < 2000 and OneShot == false then | |
1068 | - | p:Remove() |
1068 | + | if Humanoid.Health - Damage > 0 then |
1069 | - | end), bl2) |
1069 | + | Humanoid.Health = Humanoid.Health - Damage |
1070 | - | bl2.Anchored = true |
1070 | + | |
1071 | Humanoid.Parent:BreakJoints() | |
1072 | - | bl2 = Instance.new("Part") |
1072 | + | DEAD = true |
1073 | - | bl2.TopSurface = 0 |
1073 | + | |
1074 | - | bl2.BottomSurface = 0 |
1074 | + | else |
1075 | - | bl2.CanCollide = false |
1075 | + | DEAD = true |
1076 | - | bl2.formFactor = "Symmetric" |
1076 | + | Humanoid.Parent:BreakJoints() |
1077 | - | m = Instance.new("SpecialMesh") |
1077 | + | |
1078 | - | m.MeshId = "http://www.roblox.com/asset/?id=20329976" |
1078 | + | if DEAD == true then |
1079 | - | m.Scale = Vector3.new(1, 6, 1) |
1079 | + | local PARTS = {} |
1080 | - | m.Parent = bl2 |
1080 | + | for index, CHILD in pairs(Humanoid.Parent:GetChildren()) do |
1081 | - | bl2.Size = Vector3.new(1, 1, 1) |
1081 | + | if CHILD:IsA("BasePart") then |
1082 | - | bl2.Anchored = false |
1082 | + | table.insert(PARTS,CHILD) |
1083 | - | bl2.Name = "c" |
1083 | + | |
1084 | - | bl2.CFrame = CFrame.new(C.Position) - Vector3.new(0, 2, 0) |
1084 | + | |
1085 | - | bl2.BrickColor = BrickColor.new("White") |
1085 | + | coroutine.resume(coroutine.create(function() |
1086 | - | bl2.Parent = CPlayer |
1086 | + | |
1087 | - | coroutine.resume(coroutine.create(function(p) |
1087 | + | repeat |
1088 | - | for i = 1, 20 do |
1088 | + | Swait() |
1089 | - | p.Mesh.Scale = p.Mesh.Scale + Vector3.new(6, 0, 6) |
1089 | + | local PIECE = nil |
1090 | - | p.Transparency = i / 20 |
1090 | + | if MRANDOM(1,5) == 1 then |
1091 | - | p.CFrame = p.CFrame * CFrame.fromEulerAnglesXYZ(0, math.rad(3), 0) |
1091 | + | for E = 1, #PARTS do |
1092 | - | wait() |
1092 | + | if MRANDOM(1,5) == 1 then |
1093 | PIECE = PARTS[E] | |
1094 | - | p:Remove() |
1094 | + | table.remove(PARTS,E) |
1095 | - | end), bl2) |
1095 | + | |
1096 | - | bl2.Anchored = true |
1096 | + | |
1097 | - | |
1097 | + | |
1098 | - | gg.cframe = gg.cframe * CFrame.fromEulerAnglesXYZ(math.rad(10), -math.rad(10), 0) |
1098 | + | |
1099 | - | expected = 3 |
1099 | + | if PIECE ~= nil then |
1100 | - | did = false |
1100 | + | if PIECE.Name == "Head" then |
1101 | - | pooted = 0 |
1101 | + | WACKYEFFECT({Time = MRANDOM(10,30)*5, EffectType = "Box", Size = VT(PIECE.Size.Z,PIECE.Size.Y,PIECE.Size.Z), Size2 = (VT(PIECE.Size.Z,PIECE.Size.Y,PIECE.Size.Z))*MRANDOM(7,14)/10, Transparency = PIECE.Transparency, Transparency2 = 1, CFrame = PIECE.CFrame, MoveToPos = PIECE.Position+VT(0,MRANDOM(5,8)/1.5,0), RotationX = MRANDOM(-25,25)/35, RotationY = MRANDOM(-25,25)/35, RotationZ = MRANDOM(-25,25)/35, Material = "Neon", Color = C3(242,243,243), SoundID = 3264923, SoundPitch = MRANDOM(12,16)/10, SoundVolume = 2}) |
1102 | - | workspace.CurrentCamera.CameraType = "Follow" |
1102 | + | else |
1103 | - | sos = game:GetService("RunService").Stepped:connect(function() |
1103 | + | WACKYEFFECT({Time = MRANDOM(10,30)*5, EffectType = "Box", Size = PIECE.Size, Size2 = PIECE.Size*MRANDOM(7,14)/10, Transparency = PIECE.Transparency, Transparency2 = 1, CFrame = PIECE.CFrame, MoveToPos = PIECE.Position+VT(0,MRANDOM(5,8)/1.5,0), MRANDOM(-25,25)/35, RotationY = MRANDOM(-25,25)/35, RotationZ = MRANDOM(-25,25)/35, Material = "Neon", Color = C3(242,243,243), SoundID = 3264923, SoundPitch = MRANDOM(12,16)/10, SoundVolume = 2}) |
1104 | - | pooted = pooted + 1 |
1104 | + | |
1105 | - | if pooted >= expected + 1 then |
1105 | + | PIECE:remove() |
1106 | - | sos:disconnect() |
1106 | + | |
1107 | - | did = true |
1107 | + | until #PARTS == 0 |
1108 | - | return |
1108 | + | end)) |
1109 | end | |
1110 | - | RightShoulder.C0 = RightShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0)) |
1110 | + | end |
1111 | - | LeftShoulder.C0 = LeftShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0)) |
1111 | + | |
1112 | - | RightHip.C0 = RightHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-4), math.rad(0), math.rad(0)) |
1112 | + | |
1113 | - | LeftHip.C0 = LeftHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(4), math.rad(0), math.rad(0)) |
1113 | + | function ApplyDamage3(Humanoid,Damage,TorsoPart) |
1114 | - | Neck.C0 = Neck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0)) |
1114 | + | local defence = Instance.new("BoolValue",Humanoid.Parent) |
1115 | - | RootJoint.C0 = RootJoint.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(5), math.rad(0), math.rad(0)) |
1115 | + | defence.Name = ("HitBy"..Player.Name) |
1116 | - | |
1116 | + | game:GetService("Debris"):AddItem(defence, 0.001) |
1117 | - | w.C0 = w.C0 * CFrame.fromEulerAnglesXYZ(math.rad(15), 0, 0) |
1117 | + | Damage = Damage * DAMAGEMULTIPLIER |
1118 | - | |
1118 | + | if Humanoid.Health ~= 0 then |
1119 | - | print(":(") |
1119 | + | local CritChance = MRANDOM(1,100) |
1120 | - | end) |
1120 | + | if Damage > Humanoid.Health then |
1121 | - | while did == false do |
1121 | + | Damage = math.ceil(Humanoid.Health) |
1122 | - | wait() |
1122 | + | if Damage == 0 then |
1123 | Damage = 0.1 | |
1124 | - | wait(.3) |
1124 | + | |
1125 | - | expected = 5 |
1125 | + | |
1126 | - | did = false |
1126 | + | Humanoid.Health = Humanoid.Health - Damage |
1127 | - | pooted = 0 |
1127 | + | |
1128 | - | workspace.CurrentCamera.CameraType = "Follow" |
1128 | + | end |
1129 | - | sos = game:GetService("RunService").Stepped:connect(function() |
1129 | + | |
1130 | - | pooted = pooted + 1 |
1130 | + | function ApplyDamage3(Humanoid,Damage,TorsoPart) |
1131 | - | if pooted >= expected + 1 then |
1131 | + | local defence = Instance.new("BoolValue",Humanoid.Parent) |
1132 | - | sos:disconnect() |
1132 | + | defence.Name = ("HitBy"..Player.Name) |
1133 | - | did = true |
1133 | + | game:GetService("Debris"):AddItem(defence, 0.001) |
1134 | - | return |
1134 | + | Damage = Damage * DAMAGEMULTIPLIER |
1135 | if Humanoid.Health ~= 0 then | |
1136 | - | RightShoulder.C0 = RightShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0)) |
1136 | + | local CritChance = MRANDOM(1,100) |
1137 | - | LeftShoulder.C0 = LeftShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0)) |
1137 | + | if Damage > Humanoid.Health then |
1138 | - | RightHip.C0 = RightHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(-8)) |
1138 | + | Damage = math.ceil(Humanoid.Health) |
1139 | - | LeftHip.C0 = LeftHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(8)) |
1139 | + | if Damage == 0 then |
1140 | - | Neck.C0 = Neck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(5), math.rad(0), math.rad(0)) |
1140 | + | Damage = 0.1 |
1141 | - | RootJoint.C0 = RootJoint.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(14), math.rad(0), math.rad(0)) |
1141 | + | |
1142 | - | |
1142 | + | |
1143 | - | w.C0 = w.C0 * CFrame.new(0, 0, -.04) * CFrame.fromEulerAnglesXYZ(math.rad(15), 0, 0) |
1143 | + | Humanoid.Health = Humanoid.Health - Damage |
1144 | - | |
1144 | + | |
1145 | - | print(":(") |
1145 | + | end |
1146 | - | end) |
1146 | + | |
1147 | - | while did == false do |
1147 | + | function ApplyAoE3(POSITION,RANGE,MINDMG,MAXDMG,FLING,INSTAKILL) |
1148 | - | wait() |
1148 | + | local CHILDREN = workspace:GetDescendants() |
1149 | for index, CHILD in pairs(CHILDREN) do | |
1150 | - | expected = 203 |
1150 | + | if CHILD.ClassName == "Model" and CHILD ~= Character and CHILD.Parent ~= Effects then |
1151 | - | did = false |
1151 | + | local HUM = CHILD:FindFirstChildOfClass("Humanoid") |
1152 | - | pooted = 0 |
1152 | + | if HUM then |
1153 | - | workspace.CurrentCamera.CameraType = "Follow" |
1153 | + | local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso") |
1154 | - | sos = game:GetService("RunService").Stepped:connect(function() |
1154 | + | if TORSO then |
1155 | - | pooted = pooted + 1 |
1155 | + | if (TORSO.Position - POSITION).Magnitude <= RANGE then |
1156 | - | if pooted >= expected + 1 then |
1156 | + | if INSTAKILL == true then |
1157 | - | sos:disconnect() |
1157 | + | CHILD:BreakJoints() |
1158 | - | did = true |
1158 | + | else |
1159 | - | return |
1159 | + | local DMG = MRANDOM(MINDMG,MAXDMG) |
1160 | ApplyDamage(HUM,DMG,TORSO) | |
1161 | - | resetWelds(3, { |
1161 | + | |
1162 | - | RightHip, |
1162 | + | if FLING > 0 then |
1163 | - | LeftHip, |
1163 | + | for _, c in pairs(CHILD:GetChildren()) do |
1164 | - | RootJoint, |
1164 | + | if c:IsA("BasePart") then |
1165 | - | Neck |
1165 | + | local bv = Instance.new("BodyVelocity") |
1166 | - | }) |
1166 | + | bv.maxForce = Vector3.new(1e9, 1e9, 1e9) |
1167 | - | RightShoulder.C0 = RightShoulderC0 * CFrame.new(math.random(-20, 20) / 200, math.cos(time() * 30), math.random(-20, 20) / 200) * CFrame.fromEulerAnglesXYZ(math.sin(time() * 20) / 3, math.sin(time() * 20) / 5, math.rad(60) - math.cos(time() * 70) * 2) |
1167 | + | bv.velocity = CF(POSITION,TORSO.Position).lookVector*FLING |
1168 | - | LeftShoulder.C0 = LeftShoulderC0 * CFrame.new(math.random(-20, 20) / 200, math.cos(time() * 30), math.random(-20, 20) / 200) * CFrame.fromEulerAnglesXYZ(math.sin(time() * 20) / 3, math.sin(time() * 20) / 5, math.rad(-60) + math.sin(time() * 60) * 2) |
1168 | + | bv.Parent = c |
1169 | - | RightHip.C0 = RightHipC0 * CFrame.fromEulerAnglesXYZ(math.rad(-18), math.rad(0), math.rad(-30)) |
1169 | + | Debris:AddItem(bv,0.05) |
1170 | - | LeftHip.C0 = LeftHipC0 * CFrame.fromEulerAnglesXYZ(math.rad(-18), math.rad(0), math.rad(30)) |
1170 | + | end |
1171 | - | Neck.C0 = Neck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(20), math.rad(0), math.rad(0)) |
1171 | + | end |
1172 | - | RootJoint.C0 = RootJointC0 * CFrame.new(math.random(-20, 20) / 200, math.random(-20, 20) / 200, math.random(-20, 20) / 200) * CFrame.fromEulerAnglesXYZ(math.rad(80), math.rad(0), math.rad(0)) |
1172 | + | |
1173 | - | w.C0 = w.C0 * CFrame.new(math.random(-20, 20) / 2000, math.random(-20, 20) / 2000, math.random(-20, 20) / 2000) * CFrame.fromEulerAnglesXYZ(0, 0, 0) |
1173 | + | |
1174 | - | C.CFrame = C.CFrame + Vector3.new(math.random(-20, 20) / 200, math.random(-20, 20) / 200, math.random(-20, 20) / 200) |
1174 | + | |
1175 | - | |
1175 | + | |
1176 | - | if pooted / 2 == math.floor(pooted / 2) then |
1176 | + | |
1177 | - | p = cPlayer["Right Arm"]:clone() |
1177 | + | |
1178 | - | p.Anchored = true |
1178 | + | end |
1179 | - | p.CanCollide = false |
1179 | + | |
1180 | - | p.Parent = workspace |
1180 | + | function CameraEnshaking(Length, Intensity) |
1181 | - | p.Transparency = .5 |
1181 | + | coroutine.resume(coroutine.create(function() |
1182 | - | game:GetService("Debris"):AddItem(p, .2) |
1182 | + | local intensity = 1 * Intensity |
1183 | - | p = cPlayer["Left Arm"]:clone() |
1183 | + | local rotM = 0.01 * Intensity |
1184 | - | p.Anchored = true |
1184 | + | for i = 0, Length, 0.1 do |
1185 | - | p.CanCollide = false |
1185 | + | Swait() |
1186 | - | p.Parent = workspace |
1186 | + | intensity = intensity - 0.05 * Intensity / Length |
1187 | - | p.Transparency = .5 |
1187 | + | rotM = rotM - 5.0E-4 * Intensity / Length |
1188 | - | game:GetService("Debris"):AddItem(p, .2) |
1188 | + | Humanoid.CameraOffset = Vector3.new(RAD(MRANDOM(-intensity, intensity)), RAD(MRANDOM(-intensity, intensity)), RAD(MRANDOM(-intensity, intensity))) |
1189 | - | |
1189 | + | Cam.CFrame = Cam.CFrame * CF(RAD(MRANDOM(-intensity, intensity)), RAD(MRANDOM(-intensity, intensity)), RAD(MRANDOM(-intensity, intensity))) * EULER(RAD(MRANDOM(-intensity, intensity)) * rotM, RAD(MRANDOM(-intensity, intensity)) * rotM, RAD(MRANDOM(-intensity, intensity)) * rotM) |
1190 | - | p = Instance.new("Part", workspace) |
1190 | + | |
1191 | - | p.Name = "ORB" |
1191 | + | Humanoid.CameraOffset = Vector3.new(0, 0, 0) |
1192 | - | p.TopSurface = 0 |
1192 | + | end)) |
1193 | - | p.BottomSurface = 0 |
1193 | + | end |
1194 | - | p.formFactor = "Custom" |
1194 | + | |
1195 | - | p.CFrame = cPlayer.Torso.CFrame + cPlayer.Torso.CFrame.lookVector * 3 + Vector3.new(math.random(-20, 20) / 15, math.random(-20, 20) / 15 - .8, math.random(-20, 20) / 15) |
1195 | + | function KillChildren(v) |
1196 | - | m = Instance.new("SpecialMesh", p) |
1196 | + | v:BreakJoints() |
1197 | - | m.MeshType = "Sphere" |
1197 | + | for _, c in pairs(v:GetChildren()) do |
1198 | - | p.BrickColor = BrickColor:White() |
1198 | + | if c:IsA("BasePart") then |
1199 | - | p.Size = Vector3.new(.4, .4, .4) |
1199 | + | if c.Transparency < 1 then |
1200 | - | p.CanCollide = false |
1200 | + | if c:FindFirstChildOfClass("Decal") then |
1201 | - | p.Anchored = true |
1201 | + | c:FindFirstChildOfClass("Decal"):remove() |
1202 | - | game:GetService("Debris"):AddItem(p, 5) |
1202 | + | |
1203 | - | coroutine.resume(coroutine.create(function(p) |
1203 | + | particles(c) |
1204 | - | for i = 1, 8 do |
1204 | + | c.PE.Enabled = true |
1205 | - | p.Mesh.Scale = p.Mesh.Scale + Vector3.new(1, 1, 1) |
1205 | + | c.Parent = Effects |
1206 | - | p.Transparency = i / 8 |
1206 | + | c.CanCollide = false |
1207 | - | wait() |
1207 | + | c.Material = "Neon" |
1208 | c.Color = C3(242,243,243) | |
1209 | - | p:Remove() |
1209 | + | c.Transparency = 1 |
1210 | - | end), p) |
1210 | + | local grav = Instance.new("BodyPosition",c) |
1211 | - | |
1211 | + | grav.P = 20000 |
1212 | grav.maxForce = Vector3.new(math.huge,math.huge,math.huge) | |
1213 | - | |
1213 | + | grav.position = c.Position + VT(MRANDOM(-5,5),MRANDOM(-5,5),MRANDOM(-5,5)) |
1214 | - | print(":)") |
1214 | + | grav.Name = "GravityForce" |
1215 | - | end) |
1215 | + | coroutine.resume(coroutine.create(function() |
1216 | - | while did == false do |
1216 | + | for i = 1, 20 do |
1217 | - | wait() |
1217 | + | Swait() |
1218 | c.Transparency = c.Transparency + 1/20 | |
1219 | - | wait(.5) |
1219 | + | |
1220 | - | expected = 20 |
1220 | + | c.PE.Enabled = false |
1221 | - | did = false |
1221 | + | Debris:AddItem(c,2) |
1222 | - | pooted = 0 |
1222 | + | end)) |
1223 | - | workspace.CurrentCamera.CameraType = "Follow" |
1223 | + | |
1224 | - | sos = game:GetService("RunService").Stepped:connect(function() |
1224 | + | |
1225 | - | pooted = pooted + 1 |
1225 | + | |
1226 | - | if pooted >= expected + 1 then |
1226 | + | end |
1227 | - | sos:disconnect() |
1227 | + | |
1228 | - | did = true |
1228 | + | function ApplyAoE(POSITION,RANGE) |
1229 | - | return |
1229 | + | local CHILDREN = workspace:GetDescendants() |
1230 | for index, CHILD in pairs(CHILDREN) do | |
1231 | - | resetWelds(3, { |
1231 | + | if CHILD.ClassName == "Model" and CHILD ~= Character then |
1232 | - | Neck, |
1232 | + | local LISTED = false |
1233 | - | RootJoint, |
1233 | + | for LIST = 1, #WHITELIST do |
1234 | - | RightHip, |
1234 | + | if WHITELIST[LIST] ~= nil then |
1235 | - | LeftHip |
1235 | + | if CHILD.Name == WHITELIST[LIST] then |
1236 | - | }) |
1236 | + | LISTED = true |
1237 | - | RightShoulder.C0 = RightShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(2 * pooted), math.rad(0), math.rad(5 * pooted)) |
1237 | + | |
1238 | - | LeftShoulder.C0 = LeftShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(-9 * pooted)) |
1238 | + | |
1239 | - | RightHip.C0 = RightHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(-2)) |
1239 | + | |
1240 | - | LeftHip.C0 = LeftHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(4 * pooted)) |
1240 | + | if LISTED == false then |
1241 | - | Neck.C0 = Neck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(2), math.rad(0), math.rad(2)) |
1241 | + | local HUM = CHILD:FindFirstChildOfClass("Humanoid") |
1242 | - | RootJoint.C0 = RootJoint.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0)) |
1242 | + | if HUM then |
1243 | - | w.C0 = w.C0 * CFrame.new(0, 0.03, .03) * CFrame.fromEulerAnglesXYZ(math.rad(2), math.rad(2), math.rad(0)) |
1243 | + | local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso") |
1244 | - | print(":)") |
1244 | + | if TORSO then |
1245 | - | end) |
1245 | + | if (TORSO.Position - POSITION).Magnitude <= RANGE+TORSO.Size.Magnitude then |
1246 | - | while did == false do |
1246 | + | KillChildren(CHILD) |
1247 | - | wait() |
1247 | + | |
1248 | end | |
1249 | end | |
1250 | - | expected = 5 |
1250 | + | |
1251 | - | did = false |
1251 | + | |
1252 | - | pooted = 0 |
1252 | + | |
1253 | - | workspace.CurrentCamera.CameraType = "Follow" |
1253 | + | end |
1254 | - | w.Parent = nil |
1254 | + | |
1255 | - | bodypos.position = cPlayer.Torso.Position - Vector3.new(0, 1, 0) |
1255 | + | function SpawnMeteor(POS,SIZE,ISDEBREE,ORIPOS) |
1256 | - | poo = cPlayer.Torso.CFrame.lookVector |
1256 | + | coroutine.resume(coroutine.create(function() |
1257 | - | cPlayer.Torso.CFrame = CFrame.new(cPlayer.Torso.Position, cPlayer.Torso.Position + C.CFrame.lookVector * 50) |
1257 | + | local METEOR = IT("Model",Effects) |
1258 | - | bodypos.Parent = cPlayer.Torso |
1258 | + | METEOR.Name = "Meteorite" |
1259 | - | sos = game:GetService("RunService").Stepped:connect(function() |
1259 | + | local CENTER = CreatePart(3, METEOR, "Granite", 0, 0, "Really black", "MeteorCenter", VT(5,5,5)*SIZE) |
1260 | - | pooted = pooted + 1 |
1260 | + | METEOR.PrimaryPart = CENTER |
1261 | - | if pooted >= expected + 1 then |
1261 | + | local PRT = CreatePart(3, METEOR, "Granite", 0, 0, "Really black", "MeteorCenter", VT(5,5,5)*SIZE) |
1262 | - | sos:disconnect() |
1262 | + | PRT.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))) |
1263 | - | did = true |
1263 | + | for i = 1, 15 do |
1264 | - | return |
1264 | + | local FIRE = CreatePart(3, METEOR, "Neon", 0, 0, "Really red", "Fire", VT(5.1,1,5.1)*SIZE) |
1265 | FIRE.CFrame = CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360))) | |
1266 | - | resetWelds(3, {}) |
1266 | + | |
1267 | - | RightShoulder.C0 = RightShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(80 - pooted * 35)) |
1267 | + | if ISDEBREE ~= true then |
1268 | - | LeftShoulder.C0 = LeftShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(10), math.rad(0), math.rad(-190 + pooted * 28)) |
1268 | + | METEOR:SetPrimaryPartCFrame(CF(POS) * ANGLES(RAD(MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(-15,15)))*CF(0,500,0) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))) |
1269 | - | RightHip.C0 = RightHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(6), math.rad(0), math.rad(-80 + pooted * 4)) |
1269 | + | |
1270 | - | LeftHip.C0 = LeftHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(8), math.rad(0), math.rad(84 - pooted * 4)) |
1270 | + | METEOR:SetPrimaryPartCFrame(CF(ORIPOS,POS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))) |
1271 | - | Neck.C0 = Neck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(20 + pooted * 10), math.rad(0), math.rad(0)) |
1271 | + | |
1272 | - | RootJoint.C0 = RootJoint.C0 * CFrame.new(0, 0, -pooted * .25) * CFrame.fromEulerAnglesXYZ(math.rad(-20 + pooted * 9), math.rad(0), math.rad(0)) |
1272 | + | local IMPACT = false |
1273 | - | print(":)") |
1273 | + | CreateSound(463593339, CENTER, 10, 0.6) |
1274 | - | end) |
1274 | + | if SIZE >= 3.5 then |
1275 | - | while did == false do |
1275 | + | for i = 1, MRANDOM(3,7) do |
1276 | - | wait() |
1276 | + | SpawnMeteor(CF(POS) * ANGLES(RAD(0), RAD(MRANDOM(0,360)), RAD(0))*CF(0,0,SIZE*12).p,SIZE/MRANDOM(4,5),true,CENTER.CFrame*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,SIZE*15).p) |
1277 | end | |
1278 | - | wait(.7) |
1278 | + | |
1279 | - | expected = 5 |
1279 | + | for i = 1, 200 do |
1280 | - | did = false |
1280 | + | Swait() |
1281 | - | pooted = 0 |
1281 | + | local HITFLOOR,HITPOS = Raycast(CENTER.Position, CF(CENTER.Position,POS).lookVector, 3, Character) |
1282 | - | sos = game:GetService("RunService").Stepped:connect(function() |
1282 | + | if HITFLOOR == nil then |
1283 | - | pooted = pooted + 1 |
1283 | + | local ORI = CENTER.Orientation |
1284 | - | if pooted >= expected + 1 then |
1284 | + | METEOR:SetPrimaryPartCFrame(CF(HITPOS) * ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))) |
1285 | - | sos:disconnect() |
1285 | + | else |
1286 | - | did = true |
1286 | + | if HITFLOOR.Anchored == true then |
1287 | - | return |
1287 | + | CreateDebreeRing(HITFLOOR,HITPOS,30*SIZE,VT(6,6,6)*SIZE,5) |
1288 | CreateFlyingDebree(HITFLOOR,CF(HITPOS),8,VT(4,4,4)*SIZE,5,175) | |
1289 | - | resetWelds(3, {}) |
1289 | + | |
1290 | - | RightShoulder.C0 = RightShoulder.C0 * CFrame.new(0, 0.05 * pooted, 0) * CFrame.fromEulerAnglesXYZ(math.rad(pooted * 2), math.rad(0), math.rad(pooted * 6)) |
1290 | + | IMPACT = true |
1291 | - | LeftShoulder.C0 = LeftShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(pooted * 2), math.rad(0), math.rad(-pooted * 6)) |
1291 | + | break |
1292 | - | RightHip.C0 = RightHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-pooted * 2), math.rad(0), math.rad(-57 + pooted * 20)) |
1292 | + | |
1293 | - | LeftHip.C0 = LeftHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-pooted * 2), math.rad(0), math.rad(57 - pooted * 20)) |
1293 | + | |
1294 | - | Neck.C0 = Neck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(pooted * 4), math.rad(0), math.rad(0)) |
1294 | + | if IMPACT == true then |
1295 | - | RootJoint.C0 = RootJoint.C0 * CFrame.new(0, 0, -.1 * pooted) * CFrame.fromEulerAnglesXYZ(math.rad(-57 + pooted * 20), math.rad(0), math.rad(0)) |
1295 | + | WACKYEFFECT({EffectType = "Block", Size = CENTER.Size, Size2 = VT(10,10,10)*4*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(245,205,48), SoundID = 2930668938, SoundPitch = 1, SoundVolume = 5}) |
1296 | - | print(":(") |
1296 | + | WACKYEFFECT({EffectType = "Block", Size = CENTER.Size, Size2 = VT(10,10,10)*3*SIZE, Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(245,205,48), SoundID = 2930668938, SoundPitch = 1, SoundVolume = 5}) |
1297 | - | end) |
1297 | + | WACKYEFFECT({EffectType = "Sphere", Size = VT(SIZE*20,0,SIZE*20), Size2 = VT(0,SIZE*750,0), Transparency = 0, Transparency2 = 1, CFrame = CF(CENTER.Position), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(245,205,48), SoundID = 2930668938, SoundPitch = 1, SoundVolume = 5}) |
1298 | - | while did == false do |
1298 | + | ApplyAoE(CENTER.Position,30*SIZE) |
1299 | - | wait() |
1299 | + | |
1300 | METEOR:remove() | |
1301 | - | wait(.2) |
1301 | + | end)) |
1302 | - | expected = 10 |
1302 | + | end |
1303 | - | did = false |
1303 | + | |
1304 | - | pooted = 0 |
1304 | + | function ApplyAoE4(POSITION,RANGE,BRUTAL) |
1305 | - | workspace.CurrentCamera.CameraType = "Follow" |
1305 | + | local CHILDREN = workspace:GetDescendants() |
1306 | - | g = Instance.new("BodyGyro") |
1306 | + | for index, CHILD in pairs(CHILDREN) do |
1307 | - | g.Parent = cPlayer.Torso |
1307 | + | if CHILD.ClassName == "Model" and CHILD ~= Character then |
1308 | - | sos = game:GetService("RunService").Stepped:connect(function() |
1308 | + | local HUM = CHILD:FindFirstChildOfClass("Humanoid") |
1309 | - | pooted = pooted + 1 |
1309 | + | if HUM then |
1310 | - | if pooted >= expected + 1 then |
1310 | + | local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso") |
1311 | - | sos:disconnect() |
1311 | + | if TORSO then |
1312 | - | did = true |
1312 | + | if (TORSO.Position - POSITION).Magnitude <= RANGE then |
1313 | - | return |
1313 | + | if BRUTAL == true then |
1314 | Kill(CHILD) | |
1315 | - | RightShoulder.C0 = RightShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-2), math.rad(0), math.rad(-2)) |
1315 | + | else |
1316 | - | LeftShoulder.C0 = LeftShoulder.C0 * CFrame.new(0, 0, 0) * CFrame.fromEulerAnglesXYZ(math.rad(1), math.rad(0), math.rad(2)) |
1316 | + | CHILD:BreakJoints() |
1317 | - | RightHip.C0 = RightHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(1), math.rad(0), math.rad(-4)) |
1317 | + | |
1318 | - | LeftHip.C0 = LeftHip.C0 * CFrame.fromEulerAnglesXYZ(math.rad(1), math.rad(0), math.rad(4)) |
1318 | + | |
1319 | - | Neck.C0 = Neck.C0 * CFrame.fromEulerAnglesXYZ(math.rad(-7), math.rad(0), math.rad(0)) |
1319 | + | |
1320 | - | RootJoint.C0 = RootJoint.C0 * CFrame.new(0, 0, .05) * CFrame.fromEulerAnglesXYZ(math.rad(0), math.rad(0), math.rad(0)) |
1320 | + | |
1321 | - | if pooted >= 2 then |
1321 | + | |
1322 | - | bodypos.position = bodypos.position + Vector3.new(0, 12, 0) - dir * 5 |
1322 | + | |
1323 | - | cPlayer.Torso.CFrame = cPlayer.Torso.CFrame + Vector3.new(0, 12, 0) - dir * 5 |
1323 | + | end |
1324 | ||
1325 | - | print(":(") |
1325 | + | function Kill(Char) |
1326 | - | end) |
1326 | + | local NewCharacter = IT("Model",Effects) |
1327 | - | while did == false do |
1327 | + | NewCharacter.Name = "Ow im ded ;-;" |
1328 | - | wait() |
1328 | + | for _, c in pairs(Char:GetDescendants()) do |
1329 | if c:IsA("BasePart") and c.Transparency == 0 then | |
1330 | - | wait(.2) |
1330 | + | c:BreakJoints() |
1331 | - | bodypos:Remove() |
1331 | + | c.Material = "Glass" |
1332 | - | wait(.5) |
1332 | + | c.Color = C3(245,205,48) |
1333 | - | |
1333 | + | c.CanCollide = true |
1334 | - | e = Instance.new("Explosion") |
1334 | + | c.Transparency = 0.3 |
1335 | - | e.BlastRadius = 30 |
1335 | + | if c:FindFirstChildOfClass("SpecialMesh") then |
1336 | - | e.Position = C.Position |
1336 | + | c:FindFirstChildOfClass("SpecialMesh").TextureId = "" |
1337 | - | e.BlastPressure = e.BlastPressure * 2.5 |
1337 | + | |
1338 | - | e.Parent = workspace |
1338 | + | if c.Name == "Head" then |
1339 | - | s = Instance.new("Sound", C) |
1339 | + | c:ClearAllChildren() |
1340 | - | s.SoundId = "rbxassetid://258057783" |
1340 | + | c.Size = VT(c.Size.Y,c.Size.Y,c.Size.Y) |
1341 | - | s.Volume = 1 |
1341 | + | |
1342 | - | s:Play() |
1342 | + | if c.ClassName == "MeshPart" then |
1343 | - | g:Remove() |
1343 | + | c.TextureID = "" |
1344 | - | --dun |
1344 | + | |
1345 | - | nubhit.Torso.Anchored = false |
1345 | + | if c:FindFirstChildOfClass("BodyPosition") then |
1346 | - | Hum.PlatformStand = false |
1346 | + | c:FindFirstChildOfClass("BodyPosition"):remove() |
1347 | - | C.Anchored = true |
1347 | + | |
1348 | if c:FindFirstChildOfClass("ParticleEmitter") then | |
1349 | - | coroutine.resume(coroutine.create(function(t) |
1349 | + | c:FindFirstChildOfClass("ParticleEmitter"):remove() |
1350 | - | wait(3) |
1350 | + | |
1351 | - | p = Instance.new("Sound") |
1351 | + | c.Parent = NewCharacter |
1352 | - | p.SoundId = "http://www.roblox.com/asset/?id=154677261" |
1352 | + | c.Name = "DeadPart" |
1353 | - | p.Parent = t |
1353 | + | c.Velocity = VT(MRANDOM(-45,45),MRANDOM(-45,45),MRANDOM(-45,45))/15 |
1354 | - | p.Volume = 1 |
1354 | + | c.RotVelocity = VT(MRANDOM(-45,45),MRANDOM(-15,85),MRANDOM(-45,45)) |
1355 | - | p:Play() |
1355 | + | |
1356 | - | end), C) |
1356 | + | |
1357 | - | game:GetService("Debris"):AddItem(LOL, 5) |
1357 | + | Char:remove() |
1358 | Debris:AddItem(NewCharacter,5) | |
1359 | - | resetWelds(3, {}) |
1359 | + | end |
1360 | - | workspace.CurrentCamera.CameraType = "Custom" |
1360 | + | |
1361 | - | Hum.WalkSpeed = 16 |
1361 | + | function ApplyAoE(POSITION,RANGE,BRUTAL) |
1362 | - | Hum.Name = "Humanoid" |
1362 | + | local CHILDREN = workspace:GetDescendants() |
1363 | - | bodypos:Remove() |
1363 | + | for index, CHILD in pairs(CHILDREN) do |
1364 | - | partpos:Remove() |
1364 | + | if CHILD.ClassName == "Model" and CHILD ~= Character then |
1365 | - | Anim.Parent = nil |
1365 | + | local HUM = CHILD:FindFirstChildOfClass("Humanoid") |
1366 | - | wait(.1) |
1366 | + | if HUM then |
1367 | - | Anim.Disabled = false |
1367 | + | local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso") |
1368 | - | Anim.Parent = cPlayer |
1368 | + | if TORSO then |
1369 | - | deb = true |
1369 | + | if (TORSO.Position - POSITION).Magnitude <= RANGE then |
1370 | if BRUTAL == true then | |
1371 | Kill(CHILD) | |
1372 | - | Tool = Instance.new("HopperBin") |
1372 | + | else |
1373 | - | Tool.Name = "ROAD ROLLER DA" |
1373 | + | CHILD:BreakJoints() |
1374 | - | Tool.Parent = owner.Backpack |
1374 | + | |
1375 | - | local mouse = owner:GetMouse() |
1375 | + | |
1376 | - | mouse.Button1Down:connect(function() |
1376 | + | |
1377 | - | doitdocdoit() |
1377 | + | |
1378 | - | end) |
1378 | + | |
1379 | end | |
1380 | - | end |
1380 | + | end |
1381 | ||
1382 | function ApplyAoE(POSITION,RANGE,BRUTAL) | |
1383 | local CHILDREN = workspace:GetDescendants() | |
1384 | for index, CHILD in pairs(CHILDREN) do | |
1385 | if CHILD.ClassName == "Model" and CHILD ~= Character then | |
1386 | local HUM = CHILD:FindFirstChildOfClass("Humanoid") | |
1387 | if HUM then | |
1388 | local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso") | |
1389 | if TORSO then | |
1390 | if (TORSO.Position - POSITION).Magnitude <= RANGE then | |
1391 | if BRUTAL == true then | |
1392 | Kill(CHILD) | |
1393 | else | |
1394 | CHILD:BreakJoints() | |
1395 | end | |
1396 | end | |
1397 | end | |
1398 | end | |
1399 | end | |
1400 | end | |
1401 | end | |
1402 | ||
1403 | ||
1404 | ||
1405 | function ApplyAoE(POSITION,RANGE,ISBANISH) | |
1406 | local CHILDREN = workspace:GetDescendants() | |
1407 | for index, CHILD in pairs(CHILDREN) do | |
1408 | if CHILD.ClassName == "Model" and CHILD ~= Character then | |
1409 | local HUM = CHILD:FindFirstChildOfClass("Humanoid") | |
1410 | if HUM then | |
1411 | local TORSO = CHILD:FindFirstChild("Torso") or CHILD:FindFirstChild("UpperTorso") | |
1412 | if TORSO then | |
1413 | if (TORSO.Position - POSITION).Magnitude <= RANGE then | |
1414 | if ISBANISH == true then | |
1415 | Banish(CHILD) | |
1416 | else | |
1417 | if ISBANISH == "Gravity" then | |
1418 | HUM.PlatformStand = true | |
1419 | if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then | |
1420 | local grav = Instance.new("BodyPosition",TORSO) | |
1421 | grav.D = 15 | |
1422 | grav.P = 20000 | |
1423 | grav.maxForce = Vector3.new(math.huge,math.huge,math.huge) | |
1424 | grav.position = TORSO.Position | |
1425 | grav.Name = "V3BanishForce"..Player.Name | |
1426 | else | |
1427 | TORSO:FindFirstChild("V3BanishForce"..Player.Name).position = TORSO.Position+VT(0,0.3,0) | |
1428 | TORSO.RotVelocity = VT(MRANDOM(-25,25),MRANDOM(-25,25),MRANDOM(-25,25)) | |
1429 | end | |
1430 | else | |
1431 | HUM.PlatformStand = false | |
1432 | end | |
1433 | end | |
1434 | elseif ISBANISH == "Gravity" then | |
1435 | if TORSO:FindFirstChild("V3BanishForce"..Player.Name) then | |
1436 | TORSO:FindFirstChild("V3BanishForce"..Player.Name):remove() | |
1437 | HUM.PlatformStand = false | |
1438 | end | |
1439 | end | |
1440 | end | |
1441 | end | |
1442 | end | |
1443 | end | |
1444 | end | |
1445 | ||
1446 | function SpawnSmite(POS) | |
1447 | local HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, Character) | |
1448 | local EMITPOS = HITPOS | |
1449 | if HITFLOOR ~= nil then | |
1450 | if HITFLOOR.Parent:FindFirstChildOfClass("Humanoid") then | |
1451 | HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent) | |
1452 | EMITPOS = HITPOS | |
1453 | elseif HITFLOOR.Parent.Parent:FindFirstChildOfClass("Humanoid") then | |
1454 | HITFLOOR,HITPOS = Raycast(POS+VT(0,1,0), (CF(POS, POS + VT(0, -1, 0))).lookVector, 100, HITFLOOR.Parent.Parent) | |
1455 | EMITPOS = HITPOS | |
1456 | end | |
1457 | end | |
1458 | if HITFLOOR ~= nil then | |
1459 | ApplyAoE(EMITPOS,10) | |
1460 | WACKYEFFECT({EffectType = "Sphere", Size = VT(0,100000,0), Size2 = VT(10,100000,10), Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS) * ANGLES(RAD(MRANDOM(-15,15)), RAD(0), RAD(MRANDOM(-15,15))), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(245,205,48), SoundID = 2930668938, SoundPitch = 1, SoundVolume = 5}) | |
1461 | WACKYEFFECT({EffectType = "Block", Size = VT(0,0,0), Size2 = VT(10,10,10)*2, Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(245,205,48), SoundID = nil, SoundPitch = 1, SoundVolume = 5}) | |
1462 | WACKYEFFECT({EffectType = "Block", Size = VT(0,0,0), Size2 = VT(10,10,10)*1.5, Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS), MoveToPos = nil, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(245,205,48), SoundID = nil, SoundPitch = 1, SoundVolume = 5}) | |
1463 | for i = 1, 5 do | |
1464 | local TOPOS = CF(EMITPOS)*ANGLES(RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)),RAD(MRANDOM(0,360)))*CF(0,0,12) | |
1465 | WACKYEFFECT({EffectType = "Slash", Size = VT(0,0,0), Size2 = VT(0.2,0,0.2), Transparency = 0, Transparency2 = 1, CFrame = CF(EMITPOS,TOPOS.p) * ANGLES(RAD(90), RAD(0), RAD(0)), MoveToPos = TOPOS.p, RotationX = 0, RotationY = 0, RotationZ = 0, Material = "Neon", Color = C3(245,205,48), SoundID = 2930668938, SoundPitch = 1, SoundVolume = 5}) | |
1466 | end | |
1467 | end | |
1468 | end | |
1469 | ||
1470 | --//=================================\\ | |
1471 | --|| TRANSFORMATIONS | |
1472 | --\\=================================// | |
1473 | ||
1474 | function Switch() | |
1475 | ATTACK = true | |
1476 | Rooted = true | |
1477 | if MODE == "GoodCop" then | |
1478 | CreateSound("649634100", Head, 10, 0.5) | |
1479 | for i = 0, 3, 0.1 / Animation_Speed do | |
1480 | Swait() | |
1481 | RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1482 | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1483 | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed) | |
1484 | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed) | |
1485 | RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1486 | LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1487 | end | |
1488 | CreateSound("289842971", RightArm, 10, 1) | |
1489 | for i = 0, 6, 0.1 / Animation_Speed do | |
1490 | Swait() | |
1491 | RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, -1.5) * ANGLES(RAD(0), RAD(-5), RAD(0)), 0.5 / Animation_Speed) | |
1492 | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1493 | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0, -0.3) * ANGLES(RAD(0), RAD(0), RAD(8)) * RIGHTSHOULDERC0, 1 / Animation_Speed) | |
1494 | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed) | |
1495 | RightHip.C0 = Clerp(RightHip.C0, CF(1, 0.5, -0.75) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(0)), 0.5 / Animation_Speed) | |
1496 | LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.4) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(90)), 0.5 / Animation_Speed) | |
1497 | end | |
1498 | Weapon.Parent = nil | |
1499 | Weapon2.Parent = Character | |
1500 | for i = 0, 1, 0.1 / Animation_Speed do | |
1501 | Swait() | |
1502 | RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, -1.5) * ANGLES(RAD(0), RAD(5), RAD(0)), 0.5 / Animation_Speed) | |
1503 | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0) * ANGLES(RAD(15), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1504 | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 1.25, -0.3) * ANGLES(RAD(0), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.5 / Animation_Speed) | |
1505 | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.5 / Animation_Speed) | |
1506 | RightHip.C0 = Clerp(RightHip.C0, CF(1, 0.5, -0.75) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.5 / Animation_Speed) | |
1507 | LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.4) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(5), RAD(0), RAD(90)), 0.5 / Animation_Speed) | |
1508 | end | |
1509 | for i=0, 0.6, 0.1 / Animation_Speed do | |
1510 | Swait() | |
1511 | RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, -1 + 0.1 * COS(SINE / 24)) * ANGLES(RAD(45), RAD(0), RAD(0)), 0.2 / Animation_Speed*3) | |
1512 | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 + MRANDOM(-5,5) - 4 * COS(SINE / 12)), RAD(MRANDOM(-5,5)), RAD(15)), 1 / Animation_Speed) | |
1513 | if MRANDOM(1,7) == 1 then | |
1514 | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed) | |
1515 | end | |
1516 | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(90), RAD(25), RAD(45)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed) | |
1517 | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, -0.1 * Player_Size) * ANGLES(RAD(95), RAD(25), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed) | |
1518 | RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3 - 0.1 * COS(SINE / 24), -1 - 0.1 * COS(SINE / 24)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed) | |
1519 | LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.2, 0.2 - 0.1 * COS(SINE / 24), -0.4 - 0.1 * COS(SINE / 24)) * ANGLES(RAD(45), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed) | |
1520 | end | |
1521 | MODE = "BadCop" | |
1522 | tecks2.Text = "Skid Gun" | |
1523 | sick.SoundId = "rbxassetid://212675193" | |
1524 | sick.TimePosition = 0 | |
1525 | elseif MODE == "BadCop" then | |
1526 | CreateSound(147722227, Torso, 4, 1.3, false) | |
1527 | for i=0, 0.3, 0.1 / Animation_Speed do | |
1528 | Swait() | |
1529 | RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed) | |
1530 | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(35), RAD(0), RAD(0)), 1 / Animation_Speed) | |
1531 | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.4, 0.75, -0.3) * ANGLES(RAD(0), RAD(-45), RAD(12)) * ANGLES(RAD(125 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 2.5 / Animation_Speed) | |
1532 | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-25)) * LEFTSHOULDERC0, 1 / Animation_Speed) | |
1533 | RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed) | |
1534 | LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-83), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 1 / Animation_Speed) | |
1535 | end | |
1536 | MODE = "GoodCop" | |
1537 | Weapon.Parent = Character | |
1538 | Weapon2.Parent = nil | |
1539 | tecks2.Text = "Final Gun" | |
1540 | sick.SoundId = "rbxassetid://1696333234" | |
1541 | sick.TimePosition = 22 | |
1542 | end | |
1543 | ATTACK = false | |
1544 | Rooted = false | |
1545 | end | |
1546 | --//=================================\\ | |
1547 | --|| ATTACK FUNCTIONS AND STUFF | |
1548 | --\\=================================// | |
1549 | ||
1550 | function Intro() | |
1551 | ATTACK = true | |
1552 | Rooted = true | |
1553 | repeat | |
1554 | Swait() | |
1555 | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1556 | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1, 0.5, 0.5) * ANGLES(RAD(-3.5 * COS(SINE / 12)), RAD(-45), RAD(12)) * ANGLES(RAD(-45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed) | |
1557 | RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.1 * COS(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.8 / Animation_Speed) | |
1558 | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1, 0.5, 0.5) * ANGLES(RAD(0), RAD(45), RAD(-12)) * ANGLES(RAD(-45 - 2.5 * COS(SINE / 12) + 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)) * LEFTSHOULDERC0, 0.15 / Animation_Speed) | |
1559 | RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.1 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(65), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(2.5 * COS(SINE / 12))), 0.8 / Animation_Speed) | |
1560 | LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.1 * COS(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-65), RAD(0)) * ANGLES(RAD(-8), RAD(5), RAD(15-2.5 * COS(SINE / 12))), 0.8 / Animation_Speed) | |
1561 | until sick.TimePosition > 1 | |
1562 | repeat | |
1563 | Swait() | |
1564 | RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0 - 0.05 * COS(SINE / 12), 0 + 0.05 * COS(SINE / 12)) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1565 | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1566 | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(-15), RAD(5 + 1 * COS(SINE / 12))) * RIGHTSHOULDERC0, 0.15 / Animation_Speed) | |
1567 | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(15), RAD(-5 - 1 * COS(SINE / 12))) * LEFTSHOULDERC0, 0.15 / Animation_Speed) | |
1568 | RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(74), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1569 | LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.05 * COS(SINE / 12), -0.01) * ANGLES(RAD(-2 + 2 * COS(SINE / 12)), RAD(-74), RAD(0)) * ANGLES(RAD(-2), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1570 | until sick.TimePosition > 1 | |
1571 | repeat | |
1572 | Swait() | |
1573 | RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.5 / Animation_Speed) | |
1574 | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1575 | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(90), RAD(0), RAD(-12)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed) | |
1576 | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-12)) * LEFTSHOULDERC0, 0.15 / Animation_Speed) | |
1577 | RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1578 | LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-8), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1579 | until sick.TimePosition > 1 | |
1580 | tecks2.TextTransparency = 0 | |
1581 | for i = 1, 100 do | |
1582 | Swait() | |
1583 | ||
1584 | ||
1585 | end | |
1586 | TRANSFORMED = true | |
1587 | ATTACK = false | |
1588 | Rooted = false | |
1589 | end | |
1590 | ||
1591 | function Shot1() | |
1592 | ATTACK = true | |
1593 | Rooted = false | |
1594 | local HIT,POS = CastProperRay(ll3part2.Position, Mouse.Hit.p, 1000, Character) | |
1595 | SpawnTrail(ll3part2.Position,POS) | |
1596 | if HIT ~= nil then | |
1597 | if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then | |
1598 | Banish(HIT.Parent) | |
1599 | end | |
1600 | end | |
1601 | WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 1, Transparency2 = 1, CFrame = ll3part2.CFrame, MoveToPos = ll3part2.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(216,221,86), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) | |
1602 | WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 1, Transparency2 = 1, CFrame = ll3part2.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(216,221,86), SoundID = 2930668938, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8}) | |
1603 | WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 1, Transparency2 = 1, CFrame = CF(POS,ll3part2.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(216,221,86), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8}) | |
1604 | WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 1, Transparency2 = 1, CFrame = CF(POS,ll3part2.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(216,221,86), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8}) | |
1605 | Humanoid.CameraOffset = VT(MRANDOM(-5,5)/2.5,MRANDOM(-5,5)/2.5,MRANDOM(-5,5)/2.5)/30 | |
1606 | ATTACK = false | |
1607 | Rooted = false | |
1608 | end | |
1609 | ||
1610 | function Shot2() | |
1611 | ATTACK = true | |
1612 | Rooted = false | |
1613 | local HIT,POS = CastProperRay(ll3part2.Position, Mouse.Hit.p, 1000, Character) | |
1614 | SpawnTrail(ll3part2.Position,POS) | |
1615 | if HIT ~= nil then | |
1616 | if HIT.Parent ~= workspace and HIT.Parent.ClassName ~= "Folder" then | |
1617 | Kill(HIT.Parent) | |
1618 | end | |
1619 | end | |
1620 | WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(1,1.5,1), Transparency = 1, Transparency2 = 1, CFrame = ll3part2.CFrame, MoveToPos = ll3part2.CFrame*CF(0,0.5,0).p, RotationX = 0, RotationY = -15, RotationZ = 0, Material = "Neon", Color = C3(216,221,86), SoundID = nil, SoundPitch = nil, SoundVolume = nil}) | |
1621 | WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 1, Transparency2 = 1, CFrame = ll3part2.CFrame, MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(216,221,86), SoundID = 2930668938, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8}) | |
1622 | WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 1, Transparency2 = 1, CFrame = CF(POS,ll3part2.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = -5, RotationZ = 0, Material = "Neon", Color = C3(216,221,86), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8}) | |
1623 | WACKYEFFECT({Time = 25, EffectType = "Wave", Size = VT(0.3,0,0.3), Size2 = VT(2,0.5,2), Transparency = 1, Transparency2 = 1, CFrame = CF(POS,ll3part2.Position) * ANGLES(RAD(-90), RAD(0), RAD(0)), MoveToPos = nil, RotationX = 0, RotationY = 5, RotationZ = 0, Material = "Neon", Color = C3(216,221,86), SoundID = nil, SoundPitch = MRANDOM(8,11)/10, SoundVolume = 8}) | |
1624 | Humanoid.CameraOffset = VT(MRANDOM(-5,5)/2.5,MRANDOM(-5,5)/2.5,MRANDOM(-5,5)/2.5)/30 | |
1625 | ATTACK = false | |
1626 | Rooted = false | |
1627 | end | |
1628 | ||
1629 | function ScrewThis() | |
1630 | ATTACK = true | |
1631 | Rooted = true | |
1632 | Weapon.Parent = nil | |
1633 | sick.Volume = 0 | |
1634 | CreateSound("1238240145", Effects, 10, 0.9) | |
1635 | CreateSound(363808674, Effects, 10, 1, false) | |
1636 | for i=0, 0.6, 0.1 / Animation_Speed do | |
1637 | Swait() | |
1638 | RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1639 | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(25), RAD(0)), 1 / Animation_Speed) | |
1640 | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-50)) * RIGHTSHOULDERC0, 1 / Animation_Speed) | |
1641 | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(70), RAD(0), RAD(60)) * LEFTSHOULDERC0, 1 / Animation_Speed) | |
1642 | RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1643 | LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1644 | end | |
1645 | CreateSound(363808674, Effects, 10, 1, false) | |
1646 | for i=0, 0.6, 0.1 / Animation_Speed do | |
1647 | Swait() | |
1648 | RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1649 | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(-25), RAD(0)), 1 / Animation_Speed) | |
1650 | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-90)) * RIGHTSHOULDERC0, 1 / Animation_Speed) | |
1651 | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(70), RAD(0), RAD(90)) * LEFTSHOULDERC0, 1 / Animation_Speed) | |
1652 | RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1653 | LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1654 | end | |
1655 | CreateSound(363808674, Effects, 10, 1, false) | |
1656 | for i=0, 0.6, 0.1 / Animation_Speed do | |
1657 | Swait() | |
1658 | RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1659 | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(25), RAD(0)), 1 / Animation_Speed) | |
1660 | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-50)) * RIGHTSHOULDERC0, 1 / Animation_Speed) | |
1661 | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(70), RAD(0), RAD(60)) * LEFTSHOULDERC0, 1 / Animation_Speed) | |
1662 | RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1663 | LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1664 | end | |
1665 | CreateSound(363808674, Effects, 10, 1, false) | |
1666 | for i=0, 0.6, 0.1 / Animation_Speed do | |
1667 | Swait() | |
1668 | RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1669 | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(-25), RAD(0)), 1 / Animation_Speed) | |
1670 | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-90)) * RIGHTSHOULDERC0, 1 / Animation_Speed) | |
1671 | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(70), RAD(0), RAD(90)) * LEFTSHOULDERC0, 1 / Animation_Speed) | |
1672 | RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1673 | LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1674 | end | |
1675 | CreateSound(363808674, Effects, 10, 1, false) | |
1676 | for i=0, 0.6, 0.1 / Animation_Speed do | |
1677 | Swait() | |
1678 | RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1679 | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(25), RAD(0)), 1 / Animation_Speed) | |
1680 | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-50)) * RIGHTSHOULDERC0, 1 / Animation_Speed) | |
1681 | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(70), RAD(0), RAD(60)) * LEFTSHOULDERC0, 1 / Animation_Speed) | |
1682 | RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1683 | LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1684 | end | |
1685 | CreateSound(363808674, Effects, 10, 1, false) | |
1686 | for i=0, 0.6, 0.1 / Animation_Speed do | |
1687 | Swait() | |
1688 | RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, 0 + 0.35 * COS(SINE / 2)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1689 | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5), RAD(-25), RAD(0)), 1 / Animation_Speed) | |
1690 | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.25, 0.5, -0.5) * ANGLES(RAD(100), RAD(0), RAD(-90)) * RIGHTSHOULDERC0, 1 / Animation_Speed) | |
1691 | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.35, -0.35) * ANGLES(RAD(70), RAD(0), RAD(90)) * LEFTSHOULDERC0, 1 / Animation_Speed) | |
1692 | RightHip.C0 = Clerp(RightHip.C0, CF(1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1693 | LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1 - 0.35 * COS(SINE / 2), -0.01) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1694 | end | |
1695 | Weapon.Parent = Character | |
1696 | sick.Volume = 2 | |
1697 | ATTACK = false | |
1698 | Rooted = false | |
1699 | end | |
1700 | function Taunt() | |
1701 | ATTACK = true | |
1702 | Rooted = true | |
1703 | local L = CreateSound(3378442147,Head,8,1.1,false) | |
1704 | L.EmitterSize = 25 | |
1705 | ATTACK = false | |
1706 | Rooted = false | |
1707 | wait(6) | |
1708 | local forf = Instance.new("ForceField") | |
1709 | forf.Parent = Character | |
1710 | forf.Visible = false | |
1711 | local geeq = game.Players | |
1712 | local x = Instance.new("Explosion") | |
1713 | x.Parent = Character.HumanoidRootPart | |
1714 | x.BlastRadius = 5000 | |
1715 | x.BlastPressure = 1000 | |
1716 | x.ExplosionType = Enum.ExplosionType.CratersAndDebris | |
1717 | x.Position = Character.HumanoidRootPart.Position | |
1718 | x.Visible = false | |
1719 | wait(1) | |
1720 | forf:Destroy() | |
1721 | end | |
1722 | --//=================================\\ | |
1723 | --|| ASSIGN THINGS TO KEYS | |
1724 | --\\=================================// | |
1725 | ||
1726 | function MouseDown(Mouse) | |
1727 | if ATTACK == false then | |
1728 | ||
1729 | end | |
1730 | end | |
1731 | ||
1732 | function MouseUp(Mouse) | |
1733 | HOLD = false | |
1734 | end | |
1735 | ||
1736 | function KeyDown(Key) | |
1737 | KEYHOLD = true | |
1738 | if TRANSFORMED == true and Rooted == false then | |
1739 | if Key == "f" and ATTACK == false then | |
1740 | Switch() | |
1741 | end | |
1742 | ||
1743 | ||
1744 | if Key == "z" and ATTACK == false then | |
1745 | if MODE == "GoodCop" then | |
1746 | Shot2() | |
1747 | elseif MODE == "BadCop" then | |
1748 | Shot1() | |
1749 | end | |
1750 | end | |
1751 | ||
1752 | if Key == "t" and ATTACK == false then | |
1753 | if MODE == "GoodCop" then | |
1754 | Taunt() | |
1755 | elseif MODE == "BadCop" then | |
1756 | end | |
1757 | end | |
1758 | ||
1759 | end | |
1760 | ||
1761 | if Key == "9" and ATTACK == false then | |
1762 | CreateSound("135017578", Effects, 5, 1) | |
1763 | end | |
1764 | end | |
1765 | ||
1766 | function KeyUp(Key) | |
1767 | KEYHOLD = false | |
1768 | end | |
1769 | ||
1770 | Mouse.Button1Down:connect(function(NEWKEY) | |
1771 | MouseDown(NEWKEY) | |
1772 | end) | |
1773 | Mouse.Button1Up:connect(function(NEWKEY) | |
1774 | MouseUp(NEWKEY) | |
1775 | end) | |
1776 | Mouse.KeyDown:connect(function(NEWKEY) | |
1777 | KeyDown(NEWKEY) | |
1778 | end) | |
1779 | Mouse.KeyUp:connect(function(NEWKEY) | |
1780 | KeyUp(NEWKEY) | |
1781 | end) | |
1782 | ||
1783 | --//=================================\\ | |
1784 | --\\=================================// | |
1785 | ||
1786 | ||
1787 | function unanchor() | |
1788 | if UNANCHOR == true then | |
1789 | RootPart.Anchored = false | |
1790 | end | |
1791 | for _, c in pairs(Weapon:GetChildren()) do | |
1792 | if c.ClassName == "Part" then | |
1793 | c.Anchored = false | |
1794 | end | |
1795 | end | |
1796 | end | |
1797 | ||
1798 | ||
1799 | --//=================================\\ | |
1800 | --|| WRAP THE WHOLE SCRIPT UP | |
1801 | --\\=================================// | |
1802 | ||
1803 | Humanoid.Changed:connect(function(Jump) | |
1804 | if Jump == "Jump" and (Disable_Jump == true) then | |
1805 | Humanoid.Jump = false | |
1806 | end | |
1807 | end) | |
1808 | ||
1809 | while true do | |
1810 | Swait() | |
1811 | script.Parent = WEAPONGUI | |
1812 | ANIMATE.Parent = nil | |
1813 | for _,v in next, Humanoid:GetPlayingAnimationTracks() do | |
1814 | v:Stop(); | |
1815 | end | |
1816 | SINE = SINE + CHANGE | |
1817 | local TORSOVELOCITY = (RootPart.Velocity * VT(1, 0, 1)).magnitude | |
1818 | local TORSOVERTICALVELOCITY = RootPart.Velocity.y | |
1819 | local HITFLOOR = Raycast(RootPart.Position, (CF(RootPart.Position, RootPart.Position + VT(0, -1, 0))).lookVector, 4, Character) | |
1820 | local WALKSPEEDVALUE = 6 / (Humanoid.WalkSpeed / 16) | |
1821 | if ANIM == "Walk" and TORSOVELOCITY > 1 then | |
1822 | RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0.05 * COS(SINE / (WALKSPEEDVALUE/2))) * ANGLES(RAD(0), RAD(0), RAD(0)), 2 * (Humanoid.WalkSpeed / 16) / Animation_Speed) | |
1823 | Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0) - Head.RotVelocity.Y / 30), 0.2 * (Humanoid.WalkSpeed / 16) / Animation_Speed) | |
1824 | RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 0.875 - 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(35 * COS(SINE / WALKSPEEDVALUE))), 0.6 / Animation_Speed) | |
1825 | LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 0.875 + 0.125 * SIN(SINE / WALKSPEEDVALUE) - 0.15 * COS(SINE / WALKSPEEDVALUE*2), 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(35 * COS(SINE / WALKSPEEDVALUE))), 0.6 / Animation_Speed) | |
1826 | elseif (ANIM ~= "Walk") or (TORSOVELOCITY < 1) then | |
1827 | RootJoint.C1 = Clerp(RootJoint.C1, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed) | |
1828 | Neck.C1 = Clerp(Neck.C1, CF(0, -0.5, 0) * ANGLES(RAD(-90), RAD(0), RAD(180)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed) | |
1829 | RightHip.C1 = Clerp(RightHip.C1, CF(0.5, 1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.7 / Animation_Speed) | |
1830 | LeftHip.C1 = Clerp(LeftHip.C1, CF(-0.5, 1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.7 / Animation_Speed) | |
1831 | end | |
1832 | if TORSOVERTICALVELOCITY > 1 and HITFLOOR == nil then | |
1833 | ANIM = "Jump" | |
1834 | if ATTACK == false then | |
1835 | RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed) | |
1836 | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(-20), RAD(0), RAD(0)), 0.2 / Animation_Speed) | |
1837 | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(20)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed) | |
1838 | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-40), RAD(0), RAD(-20)) * LEFTSHOULDERC0, 0.2 / Animation_Speed) | |
1839 | RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, -0.3) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(-20)), 0.2 / Animation_Speed) | |
1840 | LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, -0.3) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(-5), RAD(0), RAD(20)), 0.2 / Animation_Speed) | |
1841 | end | |
1842 | elseif TORSOVERTICALVELOCITY < -1 and HITFLOOR == nil then | |
1843 | ANIM = "Fall" | |
1844 | if ATTACK == false then | |
1845 | RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, 0) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.2 / Animation_Speed) | |
1846 | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0 , 0 + ((1) - 1)) * ANGLES(RAD(20), RAD(0), RAD(0)), 0.2 / Animation_Speed) | |
1847 | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(60)) * RIGHTSHOULDERC0, 0.2 / Animation_Speed) | |
1848 | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(0), RAD(0), RAD(-60)) * LEFTSHOULDERC0, 0.2 / Animation_Speed) | |
1849 | RightHip.C0 = Clerp(RightHip.C0, CF(1, -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(20)), 0.2 / Animation_Speed) | |
1850 | LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed) | |
1851 | end | |
1852 | elseif TORSOVELOCITY < 1 and HITFLOOR ~= nil then | |
1853 | ANIM = "Idle" | |
1854 | if ATTACK == false then | |
1855 | if MODE == "GoodCop" then | |
1856 | RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0.05 * COS(SINE / 12), 0, 0 + 0.05 * SIN(SINE / 12)) * ANGLES(RAD(0), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1857 | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(15 - 2.5 * SIN(SINE / 12)), RAD(0), RAD(-25)), 1 / Animation_Speed) | |
1858 | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.5, 0) * ANGLES(RAD(180), RAD(0), RAD(0)) * ANGLES(RAD(0), RAD(45), RAD(0)) * RIGHTSHOULDERC0, 0.25 / Animation_Speed) | |
1859 | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5, 0.3) * ANGLES(RAD(-40), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed) | |
1860 | RightHip.C0 = Clerp(RightHip.C0, CF(1 + 0.05 * COS(SINE / 12), -1 - 0.05 * SIN(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(85), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1861 | LeftHip.C0 = Clerp(LeftHip.C0, CF(-1 + 0.05 * COS(SINE / 12), -1 - 0.05 * SIN(SINE / 12), -0.01) * ANGLES(RAD(0), RAD(-85), RAD(0)) * ANGLES(RAD(-1), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1862 | elseif MODE == "BadCop" then | |
1863 | RootJoint.C0 = Clerp(RootJoint.C0, ROOTC0 * CF(0, 0, -1 + 0.1 * COS(SINE / 24)) * ANGLES(RAD(45), RAD(0), RAD(0)), 0.2 / Animation_Speed*3) | |
1864 | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(25 + MRANDOM(-5,5) - 4 * COS(SINE / 12)), RAD(MRANDOM(-5,5)), RAD(15)), 1 / Animation_Speed) | |
1865 | if MRANDOM(1,7) == 1 then | |
1866 | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(0 + MRANDOM(-25,25) - 4 * COS(SINE / 12)), RAD(MRANDOM(-25,25)), RAD(0)), 1.5 / Animation_Speed) | |
1867 | end | |
1868 | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(90), RAD(25), RAD(45)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed) | |
1869 | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5 * Player_Size, 0.5 * Player_Size, -0.1 * Player_Size) * ANGLES(RAD(95), RAD(25), RAD(45)) * LEFTSHOULDERC0, 0.15 / Animation_Speed) | |
1870 | RightHip.C0 = Clerp(RightHip.C0, CF(1, -0.3 - 0.1 * COS(SINE / 24), -1 - 0.1 * COS(SINE / 24)) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-20)), 0.2 / Animation_Speed) | |
1871 | LeftHip.C0 = Clerp(LeftHip.C0, CF(-1.2, 0.2 - 0.1 * COS(SINE / 24), -0.4 - 0.1 * COS(SINE / 24)) * ANGLES(RAD(45), RAD(-70), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(10)), 0.2 / Animation_Speed) | |
1872 | end | |
1873 | end | |
1874 | elseif TORSOVELOCITY > 1 and HITFLOOR ~= nil then | |
1875 | ANIM = "Walk" | |
1876 | if ATTACK == false then | |
1877 | if MODE == "GoodCop" then | |
1878 | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.35, 0) * ANGLES(RAD(0), RAD(180), RAD(180)) * RIGHTSHOULDERC0, 0.15 / Animation_Speed) | |
1879 | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.25, 0.5 + 0.05 * SIN(SINE / (WALKSPEEDVALUE/2)), 0.3) * ANGLES(RAD(-40), RAD(0), RAD(45)) * LEFTSHOULDERC0, 1 / Animation_Speed) | |
1880 | elseif MODE == "BadCop" then | |
1881 | RootJoint.C0 = Clerp(RootJoint.C0,ROOTC0 * CF(0, 0, -0.1) * ANGLES(RAD(5), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1882 | Neck.C0 = Clerp(Neck.C0, NECKC0 * CF(0, 0, 0 + ((1) - 1)) * ANGLES(RAD(5 - 8 * SIN(SINE / (WALKSPEEDVALUE / 2))), RAD(0), RAD(0)), 0.15 / Animation_Speed) | |
1883 | RightShoulder.C0 = Clerp(RightShoulder.C0, CF(1.5, 0.65, -0.15) * ANGLES(RAD(150), RAD(0), RAD(0))* RIGHTSHOULDERC0, 0.15 / Animation_Speed) | |
1884 | LeftShoulder.C0 = Clerp(LeftShoulder.C0, CF(-1.5, 0.5, 0) * ANGLES(RAD(-60 * COS(SINE / WALKSPEEDVALUE)), RAD(0), RAD(-5)) * LEFTSHOULDERC0, 0.35 / Animation_Speed) | |
1885 | RightHip.C0 = Clerp(RightHip.C0, CF(1 , -1, 0) * ANGLES(RAD(0), RAD(90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(-15)), 2 / Animation_Speed) | |
1886 | LeftHip.C0 = Clerp(LeftHip.C0, CF(-1, -1, 0) * ANGLES(RAD(0), RAD(-90), RAD(0)) * ANGLES(RAD(0), RAD(0), RAD(15)), 2 / Animation_Speed) | |
1887 | end | |
1888 | end | |
1889 | end | |
1890 | Humanoid.DisplayDistanceType = "None" | |
1891 | unanchor() | |
1892 | tecks2.TextStrokeColor3 = BrickColor.Random().Color | |
1893 | Humanoid.MaxHealth = "inf" | |
1894 | Humanoid.Health = "inf" | |
1895 | if Rooted == false then | |
1896 | Disable_Jump = false | |
1897 | Humanoid.WalkSpeed = Speed | |
1898 | elseif Rooted == true then | |
1899 | Disable_Jump = true | |
1900 | Humanoid.WalkSpeed = 0 | |
1901 | end | |
1902 | Humanoid.PlatformStand = false | |
1903 | if INTRO == false and INSTANT == false then | |
1904 | INTRO = true | |
1905 | coroutine.resume(coroutine.create(function() | |
1906 | sick:Play() | |
1907 | Intro() | |
1908 | end)) | |
1909 | end | |
1910 | if INSTANT == true then | |
1911 | if TRANSFORMED == false then | |
1912 | sick.TimePosition = 60 | |
1913 | sick:Play() | |
1914 | end | |
1915 | TRANSFORMED = true | |
1916 | end | |
1917 | script.Parent = PlayerGui | |
1918 | Character.Parent = workspace | |
1919 | Humanoid.Parent = Character | |
1920 | end | |
1921 | --//=================================\\ | |
1922 | --\\=================================// | |
1923 | ||
1924 | ||
1925 | ||
1926 | ||
1927 | ||
1928 | --//====================================================\\-- | |
1929 | --|| END OF SCRIPT | |
1930 | --\\====================================================//-- |