SHOW:
|
|
- or go back to the newest paste.
1 | --https://github.com/Mokiros/roblox-FE-compatibility | |
2 | if game:GetService("RunService"):IsClient() then error("Script must be server-side in order to work; use h/ and not hl/") end | |
3 | local Player,game,owner = owner,game | |
4 | local RealPlayer = Player | |
5 | do | |
6 | print("FE Compatibility code by Mokiros") | |
7 | local rp = RealPlayer | |
8 | script.Parent = rp.Character | |
9 | ||
10 | --RemoteEvent for communicating | |
11 | local Event = Instance.new("RemoteEvent") | |
12 | Event.Name = "UserInput_Event" | |
13 | ||
14 | --Fake event to make stuff like Mouse.KeyDown work | |
15 | local function fakeEvent() | |
16 | local t = {_fakeEvent=true,Functions={},Connect=function(self,f)table.insert(self.Functions,f) end} | |
17 | t.connect = t.Connect | |
18 | return t | |
19 | end | |
20 | ||
21 | --Creating fake input objects with fake variables | |
22 | local m = {Target=nil,Hit=CFrame.new(),KeyUp=fakeEvent(),KeyDown=fakeEvent(),Button1Up=fakeEvent(),Button1Down=fakeEvent(),Button2Up=fakeEvent(),Button2Down=fakeEvent()} | |
23 | local UIS = {InputBegan=fakeEvent(),InputEnded=fakeEvent()} | |
24 | local CAS = {Actions={},BindAction=function(self,name,fun,touch,...) | |
25 | CAS.Actions[name] = fun and {Name=name,Function=fun,Keys={...}} or nil | |
26 | end} | |
27 | --Merged 2 functions into one by checking amount of arguments | |
28 | CAS.UnbindAction = CAS.BindAction | |
29 | ||
30 | --This function will trigger the events that have been :Connect()'ed | |
31 | local function te(self,ev,...) | |
32 | local t = m[ev] | |
33 | if t and t._fakeEvent then | |
34 | for _,f in pairs(t.Functions) do | |
35 | f(...) | |
36 | end | |
37 | end | |
38 | end | |
39 | m.TrigEvent = te | |
40 | UIS.TrigEvent = te | |
41 | ||
42 | Event.OnServerEvent:Connect(function(plr,io) | |
43 | if plr~=rp then return end | |
44 | m.Target = io.Target | |
45 | m.Hit = io.Hit | |
46 | if not io.isMouse then | |
47 | local b = io.UserInputState == Enum.UserInputState.Begin | |
48 | if io.UserInputType == Enum.UserInputType.MouseButton1 then | |
49 | return m:TrigEvent(b and "Button1Down" or "Button1Up") | |
50 | end | |
51 | if io.UserInputType == Enum.UserInputType.MouseButton2 then | |
52 | return m:TrigEvent(b and "Button2Down" or "Button2Up") | |
53 | end | |
54 | for _,t in pairs(CAS.Actions) do | |
55 | for _,k in pairs(t.Keys) do | |
56 | if k==io.KeyCode then | |
57 | t.Function(t.Name,io.UserInputState,io) | |
58 | end | |
59 | end | |
60 | end | |
61 | m:TrigEvent(b and "KeyDown" or "KeyUp",io.KeyCode.Name:lower()) | |
62 | UIS:TrigEvent(b and "InputBegan" or "InputEnded",io,false) | |
63 | end | |
64 | end) | |
65 | Event.Parent = NLS([==[ | |
66 | local Player = game:GetService("Players").LocalPlayer | |
67 | local Event = script:WaitForChild("UserInput_Event") | |
68 | ||
69 | local Mouse = Player:GetMouse() | |
70 | local UIS = game:GetService("UserInputService") | |
71 | local input = function(io,a) | |
72 | if a then return end | |
73 | --Since InputObject is a client-side instance, we create and pass table instead | |
74 | Event:FireServer({KeyCode=io.KeyCode,UserInputType=io.UserInputType,UserInputState=io.UserInputState,Hit=Mouse.Hit,Target=Mouse.Target}) | |
75 | end | |
76 | UIS.InputBegan:Connect(input) | |
77 | UIS.InputEnded:Connect(input) | |
78 | ||
79 | local h,t | |
80 | --Give the server mouse data 30 times every second, but only if the values changed | |
81 | --If player is not moving their mouse, client won't fire events | |
82 | while wait(1/30) do | |
83 | if h~=Mouse.Hit or t~=Mouse.Target then | |
84 | h,t=Mouse.Hit,Mouse.Target | |
85 | Event:FireServer({isMouse=true,Target=t,Hit=h}) | |
86 | end | |
87 | end]==],Player.Character) | |
88 | ||
89 | ----Sandboxed game object that allows the usage of client-side methods and services | |
90 | --Real game object | |
91 | local _rg = game | |
92 | ||
93 | --Metatable for fake service | |
94 | local fsmt = { | |
95 | __index = function(self,k) | |
96 | local s = rawget(self,"_RealService") | |
97 | if s then | |
98 | return typeof(s[k])=="function" | |
99 | and function(_,...)return s[k](s,...)end or s[k] | |
100 | end | |
101 | end, | |
102 | __newindex = function(self,k,v) | |
103 | local s = rawget(self,"_RealService") | |
104 | if s then s[k]=v end | |
105 | end | |
106 | } | |
107 | local function FakeService(t,RealService) | |
108 | t._RealService = typeof(RealService)=="string" and _rg:GetService(RealService) or RealService | |
109 | return setmetatable(t,fsmt) | |
110 | end | |
111 | ||
112 | --Fake game object | |
113 | local g = { | |
114 | GetService = function(self,s) | |
115 | return self[s] | |
116 | end, | |
117 | Players = FakeService({ | |
118 | LocalPlayer = FakeService({GetMouse=function(self)return m end},Player) | |
119 | },"Players"), | |
120 | UserInputService = FakeService(UIS,"UserInputService"), | |
121 | ContextActionService = FakeService(CAS,"ContextActionService"), | |
122 | } | |
123 | rawset(g.Players,"localPlayer",g.Players.LocalPlayer) | |
124 | g.service = g.GetService | |
125 | ||
126 | g.RunService = FakeService({ | |
127 | RenderStepped = _rg:GetService("RunService").Heartbeat, | |
128 | BindToRenderStep = function(self,name,_,fun) | |
129 | self._btrs[name] = self.Heartbeat:Connect(fun) | |
130 | end, | |
131 | UnbindFromRenderStep = function(self,name) | |
132 | self._btrs[name]:Disconnect() | |
133 | end, | |
134 | },"RunService") | |
135 | ||
136 | setmetatable(g,fsmt) | |
137 | --Changing owner to fake player object to support owner:GetMouse() | |
138 | game,owner = g,g.Players.LocalPlayer | |
139 | end | |
140 | local p = game.Players.LocalPlayer; | |
141 | local c = p.Character; | |
142 | local h = c:WaitForChild'Head'; | |
143 | local f = h:WaitForChild'face'; | |
144 | f.Texture = 'rbxassetid://268018808'; | |
145 | wait(1) | |
146 | chara = game.Players.LocalPlayer.Character | |
147 | local bg = Instance.new("Sound",chara.Torso) | |
148 | bg.Name = "BackgroundMusic" | |
149 | bg.SoundId = "http://www.roblox.com/asset/?id=1200330727" | |
150 | bg.Looped = true | |
151 | bg.Volume = 10 | |
152 | bg:Play() | |
153 | local txt = Instance.new("BillboardGui", chara) | |
154 | CV="Lime green" | |
155 | txt.Adornee = chara.Head | |
156 | txt.Name = "_status" | |
157 | txt.Size = UDim2.new(2, 0, 1.2, 0) | |
158 | txt.StudsOffset = Vector3.new(-9, 8, 0) | |
159 | local text = Instance.new("TextLabel", txt) | |
160 | text.Size = UDim2.new(10, 0, 7, 0) | |
161 | text.FontSize = "Size24" | |
162 | text.TextScaled = true | |
163 | text.TextTransparency = 0 | |
164 | text.BackgroundTransparency = 1 | |
165 | text.TextTransparency = 0 | |
166 | text.TextStrokeTransparency = 0 | |
167 | text.Font = "Bodoni" | |
168 | text.TextStrokeColor3 = BrickColor.new("Shamrock").Color | |
169 | - | text.TextColor3 = BrickColor.new("Bright yellow").Color |
169 | + | text.TextColor3 = BrickColor.new("Really red").Color |
170 | text.Text = "Slav Guy" | |
171 | ||
172 | mouse = game.Players.LocalPlayer:GetMouse() | |
173 | --Converted with ttyyuu12345's model to script plugin v4 | |
174 | function sandbox(var,func) | |
175 | local env = getfenv(func) | |
176 | local newenv = setmetatable({},{ | |
177 | __index = function(self,k) | |
178 | if k=="script" then | |
179 | return var | |
180 | else | |
181 | return env[k] | |
182 | end | |
183 | end, | |
184 | }) | |
185 | setfenv(func,newenv) | |
186 | return func | |
187 | end | |
188 | cors = {} | |
189 | mas = Instance.new("Model",game:GetService("Lighting")) | |
190 | Model0 = Instance.new("Model") | |
191 | Part1 = Instance.new("Part") | |
192 | SpecialMesh2 = Instance.new("SpecialMesh") | |
193 | Part3 = Instance.new("Part") | |
194 | Weld4 = Instance.new("Weld") | |
195 | Model0.Name = "bitch ass knife haha knife v3 reference" | |
196 | Model0.Parent = mas | |
197 | Part1.Name = "realknife" | |
198 | Part1.Parent = Model0 | |
199 | Part1.Rotation = Vector3.new(0, -90, 0) | |
200 | Part1.CanCollide = false | |
201 | Part1.Size = Vector3.new(1.56900003, 0.259999305, 0.459999979) | |
202 | Part1.CFrame = CFrame.new(-20.8307228, 1.96215653, -28.7958698, 0, 0, -1, 0, 1, 0, 1, 0, 0) | |
203 | Part1.BottomSurface = Enum.SurfaceType.Smooth | |
204 | Part1.TopSurface = Enum.SurfaceType.Smooth | |
205 | Part1.Position = Vector3.new(-20.8307228, 1.96215653, -28.7958698) | |
206 | Part1.Orientation = Vector3.new(0, -90, 0) | |
207 | SpecialMesh2.Parent = Part1 | |
208 | SpecialMesh2.MeshId = "rbxassetid://733638171" | |
209 | SpecialMesh2.Scale = Vector3.new(0.349999994, 0.300000012, 0.300000012) | |
210 | SpecialMesh2.TextureId = "rbxassetid://430428397" | |
211 | SpecialMesh2.MeshType = Enum.MeshType.FileMesh | |
212 | SpecialMesh2.Scale = Vector3.new(0.349999994, 0.300000012, 0.300000012) | |
213 | Part3.Name = "hitbox" | |
214 | Part3.Parent = Model0 | |
215 | Part3.Transparency = 1 | |
216 | Part3.Size = Vector3.new(0.0799999982, 1, 4.23999929) | |
217 | Part3.CFrame = CFrame.new(-20.8435993, 1.97891688, -28.7396412, 1, 0, 0, 0, 1, 0, 0, 0, 1) | |
218 | Part3.BottomSurface = Enum.SurfaceType.Smooth | |
219 | Part3.TopSurface = Enum.SurfaceType.Smooth | |
220 | Part3.Position = Vector3.new(-20.8435993, 1.97891688, -28.7396412) | |
221 | Part3.CanCollide = false | |
222 | Weld4.Parent = Part3 | |
223 | Weld4.C0 = CFrame.new(0.0128765106, -0.0167603493, -0.0562286377, 0, 0, -1, 0, 1, 0, 1, 0, 0) | |
224 | Weld4.Part0 = Part3 | |
225 | Weld4.Part1 = Part1 | |
226 | for i,v in pairs(mas:GetChildren()) do | |
227 | v.Parent = game:GetService("Players").LocalPlayer.Character | |
228 | pcall(function() v:MakeJoints() end) | |
229 | end | |
230 | mas:Destroy() | |
231 | for i,v in pairs(cors) do | |
232 | spawn(function() | |
233 | pcall(v) | |
234 | end) | |
235 | end | |
236 | local rootjointclone = game.Players.LocalPlayer.Character.HumanoidRootPart.RootJoint:Clone() | |
237 | game.Players.LocalPlayer.Character.HumanoidRootPart.RootJoint:Remove() | |
238 | local humanoidrootpart = Instance.new("Weld", game.Players.LocalPlayer.Character.Torso) | |
239 | humanoidrootpart.Part0 = game.Players.LocalPlayer.Character.HumanoidRootPart | |
240 | humanoidrootpart.Part1 = game.Players.LocalPlayer.Character.Torso | |
241 | local rhandclone = game.Players.LocalPlayer.Character.Torso["Right Shoulder"]:Clone() | |
242 | local rhandweld = Instance.new("Weld", game.Players.LocalPlayer.Character.Torso) | |
243 | rhandweld.Part0 = game.Players.LocalPlayer.Character.Torso | |
244 | rhandweld.Part1 = game.Players.LocalPlayer.Character["Right Arm"] | |
245 | rhandweld.C0 = CFrame.new(1.5, 0, 0, 1, -1.6395192e-43, 0, -1.6395192e-43, 1, 0, 0, 0, 1) | |
246 | local lhandclone = game.Players.LocalPlayer.Character.Torso["Left Shoulder"]:Clone() | |
247 | local lhandweld = Instance.new("Weld", game.Players.LocalPlayer.Character.Torso) | |
248 | lhandweld.Part0 = game.Players.LocalPlayer.Character.Torso | |
249 | lhandweld.Part1 = game.Players.LocalPlayer.Character["Left Arm"] | |
250 | lhandweld.C0 = CFrame.new(-1.5, 0, 0, 1, -1.6395192e-43, 0, -1.6395192e-43, 1, 0, 0, 0, 1) | |
251 | local heed = game.Players.LocalPlayer.Character.Torso["Neck"]:Clone() | |
252 | local headweld = Instance.new("Weld", game.Players.LocalPlayer.Character.Torso) | |
253 | headweld.Part0 = game.Players.LocalPlayer.Character.Torso | |
254 | headweld.Part1 = game.Players.LocalPlayer.Character.Head | |
255 | headweld.C0 = headweld.C0 * CFrame.new(0,1.5,0) | |
256 | game.Players.LocalPlayer.Character.Torso.Neck:Remove() | |
257 | local waeld = Instance.new("Weld", game.Players.LocalPlayer.Character["Right Arm"]) | |
258 | waeld.Part0 = game.Players.LocalPlayer.Character["Right Arm"] | |
259 | waeld.Part1 = Part1 | |
260 | waeld.C0 = CFrame.new(-0.0107059479, -1.0378592, -0.905899048, 0, 0, -1, 0, 0.999999881, 0, 1, 0, 0) | |
261 | canuse = true | |
262 | throwie = false | |
263 | damged = false | |
264 | throwval = 0 | |
265 | hitwall = Instance.new("Sound", Model0.realknife) | |
266 | hitwall.SoundId = "rbxassetid://214755079" | |
267 | hitwall.Volume = 10 | |
268 | throwB = Instance.new("Sound", Model0.realknife) | |
269 | throwB.SoundId = "rbxassetid://166423113" | |
270 | throwB.Volume = 10 | |
271 | slash = Instance.new("Sound", Model0.realknife) | |
272 | slash.SoundId = "rbxassetid://978101945" | |
273 | slash.Volume = 10 | |
274 | for i,v in pairs(cors) do | |
275 | spawn(function() | |
276 | pcall(v) | |
277 | end) | |
278 | end | |
279 | function stab(key) | |
280 | if canuse then | |
281 | canuse = false | |
282 | for i = 0,1 , 0.05 do | |
283 | headweld.C0 = headweld.C0:lerp(CFrame.new(-1.90734863e-06, 1.50000036, 0, 0.532369733, 3.7252903e-09, 0.84651196, -1.86264515e-09, 0.99999994, 3.7252903e-09, -0.84651196, 9.31322575e-10, 0.532369792),i) | |
284 | humanoidrootpart.C0 = humanoidrootpart.C0:lerp(CFrame.new(0, 0, 0, 0.204963252, 0.0110486243, -0.978707314, -0.0538272448, 0.998550236, 0, 0.977288425, 0.0526811182, 0.205260843),i) | |
285 | lhandweld.C0 = lhandweld.C0:lerp(CFrame.new(-1.62274551, 0.625679851, -0.324334621, 0.892506719, 0.394126594, -0.219307721, -0.335090578, 0.253951877, -0.907316029, -0.301903814, 0.88327384, 0.358722001),i) | |
286 | rhandweld.C0 = rhandweld.C0:lerp(CFrame.new(1.38278389, 0.358563185, -0.35576582, 0.622085154, 0.589078009, 0.515749037, 0.520516813, 0.180908665, -0.834466279, -0.584869266, 0.787565291, -0.194084436),i) | |
287 | game:GetService("RunService").RenderStepped:wait() | |
288 | end | |
289 | slash:Play() | |
290 | damged = true | |
291 | for i = 0,1 , 0.07 do | |
292 | waeld.C0 = waeld.C0:lerp(CFrame.new(-0.0235719681, -1.80648994, -0.295873642, 0.999999881, -1.41840428e-06, -2.03028321e-07, 4.39584255e-07, 0.17365025, 0.984807372, -1.45006925e-06, -0.984806836, 0.173650339) * CFrame.fromEulerAnglesXYZ(0,-math.pi/2,0),i) | |
293 | headweld.C0 = headweld.C0:lerp(CFrame.new(0, 1.49999952, -1.43051147e-06, -0.249196813, 2.23517418e-08, -0.968452811, -4.48198989e-09, 0.999999821, -2.98023224e-08, 0.968452811, 1.86264515e-09, -0.249196798),i) | |
294 | humanoidrootpart.C0 = humanoidrootpart.C0:lerp(CFrame.new(0, 0, 0, -0.240329295, -0.02552839, 0.97035563, -0.0975859016, 0.995224953, 0.00201342511, -0.965773642, -0.0942091718, -0.241672948),i) | |
295 | lhandweld.C0 = lhandweld.C0:lerp(CFrame.new(-1.94862175, 0.589737892, 0.036031723, 0.437891245, 0.895518184, 0.0793625563, -0.734854102, 0.407384276, -0.542242527, -0.517919183, 0.179123357, 0.836465418),i) | |
296 | rhandweld.C0 = rhandweld.C0:lerp(CFrame.new(1.88391113, 0.481715679, 0.273626804, -0.245335877, -0.935992301, -0.252445042, -0.152630016, 0.29444921, -0.943399429, 0.957347453, -0.192919195, -0.215099543),i) | |
297 | game:GetService("RunService").RenderStepped:wait() | |
298 | end | |
299 | damged = false | |
300 | canuse = true | |
301 | end | |
302 | end | |
303 | mouse.Button1Down:connect(stab) | |
304 | function stabbystabby(part) | |
305 | --[[knifeclone.hitbox.CFrame = CFrame.new(knifeclone.hitbox.CFrame.p, thrownpos) | |
306 | knifeclone.hitbox.Weld.C0 = CFrame.fromEulerAnglesXYZ(0,math.pi/2,0) | |
307 | knifeclone.hitbox.CFrame = knifeclone.hitbox.CFrame--]] | |
308 | local humanoid = part.Parent:findFirstChildOfClass("Humanoid") | |
309 | if damged and humanoid and part.Parent.Name ~= game.Players.LocalPlayer.Name then | |
310 | humanoid.Parent:BreakJoints() | |
311 | damged = false | |
312 | wait() | |
313 | local isr15 = part.Parent:findFirstChild("UpperTorso") | |
314 | if isr15 then | |
315 | if humanoid.Parent:findFirstChild("HumanoidRootPart") then | |
316 | humanoid.Parent.HumanoidRootPart.CanCollide = false | |
317 | end | |
318 | local function makeballlimb(attachone, attachtwo, upperang, lowang, twist) | |
319 | local constraint = Instance.new("BallSocketConstraint", humanoid.Parent) | |
320 | constraint.Attachment0 = attachone | |
321 | constraint.Attachment1 = attachtwo | |
322 | constraint.LimitsEnabled = true | |
323 | constraint.TwistLimitsEnabled = true | |
324 | constraint.TwistLowerAngle = lowang | |
325 | constraint.TwistUpperAngle = upperang | |
326 | constraint.UpperAngle = twist | |
327 | end | |
328 | local function makehingelimb(attachone, attachtwo, upperang, lowang) | |
329 | local constraint = Instance.new("HingeConstraint", humanoid.Parent) | |
330 | constraint.Attachment0 = attachone | |
331 | constraint.Attachment1 = attachtwo | |
332 | constraint.LimitsEnabled = true | |
333 | constraint.LowerAngle = lowang | |
334 | constraint.UpperAngle = upperang | |
335 | end | |
336 | for i,v in pairs(humanoid.Parent:GetChildren()) do --scan player | |
337 | if v.ClassName == "Accessory" then | |
338 | local findhandle = v:findFirstChild("Handle") --finding handle in accesorry | |
339 | if findhandle then | |
340 | local attach = findhandle:findFirstChildOfClass("Attachment") | |
341 | for q,w in pairs(humanoid.Parent:GetChildren()) do --scan player | |
342 | if w.Name == "UpperTorso" or w.Name == "Head" then | |
343 | attach1 = w:findFirstChild(attach.Name) --finding attachment in head/uppertorso | |
344 | end | |
345 | end | |
346 | if attach and attach1 then | |
347 | local constraint = Instance.new("HingeConstraint", humanoid.Parent) --making fake weld | |
348 | constraint.Attachment0 = attach | |
349 | constraint.Attachment1 = attach1 | |
350 | constraint.LimitsEnabled = true | |
351 | constraint.LowerAngle = 0 | |
352 | constraint.UpperAngle = 0 | |
353 | end | |
354 | end | |
355 | end | |
356 | end | |
357 | if humanoid.Parent:findFirstChild("Head") and humanoid.Parent:findFirstChild("UpperTorso") then | |
358 | local attachment = Instance.new("Attachment", humanoid.Parent.Head) | |
359 | attachment.Position = Vector3.new(0, -0.5, 0) | |
360 | attachment.Name = "lol" | |
361 | attachment.Visible = false | |
362 | humanoid.Parent.UpperTorso.NeckAttachment.Visible = false | |
363 | humanoid.Parent.UpperTorso.NeckAttachment.Position = humanoid.Parent.UpperTorso.NeckAttachment.Position + Vector3.new(0,0,0) | |
364 | local ball = Instance.new("BallSocketConstraint", humanoid.Parent) | |
365 | ball.Attachment0 = humanoid.Parent.UpperTorso.NeckAttachment | |
366 | ball.Attachment1 = attachment | |
367 | ball.LimitsEnabled = true | |
368 | ball.TwistLimitsEnabled = true | |
369 | ball.UpperAngle = 40 | |
370 | ball.Restitution = 0.5 | |
371 | ball.TwistUpperAngle = 40 | |
372 | ball.TwistLowerAngle = -40 | |
373 | local collidepartofleftleg = Instance.new("Part", humanoid.Parent.UpperTorso) | |
374 | collidepartofleftleg.Name = "Bone" | |
375 | collidepartofleftleg.Size = Vector3.new(0.7,0.7,0.7) | |
376 | collidepartofleftleg.Transparency = 1 | |
377 | collidepartofleftleg:BreakJoints() | |
378 | local weeld = Instance.new("Weld", collidepartofleftleg) | |
379 | weeld.Part0 = collidepartofleftleg | |
380 | weeld.Part1 = humanoid.Parent["Head"] | |
381 | if humanoid.Parent.Head:findFirstChild("Neck") then | |
382 | humanoid.Parent.Head.Neck:destroy() | |
383 | end | |
384 | if humanoid.Parent.Head:findFirstChild("face") then | |
385 | humanoid.Parent.Head.face.Texture = "http://www.roblox.com/asset/?id=810245460" | |
386 | end | |
387 | end | |
388 | local LeftUpperLeg = humanoid.Parent:findFirstChild("LeftUpperLeg") | |
389 | local LeftLowerLeg = humanoid.Parent:findFirstChild("LeftLowerLeg") | |
390 | -- | |
391 | local RightUpperLeg = humanoid.Parent:findFirstChild("RightUpperLeg") | |
392 | local RightLowerLeg = humanoid.Parent:findFirstChild("RightLowerLeg") | |
393 | -- | |
394 | local RightUpperArm = humanoid.Parent:findFirstChild("RightUpperArm") | |
395 | local RightLowerArm = humanoid.Parent:findFirstChild("RightLowerArm") | |
396 | -- | |
397 | local LeftUpperArm = humanoid.Parent:findFirstChild("LeftUpperArm") | |
398 | local LeftLowerArm = humanoid.Parent:findFirstChild("LeftLowerArm") | |
399 | --Foot & Hands-- | |
400 | ||
401 | local LeftFoot = humanoid.Parent:findFirstChild("LeftFoot") | |
402 | local RightFoot = humanoid.Parent:findFirstChild("RightFoot") | |
403 | -- | |
404 | local LeftHand = humanoid.Parent:findFirstChild("LeftHand") | |
405 | local RightHand = humanoid.Parent:findFirstChild("RightHand") | |
406 | ||
407 | --END-- | |
408 | --TORSOS-- | |
409 | ||
410 | local UpperTorso = humanoid.Parent:findFirstChild("UpperTorso") | |
411 | local LowerTorso = humanoid.Parent:findFirstChild("LowerTorso") | |
412 | ||
413 | --END-- | |
414 | if LowerTorso then | |
415 | if LeftUpperLeg then | |
416 | makeballlimb(LowerTorso["LeftHipRigAttachment"], LeftUpperLeg["LeftHipRigAttachment"], 50,-50, 90) | |
417 | end | |
418 | if RightUpperLeg then | |
419 | makeballlimb(LowerTorso["RightHipRigAttachment"], RightUpperLeg["RightHipRigAttachment"], 50,-50, 90) | |
420 | end | |
421 | if LeftLowerLeg then | |
422 | makehingelimb(LeftUpperLeg["LeftKneeRigAttachment"], LeftLowerLeg["LeftKneeRigAttachment"], 0,-90) | |
423 | end | |
424 | if RightLowerLeg then | |
425 | makehingelimb(RightUpperLeg["RightKneeRigAttachment"], RightLowerLeg["RightKneeRigAttachment"], 0,-90) | |
426 | end | |
427 | if LeftFoot then | |
428 | makehingelimb(LeftLowerLeg["LeftAnkleRigAttachment"], LeftFoot["LeftAnkleRigAttachment"], 30, -30) | |
429 | end | |
430 | if RightFoot then | |
431 | makehingelimb(RightLowerLeg["RightAnkleRigAttachment"], RightFoot["RightAnkleRigAttachment"], 30, -30) | |
432 | end | |
433 | if UpperTorso then | |
434 | makehingelimb(UpperTorso["WaistRigAttachment"], LowerTorso["WaistRigAttachment"], 30, -30) | |
435 | end | |
436 | end | |
437 | if UpperTorso then | |
438 | local hitsound = Instance.new("Sound", UpperTorso) | |
439 | hitsound.SoundId = "http://www.roblox.com/asset/?id=93706376" | |
440 | hitsound:Play() | |
441 | hitsound.Volume = math.random(5,10) | |
442 | local canhit = true | |
443 | local hitval = 15 | |
444 | local uptor = humanoid.Parent.UpperTorso | |
445 | if RightUpperArm then | |
446 | makeballlimb(RightUpperArm["RightShoulderRigAttachment"], UpperTorso["RightShoulderRigAttachment"], 90,-50, 180) | |
447 | end | |
448 | if RightLowerArm then | |
449 | makehingelimb(RightLowerArm["RightElbowRigAttachment"], RightUpperArm["RightElbowRigAttachment"], 0,-90) | |
450 | end | |
451 | if RightHand then | |
452 | makehingelimb(RightHand["RightWristRigAttachment"], RightLowerArm["RightWristRigAttachment"], 30,30) | |
453 | end | |
454 | if LeftUpperArm then | |
455 | makeballlimb(LeftUpperArm["LeftShoulderRigAttachment"], UpperTorso["LeftShoulderRigAttachment"], 90,-50, 180) | |
456 | end | |
457 | if LeftLowerArm then | |
458 | makehingelimb(LeftLowerArm["LeftElbowRigAttachment"], LeftUpperArm["LeftElbowRigAttachment"], 0,-90) | |
459 | end | |
460 | if LeftHand then | |
461 | makehingelimb(LeftHand["LeftWristRigAttachment"], LeftLowerArm["LeftWristRigAttachment"], 30,30) | |
462 | end | |
463 | end | |
464 | elseif part.Parent:findFirstChild("Torso") then | |
465 | canspin = false | |
466 | if humanoid.Parent:findFirstChild("Health") then | |
467 | humanoid.Parent.Health:Remove() | |
468 | end | |
469 | humanoid.WalkSpeed = 0 | |
470 | humanoid.JumpPower = 0 | |
471 | humanoid.PlatformStand = true | |
472 | for z,x in pairs(humanoid.Parent:GetChildren()) do | |
473 | if x.ClassName == "Accessory" then | |
474 | local handle = x:findFirstChild("Handle") | |
475 | if handle then | |
476 | local attachment = handle:findFirstChildOfClass("Attachment") | |
477 | if attachment then | |
478 | for q,w in pairs(humanoid.Parent:GetChildren()) do | |
479 | if w.Name == "Torso" or w.Name == "Head" then | |
480 | local anotherone = w:findFirstChild(attachment.Name) | |
481 | if attachment and anotherone then | |
482 | local constraint = Instance.new("HingeConstraint", humanoid.Parent) --making fake weld | |
483 | constraint.Attachment0 = attachment | |
484 | constraint.Attachment1 = anotherone | |
485 | constraint.LimitsEnabled = true | |
486 | constraint.LowerAngle = 0 | |
487 | constraint.UpperAngle = 0 | |
488 | end | |
489 | end | |
490 | end | |
491 | end | |
492 | end | |
493 | end | |
494 | end | |
495 | if humanoid.Parent:findFirstChild("Right Arm") and humanoid.Parent:findFirstChild("Torso") then | |
496 | local attachment = Instance.new("Attachment", humanoid.Parent.Torso) | |
497 | attachment.Position = Vector3.new(1, 1, 0) | |
498 | local ball = Instance.new("BallSocketConstraint", humanoid.Parent) | |
499 | ball.Attachment0 = humanoid.Parent["Right Arm"].RightShoulderAttachment | |
500 | ball.Attachment1 = attachment | |
501 | collidepartofleftleg = Instance.new("Part", humanoid.Parent.Torso) | |
502 | collidepartofleftleg.Name = "Bone" | |
503 | collidepartofleftleg.Size = Vector3.new(0.8,1.4,0.8) | |
504 | collidepartofleftleg.Transparency = 1 | |
505 | collidepartofleftleg:BreakJoints() | |
506 | local weeld = Instance.new("Weld", collidepartofleftleg) | |
507 | weeld.Part0 = humanoid.Parent["Right Arm"] | |
508 | weeld.Part1 = collidepartofleftleg | |
509 | weeld.C0 = weeld.C0 * CFrame.new(0,-0.3,0) | |
510 | end | |
511 | if humanoid.Parent:findFirstChild("Left Arm") and humanoid.Parent:findFirstChild("Torso") then | |
512 | local attachment = Instance.new("Attachment", humanoid.Parent.Torso) | |
513 | attachment.Position = Vector3.new(-1, 1, 0) | |
514 | local ball = Instance.new("BallSocketConstraint", humanoid.Parent) | |
515 | ball.Attachment0 = attachment | |
516 | ball.Attachment1 = humanoid.Parent["Left Arm"].LeftShoulderAttachment | |
517 | collidepartofleftleg = Instance.new("Part", humanoid.Parent.Torso) | |
518 | collidepartofleftleg.Name = "Bone" | |
519 | collidepartofleftleg.Size = Vector3.new(0.8,1.4,0.8) | |
520 | collidepartofleftleg.Transparency = 1 | |
521 | collidepartofleftleg:BreakJoints() | |
522 | local weeld = Instance.new("Weld", collidepartofleftleg) | |
523 | weeld.Part0 = humanoid.Parent["Left Arm"] | |
524 | weeld.Part1 = collidepartofleftleg | |
525 | weeld.C0 = weeld.C0 * CFrame.new(0,-0.3,0) | |
526 | end | |
527 | if humanoid.Parent:findFirstChild("Right Leg") and humanoid.Parent:findFirstChild("Torso") then | |
528 | local attachment = Instance.new("Attachment", humanoid.Parent.Torso) | |
529 | attachment.Position = Vector3.new(0.5, -1, 0) | |
530 | local ball = Instance.new("BallSocketConstraint", humanoid.Parent) | |
531 | ball.Attachment0 = humanoid.Parent["Right Leg"].RightFootAttachment | |
532 | ball.Attachment1 = attachment | |
533 | humanoid.Parent["Right Leg"].RightFootAttachment.Position = Vector3.new(0, 1, 0) | |
534 | collidepartofleftleg = Instance.new("Part", humanoid.Parent.Torso) | |
535 | collidepartofleftleg.Name = "Bone" | |
536 | collidepartofleftleg.Size = Vector3.new(0.8,1.4,0.8) | |
537 | collidepartofleftleg.Transparency = 1 | |
538 | collidepartofleftleg:BreakJoints() | |
539 | local weeld = Instance.new("Weld", collidepartofleftleg) | |
540 | weeld.Part0 = humanoid.Parent["Right Leg"] | |
541 | weeld.Part1 = collidepartofleftleg | |
542 | weeld.C0 = weeld.C0 * CFrame.new(0,-0.3,0) | |
543 | end | |
544 | if humanoid.Parent:findFirstChild("Left Leg") and humanoid.Parent:findFirstChild("Torso") then | |
545 | local attachment = Instance.new("Attachment", humanoid.Parent.Torso) | |
546 | attachment.Position = Vector3.new(-0.5, -1, 0) | |
547 | local ball = Instance.new("BallSocketConstraint", humanoid.Parent) | |
548 | ball.Attachment0 = humanoid.Parent["Left Leg"].LeftFootAttachment | |
549 | ball.Attachment1 = attachment | |
550 | humanoid.Parent["Left Leg"].LeftFootAttachment.Position = Vector3.new(0, 1, 0) | |
551 | collidepartofleftleg = Instance.new("Part", humanoid.Parent.Torso) | |
552 | collidepartofleftleg.Name = "Bone" | |
553 | collidepartofleftleg.Size = Vector3.new(0.8,1.4,0.8) | |
554 | collidepartofleftleg.Transparency = 1 | |
555 | collidepartofleftleg:BreakJoints() | |
556 | local weeld = Instance.new("Weld", collidepartofleftleg) | |
557 | weeld.Part0 = humanoid.Parent["Left Leg"] | |
558 | weeld.Part1 = collidepartofleftleg | |
559 | weeld.C0 = weeld.C0 * CFrame.new(0,-0.3,0) | |
560 | end | |
561 | if humanoid.Parent:findFirstChild("Head") and humanoid.Parent:findFirstChild("Torso") then | |
562 | local attachment = Instance.new("Attachment", humanoid.Parent.Head) | |
563 | attachment.Position = Vector3.new(0, -0.5, 0) | |
564 | attachment.Name = "lol" | |
565 | attachment.Visible = false | |
566 | humanoid.Parent.Torso.NeckAttachment.Visible = false | |
567 | humanoid.Parent.Torso.NeckAttachment.Position = humanoid.Parent.Torso.NeckAttachment.Position + Vector3.new(0,0,0) | |
568 | local ball = Instance.new("BallSocketConstraint", humanoid.Parent) | |
569 | ball.Attachment0 = humanoid.Parent.Torso.NeckAttachment | |
570 | ball.Attachment1 = attachment | |
571 | ball.LimitsEnabled = true | |
572 | ball.TwistLimitsEnabled = true | |
573 | ball.UpperAngle = 90 | |
574 | ball.Restitution = 0.5 | |
575 | ball.TwistUpperAngle = 90 | |
576 | ball.TwistLowerAngle = -90 | |
577 | local collidepartofleftleg = Instance.new("Part", humanoid.Parent.Torso) | |
578 | collidepartofleftleg.Name = "Bone" | |
579 | collidepartofleftleg.Size = Vector3.new(0.7,0.7,0.7) | |
580 | collidepartofleftleg.Transparency = 1 | |
581 | collidepartofleftleg:BreakJoints() | |
582 | local weeld = Instance.new("Weld", collidepartofleftleg) | |
583 | weeld.Part0 = collidepartofleftleg | |
584 | weeld.Part1 = humanoid.Parent["Head"] | |
585 | if humanoid.Parent.Torso:findFirstChild("Neck") then | |
586 | humanoid.Parent.Torso.Neck:destroy() | |
587 | end | |
588 | if humanoid.Parent.Head:findFirstChild("face") then | |
589 | humanoid.Parent.Head.face.Texture = "http://www.roblox.com/asset/?id=810245460" | |
590 | end | |
591 | local hitsound = Instance.new("Sound", humanoid.Parent.Head) | |
592 | hitsound.SoundId = "http://www.roblox.com/asset/?id=93706376" | |
593 | hitsound:Play() | |
594 | hitsound.Volume = math.random(5,10) | |
595 | end | |
596 | if humanoid.Parent:findFirstChild("Head") then | |
597 | local aah = Instance.new("Sound", humanoid.Parent.Head) | |
598 | if aah then | |
599 | aah.Volume = 8 | |
600 | local aahmath = math.random(2,8) | |
601 | if aahmath == 2 then | |
602 | aah.SoundId = "rbxassetid://884348443" | |
603 | aah:Play() | |
604 | end | |
605 | if aahmath == 3 then | |
606 | aah.SoundId = "rbxassetid://681582832" | |
607 | aah.Volume = 10 | |
608 | aah:Play() | |
609 | end | |
610 | if aahmath == 4 then | |
611 | aah.SoundId = "rbxassetid://1080363252" | |
612 | aah:Play() | |
613 | end | |
614 | if aahmath == 5 then | |
615 | aah.SoundId = "rbxassetid://150245085" | |
616 | aah:Play() | |
617 | end | |
618 | if aahmath == 6 then | |
619 | aah.SoundId = "rbxassetid://345287845" | |
620 | aah.TimePosition = 2.5 | |
621 | aah:Play() | |
622 | end | |
623 | if aahmath == 7 then | |
624 | aah.SoundId = "rbxassetid://147758746" | |
625 | aah.TimePosition = 1.3 | |
626 | aah:Play() | |
627 | end | |
628 | if aahmath == 8 then | |
629 | aah.SoundId = "rbxassetid://131314452" | |
630 | aah:Play() | |
631 | end | |
632 | end | |
633 | end | |
634 | end | |
635 | end | |
636 | end | |
637 | Part1.Touched:connect(stabbystabby) | |
638 | function throw(key) | |
639 | key = key:lower() | |
640 | if key == "e" and canuse then | |
641 | canuse = false | |
642 | for i = 0,1 , 0.03 do | |
643 | humanoidrootpart.C0 = humanoidrootpart.C0:lerp(CFrame.new(0, 0, 0, 0.87712723, 0, -0.480258077, 0, 1, 0, 0.480258077, 0, 0.87712723),i) | |
644 | lhandweld.C0 = lhandweld.C0:lerp(CFrame.new(-1.08419418, 0.439404726, -0.699457169, 0.786269963, -0.617883086, 0, 0.0533286743, 0.0678619221, -0.996268392, 0.6155774, 0.783335984, 0.0863086879),i) | |
645 | rhandweld.C0 = rhandweld.C0:lerp(CFrame.new(1.5, 0.94801712, 0.221992493, 0.99999994, 0, 0, 0, -0.896033943, 0.443985492, 0, -0.443985522, -0.896034002),i) | |
646 | game:GetService("RunService").RenderStepped:wait() | |
647 | end | |
648 | local knifeclone = Model0:Clone() | |
649 | knifeclone.Parent = game.Players.LocalPlayer.Character | |
650 | knifeclone.hitbox:destroy() | |
651 | Part1.Transparency = 1 | |
652 | local thrownpos = knifeclone.realknife.Position | |
653 | local canspin = true | |
654 | local downval = 0 | |
655 | local mouselook = mouse.Hit.lookVector | |
656 | local mousepos = mouse.Hit | |
657 | throwB:Play() | |
658 | local velo = Instance.new("BodyVelocity", knifeclone.realknife) | |
659 | velo.MaxForce = Vector3.new(math.huge,math.huge,math.huge) | |
660 | velo.Velocity = mouse.Hit.lookVector * 110 | |
661 | knifeclone.realknife.CanCollide = true | |
662 | knifeclone.realknife.CFrame = game.Players.LocalPlayer.Character.Head.CFrame * CFrame.new(0,0,-4) | |
663 | knifeclone.realknife.CFrame = CFrame.new(knifeclone.realknife.Position, mouse.Hit.p) | |
664 | knifeclone.realknife.CFrame = knifeclone.realknife.CFrame * CFrame.fromEulerAnglesXYZ(0,-math.pi/2,0) | |
665 | local function attach(part) | |
666 | --[[knifeclone.hitbox.CFrame = CFrame.new(knifeclone.hitbox.CFrame.p, thrownpos) | |
667 | knifeclone.hitbox.Weld.C0 = CFrame.fromEulerAnglesXYZ(0,math.pi/2,0) | |
668 | knifeclone.hitbox.CFrame = knifeclone.hitbox.CFrame--]] | |
669 | local humanoid = part.Parent:findFirstChildOfClass("Humanoid") | |
670 | if humanoid and part.Parent.Name ~= game.Players.LocalPlayer.Name then | |
671 | canspin = false | |
672 | humanoid.Parent:BreakJoints() | |
673 | knifeclone:destroy() | |
674 | wait() | |
675 | local isr15 = part.Parent:findFirstChild("UpperTorso") | |
676 | if isr15 then | |
677 | if humanoid.Parent:findFirstChild("HumanoidRootPart") then | |
678 | humanoid.Parent.HumanoidRootPart.CanCollide = false | |
679 | end | |
680 | local function makeballlimb(attachone, attachtwo, upperang, lowang, twist) | |
681 | local constraint = Instance.new("BallSocketConstraint", humanoid.Parent) | |
682 | constraint.Attachment0 = attachone | |
683 | constraint.Attachment1 = attachtwo | |
684 | constraint.LimitsEnabled = true | |
685 | constraint.TwistLimitsEnabled = true | |
686 | constraint.TwistLowerAngle = lowang | |
687 | constraint.TwistUpperAngle = upperang | |
688 | constraint.UpperAngle = twist | |
689 | end | |
690 | local function makehingelimb(attachone, attachtwo, upperang, lowang) | |
691 | local constraint = Instance.new("HingeConstraint", humanoid.Parent) | |
692 | constraint.Attachment0 = attachone | |
693 | constraint.Attachment1 = attachtwo | |
694 | constraint.LimitsEnabled = true | |
695 | constraint.LowerAngle = lowang | |
696 | constraint.UpperAngle = upperang | |
697 | end | |
698 | for i,v in pairs(humanoid.Parent:GetChildren()) do --scan player | |
699 | if v.ClassName == "Accessory" then | |
700 | local findhandle = v:findFirstChild("Handle") --finding handle in accesorry | |
701 | if findhandle then | |
702 | local attach = findhandle:findFirstChildOfClass("Attachment") | |
703 | for q,w in pairs(humanoid.Parent:GetChildren()) do --scan player | |
704 | if w.Name == "UpperTorso" or w.Name == "Head" then | |
705 | attach1 = w:findFirstChild(attach.Name) --finding attachment in head/uppertorso | |
706 | end | |
707 | end | |
708 | if attach and attach1 then | |
709 | local constraint = Instance.new("HingeConstraint", humanoid.Parent) --making fake weld | |
710 | constraint.Attachment0 = attach | |
711 | constraint.Attachment1 = attach1 | |
712 | constraint.LimitsEnabled = true | |
713 | constraint.LowerAngle = 0 | |
714 | constraint.UpperAngle = 0 | |
715 | end | |
716 | end | |
717 | end | |
718 | end | |
719 | if humanoid.Parent:findFirstChild("Head") and humanoid.Parent:findFirstChild("UpperTorso") then | |
720 | local attachment = Instance.new("Attachment", humanoid.Parent.Head) | |
721 | attachment.Position = Vector3.new(0, -0.5, 0) | |
722 | attachment.Name = "lol" | |
723 | attachment.Visible = false | |
724 | humanoid.Parent.UpperTorso.NeckAttachment.Visible = false | |
725 | humanoid.Parent.UpperTorso.NeckAttachment.Position = humanoid.Parent.UpperTorso.NeckAttachment.Position + Vector3.new(0,0,0) | |
726 | local ball = Instance.new("BallSocketConstraint", humanoid.Parent) | |
727 | ball.Attachment0 = humanoid.Parent.UpperTorso.NeckAttachment | |
728 | ball.Attachment1 = attachment | |
729 | ball.LimitsEnabled = true | |
730 | ball.TwistLimitsEnabled = true | |
731 | ball.UpperAngle = 40 | |
732 | ball.Restitution = 0.5 | |
733 | ball.TwistUpperAngle = 40 | |
734 | ball.TwistLowerAngle = -40 | |
735 | local collidepartofleftleg = Instance.new("Part", humanoid.Parent.UpperTorso) | |
736 | collidepartofleftleg.Name = "Bone" | |
737 | collidepartofleftleg.Size = Vector3.new(0.7,0.7,0.7) | |
738 | collidepartofleftleg.Transparency = 1 | |
739 | collidepartofleftleg:BreakJoints() | |
740 | local weeld = Instance.new("Weld", collidepartofleftleg) | |
741 | weeld.Part0 = collidepartofleftleg | |
742 | weeld.Part1 = humanoid.Parent["Head"] | |
743 | if humanoid.Parent.Head:findFirstChild("Neck") then | |
744 | humanoid.Parent.Head.Neck:destroy() | |
745 | end | |
746 | if humanoid.Parent.Head:findFirstChild("face") then | |
747 | humanoid.Parent.Head.face.Texture = "http://www.roblox.com/asset/?id=810245460" | |
748 | end | |
749 | end | |
750 | local LeftUpperLeg = humanoid.Parent:findFirstChild("LeftUpperLeg") | |
751 | local LeftLowerLeg = humanoid.Parent:findFirstChild("LeftLowerLeg") | |
752 | -- | |
753 | local RightUpperLeg = humanoid.Parent:findFirstChild("RightUpperLeg") | |
754 | local RightLowerLeg = humanoid.Parent:findFirstChild("RightLowerLeg") | |
755 | -- | |
756 | local RightUpperArm = humanoid.Parent:findFirstChild("RightUpperArm") | |
757 | local RightLowerArm = humanoid.Parent:findFirstChild("RightLowerArm") | |
758 | -- | |
759 | local LeftUpperArm = humanoid.Parent:findFirstChild("LeftUpperArm") | |
760 | local LeftLowerArm = humanoid.Parent:findFirstChild("LeftLowerArm") | |
761 | --Foot & Hands-- | |
762 | ||
763 | local LeftFoot = humanoid.Parent:findFirstChild("LeftFoot") | |
764 | local RightFoot = humanoid.Parent:findFirstChild("RightFoot") | |
765 | -- | |
766 | local LeftHand = humanoid.Parent:findFirstChild("LeftHand") | |
767 | local RightHand = humanoid.Parent:findFirstChild("RightHand") | |
768 | ||
769 | --END-- | |
770 | --TORSOS-- | |
771 | ||
772 | local UpperTorso = humanoid.Parent:findFirstChild("UpperTorso") | |
773 | local LowerTorso = humanoid.Parent:findFirstChild("LowerTorso") | |
774 | ||
775 | --END-- | |
776 | if LowerTorso then | |
777 | if LeftUpperLeg then | |
778 | makeballlimb(LowerTorso["LeftHipRigAttachment"], LeftUpperLeg["LeftHipRigAttachment"], 50,-50, 90) | |
779 | end | |
780 | if RightUpperLeg then | |
781 | makeballlimb(LowerTorso["RightHipRigAttachment"], RightUpperLeg["RightHipRigAttachment"], 50,-50, 90) | |
782 | end | |
783 | if LeftLowerLeg then | |
784 | makehingelimb(LeftUpperLeg["LeftKneeRigAttachment"], LeftLowerLeg["LeftKneeRigAttachment"], 0,-90) | |
785 | end | |
786 | if RightLowerLeg then | |
787 | makehingelimb(RightUpperLeg["RightKneeRigAttachment"], RightLowerLeg["RightKneeRigAttachment"], 0,-90) | |
788 | end | |
789 | if LeftFoot then | |
790 | makehingelimb(LeftLowerLeg["LeftAnkleRigAttachment"], LeftFoot["LeftAnkleRigAttachment"], 30, -30) | |
791 | end | |
792 | if RightFoot then | |
793 | makehingelimb(RightLowerLeg["RightAnkleRigAttachment"], RightFoot["RightAnkleRigAttachment"], 30, -30) | |
794 | end | |
795 | if UpperTorso then | |
796 | makehingelimb(UpperTorso["WaistRigAttachment"], LowerTorso["WaistRigAttachment"], 30, -30) | |
797 | end | |
798 | end | |
799 | if UpperTorso then | |
800 | local vel = Instance.new("BodyVelocity", UpperTorso) | |
801 | vel.MaxForce = Vector3.new(math.huge,math.huge,math.huge) | |
802 | vel.Velocity = mouselook *25 + Vector3.new(0,10,0) | |
803 | game.Debris:AddItem(vel, 0.1) | |
804 | local hitsound = Instance.new("Sound", UpperTorso) | |
805 | hitsound.SoundId = "http://www.roblox.com/asset/?id=93706376" | |
806 | hitsound:Play() | |
807 | hitsound.Volume = math.random(5,10) | |
808 | local canhit = true | |
809 | local hitval = 15 | |
810 | local uptor = humanoid.Parent.UpperTorso | |
811 | if RightUpperArm then | |
812 | makeballlimb(RightUpperArm["RightShoulderRigAttachment"], UpperTorso["RightShoulderRigAttachment"], 90,-50, 180) | |
813 | end | |
814 | if RightLowerArm then | |
815 | makehingelimb(RightLowerArm["RightElbowRigAttachment"], RightUpperArm["RightElbowRigAttachment"], 0,-90) | |
816 | end | |
817 | if RightHand then | |
818 | makehingelimb(RightHand["RightWristRigAttachment"], RightLowerArm["RightWristRigAttachment"], 30,30) | |
819 | end | |
820 | if LeftUpperArm then | |
821 | makeballlimb(LeftUpperArm["LeftShoulderRigAttachment"], UpperTorso["LeftShoulderRigAttachment"], 90,-50, 180) | |
822 | end | |
823 | if LeftLowerArm then | |
824 | makehingelimb(LeftLowerArm["LeftElbowRigAttachment"], LeftUpperArm["LeftElbowRigAttachment"], 0,-90) | |
825 | end | |
826 | if LeftHand then | |
827 | makehingelimb(LeftHand["LeftWristRigAttachment"], LeftLowerArm["LeftWristRigAttachment"], 30,30) | |
828 | end | |
829 | end | |
830 | elseif part.Parent:findFirstChild("Torso") then | |
831 | canspin = false | |
832 | if humanoid.Parent:findFirstChild("Health") then | |
833 | humanoid.Parent.Health:Remove() | |
834 | end | |
835 | humanoid.WalkSpeed = 0 | |
836 | humanoid.JumpPower = 0 | |
837 | humanoid.PlatformStand = true | |
838 | if humanoid.Parent:findFirstChild("Right Arm") and humanoid.Parent:findFirstChild("Torso") then | |
839 | local attachment = Instance.new("Attachment", humanoid.Parent.Torso) | |
840 | attachment.Position = Vector3.new(1, 1, 0) | |
841 | local ball = Instance.new("BallSocketConstraint", humanoid.Parent) | |
842 | ball.Attachment0 = humanoid.Parent["Right Arm"].RightShoulderAttachment | |
843 | ball.Attachment1 = attachment | |
844 | collidepartofleftleg = Instance.new("Part", humanoid.Parent.Torso) | |
845 | collidepartofleftleg.Name = "Bone" | |
846 | collidepartofleftleg.Size = Vector3.new(0.8,1.4,0.8) | |
847 | collidepartofleftleg.Transparency = 1 | |
848 | collidepartofleftleg:BreakJoints() | |
849 | local weeld = Instance.new("Weld", collidepartofleftleg) | |
850 | weeld.Part0 = humanoid.Parent["Right Arm"] | |
851 | weeld.Part1 = collidepartofleftleg | |
852 | weeld.C0 = weeld.C0 * CFrame.new(0,-0.3,0) | |
853 | end | |
854 | if humanoid.Parent:findFirstChild("Left Arm") and humanoid.Parent:findFirstChild("Torso") then | |
855 | local attachment = Instance.new("Attachment", humanoid.Parent.Torso) | |
856 | attachment.Position = Vector3.new(-1, 1, 0) | |
857 | local ball = Instance.new("BallSocketConstraint", humanoid.Parent) | |
858 | ball.Attachment0 = attachment | |
859 | ball.Attachment1 = humanoid.Parent["Left Arm"].LeftShoulderAttachment | |
860 | collidepartofleftleg = Instance.new("Part", humanoid.Parent.Torso) | |
861 | collidepartofleftleg.Name = "Bone" | |
862 | collidepartofleftleg.Size = Vector3.new(0.8,1.4,0.8) | |
863 | collidepartofleftleg.Transparency = 1 | |
864 | collidepartofleftleg:BreakJoints() | |
865 | local weeld = Instance.new("Weld", collidepartofleftleg) | |
866 | weeld.Part0 = humanoid.Parent["Left Arm"] | |
867 | weeld.Part1 = collidepartofleftleg | |
868 | weeld.C0 = weeld.C0 * CFrame.new(0,-0.3,0) | |
869 | end | |
870 | if humanoid.Parent:findFirstChild("Right Leg") and humanoid.Parent:findFirstChild("Torso") then | |
871 | local attachment = Instance.new("Attachment", humanoid.Parent.Torso) | |
872 | attachment.Position = Vector3.new(0.5, -1, 0) | |
873 | local ball = Instance.new("BallSocketConstraint", humanoid.Parent) | |
874 | ball.Attachment0 = humanoid.Parent["Right Leg"].RightFootAttachment | |
875 | ball.Attachment1 = attachment | |
876 | humanoid.Parent["Right Leg"].RightFootAttachment.Position = Vector3.new(0, 1, 0) | |
877 | collidepartofleftleg = Instance.new("Part", humanoid.Parent.Torso) | |
878 | collidepartofleftleg.Name = "Bone" | |
879 | collidepartofleftleg.Size = Vector3.new(0.8,1.4,0.8) | |
880 | collidepartofleftleg.Transparency = 1 | |
881 | collidepartofleftleg:BreakJoints() | |
882 | local weeld = Instance.new("Weld", collidepartofleftleg) | |
883 | weeld.Part0 = humanoid.Parent["Right Leg"] | |
884 | weeld.Part1 = collidepartofleftleg | |
885 | weeld.C0 = weeld.C0 * CFrame.new(0,-0.3,0) | |
886 | end | |
887 | if humanoid.Parent:findFirstChild("Left Leg") and humanoid.Parent:findFirstChild("Torso") then | |
888 | local attachment = Instance.new("Attachment", humanoid.Parent.Torso) | |
889 | attachment.Position = Vector3.new(-0.5, -1, 0) | |
890 | local ball = Instance.new("BallSocketConstraint", humanoid.Parent) | |
891 | ball.Attachment0 = humanoid.Parent["Left Leg"].LeftFootAttachment | |
892 | ball.Attachment1 = attachment | |
893 | humanoid.Parent["Left Leg"].LeftFootAttachment.Position = Vector3.new(0, 1, 0) | |
894 | collidepartofleftleg = Instance.new("Part", humanoid.Parent.Torso) | |
895 | collidepartofleftleg.Name = "Bone" | |
896 | collidepartofleftleg.Size = Vector3.new(0.8,1.4,0.8) | |
897 | collidepartofleftleg.Transparency = 1 | |
898 | collidepartofleftleg:BreakJoints() | |
899 | local weeld = Instance.new("Weld", collidepartofleftleg) | |
900 | weeld.Part0 = humanoid.Parent["Left Leg"] | |
901 | weeld.Part1 = collidepartofleftleg | |
902 | weeld.C0 = weeld.C0 * CFrame.new(0,-0.3,0) | |
903 | end | |
904 | if humanoid.Parent:findFirstChild("Head") and humanoid.Parent:findFirstChild("Torso") then | |
905 | local attachment = Instance.new("Attachment", humanoid.Parent.Head) | |
906 | attachment.Position = Vector3.new(0, -0.5, 0) | |
907 | attachment.Name = "lol" | |
908 | attachment.Visible = false | |
909 | humanoid.Parent.Torso.NeckAttachment.Visible = false | |
910 | humanoid.Parent.Torso.NeckAttachment.Position = humanoid.Parent.Torso.NeckAttachment.Position + Vector3.new(0,0,0) | |
911 | local ball = Instance.new("BallSocketConstraint", humanoid.Parent) | |
912 | ball.Attachment0 = humanoid.Parent.Torso.NeckAttachment | |
913 | ball.Attachment1 = attachment | |
914 | ball.LimitsEnabled = true | |
915 | ball.TwistLimitsEnabled = true | |
916 | ball.UpperAngle = 90 | |
917 | ball.Restitution = 0.5 | |
918 | ball.TwistUpperAngle = 90 | |
919 | ball.TwistLowerAngle = -90 | |
920 | local collidepartofleftleg = Instance.new("Part", humanoid.Parent.Torso) | |
921 | collidepartofleftleg.Name = "Bone" | |
922 | collidepartofleftleg.Size = Vector3.new(0.7,0.7,0.7) | |
923 | collidepartofleftleg.Transparency = 1 | |
924 | collidepartofleftleg:BreakJoints() | |
925 | local weeld = Instance.new("Weld", collidepartofleftleg) | |
926 | weeld.Part0 = collidepartofleftleg | |
927 | weeld.Part1 = humanoid.Parent["Head"] | |
928 | if humanoid.Parent.Torso:findFirstChild("Neck") then | |
929 | humanoid.Parent.Torso.Neck:destroy() | |
930 | end | |
931 | if humanoid.Parent.Head:findFirstChild("face") then | |
932 | humanoid.Parent.Head.face.Texture = "http://www.roblox.com/asset/?id=810245460" | |
933 | end | |
934 | local hitsound = Instance.new("Sound", humanoid.Parent.Head) | |
935 | hitsound.SoundId = "http://www.roblox.com/asset/?id=93706376" | |
936 | hitsound:Play() | |
937 | hitsound.Volume = math.random(5,10) | |
938 | end | |
939 | for z,x in pairs(humanoid.Parent:GetChildren()) do | |
940 | if x.ClassName == "Accessory" then | |
941 | local handle = x:findFirstChild("Handle") | |
942 | if handle then | |
943 | local attachment = handle:findFirstChildOfClass("Attachment") | |
944 | if attachment then | |
945 | for q,w in pairs(humanoid.Parent:GetChildren()) do | |
946 | if w.Name == "Torso" or w.Name == "Head" then | |
947 | local anotherone = w:findFirstChild(attachment.Name) | |
948 | if attachment and anotherone then | |
949 | local constraint = Instance.new("HingeConstraint", humanoid.Parent) --making fake weld | |
950 | constraint.Attachment0 = attachment | |
951 | constraint.Attachment1 = anotherone | |
952 | constraint.LimitsEnabled = true | |
953 | constraint.LowerAngle = 0 | |
954 | constraint.UpperAngle = 0 | |
955 | end | |
956 | end | |
957 | end | |
958 | end | |
959 | end | |
960 | end | |
961 | end | |
962 | if humanoid.Parent:findFirstChild("Head") then | |
963 | local aah = Instance.new("Sound", humanoid.Parent.Head) | |
964 | if aah then | |
965 | aah.Volume = 8 | |
966 | local aahmath = math.random(2,8) | |
967 | if aahmath == 2 then | |
968 | aah.SoundId = "rbxassetid://884348443" | |
969 | aah:Play() | |
970 | end | |
971 | if aahmath == 3 then | |
972 | aah.SoundId = "rbxassetid://681582832" | |
973 | aah.Volume = 10 | |
974 | aah:Play() | |
975 | end | |
976 | if aahmath == 4 then | |
977 | aah.SoundId = "rbxassetid://1080363252" | |
978 | aah:Play() | |
979 | end | |
980 | if aahmath == 5 then | |
981 | aah.SoundId = "rbxassetid://150245085" | |
982 | aah:Play() | |
983 | end | |
984 | if aahmath == 6 then | |
985 | aah.SoundId = "rbxassetid://345287845" | |
986 | aah.TimePosition = 2.5 | |
987 | aah:Play() | |
988 | end | |
989 | if aahmath == 7 then | |
990 | aah.SoundId = "rbxassetid://147758746" | |
991 | aah.TimePosition = 1.3 | |
992 | aah:Play() | |
993 | end | |
994 | if aahmath == 8 then | |
995 | aah.SoundId = "rbxassetid://131314452" | |
996 | aah:Play() | |
997 | end | |
998 | end | |
999 | end | |
1000 | end | |
1001 | else | |
1002 | if part.Parent.ClassName ~= "Accessory" then | |
1003 | canspin = false | |
1004 | hitwall:Play() | |
1005 | knifeclone.realknife.Anchored = true | |
1006 | local knifeclonen = knifeclone:Clone() | |
1007 | knifeclonen.Parent = workspace | |
1008 | knifeclone:destroy() | |
1009 | knifeclonen.realknife.CFrame = CFrame.new(knifeclonen.realknife.Position, thrownpos) | |
1010 | knifeclonen.realknife.CFrame = knifeclonen.realknife.CFrame * CFrame.fromEulerAnglesXYZ(0,math.pi/2,0) | |
1011 | game.Debris:AddItem(knifeclonen, 10) | |
1012 | end | |
1013 | end | |
1014 | end | |
1015 | knifeclone.realknife.Touched:connect(attach) | |
1016 | local function spin() | |
1017 | if workspace:FindFirstChild(Model0.Name) then | |
1018 | if canspin then | |
1019 | downval = downval + 1 | |
1020 | --knifeclone.realknife.CFrame = knifeclone.realknife.CFrame * CFrame.fromEulerAnglesXYZ(0,0,0.25) | |
1021 | if downval < 150 then | |
1022 | --knifeclone.realknife.RotVelocity = mousepos.rightVector * -2 | |
1023 | velo.Velocity = velo.Velocity + Vector3.new(0,-0.7,0) | |
1024 | end | |
1025 | end | |
1026 | end | |
1027 | end | |
1028 | game:GetService("RunService").RenderStepped:connect(spin) | |
1029 | for i = 0.2,1 , 0.1 do | |
1030 | humanoidrootpart.C0 = humanoidrootpart.C0:lerp(CFrame.new(0, 0, 0, 0.652971387, 0, 0.757382512, 0, 1, 0, -0.757382512, 0, 0.652971387),i) | |
1031 | lhandweld.C0 = lhandweld.C0:lerp(CFrame.new(-1.60898972, 0.1406672, -0.00325965881, 0.786269963, 0.431710958, -0.442046583, 0.0533286743, 0.665336668, 0.744636238, 0.6155774, -0.609058917, 0.500111818),i) | |
1032 | rhandweld.C0 = rhandweld.C0:lerp(CFrame.new(1.5, 0.11553216, -0.319662094, 0.99999994, 0, 0, 0, 0.768935919, -0.639325857, 0, 0.639325917, 0.768935978),i) | |
1033 | game:GetService("RunService").RenderStepped:wait() | |
1034 | end | |
1035 | canuse = true | |
1036 | for i = 0,1 , 0.01 do | |
1037 | if canuse then | |
1038 | humanoidrootpart.C0 = humanoidrootpart.C0:lerp(CFrame.new(0,0,0),i) | |
1039 | lhandweld.C0 = lhandweld.C0:lerp(CFrame.new(-1.11091232, 0.239697695, -0.648029327, 0.78627032, -0.564446628, -0.251355588, 0.0533286557, 0.467276007, -0.882501543, 0.615577579, 0.68048048, 0.397506446),i) | |
1040 | rhandweld.C0 = rhandweld.C0:lerp(CFrame.new(1.23454857, 0.183438778, -0.669290543, 0.622085392, 0.528965533, 0.577239931, 0.520516932, 0.271329552, -0.809593856, -0.584869325, 0.804099798, -0.106545292),i) | |
1041 | game:GetService("RunService").RenderStepped:wait() | |
1042 | end | |
1043 | end | |
1044 | Part1.Transparency = 0 | |
1045 | Part1.CanCollide = false | |
1046 | Part3.CanCollide = false | |
1047 | end | |
1048 | end | |
1049 | mouse.KeyDown:connect(throw) | |
1050 | for i = 0,1 , 0.01 do | |
1051 | if canuse then | |
1052 | humanoidrootpart.C0 = humanoidrootpart.C0:lerp(CFrame.new(0,0,0),i) | |
1053 | lhandweld.C0 = lhandweld.C0:lerp(CFrame.new(-1.11091232, 0.239697695, -0.648029327, 0.78627032, -0.564446628, -0.251355588, 0.0533286557, 0.467276007, -0.882501543, 0.615577579, 0.68048048, 0.397506446),i) | |
1054 | rhandweld.C0 = rhandweld.C0:lerp(CFrame.new(1.23454857, 0.183438778, -0.669290543, 0.622085392, 0.528965533, 0.577239931, 0.520516932, 0.271329552, -0.809593856, -0.584869325, 0.804099798, -0.106545292),i) | |
1055 | game:GetService("RunService").RenderStepped:wait() | |
1056 | end | |
1057 | end | |
1058 | while true do | |
1059 | if canuse then | |
1060 | for i = 0,1 , 0.01 do | |
1061 | if canuse then | |
1062 | waeld.C0 = waeld.C0:lerp(CFrame.new(-0.0107059479, -1.0378592, -0.905899048, 0, 0, -1, 0, 0.999999881, 0, 1, 0, 0),i) | |
1063 | headweld.C0 = headweld.C0:lerp(CFrame.new(0,1.5,0),i) | |
1064 | humanoidrootpart.C0 = humanoidrootpart.C0:lerp(CFrame.new(0,0,0),i) | |
1065 | lhandweld.C0 = lhandweld.C0:lerp(CFrame.new(-1.11091232, 0.239697695, -0.648029327, 0.78627032, -0.564446628, -0.251355588, 0.0533286557, 0.467276007, -0.882501543, 0.615577579, 0.68048048, 0.397506446),i) | |
1066 | rhandweld.C0 = rhandweld.C0:lerp(CFrame.new(1.23454857, 0.183438778, -0.669290543, 0.622085392, 0.528965533, 0.577239931, 0.520516932, 0.271329552, -0.809593856, -0.584869325, 0.804099798, -0.106545292),i) | |
1067 | game:GetService("RunService").RenderStepped:wait() | |
1068 | end | |
1069 | end | |
1070 | for i = 0,1 , 0.01 do | |
1071 | if canuse then | |
1072 | waeld.C0 = waeld.C0:lerp(CFrame.new(-0.0107059479, -1.0378592, -0.905899048, 0, 0, -1, 0, 0.999999881, 0, 1, 0, 0),i) | |
1073 | headweld.C0 = headweld.C0:lerp(CFrame.new(0,1.5,0),i) | |
1074 | humanoidrootpart.C0 = humanoidrootpart.C0:lerp(CFrame.new(0,0,0),i) | |
1075 | lhandweld.C0 = lhandweld.C0:lerp(CFrame.new(-1.08373642, 0.349919796, -0.692287445, 0.78627032, -0.577653646, -0.21930784, 0.0533286557, 0.417053103, -0.907316148, 0.615577579, 0.701700509, 0.358722091),i) | |
1076 | rhandweld.C0 = rhandweld.C0:lerp(CFrame.new(1.16544914, 0.291818857, -0.64632988, 0.622085392, 0.589078248, 0.515749276, 0.520516932, 0.180908725, -0.834466338, -0.584869325, 0.787565589, -0.19408451),i) | |
1077 | game:GetService("RunService").RenderStepped:wait() | |
1078 | end | |
1079 | end | |
1080 | end | |
1081 | if throwB.Parent == nil then | |
1082 | throwB.Parent = Model0.realknife | |
1083 | end | |
1084 | if slash.Parent == nil then | |
1085 | slash.Parent = Model0.realknife | |
1086 | end | |
1087 | if hitwall.Parent == nil then | |
1088 | hitwall.Parent = Model0.realknife | |
1089 | end | |
1090 | wait() | |
1091 | end |