SHOW:
|
|
- or go back to the newest paste.
1 | TrailSettings = { | |
2 | Lifetime = 1, | |
3 | Texture = 'rbxassetid://1209757190', | |
4 | --Color1 is for UpperBody and Accessories, Color2 is for Lower Body | |
5 | Color1 = ColorSequence.new(BrickColor.new('Deep orange').Color,BrickColor.new('Black').Color), | |
6 | Color2 = ColorSequence.new(BrickColor.new('Toothpaste').Color,BrickColor.new('Hot pink').Color), | |
7 | AllBody = true, | |
8 | UpperBodyOnly = false, | |
9 | LowerBodyOnly = false, | |
10 | Accessories = true, | |
11 | Extras = true, | |
12 | } | |
13 | New = function(Object, Parent, Name, Data) | |
14 | local Object = Instance.new(Object) | |
15 | for Index, Value in pairs(Data or {}) do | |
16 | Object[Index] = Value | |
17 | end | |
18 | Object.Parent = Parent | |
19 | Object.Name = Name | |
20 | return Object | |
21 | end | |
22 | ||
23 | local Player = game:GetService("Players").LocalPlayer | |
24 | repeat wait(1) until Player.Character | |
25 | local Character = Player.Character | |
26 | Character.Animate.Disabled = true | |
27 | local la = Character:FindFirstChild("Left Arm") | |
28 | local ra = Character:FindFirstChild("Right Arm") | |
29 | local ll = Character:FindFirstChild("Left Leg") | |
30 | local rl = Character:FindFirstChild("Right Leg") | |
31 | local Torso = Character:FindFirstChild("Torso") | |
32 | local Humanoid = Character:findFirstChild("Humanoid") | |
33 | local Mouse = Player:GetMouse() | |
34 | Character.Animate.Disabled = true | |
35 | Character.Sound:Destroy() | |
36 | Humanoid.Animator:Destroy() | |
37 | Humanoid.MaxHealth=math.huge | |
38 | Humanoid.Health=Humanoid.MaxHealth | |
39 | Instance.new("ForceField", game.Players.LocalPlayer.Character). Visible = false | |
40 | ||
41 | Staff = New("Model",Character,"Staff",{}) | |
42 | Handle = New("Part",Staff,"Handle",{BrickColor = BrickColor.new("Really black"),Material = Enum.Material.Glass,FormFactor = Enum.FormFactor.Symmetric,Shape = Enum.PartType.Cylinder,Size = Vector3.new(4.69999981, 0.200000003, 0.300000042),CFrame = CFrame.new(0.57149899, 1.88927495, -0.898910999, -0.944701791, 0.319970548, -0.0718207732, -0.327606022, -0.930582702, 0.163368165, -0.0145623889, 0.177864254, 0.983946562),CanCollide = false,BottomSurface = Enum.SurfaceType.Smooth,TopSurface = Enum.SurfaceType.Smooth,Color = Color3.new(0.454902, 0.52549, 0.615686),}) | |
43 | Part1 = New("Part",Staff,"Part1",{BrickColor = BrickColor.new("Really black"),Material = Enum.Material.Glass,FormFactor = Enum.FormFactor.Symmetric,Shape = Enum.PartType.Cylinder,Size = Vector3.new(1.38, 0.200000003, 0.300000042),CFrame = CFrame.new(2.87910843, 2.26322985, -0.792562008, -0.952355325, -0.29641813, -0.0718205795, 0.281945944, -0.945417762, 0.163367048, -0.116327964, 0.135336339, 0.983944893),CanCollide = false,BottomSurface = Enum.SurfaceType.Smooth,TopSurface = Enum.SurfaceType.Smooth,Color = Color3.new(0.454902, 0.52549, 0.615686),}) | |
44 | mot = New("Motor",Part1,"mot",{Part0 = Part1,Part1 = Handle,C0 = CFrame.new(0, 0, 0, -0.952353716, 0.281943917, -0.116327204, -0.296420157, -0.945419192, 0.135335654, -0.0718207732, 0.163368165, 0.983946562),C1 = CFrame.new(-2.30406189, 0.409280896, -1.1920929e-007, -0.944701791, -0.327606022, -0.0145623889, 0.319970548, -0.930582702, 0.177864254, -0.0718207732, 0.163368165, 0.983946562),}) | |
45 | Part2 = New("Part",Staff,"Part2",{BrickColor = BrickColor.new("Really black"),Material = Enum.Material.Glass,FormFactor = Enum.FormFactor.Symmetric,Shape = Enum.PartType.Cylinder,Size = Vector3.new(0.699999809, 0.200000003, 0.300000042),CFrame = CFrame.new(3.80125666, 2.18647099, -0.712507248, -0.94470191, 0.319973052, -0.0718205795, -0.327603519, -0.930582702, 0.163367048, -0.014562604, 0.177865237, 0.983944893),CanCollide = false,BottomSurface = Enum.SurfaceType.Smooth,TopSurface = Enum.SurfaceType.Smooth,Color = Color3.new(0.454902, 0.52549, 0.615686),}) | |
46 | mot = New("Motor",Part2,"mot",{Part0 = Part2,Part1 = Handle,C0 = CFrame.new(0, 0, 0, -0.944701791, -0.327606022, -0.0145623889, 0.319970548, -0.930582702, 0.177864254, -0.0718207732, 0.163368165, 0.983946562),C1 = CFrame.new(-3.15123606, 0.790008068, 0, -0.944701791, -0.327606022, -0.0145623889, 0.319970548, -0.930582702, 0.177864254, -0.0718207732, 0.163368165, 0.983946562),}) | |
47 | Part3 = New("Part",Staff,"Part3",{BrickColor = BrickColor.new("Really black"),Material = Enum.Material.Glass,FormFactor = Enum.FormFactor.Symmetric,Shape = Enum.PartType.Cylinder,Size = Vector3.new(0.899999797, 0.200000003, 0.300000042),CFrame = CFrame.new(4.27721882, 2.67641687, -0.759113848, -0.426075667, 0.901833594, -0.0718205795, -0.896977842, -0.41077888, 0.163367048, 0.117829539, 0.134031072, 0.983944893),CanCollide = false,BottomSurface = Enum.SurfaceType.Smooth,TopSurface = Enum.SurfaceType.Smooth,Color = Color3.new(0.454902, 0.52549, 0.615686),}) | |
48 | mot = New("Motor",Part3,"mot",{Part0 = Part3,Part1 = Handle,C0 = CFrame.new(0, 0, 0, -0.426077485, -0.896979511, 0.117828958, 0.901831865, -0.410777032, 0.134030208, -0.0718207732, 0.163368165, 0.983946562),C1 = CFrame.new(-3.76071024, 0.4780761, -4.17232513e-007, -0.944701791, -0.327606022, -0.0145623889, 0.319970548, -0.930582702, 0.177864254, -0.0718207732, 0.163368165, 0.983946562),}) | |
49 | Part4 = New("Part",Staff,"Part4",{BrickColor = BrickColor.new("Really black"),Material = Enum.Material.Glass,FormFactor = Enum.FormFactor.Symmetric,Shape = Enum.PartType.Cylinder,Size = Vector3.new(0.899999797, 0.200000003, 0.300000042),CFrame = CFrame.new(4.18060207, 3.31991601, -0.873009622, 0.663661063, 0.744579256, -0.0718205795, -0.728600919, 0.665168226, 0.163367048, 0.169415876, -0.0560925454, 0.983944893),CanCollide = false,BottomSurface = Enum.SurfaceType.Smooth,TopSurface = Enum.SurfaceType.Smooth,Color = Color3.new(0.454902, 0.52549, 0.615686),}) | |
50 | mot = New("Motor",Part4,"mot",{Part0 = Part4,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 0.663658738, -0.728599966, 0.169414878, 0.74458015, 0.665170491, -0.0560923368, -0.0718207732, 0.163368165, 0.983946562),C1 = CFrame.new(-3.87859344, -0.171925187, -8.94069672e-007, -0.944701791, -0.327606022, -0.0145623889, 0.319970548, -0.930582702, 0.177864254, -0.0718207732, 0.163368165, 0.983946562),}) | |
51 | Snowball = New("Part",Staff,"Snowball",{BrickColor = BrickColor.new("Deep orange"),Material = Enum.Material.Glass,FormFactor = Enum.FormFactor.Symmetric,Shape = Enum.PartType.Ball,Size = Vector3.new(0.400000006, 0.400000006, 0.400000006),CFrame = CFrame.new(3.51262951, 2.90919495, -0.85357672, 0.319973052, 0.94470191, -0.0718205795, -0.930582702, 0.327603519, 0.163367048, 0.177865237, 0.014562604, 0.983944893),CanCollide = false,BottomSurface = Enum.SurfaceType.Smooth,TopSurface = Enum.SurfaceType.Smooth,Color = Color3.new(0.686275, 0.866667, 1),}) | |
52 | PointLight = New("PointLight",Snowball,"PointLight",{Color = Color3.new(255, 176, 0),Brightness = 1234,Range = 12,Shadows = true,}) | |
53 | mot = New("Motor",Snowball,"mot",{Part0 = Snowball,Part1 = Handle,C0 = CFrame.new(0, 0, 0, 0.319970548, -0.930582702, 0.177864254, 0.944701791, 0.327606022, 0.0145623889, -0.0718207732, 0.163368165, 0.983946562),C1 = CFrame.new(-3.11328602, 1.10864639e-005, -4.64916229e-006, -0.944701791, -0.327606022, -0.0145623889, 0.319970548, -0.930582702, 0.177864254, -0.0718207732, 0.163368165, 0.983946562),}) | |
54 | ||
55 | ||
56 | ||
57 | ||
58 | ||
59 | ||
60 | local LimbAccess = {LA=true,RA=true,LL=true,RL=true,RJ=true,NJ=true,Weapon=true} | |
61 | local State = "Lounge" | |
62 | local Active = true | |
63 | local Mode = "Staff" | |
64 | function Lerp(a,b,i) -- A = First pos, B = Second Pos, i = Speed | |
65 | return a:lerp(b,i) | |
66 | end | |
67 | Left_Arm = Instance.new("Weld",Torso) | |
68 | Left_Arm.Part0 = Torso | |
69 | Left_Arm.Part1 = la | |
70 | Left_Arm.Name = "LeftArmJ" | |
71 | Left_Arm.C0 = CFrame.new(-1.5,0.5,0) | |
72 | Left_Arm.C1 = CFrame.new(0,0.5,0) | |
73 | Right_Arm = Instance.new("Weld",Torso) | |
74 | Right_Arm.Part0 = Torso | |
75 | Right_Arm.Part1 = ra | |
76 | Right_Arm.Name = "RightArmJ" | |
77 | Right_Arm.C0 = CFrame.new(1.5,0.5,0) | |
78 | Right_Arm.C1 = CFrame.new(0,0.5,0) | |
79 | Left_Leg = Instance.new("Weld",Torso) | |
80 | Left_Leg.Part0 = Torso | |
81 | Left_Leg.Part1 = ll | |
82 | Left_Leg.Name = "LeftLegJ" | |
83 | Left_Leg.C0 = CFrame.new(-0.5,-1,0) | |
84 | Left_Leg.C1 = CFrame.new(0,1,0) | |
85 | Right_Leg = Instance.new("Weld",Torso) | |
86 | Right_Leg.Name = "RightLegJ" | |
87 | Right_Leg.Part0 = Torso | |
88 | Right_Leg.Part1 = rl | |
89 | Right_Leg.C0 = CFrame.new(0.5,-1,0) | |
90 | Right_Leg.C1 = CFrame.new(0,1,0) | |
91 | Staffw = Instance.new("Weld",Torso) | |
92 | Staffw.Part0 = Torso | |
93 | Staffw.Part1 = Handle | |
94 | Staffw.Name = "StaffJoint" | |
95 | ||
96 | local RootJoint = Instance.new("Weld",Character["HumanoidRootPart"]) | |
97 | RootJoint.Name = "RootJ" | |
98 | RootJoint.Part0 = Character["HumanoidRootPart"] | |
99 | RootJoint.Part1 = Torso | |
100 | ||
101 | local NeckJ = Instance.new("Weld",Torso) | |
102 | NeckJ.Name = "NeckJ" | |
103 | NeckJ.Part0 = Torso | |
104 | NeckJ.Part1 = Character.Head | |
105 | NeckJ.C1 = CFrame.new(0,-1.5,0) | |
106 | local a = Instance.new('Part',Character) | |
107 | a.Name = 'partie' | |
108 | a.CanCollide = false | |
109 | a.Size = Vector3.new(2,.2,2) | |
110 | a.Transparency = 1 | |
111 | local w = Instance.new("Weld",a) | |
112 | w.Part1=a | |
113 | w.Part0=Torso | |
114 | w.C0=CFrame.new(0,-1,0) | |
115 | ||
116 | ||
117 | A0 = Instance.new('Attachment',Character.partie) | |
118 | A1 = Instance.new('Attachment',Character.Head) | |
119 | Trail = Instance.new('Trail',Character) | |
120 | Trail.Attachment0 = A0 | |
121 | Trail.Attachment1 = A1 | |
122 | Trail.Color = TrailSettings.Color1 | |
123 | ||
124 | do | |
125 | local filteredMessages = { ['____'] = '___' }; | |
126 | local onPropertyChanged = function (obj) | |
127 | if (obj:isDescendantOf (workspace)) then | |
128 | local objText = obj.Text; | |
129 | ||
130 | if (objText ~= '___' and objText:find '(%S)') then | |
131 | if (filteredMessages [objText] and filteredMessages [objText] ~= objText) then | |
132 | obj.Text = filteredMessages [objText]; | |
133 | elseif (not filteredMessages [objText]) then | |
134 | obj.Text = '___'; | |
135 | ||
136 | local filtered = game:service 'Chat':FilterStringForBroadcast (objText, game:service 'Players'.localPlayer); | |
137 | ||
138 | filteredMessages [objText] = filtered; | |
139 | filteredMessages [filtered] = filtered; | |
140 | ||
141 | obj.Text = filtered; | |
142 | end; | |
143 | end; | |
144 | end; | |
145 | end; | |
146 | ||
147 | local newInstance = Instance.new; | |
148 | Instance = { | |
149 | new = function (class, parent) | |
150 | local obj = newInstance (class, parent); | |
151 | ||
152 | if (pcall (function()return obj.Text;end)) then | |
153 | obj:getPropertyChangedSignal ('Parent'):connect (function () onPropertyChanged (obj) end); | |
154 | obj:getPropertyChangedSignal ('Text'):connect (function() onPropertyChanged (obj) end); | |
155 | end; | |
156 | ||
157 | return obj; | |
158 | end; | |
159 | }; | |
160 | end; | |
161 | plr = game.Players.LocalPlayer | |
162 | mouse = plr:GetMouse() | |
163 | part = nil | |
164 | bp = nil | |
165 | particles = nil | |
166 | base = Instance.new("ScreenGui",plr.PlayerGui) | |
167 | bbg = Instance.new("BillboardGui",plr.Character.Head) | |
168 | bbg.Size = UDim2.new(0,200,0,50) | |
169 | bbg.StudsOffset = Vector3.new(3,3,0) | |
170 | bbgTl = Instance.new("TextLabel",bbg) | |
171 | bbgTl.BackgroundTransparency = 1 | |
172 | bbgTl.Size = UDim2.new(10,0,1,0) | |
173 | bbgTl.Position = UDim2.new(-4.5,0,0,0) | |
174 | bbgTl.Font = "Fantasy" | |
175 | bbgTl.Text = " " | |
176 | bbgTl.TextSize = 40 | |
177 | bbgTl.TextScaled = true | |
178 | bbgTl.TextScaled = true | |
179 | bbgTl.TextStrokeColor3 = Color3.new(0,0,0) | |
180 | bbgTl.TextStrokeTransparency = 0 | |
181 | bbgTl.TextWrapped = true | |
182 | plr.Chatted:connect(function(msg) | |
183 | bbgTl.Text = msg | |
184 | wait(5) | |
185 | if bbgTl.Text == msg then | |
186 | bbgTl.Text = " " | |
187 | while true do | |
188 | while wait() do | |
189 | for i = 1,50 do | |
190 | wait() | |
191 | bbgTl.TextColor3 = bbgTl.TextColor3:lerp(Color3.fromRGB(196, 40, 28), 0.05) | |
192 | end | |
193 | for i = 1,50 do | |
194 | wait() | |
195 | bbgTl.TextColor3 = bbgTl.TextColor3:lerp(Color3.fromRGB(218, 133, 65), 0.05) | |
196 | end | |
197 | for i = 1,50 do | |
198 | wait() | |
199 | bbgTl.TextColor3 = bbgTl.TextColor3:lerp(Color3.fromRGB(245, 205, 48), 0.05) | |
200 | end | |
201 | end | |
202 | end | |
203 | end | |
204 | end) | |
205 | ||
206 | local UserInputService = game:GetService("UserInputService") | |
207 | local localPlayer = game.Players.LocalPlayer | |
208 | local character | |
209 | local humanoid | |
210 | ||
211 | local canDoubleJump = false | |
212 | local hasDoubleJumped = false | |
213 | local oldPower | |
214 | local TIME_BETWEEN_JUMPS = 0.2 | |
215 | local DOUBLE_JUMP_POWER_MULTIPLIER = 2 | |
216 | ||
217 | function onJumpRequest() | |
218 | if not character or not humanoid or not character:IsDescendantOf(workspace) or | |
219 | humanoid:GetState() == Enum.HumanoidStateType.Dead then | |
220 | return | |
221 | end | |
222 | ||
223 | if canDoubleJump and not hasDoubleJumped then | |
224 | hasDoubleJumped = true | |
225 | humanoid.JumpPower = oldPower * DOUBLE_JUMP_POWER_MULTIPLIER | |
226 | humanoid:ChangeState(Enum.HumanoidStateType.Jumping) | |
227 | end | |
228 | end | |
229 | ||
230 | local function characterAdded(newCharacter) | |
231 | character = newCharacter | |
232 | humanoid = newCharacter:WaitForChild("Humanoid") | |
233 | hasDoubleJumped = false | |
234 | canDoubleJump = false | |
235 | oldPower = humanoid.JumpPower | |
236 | ||
237 | humanoid.StateChanged:connect(function(old, new) | |
238 | if new == Enum.HumanoidStateType.Landed then | |
239 | canDoubleJump = false | |
240 | hasDoubleJumped = false | |
241 | humanoid.JumpPower = oldPower | |
242 | elseif new == Enum.HumanoidStateType.Freefall then | |
243 | wait(TIME_BETWEEN_JUMPS) | |
244 | canDoubleJump = true | |
245 | end | |
246 | end) | |
247 | end | |
248 | ||
249 | if localPlayer.Character then | |
250 | characterAdded(localPlayer.Character) | |
251 | end | |
252 | ||
253 | localPlayer.CharacterAdded:connect(characterAdded) | |
254 | UserInputService.JumpRequest:connect(onJumpRequest) | |
255 | ||
256 | function Change() | |
257 | ||
258 | end | |
259 | _G.MoveCheck1 = false | |
260 | _G.SatanState = false | |
261 | ||
262 | function SpellBinder(SpellID) | |
263 | if _G.MoveCheck1 == false then | |
264 | _G.MoveCheck1 = true | |
265 | if _G.SatanState == false then | |
266 | _G.SatanState = true | |
267 | ||
268 | ID = 357442018 | |
269 | _G.SpellBindStuff = 0 | |
270 | _G.SpellBind = game:GetObjects("rbxassetid://437368177")[1] | |
271 | _G.SpellBind.Decal.Texture = "rbxassetid://" .. SpellID | |
272 | _G.SpellBind.Decal1.Texture = "rbxassetid://" .. SpellID | |
273 | _G.SpellBind.Parent = game.Players.LocalPlayer.Character | |
274 | _G.SpellBind.CFrame = game.Players.LocalPlayer.Character.Torso.CFrame - game.Players.LocalPlayer.Character.Torso.CFrame.lookVector * 35 | |
275 | _G.SpellBind.CFrame = CFrame.new(_G.SpellBind.Position, game.Players.LocalPlayer.Character.Torso.Position)* CFrame.Angles(1.6,0,0) | |
276 | _G.SpellBind.ParticleEmitter.Color = ColorSequence.new(Color3.new(255,0,0)) | |
277 | _G.SpellBind.ParticleEmitter.Size = NumberSequence.new(5) | |
278 | ||
279 | _G.UnsealEnforca = game:GetService("RunService").RenderStepped:connect(function() | |
280 | _G.SpellBind.CFrame = game.Players.LocalPlayer.Character.Torso.CFrame + game.Players.LocalPlayer.Character.Torso.CFrame.lookVector * 35 | |
281 | _G.SpellBind.CFrame = CFrame.new(_G.SpellBind.Position, game.Players.LocalPlayer.Character.Torso.Position)* CFrame.Angles(1.6,_G.SpellBindStuff,0) | |
282 | _G.SpellBindStuff = _G.SpellBindStuff + 0.012 | |
283 | end) | |
284 | ||
285 | ||
286 | for i = 1, 117 do | |
287 | _G.SpellBind.Size = _G.SpellBind.Size + Vector3.new(0.50,0,0.50) | |
288 | wait(0.07) | |
289 | end | |
290 | ||
291 | ||
292 | wait(0.1) | |
293 | ||
294 | _G.chatcustom("You shall not pass!", "Really red", game.Players.LocalPlayer) | |
295 | _G.MoveCheck1 = false | |
296 | else | |
297 | _G.MoveCheck1 = true | |
298 | wait(0.6) | |
299 | ||
300 | for i = 1, 117 do | |
301 | _G.SpellBind.Size = _G.SpellBind.Size - Vector3.new(0.50,0,0.50) | |
302 | wait(0.07) | |
303 | end | |
304 | ||
305 | ||
306 | _G.UnsealEnforca:disconnect() | |
307 | _G.SpellBind.Parent = _G.newParent | |
308 | wait(0.1) | |
309 | _G.SatanState = false | |
310 | _G.MoveCheck1 = false | |
311 | end | |
312 | end | |
313 | end | |
314 | ||
315 | ||
316 | ||
317 | _G.ConnectionAgent = Mouse.KeyDown:connect(function(key) | |
318 | if key == "q" and State == "Flying" and Active == true then | |
319 | State = "Lounge" | |
320 | Humanoid.WalkSpeed = 30 | |
321 | elseif key == "q" and State == "Lounge" and Active == true then | |
322 | State = "Battle" | |
323 | Humanoid.WalkSpeed = 20 | |
324 | elseif key == "q" and State == "Battle" and Active == true then | |
325 | State = "Flying" | |
326 | Humanoid.WalkSpeed = 50 | |
327 | elseif key == "e" and State == "Battle" and Active == true then | |
328 | SpellBinder(375165574) | |
329 | elseif key == "e" and Active == true then | |
330 | --[[ | |
331 | Humanoid.WalkSpeed = 0 | |
332 | State = "Changing" | |
333 | Mode = "Changing" | |
334 | Active = false | |
335 | Change() | |
336 | --]] | |
337 | end | |
338 | end) | |
339 | ||
340 | Player.Character.Humanoid.Died:connect(function() | |
341 | _G.ConnectionAgent:disconnect() | |
342 | end) | |
343 | ||
344 | angle = 0 | |
345 | angle2 = 0 | |
346 | angle3 = 0 | |
347 | anglespeed = 2 | |
348 | anglespeed2 = 1 | |
349 | anglespeed3 = .4 | |
350 | game:GetService("RunService").Stepped:connect(function() | |
351 | angle = ((angle % 100) + anglespeed/10) | |
352 | angle2 = ((angle2 % 100) + anglespeed2/10) | |
353 | angle3 = ((angle3 % 100) + anglespeed3/10) --it'll go from 0 to 100 and repeat in a loop. basically it will get to its destination and back --ok | |
354 | if Vector3.new(Torso.Velocity.x,0,Torso.Velocity.z).magnitude < 2 and State == "Flying" then -- idle | |
355 | if not Humanoid.WalkSpeed == 50 then | |
356 | Humanoid.WalkSpeed = 50 | |
357 | end | |
358 | if LimbAccess.RJ then | |
359 | RootJoint.C0 = Lerp(RootJoint.C0,CFrame.new(-.5,.5+math.sin(angle2)*.1,0)*CFrame.Angles(math.sin(angle3)*.02,math.rad(90),0),.2) | |
360 | end | |
361 | if LimbAccess.LA then | |
362 | Left_Arm.C0 = Lerp(Left_Arm.C0,CFrame.new(-1.2,0.35,0)*CFrame.Angles(math.rad(-25)+math.sin(angle3)*.06,0+math.sin(angle3)*.06,math.rad(0)+math.sin(angle3)*.06),.1) | |
363 | end | |
364 | if LimbAccess.NJ then | |
365 | NeckJ.C0 = Lerp(NeckJ.C0,CFrame.new(0,0,0)*CFrame.Angles(math.sin(-angle3)*.04,math.rad(-45)+(math.sin(-angle3)*.04),0),.25) | |
366 | end | |
367 | if LimbAccess.RA then | |
368 | Right_Arm.C0 = Lerp(Right_Arm.C0,CFrame.new(1.5,0.5,0)*CFrame.Angles(math.rad(-25)+math.sin(angle3)*.06,0+math.sin(angle3)*.06,math.rad(-5)+math.sin(angle3)*.06),.1) | |
369 | end | |
370 | if LimbAccess.LL then | |
371 | Left_Leg.C0 = Lerp(Left_Leg.C0,CFrame.new(-0.5,(math.sin(angle3)*.1)-.6,-.2)*CFrame.Angles(math.rad(35)+(math.sin(angle3)*.1),0,math.rad(-5)),.1) | |
372 | end | |
373 | if LimbAccess.RL then | |
374 | Right_Leg.C0 = Lerp(Right_Leg.C0,CFrame.new(0.5,(math.sin(angle3)*.1)-.7,-.1)*CFrame.Angles(math.rad(45)+(math.sin(angle3)*.1),0,math.rad(5)),.1) | |
375 | end | |
376 | if LimbAccess.Weapon then | |
377 | Staffw.C0 = Lerp(Staffw.C0,CFrame.new(0,-1,0),.2) | |
378 | Staffw.C1 = Lerp(Staffw.C1,CFrame.new(0,0,-.4)*CFrame.Angles(math.rad(180),math.rad(180),0),.2) | |
379 | end | |
380 | elseif Vector3.new(Torso.Velocity.x,0,Torso.Velocity.z).magnitude > 2 and State == "Flying" then -- walk | |
381 | if LimbAccess.RJ then | |
382 | RootJoint.C0 = Lerp(RootJoint.C0,CFrame.new(-.5,.5+math.sin(angle2)*.1,0)*CFrame.Angles(math.sin(angle3)*.02,math.rad(90),0),.2) | |
383 | end | |
384 | if LimbAccess.LA then | |
385 | Left_Arm.C0 = Lerp(Left_Arm.C0,CFrame.new(-1.2,0.35,0)*CFrame.Angles(math.rad(-25)+math.sin(angle3)*.06,0+math.sin(angle3)*.06,math.rad(7)+math.sin(angle3)*.06),.1) | |
386 | end | |
387 | if LimbAccess.NJ then | |
388 | NeckJ.C0 = Lerp(NeckJ.C0,CFrame.new(0,0,0)*CFrame.Angles(math.sin(-angle3)*.04,math.rad(-45)+(math.sin(-angle3)*.04),0),.25) | |
389 | end | |
390 | if LimbAccess.RA then | |
391 | Right_Arm.C0 = Lerp(Right_Arm.C0,CFrame.new(1.5,0.5,0)*CFrame.Angles(math.rad(-25)+math.sin(angle3)*.06,0+math.sin(angle3)*.06,math.rad(-5)+math.sin(angle3)*.06),.1) | |
392 | end | |
393 | if LimbAccess.LL then | |
394 | Left_Leg.C0 = Lerp(Left_Leg.C0,CFrame.new(-0.5,(math.sin(angle3)*.1)-.6,-.2)*CFrame.Angles(math.rad(35)+(math.sin(angle3)*.1),0,math.rad(-5)),.1) | |
395 | end | |
396 | if LimbAccess.RL then | |
397 | Right_Leg.C0 = Lerp(Right_Leg.C0,CFrame.new(0.5,(math.sin(angle3)*.1)-.7,-.1)*CFrame.Angles(math.rad(45)+(math.sin(angle3)*.1),0,math.rad(5)),.1) | |
398 | end | |
399 | if LimbAccess.Weapon then | |
400 | Staffw.C0 = Lerp(Staffw.C0,CFrame.new(0,-1,0),.2) | |
401 | Staffw.C1 = Lerp(Staffw.C1,CFrame.new(0,0,-.4)*CFrame.Angles(math.rad(180),math.rad(180),0),.2) | |
402 | end | |
403 | end | |
404 | if Vector3.new(Torso.Velocity.x,0,Torso.Velocity.z).magnitude < 2 and State == "Lounge" then -- idle | |
405 | if not Humanoid.WalkSpeed == 30 then | |
406 | Humanoid.WalkSpeed = 30 | |
407 | end | |
408 | if LimbAccess.RJ then | |
409 | RootJoint.C0 = Lerp(RootJoint.C0,CFrame.new(-.5,0,0)*CFrame.Angles(math.sin(angle3)*.02,math.rad(0),0),.2) | |
410 | end | |
411 | if LimbAccess.LA then | |
412 | Left_Arm.C0 = Lerp(Left_Arm.C0,CFrame.new(-1.5,0.5,0)*CFrame.Angles(math.rad(5)+math.sin(angle3)*.06,0+math.sin(angle3)*.06,math.rad(-3)+math.sin(angle3)*.06),.1) | |
413 | end | |
414 | if LimbAccess.NJ then | |
415 | NeckJ.C0 = Lerp(NeckJ.C0,CFrame.new(0,0,0)*CFrame.Angles(math.sin(-angle3)*.04,math.rad(0)+(math.sin(-angle3)*.04),0),.25) | |
416 | end | |
417 | if LimbAccess.RA then | |
418 | Right_Arm.C0 = Lerp(Right_Arm.C0,CFrame.new(1.5,0.5,0)*CFrame.Angles(math.rad(5)+(math.sin(angle3)*.1),math.rad(0),math.rad(3)),.1) | |
419 | end | |
420 | if LimbAccess.LL then | |
421 | Left_Leg.C0 = Lerp(Left_Leg.C0,CFrame.new(-0.5,-1,0)*CFrame.Angles(0,0,math.rad(-5)+math.sin(angle3)*.02),.1) | |
422 | end | |
423 | if LimbAccess.RL then | |
424 | Right_Leg.C0 = Lerp(Right_Leg.C0,CFrame.new(0.5,-1,0)*CFrame.Angles(0,0,math.rad(15)+math.sin(angle3)*-.02),.1) | |
425 | end | |
426 | if LimbAccess.Weapon then | |
427 | Staffw.C0 = Lerp(Staffw.C0,CFrame.new(0,0,.5),.2) | |
428 | Staffw.C1 = Lerp(Staffw.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(180),math.rad(180),math.rad(-45)),.2) | |
429 | end | |
430 | elseif Vector3.new(Torso.Velocity.x,0,Torso.Velocity.z).magnitude > 2 and State == "Lounge" then -- walk | |
431 | if LimbAccess.RJ then | |
432 | RootJoint.C0 = Lerp(RootJoint.C0,CFrame.new(-.2,math.sin(angle2)*.1,0)*CFrame.Angles(0,math.rad(0),0),.2) | |
433 | end | |
434 | if LimbAccess.LA then | |
435 | Left_Arm.C0 = Lerp(Left_Arm.C0,CFrame.new(-1.5,0.5,0)*CFrame.Angles(math.rad(5)+math.sin(angle3)*.06,0+math.sin(angle3)*.06,math.rad(-23)+math.sin(angle3)*.06),.1) | |
436 | end | |
437 | if LimbAccess.NJ then | |
438 | NeckJ.C0 = Lerp(NeckJ.C0,CFrame.new(0,0,0)*CFrame.Angles(math.sin(-angle3)*.04,math.rad(0)+(math.sin(-angle3)*.04),0),.25) | |
439 | end | |
440 | if LimbAccess.RA then | |
441 | Right_Arm.C0 = Lerp(Right_Arm.C0,CFrame.new(1.5,0.5,0)*CFrame.Angles(math.rad(5)+(math.sin(angle3)*.1),math.rad(0),math.rad(23)),.1) | |
442 | end | |
443 | if LimbAccess.LL then | |
444 | Left_Leg.C0 = Lerp(Left_Leg.C0,CFrame.new(-0.5,(math.sin(angle3)*.1)-.6,-.2)*CFrame.Angles(math.rad(-15)+(math.sin(angle3)*.1),0,math.rad(-5)),.1) | |
445 | end | |
446 | if LimbAccess.RL then | |
447 | Right_Leg.C0 = Lerp(Right_Leg.C0,CFrame.new(0.5,(math.sin(angle3)*.1)-.7,-.1)*CFrame.Angles(math.rad(-15)+(math.sin(angle3)*.1),0,math.rad(5)),.1) | |
448 | end | |
449 | if LimbAccess.Weapon then | |
450 | Staffw.C0 = Lerp(Staffw.C0,CFrame.new(0,0,.5),.2) | |
451 | Staffw.C1 = Lerp(Staffw.C1,CFrame.new(0,0,0)*CFrame.Angles(math.rad(180),math.rad(180),math.rad(-45)),.2) | |
452 | end | |
453 | end | |
454 | if Vector3.new(Torso.Velocity.x,0,Torso.Velocity.z).magnitude < 2 and State == "Battle" then -- idle | |
455 | if not Humanoid.WalkSpeed == 20 then | |
456 | Humanoid.WalkSpeed = 20 | |
457 | end | |
458 | if LimbAccess.RJ then | |
459 | RootJoint.C0 = Lerp(RootJoint.C0,CFrame.new(-.5,.5+math.sin(angle2)*.1,0)*CFrame.Angles(math.sin(angle3)*.02,math.rad(0),0),.2) | |
460 | end | |
461 | if LimbAccess.LA then | |
462 | Left_Arm.C0 = Lerp(Left_Arm.C0,CFrame.new(-1.1,0.5,-.7)*CFrame.Angles(math.rad(5),math.rad(-135),math.rad(-90)),.1) | |
463 | end | |
464 | if LimbAccess.NJ then | |
465 | NeckJ.C0 = Lerp(NeckJ.C0,CFrame.new(0,0,0)*CFrame.Angles(math.sin(-angle3)*.04,math.rad(0)+(math.sin(-angle3)*.04),0),.25) | |
466 | end | |
467 | if LimbAccess.RA then | |
468 | Right_Arm.C0 = Lerp(Right_Arm.C0,CFrame.new(1.1,0.5,-.7)*CFrame.Angles(math.rad(5),math.rad(135),math.rad(90)),.1) | |
469 | end | |
470 | if LimbAccess.LL then | |
471 | Left_Leg.C0 = Lerp(Left_Leg.C0,CFrame.new(-0.5,-1,0)*CFrame.Angles(0,0,math.rad(-5)+math.sin(angle3)*.02),.1) | |
472 | end | |
473 | if LimbAccess.RL then | |
474 | Right_Leg.C0 = Lerp(Right_Leg.C0,CFrame.new(0.5,-1,0)*CFrame.Angles(0,0,math.rad(5)+math.sin(angle3)*-.02),.1) | |
475 | end | |
476 | if LimbAccess.Weapon then | |
477 | Staffw.C0 = Lerp(Staffw.C0,CFrame.new(0,-.5,-1),.2) | |
478 | Staffw.C1 = Lerp(Staffw.C1,CFrame.new(0,.6,0)*CFrame.Angles(math.rad(90),math.rad(180),math.rad(-90)),.2) | |
479 | end | |
480 | elseif Vector3.new(Torso.Velocity.x,0,Torso.Velocity.z).magnitude > 2 and State == "Battle" then -- walk | |
481 | if LimbAccess.RJ then | |
482 | RootJoint.C0 = Lerp(RootJoint.C0,CFrame.new(-.2,.5+math.sin(angle2)*.1,0)*CFrame.Angles(0,math.rad(0),0),.2) | |
483 | end | |
484 | if LimbAccess.LA then | |
485 | Left_Arm.C0 = Lerp(Left_Arm.C0,CFrame.new(-.9,0.6,-.8)*CFrame.Angles(math.rad(5),math.rad(-135),math.rad(-90)),.1) | |
486 | end | |
487 | if LimbAccess.NJ then | |
488 | NeckJ.C0 = Lerp(NeckJ.C0,CFrame.new(0,0,0)*CFrame.Angles(math.sin(-angle3)*.04,math.rad(0)+(math.sin(-angle3)*.04),0),.25) | |
489 | end | |
490 | if LimbAccess.RA then | |
491 | Right_Arm.C0 = Lerp(Right_Arm.C0,CFrame.new(1.1,0.4,-.3)*CFrame.Angles(math.rad(5),math.rad(135),math.rad(90)),.1) | |
492 | end | |
493 | if LimbAccess.LL then | |
494 | Left_Leg.C0 = Lerp(Left_Leg.C0,CFrame.new(-0.5,(math.sin(angle3)*.1)-.7,-.2)*CFrame.Angles(math.rad(-15)+(math.sin(angle3)*.1),0,math.rad(-5)),.1) | |
495 | end | |
496 | if LimbAccess.RL then | |
497 | Right_Leg.C0 = Lerp(Right_Leg.C0,CFrame.new(0.5,(math.sin(angle3)*.1)-.7,-.1)*CFrame.Angles(math.rad(-15)+(math.sin(angle3)*.1),0,math.rad(5)),.1) | |
498 | end | |
499 | if LimbAccess.Weapon then | |
500 | Staffw.C0 = Lerp(Staffw.C0,CFrame.new(.4,.5,-1),.2) | |
501 | Staffw.C1 = Lerp(Staffw.C1,CFrame.new(0,.1,0)*CFrame.Angles(math.rad(135),math.rad(120),math.rad(-135)),.2) | |
502 | end | |
503 | end | |
504 | if Vector3.new(Torso.Velocity.x,0,Torso.Velocity.z).magnitude < 2 and State == "Changing" then -- idle | |
505 | if LimbAccess.RJ then | |
506 | RootJoint.C0 = Lerp(RootJoint.C0,CFrame.new(-.5,.5+math.sin(angle2)*.1,0)*CFrame.Angles(math.sin(angle3)*.02,math.rad(0),0),.2) | |
507 | end | |
508 | if LimbAccess.LA then | |
509 | Left_Arm.C0 = Lerp(Left_Arm.C0,CFrame.new(-1.3,0.51,-.7)*CFrame.Angles(math.rad(5),math.rad(-165),math.rad(-90)),.1) | |
510 | end | |
511 | if LimbAccess.NJ then | |
512 | NeckJ.C0 = Lerp(NeckJ.C0,CFrame.new(0,0,0)*CFrame.Angles(math.rad(-10),math.rad(0)+(math.sin(-angle3)*.04),0),.25) | |
513 | end | |
514 | if LimbAccess.RA then | |
515 | Right_Arm.C0 = Lerp(Right_Arm.C0,CFrame.new(1.3,0.49,-.7)*CFrame.Angles(math.rad(5),math.rad(165),math.rad(90)),.1) | |
516 | end | |
517 | if LimbAccess.LL then | |
518 | Left_Leg.C0 = Lerp(Left_Leg.C0,CFrame.new(-1,-1,-.4)*CFrame.Angles(0,math.rad(25),math.rad(75)),.1) | |
519 | end | |
520 | if LimbAccess.RL then | |
521 | Right_Leg.C0 = Lerp(Right_Leg.C0,CFrame.new(1,-1,-.4)*CFrame.Angles(0,math.rad(-25),math.rad(-75)),.1) | |
522 | end | |
523 | end | |
524 | end) | |
525 | ||
526 | local Player = game.Players.localPlayer | |
527 | local Character = Player.Character | |
528 | local red = 255 | |
529 | local green = 255 | |
530 | local blue = 255 | |
531 | local Humanoid = Character.Humanoid | |
532 | local mouse = Player:GetMouse() | |
533 | local m = Instance.new("Model", Character) | |
534 | m.Name = "WeaponModel" | |
535 | local LeftArm = Character["Left Arm"] | |
536 | local RightArm = Character["Right Arm"] | |
537 | local LeftLeg = Character["Left Leg"] | |
538 | local RightLeg = Character["Right Leg"] | |
539 | local Head = Character.Head | |
540 | local Torso = Character.Torso | |
541 | local cam = game.Workspace.CurrentCamera | |
542 | local RootPart = Character.HumanoidRootPart | |
543 | local RootJoint = RootPart.RootJoint | |
544 | local equipped = false | |
545 | local attack = false | |
546 | local Anim = "Idle" | |
547 | local idle = 0 | |
548 | local attacktype = 1 | |
549 | local Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude | |
550 | local velocity = RootPart.Velocity.y | |
551 | local sine = 0 | |
552 | local change = 1 | |
553 | local grabbed = false | |
554 | local cn = CFrame.new | |
555 | local mr = math.rad | |
556 | local angles = CFrame.Angles | |
557 | local ud = UDim2.new | |
558 | local c3 = Color3.new | |
559 | local lim = 0 | |
560 | local st = 0 | |
561 | local necko = cn(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, 0) | |
562 | local attacktype = 1 | |
563 | local ZTarget, RocketTarget = nil, nil | |
564 | local euler = CFrame.fromEulerAnglesXYZ | |
565 | function clerp(a,b,t) | |
566 | local qa = {QuaternionFromCFrame(a)} | |
567 | local qb = {QuaternionFromCFrame(b)} | |
568 | local ax, ay, az = a.x, a.y, a.z | |
569 | local bx, by, bz = b.x, b.y, b.z | |
570 | local _t = 1-t | |
571 | return QuaternionToCFrame(_t*ax + t*bx, _t*ay + t*by, _t*az + t*bz,QuaternionSlerp(qa, qb, t)) | |
572 | end | |
573 | ||
574 | function QuaternionFromCFrame(cf) | |
575 | local mx, my, mz, m00, m01, m02, m10, m11, m12, m20, m21, m22 = cf:components() | |
576 | local trace = m00 + m11 + m22 | |
577 | if trace > 0 then | |
578 | local s = math.sqrt(1 + trace) | |
579 | local recip = 0.5/s | |
580 | return (m21-m12)*recip, (m02-m20)*recip, (m10-m01)*recip, s*0.5 | |
581 | else | |
582 | local i = 0 | |
583 | if m11 > m00 then | |
584 | i = 1 | |
585 | end | |
586 | if m22 > (i == 0 and m00 or m11) then | |
587 | i = 2 | |
588 | end | |
589 | if i == 0 then | |
590 | local s = math.sqrt(m00-m11-m22+1) | |
591 | local recip = 0.5/s | |
592 | return 0.5*s, (m10+m01)*recip, (m20+m02)*recip, (m21-m12)*recip | |
593 | elseif i == 1 then | |
594 | local s = math.sqrt(m11-m22-m00+1) | |
595 | local recip = 0.5/s | |
596 | return (m01+m10)*recip, 0.5*s, (m21+m12)*recip, (m02-m20)*recip | |
597 | elseif i == 2 then | |
598 | local s = math.sqrt(m22-m00-m11+1) | |
599 | local recip = 0.5/s return (m02+m20)*recip, (m12+m21)*recip, 0.5*s, (m10-m01)*recip | |
600 | end | |
601 | end | |
602 | end | |
603 | ||
604 | function QuaternionToCFrame(px, py, pz, x, y, z, w) | |
605 | local xs, ys, zs = x + x, y + y, z + z | |
606 | local wx, wy, wz = w*xs, w*ys, w*zs | |
607 | local xx = x*xs | |
608 | local xy = x*ys | |
609 | local xz = x*zs | |
610 | local yy = y*ys | |
611 | local yz = y*zs | |
612 | local zz = z*zs | |
613 | 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)) | |
614 | end | |
615 | ||
616 | function QuaternionSlerp(a, b, t) | |
617 | local cosTheta = a[1]*b[1] + a[2]*b[2] + a[3]*b[3] + a[4]*b[4] | |
618 | local startInterp, finishInterp; | |
619 | if cosTheta >= 0.0001 then | |
620 | if (1 - cosTheta) > 0.0001 then | |
621 | local theta = math.acos(cosTheta) | |
622 | local invSinTheta = 1/math.sin(theta) | |
623 | startInterp = math.sin((1-t)*theta)*invSinTheta | |
624 | finishInterp = math.sin(t*theta)*invSinTheta | |
625 | else | |
626 | startInterp = 1-t | |
627 | finishInterp = t | |
628 | end | |
629 | else | |
630 | if (1+cosTheta) > 0.0001 then | |
631 | local theta = math.acos(-cosTheta) | |
632 | local invSinTheta = 1/math.sin(theta) | |
633 | startInterp = math.sin((t-1)*theta)*invSinTheta | |
634 | finishInterp = math.sin(t*theta)*invSinTheta | |
635 | else | |
636 | startInterp = t-1 | |
637 | finishInterp = t | |
638 | end | |
639 | end | |
640 | 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 | |
641 | end | |
642 | rayCast = function(Position, Direction, Range, Ignore) | |
643 | return game:service("Workspace"):FindPartOnRay(Ray.new(Position, Direction.unit * (Range or 999.999)), Ignore) | |
644 | end | |
645 | local v = game.Players.localPlayer | |
646 | local torso = v.Character.Torso | |
647 | wait(1) | |
648 | local p = Instance.new("Part", v.Character) | |
649 | p.Name = "kit" | |
650 | p.Anchored = true | |
651 | p.Transparency = 0 | |
652 | p.Material = "Plastic" | |
653 | p.CanCollide = false | |
654 | p.TopSurface = 0 | |
655 | p.BottomSurface = 0 | |
656 | p.Size = Vector3.new(0.2, 0.2, 0.2) | |
657 | p.CustomPhysicalProperties = PhysicalProperties.new(0.01, 0, 0, 0, 0) | |
658 | local msh = Instance.new("SpecialMesh", p) | |
659 | msh.Scale = Vector3.new(-2, 2, 2) | |
660 | msh.MeshId = "http://www.roblox.com/asset/?id=188635159" | |
661 | msh.TextureId = "http://www.roblox.com/asset/?id=188539332" | |
662 | msh.VertexColor = Vector3.new(torso.BrickColor.r, torso.BrickColor.g, torso.BrickColor.b) | |
663 | local pn = Instance.new("Part", v.Character.kit) | |
664 | pn.Name = "tail2" | |
665 | pn.Anchored = true | |
666 | pn.Transparency = 0 | |
667 | pn.Material = "Plastic" | |
668 | pn.CanCollide = false | |
669 | pn.TopSurface = 0 | |
670 | pn.BottomSurface = 0 | |
671 | pn.Size = Vector3.new(5, 3, 3) | |
672 | pn.CustomPhysicalProperties = PhysicalProperties.new(0.01, 0, 0, 0, 0) | |
673 | local mshn = Instance.new("SpecialMesh", pn) | |
674 | mshn.Scale = Vector3.new(2, 2, 2) | |
675 | mshn.MeshId = "http://www.roblox.com/asset/?id=188635159" | |
676 | mshn.TextureId = "http://www.roblox.com/asset/?id=188539332" | |
677 | mshn.VertexColor = Vector3.new(torso.BrickColor.r, torso.BrickColor.g, torso.BrickColor.b) | |
678 | local pn3 = Instance.new("Part", v.Character.kit) | |
679 | pn3.Name = "tail3" | |
680 | pn3.Anchored = true | |
681 | pn3.Transparency = 0 | |
682 | pn3.Material = "Plastic" | |
683 | pn3.CanCollide = false | |
684 | pn3.TopSurface = 0 | |
685 | pn3.BottomSurface = 0 | |
686 | pn3.Size = Vector3.new(0.2, 0.2, 0.2) | |
687 | pn3.CustomPhysicalProperties = PhysicalProperties.new(0.01, 0, 0, 0, 0) | |
688 | local mshn3 = Instance.new("SpecialMesh", pn3) | |
689 | mshn3.Scale = Vector3.new(2, 2, 2) | |
690 | mshn3.MeshId = "http://www.roblox.com/asset/?id=0" | |
691 | mshn3.TextureId = "http://www.roblox.com/asset/?id=0" | |
692 | mshn3.VertexColor = Vector3.new(torso.BrickColor.r, torso.BrickColor.g, torso.BrickColor.b) | |
693 | local pn4 = Instance.new("Part", v.Character.kit) | |
694 | pn4.Name = "tail4" | |
695 | pn4.Anchored = true | |
696 | pn4.Transparency = 0 | |
697 | pn4.Material = "Plastic" | |
698 | pn4.CanCollide = false | |
699 | pn4.TopSurface = 0 | |
700 | pn4.BottomSurface = 0 | |
701 | pn4.Size = Vector3.new(0.2, 0.2, 0.2) | |
702 | pn4.CustomPhysicalProperties = PhysicalProperties.new(0.01, 0, 0, 0, 0) | |
703 | local mshn4 = Instance.new("SpecialMesh", pn4) | |
704 | mshn4.Scale = Vector3.new(-2, 2, 2) | |
705 | mshn4.MeshId = "http://www.roblox.com/asset/?id=0" | |
706 | mshn4.TextureId = "http://www.roblox.com/asset/?id=0" | |
707 | mshn4.VertexColor = Vector3.new(torso.BrickColor.r, torso.BrickColor.g, torso.BrickColor.b) | |
708 | local pn5 = Instance.new("Part", v.Character.kit) | |
709 | pn5.Name = "tail5" | |
710 | pn5.Anchored = true | |
711 | pn5.Transparency = 0 | |
712 | pn5.Material = "Plastic" | |
713 | pn5.CanCollide = false | |
714 | pn5.TopSurface = 0 | |
715 | pn5.BottomSurface = 0 | |
716 | pn5.Size = Vector3.new(0.2, 0.2, 0.2) | |
717 | pn5.CustomPhysicalProperties = PhysicalProperties.new(0.01, 0, 0, 0, 0) | |
718 | local mshn5 = Instance.new("SpecialMesh", pn5) | |
719 | mshn5.Scale = Vector3.new(2, 2, 2) | |
720 | mshn5.MeshId = "http://www.roblox.com/asset/?id=0" | |
721 | mshn5.TextureId = "http://www.roblox.com/asset/?id=0" | |
722 | mshn5.VertexColor = Vector3.new(torso.BrickColor.r, torso.BrickColor.g, torso.BrickColor.b) | |
723 | local pn6 = Instance.new("Part", v.Character.kit) | |
724 | pn6.Name = "tail6" | |
725 | pn6.Anchored = true | |
726 | pn6.Transparency = 0 | |
727 | pn6.Material = "Plastic" | |
728 | pn6.CanCollide = false | |
729 | pn6.TopSurface = 0 | |
730 | pn6.BottomSurface = 0 | |
731 | pn6.Size = Vector3.new(0.2, 0.2, 0.2) | |
732 | pn6.CustomPhysicalProperties = PhysicalProperties.new(0.01, 0, 0, 0, 0) | |
733 | local mshn6 = Instance.new("SpecialMesh", pn6) | |
734 | mshn6.Scale = Vector3.new(2, 2, 2) | |
735 | mshn6.MeshId = "http://www.roblox.com/asset/?id=0" | |
736 | mshn6.TextureId = "http://www.roblox.com/asset/?id=0" | |
737 | mshn6.VertexColor = Vector3.new(torso.BrickColor.r, torso.BrickColor.g, torso.BrickColor.b) | |
738 | local pn7 = Instance.new("Part", v.Character.kit) | |
739 | pn7.Name = "tail7" | |
740 | pn7.Anchored = true | |
741 | pn7.Transparency = 0 | |
742 | pn7.Material = "Plastic" | |
743 | pn7.CanCollide = false | |
744 | pn7.TopSurface = 0 | |
745 | pn7.BottomSurface = 0 | |
746 | pn7.Size = Vector3.new(0.2, 0.2, 0.2) | |
747 | pn7.CustomPhysicalProperties = PhysicalProperties.new(0.01, 0, 0, 0, 0) | |
748 | local mshn7 = Instance.new("SpecialMesh", pn7) | |
749 | mshn7.Scale = Vector3.new(2, 2, 2) | |
750 | mshn7.MeshId = "http://www.roblox.com/asset/?id=0" | |
751 | mshn7.TextureId = "http://www.roblox.com/asset/?id=0" | |
752 | mshn7.VertexColor = Vector3.new(torso.BrickColor.r, torso.BrickColor.g, torso.BrickColor.b) | |
753 | local pn8 = Instance.new("Part", v.Character.kit) | |
754 | pn8.Name = "tail8" | |
755 | pn8.Anchored = true | |
756 | pn8.Transparency = 0 | |
757 | pn8.Material = "Plastic" | |
758 | pn8.CanCollide = false | |
759 | pn8.TopSurface = 0 | |
760 | pn8.BottomSurface = 0 | |
761 | pn8.Size = Vector3.new(0.2, 0.2, 0.2) | |
762 | pn8.CustomPhysicalProperties = PhysicalProperties.new(0.01, 0, 0, 0, 0) | |
763 | local mshn8 = Instance.new("SpecialMesh", pn8) | |
764 | mshn8.Scale = Vector3.new(-2, 2, 2) | |
765 | mshn8.MeshId = "http://www.roblox.com/asset/?id=0" | |
766 | mshn8.TextureId = "http://www.roblox.com/asset/?id=0" | |
767 | mshn8.VertexColor = Vector3.new(torso.BrickColor.r, torso.BrickColor.g, torso.BrickColor.b) | |
768 | local pn9 = Instance.new("Part", v.Character.kit) | |
769 | pn9.Name = "tail9" | |
770 | pn9.Anchored = true | |
771 | pn9.Transparency = 0 | |
772 | pn9.Material = "Plastic" | |
773 | pn9.CanCollide = false | |
774 | pn9.TopSurface = 0 | |
775 | pn9.BottomSurface = 0 | |
776 | pn9.Size = Vector3.new(0.2, 0.2, 0.2) | |
777 | pn9.CustomPhysicalProperties = PhysicalProperties.new(0.01, 0, 0, 0, 0) | |
778 | local mshn9 = Instance.new("SpecialMesh", pn9) | |
779 | mshn9.Scale = Vector3.new(-2, 2, 2) | |
780 | mshn9.MeshId = "http://www.roblox.com/asset/?id=0" | |
781 | mshn9.TextureId = "http://www.roblox.com/asset/?id=0" | |
782 | mshn9.VertexColor = Vector3.new(torso.BrickColor.r, torso.BrickColor.g, torso.BrickColor.b) | |
783 | local pn0 = Instance.new("Part", v.Character.kit) | |
784 | pn0.Name = "ears" | |
785 | pn0.Anchored = true | |
786 | pn0.Transparency = 0 | |
787 | pn0.Material = "Plastic" | |
788 | pn0.CanCollide = false | |
789 | pn0.TopSurface = 0 | |
790 | pn0.BottomSurface = 0 | |
791 | pn0.Size = Vector3.new(0.2, 0.2, 0.2) | |
792 | pn0.CustomPhysicalProperties = PhysicalProperties.new(0.01, 0, 0, 0, 0) | |
793 | local mshn0 = Instance.new("SpecialMesh", pn0) | |
794 | mshn0.Scale = Vector3.new(0.5, 0.5, 0.5) | |
795 | mshn0.MeshId = "http://www.roblox.com/asset/?id=361948302" | |
796 | mshn0.TextureId = "http://www.roblox.com/asset/?id=50657528" | |
797 | mshn0.VertexColor = Vector3.new(torso.BrickColor.r, torso.BrickColor.g, torso.BrickColor.b) | |
798 | p.Anchored = false | |
799 | local motor1 = Instance.new("Weld", p) | |
800 | motor1.Part0 = p | |
801 | motor1.Part1 = torso | |
802 | motor1.C0 = CFrame.new(2.36, -1.8, -0.87) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
803 | motor1.C1 = CFrame.new(0, -1, 0.5) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
804 | pn.Anchored = false | |
805 | local motor2 = Instance.new("Weld", pn) | |
806 | motor2.Part0 = pn | |
807 | motor2.Part1 = torso | |
808 | motor2.C0 = CFrame.new(-2.36, -1.8, -0.87) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
809 | motor2.C1 = CFrame.new(0, -1, 0.5) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
810 | pn3.Anchored = false | |
811 | local motor3 = Instance.new("Weld", pn3) | |
812 | motor3.Part0 = pn3 | |
813 | motor3.Part1 = torso | |
814 | motor3.C0 = CFrame.new(-2.36, -1.8, -0.87) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
815 | motor3.C1 = CFrame.new(0, -1, 0.5) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
816 | pn4.Anchored = false | |
817 | local motor4 = Instance.new("Weld", pn4) | |
818 | motor4.Part0 = pn4 | |
819 | motor4.Part1 = torso | |
820 | motor4.C0 = CFrame.new(2.36, -1.8, -0.87) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
821 | motor4.C1 = CFrame.new(0, -1, 0.5) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
822 | pn5.Anchored = false | |
823 | local motor5 = Instance.new("Weld", pn5) | |
824 | motor5.Part0 = pn5 | |
825 | motor5.Part1 = torso | |
826 | motor5.C0 = CFrame.new(-2.36, -1.8, -0.87) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
827 | motor5.C1 = CFrame.new(0, -1, 0.5) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
828 | pn6.Anchored = false | |
829 | local motor6 = Instance.new("Weld", pn6) | |
830 | motor6.Part0 = pn6 | |
831 | motor6.Part1 = torso | |
832 | motor6.C0 = CFrame.new(-2.36, -1.8, -0.87) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
833 | motor6.C1 = CFrame.new(0, -1, 0.5) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
834 | pn7.Anchored = false | |
835 | local motor7 = Instance.new("Weld", pn7) | |
836 | motor7.Part0 = pn7 | |
837 | motor7.Part1 = torso | |
838 | motor7.C0 = CFrame.new(-2.36, -1.8, -0.87) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
839 | motor7.C1 = CFrame.new(0, -1, 0.5) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
840 | pn8.Anchored = false | |
841 | local motor8 = Instance.new("Weld", pn8) | |
842 | motor8.Part0 = pn8 | |
843 | motor8.Part1 = torso | |
844 | motor8.C0 = CFrame.new(2.36, -1.8, -0.87) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
845 | motor8.C1 = CFrame.new(0, -1, 0.5) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
846 | pn9.Anchored = false | |
847 | local motor9 = Instance.new("Weld", pn9) | |
848 | motor9.Part0 = pn9 | |
849 | motor9.Part1 = torso | |
850 | motor9.C0 = CFrame.new(2.36, -1.8, -0.87) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
851 | motor9.C1 = CFrame.new(0, -1, 0.5) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
852 | pn0.Anchored = false | |
853 | local motor0 = Instance.new("Weld", pn0) | |
854 | motor0.Part0 = pn0 | |
855 | motor0.Part1 = v.Character.Head | |
856 | motor0.C0 = CFrame.new(0, -0.8, 0) * CFrame.Angles(math.rad(0), math.rad(0), math.rad(0)) | |
857 | game:GetService("RunService").Stepped:connect(function() | |
858 | Torsovelocity = (RootPart.Velocity * Vector3.new(1, 0, 1)).magnitude | |
859 | velocity = RootPart.Velocity.y | |
860 | sine = sine + change | |
861 | local hit, pos = rayCast(RootPart.Position, CFrame.new(RootPart.Position, RootPart.Position - Vector3.new(0, 1, 0)).lookVector, 4, Character) | |
862 | if equipped == true or equipped == false then | |
863 | if RootPart.Velocity.y > 1 and hit == nil then | |
864 | Anim = "Jump" | |
865 | if attack == false then | |
866 | motor1.C0 = clerp(motor1.C0, CFrame.new(2.36, -1.8, -0.87) * angles(math.rad(-60 + 0 * math.cos(sine / 10)), math.rad(-90 + 0 * math.cos(sine / 10)), math.rad(80 + 0 * math.cos(sine / 25))), 0.1) | |
867 | motor2.C0 = clerp(motor2.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-60 + 0 * math.cos(sine / 10)), math.rad(90 + 0 * math.cos(sine / 10)), math.rad(-80 + 0 * math.cos(sine / 25))), 0.1) | |
868 | motor3.C0 = clerp(motor3.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-60 + 0 * math.cos(sine / 10)), math.rad(90 + 0 * math.cos(sine / 10)), math.rad(-110 + 0 * math.cos(sine / 25))), 0.1) | |
869 | motor4.C0 = clerp(motor4.C0, CFrame.new(2.36, -1.8, -0.87) * angles(math.rad(-60 + 0 * math.cos(sine / 10)), math.rad(-90 + 0 * math.cos(sine / 10)), math.rad(110 + 0 * math.cos(sine / 25))), 0.1) | |
870 | motor5.C0 = clerp(motor5.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-60 + 0 * math.cos(sine / 10)), math.rad(90 + 0 * math.cos(sine / 10)), math.rad(-80 + 0 * math.cos(sine / 25))), 0.1) | |
871 | motor6.C0 = clerp(motor6.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-60 + 0 * math.cos(sine / 10)), math.rad(90 + 0 * math.cos(sine / 10)), math.rad(-80 + 0 * math.cos(sine / 25))), 0.1) | |
872 | motor7.C0 = clerp(motor7.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-60 + 0 * math.cos(sine / 10)), math.rad(90 + 0 * math.cos(sine / 10)), math.rad(-80 + 0 * math.cos(sine / 25))), 0.1) | |
873 | motor8.C0 = clerp(motor8.C0, CFrame.new(2.36, -1.8, -0.87) * angles(math.rad(-60 + 0 * math.cos(sine / 10)), math.rad(-90 + 0 * math.cos(sine / 10)), math.rad(80 + 0 * math.cos(sine / 25))), 0.1) | |
874 | motor9.C0 = clerp(motor9.C0, CFrame.new(2.36, -1.8, -0.87) * angles(math.rad(-60 + 0 * math.cos(sine / 10)), math.rad(-90 + 0 * math.cos(sine / 10)), math.rad(80 + 0 * math.cos(sine / 25))), 0.1) | |
875 | end | |
876 | else | |
877 | if RootPart.Velocity.y < -1 and hit == nil then | |
878 | Anim = "Fall" | |
879 | if attack == false then | |
880 | motor1.C0 = clerp(motor1.C0, CFrame.new(2.36, -1.8, -0.87) * angles(math.rad(-45 + 0 * math.cos(sine / 10)), math.rad(0 + 0 * math.cos(sine / 10)), math.rad(70 + 0 * math.cos(sine / 25))), 0.1) | |
881 | motor2.C0 = clerp(motor2.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-45 + 0 * math.cos(sine / 10)), math.rad(0 + 0 * math.cos(sine / 10)), math.rad(-70 + 0 * math.cos(sine / 25))), 0.1) | |
882 | motor3.C0 = clerp(motor3.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-45 + 0 * math.cos(sine / 10)), math.rad(0 + 0 * math.cos(sine / 10)), math.rad(-70 + 0 * math.cos(sine / 25))), 0.1) | |
883 | motor4.C0 = clerp(motor4.C0, CFrame.new(2.36, -1.8, -0.87) * angles(math.rad(-45 + 0 * math.cos(sine / 10)), math.rad(0 + 0 * math.cos(sine / 10)), math.rad(70 + 0 * math.cos(sine / 25))), 0.1) | |
884 | motor5.C0 = clerp(motor5.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-45 + 0 * math.cos(sine / 10)), math.rad(0 + 0 * math.cos(sine / 10)), math.rad(-70 + 0 * math.cos(sine / 25))), 0.1) | |
885 | motor6.C0 = clerp(motor6.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-45 + 0 * math.cos(sine / 10)), math.rad(0 + 0 * math.cos(sine / 10)), math.rad(-70 + 0 * math.cos(sine / 25))), 0.1) | |
886 | motor7.C0 = clerp(motor7.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-45 + 0 * math.cos(sine / 10)), math.rad(0 + 0 * math.cos(sine / 10)), math.rad(-70 + 0 * math.cos(sine / 25))), 0.1) | |
887 | motor8.C0 = clerp(motor8.C0, CFrame.new(2.36, -1.8, -0.87) * angles(math.rad(-45 + 0 * math.cos(sine / 10)), math.rad(0 + 0 * math.cos(sine / 10)), math.rad(70 + 0 * math.cos(sine / 25))), 0.1) | |
888 | motor9.C0 = clerp(motor9.C0, CFrame.new(2.36, -1.8, -0.87) * angles(math.rad(-45 + 0 * math.cos(sine / 10)), math.rad(0 + 0 * math.cos(sine / 10)), math.rad(70 + 0 * math.cos(sine / 25))), 0.1) | |
889 | end | |
890 | else | |
891 | if Torsovelocity < 1 and hit ~= nil then | |
892 | Anim = "Idle" | |
893 | if attack == false then | |
894 | change = 1 | |
895 | motor1.C0 = clerp(motor1.C0, CFrame.new(2.36, -1.8, -0.87) * angles(math.rad(-5 + 5 * math.cos(sine / 50)), math.rad(0 + 5 * math.cos(sine / 80)), math.rad(0 + 0 * math.cos(sine / 25))), 0.1) | |
896 | motor2.C0 = clerp(motor2.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-5 + -5 * math.cos(sine / 70)), math.rad(0 + -5 * math.cos(sine / 50)), math.rad(0 + 0 * math.cos(sine / 25))), 0.1) | |
897 | motor3.C0 = clerp(motor3.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-5 + -5 * math.cos(sine / 80)), math.rad(0 + 5 * math.cos(sine / 65)), math.rad(-50 + 0 * math.cos(sine / 25))), 0.1) | |
898 | motor4.C0 = clerp(motor4.C0, CFrame.new(2.36, -1.8, -0.87) * angles(math.rad(0 + 5 * math.cos(sine / 40)), math.rad(0 + 5 * math.cos(sine / 70)), math.rad(-40 + 0 * math.cos(sine / 25))), 0.1) | |
899 | motor5.C0 = clerp(motor5.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(0 + 5 * math.cos(sine / 60)), math.rad(0 + 5 * math.cos(sine / 65)), math.rad(40 + 0 * math.cos(sine / 25))), 0.1) | |
900 | motor6.C0 = clerp(motor6.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-50 + 5 * math.cos(sine / 35)), math.rad(0 + 5 * math.cos(sine / 70)), math.rad(0 + 0 * math.cos(sine / 25))), 0.1) | |
901 | motor7.C0 = clerp(motor7.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-50 + 5 * math.cos(sine / 70)), math.rad(0 + 5 * math.cos(sine / 35)), math.rad(-45 + 0 * math.cos(sine / 25))), 0.1) | |
902 | motor8.C0 = clerp(motor8.C0, CFrame.new(2.36, -1.8, -0.87) * angles(math.rad(-50 + 5 * math.cos(sine / 55)), math.rad(0 + 5 * math.cos(sine / 55)), math.rad(-10 + 0 * math.cos(sine / 25))), 0.1) | |
903 | motor9.C0 = clerp(motor9.C0, CFrame.new(2.36, -1.8, -0.87) * angles(math.rad(-50 + 5 * math.cos(sine / 65)), math.rad(0 + 5 * math.cos(sine / 60)), math.rad(35 + 0 * math.cos(sine / 25))), 0.1) | |
904 | end | |
905 | else | |
906 | if Torsovelocity > 2 and hit ~= nil then | |
907 | Anim = "Walk" | |
908 | if attack == false then | |
909 | motor1.C0 = clerp(motor1.C0, CFrame.new(2.36, -1.8, -0.87) * angles(math.rad(-60 + -10 * math.cos(sine / 10)), math.rad(-45 + 10 * math.cos(sine / 10)), math.rad(45 + 0 * math.cos(sine / 10))), 0.1) | |
910 | motor2.C0 = clerp(motor2.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-60 + 10 * math.cos(sine / 10)), math.rad(45 + 10 * math.cos(sine / 10)), math.rad(-45 + 0 * math.cos(sine / 10))), 0.1) | |
911 | motor3.C0 = clerp(motor3.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-60 + 10 * math.cos(sine / 10)), math.rad(45 + 10 * math.cos(sine / 10)), math.rad(-45 + 0 * math.cos(sine / 10))), 0.1) | |
912 | motor4.C0 = clerp(motor4.C0, CFrame.new(2.36, -1.8, -0.87) * angles(math.rad(-60 + -10 * math.cos(sine / 10)), math.rad(-45 + 10 * math.cos(sine / 10)), math.rad(45 + 0 * math.cos(sine / 10))), 0.1) | |
913 | motor5.C0 = clerp(motor5.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-60 + 10 * math.cos(sine / 10)), math.rad(45 + 10 * math.cos(sine / 10)), math.rad(-45 + 0 * math.cos(sine / 10))), 0.1) | |
914 | motor6.C0 = clerp(motor6.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-60 + 10 * math.cos(sine / 10)), math.rad(45 + 10 * math.cos(sine / 10)), math.rad(-45 + 0 * math.cos(sine / 10))), 0.1) | |
915 | motor7.C0 = clerp(motor7.C0, CFrame.new(-2.36, -1.8, -0.87) * angles(math.rad(-60 + 10 * math.cos(sine / 10)), math.rad(45 + 10 * math.cos(sine / 10)), math.rad(-45 + 0 * math.cos(sine / 10))), 0.1) | |
916 | motor8.C0 = clerp(motor8.C0, CFrame.new(2.36, -1.8, -0.87) * angles(math.rad(-60 + -10 * math.cos(sine / 10)), math.rad(-45 + 10 * math.cos(sine / 10)), math.rad(45 + 0 * math.cos(sine / 10))), 0.1) | |
917 | motor9.C0 = clerp(motor9.C0, CFrame.new(2.36, -1.8, -0.87) * angles(math.rad(-60 + -10 * math.cos(sine / 10)), math.rad(-45 + 10 * math.cos(sine / 10)), math.rad(45 + 0 * math.cos(sine / 10))), 0.1) | |
918 | end | |
919 | end | |
920 | end | |
921 | end | |
922 | end | |
923 | end | |
924 | end) |