SHOW:
|
|
- or go back to the newest paste.
1 | -- i converted a living ragdoll model to player lol | |
2 | -- for some reason this executes on everyone when using serverside and void script builder | |
3 | - | -- editon description: ever had too less realisticness and too much fanasty? well this is for you! |
3 | + | |
4 | - | -- the editon contains: BLOOD, RAGDOLLS THAT NEVER DISSAPEAR, NO GUIS, AND NO DAMAGE INDICATOR! |
4 | + | |
5 | - | -- GET THE REALISTIC VERSION FOR FREE ONLY 18 PER ORDER |
5 | + | |
6 | - | -- Yep i edited this BUT ONLY THE SETTINGS |
6 | + | |
7 | - | -- you can edit the settings |
7 | + | |
8 | - | -- i gotta go this talk is way too long |
8 | + | |
9 | - | script.Parent = nil |
9 | + | |
10 | _G.RobloxAdvanced = {} | |
11 | _G.RobloxAdvanced.Instance = script | |
12 | _G.RobloxAdvanced.Connections = {} | |
13 | _G.RobloxAdvanced.RagdollOnHit = true | |
14 | _G.RobloxAdvanced.DamageOnHit = true | |
15 | _G.RobloxAdvanced.CriticalHitsEnabled = true | |
16 | _G.RobloxAdvanced.RagdollOnDeath = true | |
17 | _G.RobloxAdvanced.KeepCorpses = false | |
18 | _G.RobloxAdvanced.KeepCorpsesTime = 0 | |
19 | _G.RobloxAdvanced.ShowDamage = true | |
20 | _G.RobloxAdvanced.BloodEnabled = false | |
21 | _G.RobloxAdvanced.BloodGuiEnabled = true | |
22 | _G.RobloxAdvanced.DeathGuiEnabled = true | |
23 | _G.RobloxAdvanced.SpawnGuiEnabled = true | |
24 | - | _G.RobloxAdvanced.KeepCorpses = true |
24 | + | |
25 | - | _G.RobloxAdvanced.KeepCorpsesTime = 999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 |
25 | + | |
26 | - | _G.RobloxAdvanced.ShowDamage = false |
26 | + | |
27 | - | _G.RobloxAdvanced.BloodEnabled = true |
27 | + | |
28 | for _, PlayerList in pairs(game:GetService("Players"):GetChildren()) do | |
29 | - | _G.RobloxAdvanced.DeathGuiEnabled = false |
29 | + | |
30 | - | _G.RobloxAdvanced.SpawnGuiEnabled = false |
30 | + | |
31 | end | |
32 | _G.RobloxAdvanced.HUDShow = function() | |
33 | _G.RobloxAdvanced.HUDRemove() | |
34 | for _, PlayerList in pairs(game:GetService("Players"):GetChildren()) do | |
35 | _G.RobloxAdvanced.HUD(PlayerList) | |
36 | end | |
37 | end | |
38 | _G.RobloxAdvanced.Disable = function() | |
39 | _G.RobloxAdvanced.RagdollOnHit = false | |
40 | _G.RobloxAdvanced.DamageOnHit = false | |
41 | _G.RobloxAdvanced.CriticalHitsEnabled = false | |
42 | _G.RobloxAdvanced.RagdollOnDeath = false | |
43 | _G.RobloxAdvanced.KeepCorpses = false | |
44 | _G.RobloxAdvanced.ShowDamage = false | |
45 | _G.RobloxAdvanced.BloodEnabled = false | |
46 | _G.RobloxAdvanced.BloodGuiEnabled = false | |
47 | _G.RobloxAdvanced.DeathGuiEnabled = false | |
48 | _G.RobloxAdvanced.SpawnGuiEnabled = false | |
49 | _G.RobloxAdvanced.HUDEnabled = false | |
50 | _G.RobloxAdvanced.HUDRemove() | |
51 | pcall(function() _G.RobloxAdvanced.Instance.Disabled = true end) | |
52 | for _, Connection in pairs(_G.RobloxAdvanced.Connections) do | |
53 | pcall(function() Connection:disconnect() end) | |
54 | end | |
55 | end | |
56 | _G.RobloxAdvanced.MakeBlood = function() | |
57 | local Size = math.random(10, 75) / 100 | |
58 | local Blood = Instance.new("Part") | |
59 | Blood.Name = "Blood" | |
60 | Blood.BrickColor = BrickColor.new("Bright red") | |
61 | Blood.TopSurface = 0 | |
62 | Blood.BottomSurface = 0 | |
63 | Blood.FormFactor = "Custom" | |
64 | Blood.Size = Vector3.new(Size, Size, Size) | |
65 | Blood.CanCollide = false | |
66 | Instance.new("SpecialMesh", Blood).MeshType = "Sphere" | |
67 | local HasTouched = true | |
68 | coroutine.wrap(function() | |
69 | wait(0.09) | |
70 | HasTouched = false | |
71 | end)() | |
72 | table.insert(_G.RobloxAdvanced.Connections, Blood.Touched:connect(function(Hit) | |
73 | if Hit.Name ~= "Blood" and Hit.Name ~= "Blood Pool" then | |
74 | if Hit:GetMass() < 0 and math.random(1, 5) == 1 then | |
75 | Hit.BrickColor = BrickColor.new((function() | |
76 | local Color = math.random(1, 2) | |
77 | if Color == 1 then | |
78 | return "Bright red" | |
79 | elseif Color == 2 then | |
80 | return "Crimson" | |
81 | end | |
82 | end)()) | |
83 | end | |
84 | end | |
85 | if Blood.Name == "Blood" and Hit.Name == "Blood Pool" then | |
86 | Blood:Remove() | |
87 | elseif Blood.Name == "Blood Pool" and Hit.Name == "Blood" then | |
88 | if Blood.Size.x > math.random(5, 20) or Blood.Size.z > math.random(5, 20) then return end | |
89 | local _, C0, C1, Part1 = pcall(function() return Blood.Weld.C0, Blood.Weld.C1, Blood.Weld.Part1 end) | |
90 | Blood.Size = Blood.Size + Vector3.new(Hit.Size.x / 5, 0, Hit.Size.z / 5) | |
91 | Blood.CFrame = Part1.CFrame * C0 * C1 | |
92 | if C0 ~= nil and C1 ~= nil and Part1 ~= nil then | |
93 | local Weld = Instance.new("Weld", Blood) | |
94 | Weld.Part0 = Blood | |
95 | Weld.Part1 = Part1 | |
96 | Weld.C0 = C0 | |
97 | Weld.C1 = C1 | |
98 | end | |
99 | elseif HasTouched == false and Hit.Name ~= "Blood" then | |
100 | HasTouched = true | |
101 | local NewHit, Position = Workspace:FindPartOnRay(Ray.new(Blood.Position + Vector3.new(0, 1, 0), Vector3.new(0, -3, 0)), Blood) | |
102 | if NewHit ~= nil and NewHit.Anchored == true then | |
103 | Blood.Size = Vector3.new(Size * 2, 0.3, Size * 2) | |
104 | Blood.Name = "Blood Pool" | |
105 | Blood.CFrame = CFrame.new(Position) | |
106 | local Weld = Instance.new("Weld", Blood) | |
107 | Weld.Part0 = Blood | |
108 | Weld.Part1 = NewHit | |
109 | Weld.C0 = Blood.CFrame:inverse() * CFrame.new(Position) | |
110 | Weld.C1 = NewHit.CFrame:inverse() * CFrame.new(Position) | |
111 | else | |
112 | local Weld = Instance.new("Weld", Blood) | |
113 | Weld.Part0 = Blood | |
114 | Weld.Part1 = Hit | |
115 | Weld.C0 = Blood.CFrame:inverse() * CFrame.new(Blood.Position) | |
116 | Weld.C1 = Hit.CFrame:inverse() * CFrame.new(Blood.Position) | |
117 | end | |
118 | end | |
119 | end)) | |
120 | coroutine.wrap(function() | |
121 | local Size = Blood.Size | |
122 | local Step = math.random(40, 100) / 1000 | |
123 | while Blood.Transparency < 1 do | |
124 | if Blood.Name == "Blood Pool" and Size ~= Blood.Size then | |
125 | Step = 0.003 | |
126 | Size = Blood.Size | |
127 | Blood.Transparency = 0 | |
128 | end | |
129 | Blood.Transparency = Blood.Transparency + Step | |
130 | wait() | |
131 | end | |
132 | Blood:Remove() | |
133 | end)() | |
134 | return Blood | |
135 | end | |
136 | _G.RobloxAdvanced.HUD = function(Player) | |
137 | if _G.RobloxAdvanced.HUDEnabled == false then return end | |
138 | local PlayerGui = Player:FindFirstChild("PlayerGui") | |
139 | if PlayerGui == nil then return end | |
140 | coroutine.wrap(function() | |
141 | while _G.RobloxAdvanced.HUDEnabled == true do | |
142 | pcall(function() | |
143 | PlayerGui.HealthGUI:Remove() | |
144 | end) | |
145 | wait() | |
146 | end | |
147 | end)() | |
148 | local Gui = Instance.new("ScreenGui") | |
149 | Gui.Name = "RobloxAdvancedHUD" | |
150 | local Frame = Instance.new("Frame") | |
151 | Frame.Name = "Background" | |
152 | Frame.Size = UDim2.new(0, 500, 0, 15) | |
153 | Frame.Position = UDim2.new(0.5, (-500 / 2), 1, -15) | |
154 | Frame.BackgroundTransparency = 1 | |
155 | Frame.BorderSizePixel = 0 | |
156 | Frame.Parent = Gui | |
157 | local Kills = Instance.new("TextLabel") | |
158 | Kills.Name = "Kills" | |
159 | Kills.Size = UDim2.new(1 / 5, 0, 1, 0) | |
160 | Kills.Position = UDim2.new(0, 0, 0, 0) | |
161 | Kills.BackgroundColor3 = Color3.new(0.1, 0.1, 0.1) | |
162 | Kills.BorderSizePixel = 1 | |
163 | Kills.BorderColor3 = Color3.new(1, 1, 1) | |
164 | Kills.TextColor3 = Color3.new(1, 1, 1) | |
165 | Kills.Parent = Frame | |
166 | coroutine.wrap(function() | |
167 | while true do | |
168 | Kills.Text = "Kills: " ..(Player:FindFirstChild("RobloxAdvancedKills") ~= nil and Player.RobloxAdvancedKills.Value or 0) | |
169 | wait(0.5) | |
170 | end | |
171 | end)() | |
172 | Frame.Parent = Gui | |
173 | local Killstreak = Instance.new("TextLabel") | |
174 | Killstreak.Name = "Killstreak" | |
175 | Killstreak.Size = UDim2.new(1 / 5, 0, 1, 0) | |
176 | Killstreak.Position = UDim2.new(1 / 5, 0, 0, 0) | |
177 | Killstreak.BackgroundColor3 = Color3.new(0.1, 0.1, 0.1) | |
178 | Killstreak.BorderSizePixel = 1 | |
179 | Killstreak.BorderColor3 = Color3.new(1, 1, 1) | |
180 | Killstreak.TextColor3 = Color3.new(1, 1, 1) | |
181 | Killstreak.Parent = Frame | |
182 | coroutine.wrap(function() | |
183 | while true do | |
184 | Killstreak.Text = "Streak: " ..(Player:FindFirstChild("RobloxAdvancedKillstreak") ~= nil and Player.RobloxAdvancedKillstreak.Value or 0) | |
185 | wait(0.5) | |
186 | end | |
187 | end)() | |
188 | local Deaths = Instance.new("TextLabel") | |
189 | Deaths.Name = "Deaths" | |
190 | Deaths.Size = UDim2.new(1 / 5, 0, 1, 0) | |
191 | Deaths.Position = UDim2.new(1 / 5 * 2, 0, 0, 0) | |
192 | Deaths.BackgroundColor3 = Color3.new(0.1, 0.1, 0.1) | |
193 | Deaths.BorderSizePixel = 1 | |
194 | Deaths.BorderColor3 = Color3.new(1, 1, 1) | |
195 | Deaths.TextColor3 = Color3.new(1, 1, 1) | |
196 | Deaths.Parent = Frame | |
197 | coroutine.wrap(function() | |
198 | while true do | |
199 | Deaths.Text = "Deaths: " ..(Player:FindFirstChild("RobloxAdvancedDeaths") ~= nil and Player.RobloxAdvancedDeaths.Value or 0) | |
200 | wait(0.5) | |
201 | end | |
202 | end)() | |
203 | local Health = Instance.new("TextLabel") | |
204 | Health.Name = "Health" | |
205 | Health.Size = UDim2.new(1 / 5, 0, 1, 0) | |
206 | Health.Position = UDim2.new(1 / 5 * 3, 0, 0, 0) | |
207 | Health.BackgroundColor3 = Color3.new(0.1, 0.1, 0.1) | |
208 | Health.BorderSizePixel = 1 | |
209 | Health.BorderColor3 = Color3.new(1, 1, 1) | |
210 | Health.TextColor3 = Color3.new(1, 1, 1) | |
211 | Health.Parent = Frame | |
212 | coroutine.wrap(function() | |
213 | for i = 0, math.huge, 0.5 do | |
214 | if pcall(function() local _ = Player.Character.Humanoid end) == true then | |
215 | if Player.Character.Humanoid.Health == math.huge or Player.Character.Humanoid.MaxHealth == math.huge then | |
216 | Health.Text = "Invincible" | |
217 | Health.BackgroundColor3 = Color3.new(0, 0, 0.5) | |
218 | else | |
219 | Health.Text = "Health: " ..math.floor(Player.Character.Humanoid.Health).. "/" ..math.floor(Player.Character.Humanoid.MaxHealth) | |
220 | Health.BackgroundColor3 = Color3.new((1 - (Player.Character.Humanoid.Health / Player.Character.Humanoid.MaxHealth)) * 0.9, (Player.Character.Humanoid.Health / Player.Character.Humanoid.MaxHealth) * 0.5, 0) | |
221 | end | |
222 | if Player.Character:FindFirstChild("ForceField") ~= nil then | |
223 | Health.BackgroundColor3 = Color3.new(((math.sin(i) + 1) / 2), 0, 1 - ((math.sin(i) + 1) / 2)) | |
224 | end | |
225 | else | |
226 | Health.Text = "Health: Nil" | |
227 | Health.BackgroundColor3 = Color3.new(0, 0, 0) | |
228 | end | |
229 | wait(0.05) | |
230 | end | |
231 | end)() | |
232 | local Time = Instance.new("TextLabel") | |
233 | Time.Name = "Time" | |
234 | Time.Size = UDim2.new(1 / 5, 0, 1, 0) | |
235 | Time.Position = UDim2.new(1 / 5 * 4, 0, 0, 0) | |
236 | Time.BackgroundColor3 = Color3.new(0.1, 0.1, 0.1) | |
237 | Time.BorderSizePixel = 1 | |
238 | Time.BorderColor3 = Color3.new(1, 1, 1) | |
239 | Time.TextColor3 = Color3.new(1, 1, 1) | |
240 | Time.Parent = Frame | |
241 | coroutine.wrap(function() | |
242 | while true do | |
243 | local Total = tick() - _G.RobloxAdvanced.HUDTimeOffset | |
244 | local Minutes = math.floor(Total / 60) | |
245 | local Seconds = math.floor(Total % 60) | |
246 | if string.len(Minutes) == 1 then Minutes = "0" ..Minutes end | |
247 | if string.len(Seconds) == 1 then Seconds = "0" ..Seconds end | |
248 | Time.Text = "Time: " ..Minutes.. ":" ..Seconds | |
249 | wait(0.05) | |
250 | end | |
251 | end)() | |
252 | Gui.Parent = PlayerGui | |
253 | end | |
254 | _G.RobloxAdvanced.HookPlayerDeath = function(Player) | |
255 | table.insert(_G.RobloxAdvanced.Connections, Player.Changed:connect(function(Property) | |
256 | if Property == "Character" then | |
257 | if Player.Character ~= nil then | |
258 | if _G.RobloxAdvanced.SpawnGuiEnabled == true then | |
259 | local PlayerGui = Player:FindFirstChild("PlayerGui") | |
260 | if PlayerGui == nil then return end | |
261 | local Gui = Instance.new("ScreenGui") | |
262 | Gui.Name = "Life" | |
263 | local Frame = Instance.new("Frame") | |
264 | Frame.Name = "White" | |
265 | Frame.Size = UDim2.new(2, 0, 2, 0) | |
266 | Frame.Position = UDim2.new(-0.5, 0, -0.5, 0) | |
267 | Frame.BackgroundColor3 = Color3.new(1, 1, 1) | |
268 | Frame.BackgroundTransparency = 0 | |
269 | Frame.Parent = Gui | |
270 | Gui.Parent = PlayerGui | |
271 | coroutine.wrap(function() | |
272 | wait(0.1) | |
273 | for i = 0, 1, 0.1 do | |
274 | Frame.BackgroundColor3 = Color3.new(1, 1, 1) | |
275 | wait() | |
276 | end | |
277 | Frame.BackgroundColor3 = Color3.new(1, 1, 1) | |
278 | wait(0.3) | |
279 | for i = 0, 1, 0.05 do | |
280 | Frame.BackgroundTransparency = i | |
281 | wait() | |
282 | end | |
283 | Gui:Remove() | |
284 | end)() | |
285 | end | |
286 | _G.RobloxAdvanced.HUD(Player) | |
287 | end | |
288 | end | |
289 | end)) | |
290 | _G.RobloxAdvanced.HUD(Player) | |
291 | table.insert(_G.RobloxAdvanced.Connections, Player.Chatted:connect(function(Message) | |
292 | if string.sub(Message, 0, 5) == "lego " then Message = string.sub(Message, 6) end | |
293 | Message = Message:lower() | |
294 | if Message == "throw me" or Message == "ragdoll" then | |
295 | if Player.Character == nil then return end | |
296 | if Player.Character:FindFirstChild("Humanoid") == nil then return end | |
297 | if Player.Character:FindFirstChild("Torso") == nil then return end | |
298 | Player.Character.Humanoid.Sit = true | |
299 | _G.RobloxAdvanced.Ragdoll(true, Player.Character) | |
300 | if Message == "throw me" then | |
301 | Player.Character.Torso.Velocity = Player.Character.Torso.Velocity + (Player.Character.Torso.CFrame.lookVector * 150) + Vector3.new(0, 50, 0) | |
302 | end | |
303 | end | |
304 | end)) | |
305 | end | |
306 | _G.RobloxAdvanced.HookModelDeath = function(Character) | |
307 | wait() | |
308 | if Character == nil then return end | |
309 | if Character:FindFirstChild("Humanoid") == nil then return end | |
310 | local RagdollStatus = false | |
311 | local ConnectTouched = function(Part) | |
312 | if Part.Parent ~= Character then return end | |
313 | pcall(function() | |
314 | table.insert(_G.RobloxAdvanced.Connections, Part.Touched:connect(function(Hit) | |
315 | if Hit == nil then return end | |
316 | if Hit.Parent == nil then return end | |
317 | if Hit.Parent ~= Character and Hit.Parent.Parent ~= Character and Hit:GetMass() > 10 then | |
318 | local Velocity1 = { | |
319 | math.abs(Part.Velocity.x), | |
320 | math.abs(Part.Velocity.y), | |
321 | math.abs(Part.Velocity.z) | |
322 | } | |
323 | local RotVelocity1 = { | |
324 | math.abs(Part.RotVelocity.x), | |
325 | math.abs(Part.RotVelocity.y), | |
326 | math.abs(Part.RotVelocity.z) | |
327 | } | |
328 | local Velocity2 = { | |
329 | math.abs(Hit.Velocity.x), | |
330 | math.abs(Hit.Velocity.y), | |
331 | math.abs(Hit.Velocity.z) | |
332 | } | |
333 | local RotVelocity2 = { | |
334 | math.abs(Hit.RotVelocity.x), | |
335 | math.abs(Hit.RotVelocity.y), | |
336 | math.abs(Hit.RotVelocity.z) | |
337 | } | |
338 | if RagdollStatus == false and _G.RobloxAdvanced.RagdollOnHit == true then | |
339 | for i = 1, 3 do | |
340 | local Total = math.abs(Velocity1[i] - Velocity2[i]) | |
341 | if Total > math.random(95, 180) then | |
342 | RagdollStatus = true | |
343 | end | |
344 | end | |
345 | for i = 1, 3 do | |
346 | local Total = math.abs(RotVelocity1[i] - RotVelocity2[i]) | |
347 | if Total > math.random(85, 140) then | |
348 | RagdollStatus = true | |
349 | end | |
350 | end | |
351 | if RagdollStatus == true then | |
352 | _G.RobloxAdvanced.Ragdoll(true, Character) | |
353 | if Character.Humanoid.PlatformStand == true or Character.Humanoid.Sit == false then | |
354 | coroutine.wrap(function() | |
355 | wait(1.8) | |
356 | RagdollStatus = false | |
357 | end)() | |
358 | else | |
359 | coroutine.wrap(function() | |
360 | Character.Humanoid.PlatformStand = true | |
361 | wait(0.5) | |
362 | Character.Humanoid.PlatformStand = false | |
363 | wait(1.8) | |
364 | RagdollStatus = false | |
365 | end)() | |
366 | end | |
367 | end | |
368 | end | |
369 | local Damage = 0 | |
370 | for i = 1, #Velocity1 do Damage = Damage + Velocity1[i] end | |
371 | for i = 1, #RotVelocity1 do Damage = Damage + RotVelocity1[i] end | |
372 | for i = 1, #Velocity2 do Damage = Damage + Velocity2[i] end | |
373 | for i = 1, #RotVelocity2 do Damage = Damage + RotVelocity2[i] end | |
374 | Damage = Damage / 60 | |
375 | if Damage >= 5 and _G.RobloxAdvanced.DamageOnHit == true then | |
376 | pcall(function() Character.Humanoid:TakeDamage(math.floor(Damage)) end) | |
377 | end | |
378 | end | |
379 | end)) | |
380 | end) | |
381 | end | |
382 | for _, Part in pairs(Character:GetChildren()) do ConnectTouched(Part) end | |
383 | table.insert(_G.RobloxAdvanced.Connections, Character.ChildAdded:connect(function(Part) ConnectTouched(Part) end)) | |
384 | local OldHealth = Character.Humanoid.Health | |
385 | table.insert(_G.RobloxAdvanced.Connections, Character.Humanoid.Changed:connect(function(Property) | |
386 | if Property == "Health" then | |
387 | local Source = nil | |
388 | for _, Part in pairs(Character:GetChildren()) do | |
389 | if Part:IsA("BasePart") then | |
390 | if Source == nil then | |
391 | Source = Part | |
392 | else | |
393 | if math.abs(Part.Velocity.x) + math.abs(Part.Velocity.y) + math.abs(Part.Velocity.z) > math.abs(Source.Velocity.x) + math.abs(Source.Velocity.y) + math.abs(Source.Velocity.z) then | |
394 | Source = Part | |
395 | end | |
396 | end | |
397 | end | |
398 | end | |
399 | if Source == nil then return end | |
400 | if math.abs(Character.Humanoid.Health - OldHealth) > math.abs((Character.Humanoid.Health + 0.01 * 1.05 * Character.Humanoid.MaxHealth) - Character.Humanoid.Health) and _G.RobloxAdvanced.ShowDamage == true then | |
401 | local Model = Instance.new("Model", Workspace) | |
402 | Model.Name = tostring(math.floor(Character.Humanoid.Health - OldHealth)) | |
403 | Model.Name = Model.Name:sub(0, 1) ~= "-" and Model.Name.. "+" or Model.Name | |
404 | local Damage = Instance.new("Part", Model) | |
405 | Damage.Name = "Head" | |
406 | Damage.BrickColor = BrickColor.new(Model.Name:match("-") and "Bright red" or "Lime green") | |
407 | if (OldHealth - Character.Humanoid.Health) / Character.Humanoid.MaxHealth > 0.25 then | |
408 | coroutine.wrap(function() | |
409 | while Damage.Parent ~= nil do | |
410 | Damage.BrickColor = BrickColor.new("New yeller") | |
411 | wait() | |
412 | Damage.BrickColor = BrickColor.new("Cyan") | |
413 | wait() | |
414 | end | |
415 | end)() | |
416 | end | |
417 | Damage.TopSurface = 0 | |
418 | Damage.BottomSurface = 0 | |
419 | Damage.CanCollide = false | |
420 | Damage.FormFactor = "Custom" | |
421 | Damage.Size = (OldHealth - Character.Humanoid.Health) / Character.Humanoid.MaxHealth > 0.25 and Vector3.new(1, 1, 1) or Vector3.new(0.5, 0.5, 0.5) | |
422 | Damage.CFrame = CFrame.new(Source.Position) | |
423 | coroutine.wrap(function() | |
424 | while Damage.Parent ~= nil do | |
425 | Damage.CanCollide = false | |
426 | wait() | |
427 | end | |
428 | end)() | |
429 | local Humanoid = Instance.new("Humanoid", Model) | |
430 | Humanoid.Name = "Sign" | |
431 | Humanoid.MaxHealth = 0 | |
432 | Humanoid.Health = 0 | |
433 | Humanoid.WalkSpeed = 0 | |
434 | Humanoid.PlatformStand = true | |
435 | local BodyVelocity = Instance.new("BodyVelocity", Damage) | |
436 | BodyVelocity.maxForce = Vector3.new(math.huge, math.huge, math.huge) | |
437 | BodyVelocity.velocity = Vector3.new(0, 7, 0) | |
438 | coroutine.wrap(function() | |
439 | wait(1) | |
440 | for i = 0, 1, 0.05 do | |
441 | Damage.Transparency = i | |
442 | BodyVelocity.velocity = Vector3.new(0, 7 * (1 - i), 0) | |
443 | wait() | |
444 | end | |
445 | Model:Remove() | |
446 | end)() | |
447 | end | |
448 | if OldHealth - Character.Humanoid.Health >= 6 then | |
449 | if _G.RobloxAdvanced.BloodEnabled == true then | |
450 | local Max = math.ceil((OldHealth - Character.Humanoid.Health) * 2) | |
451 | for i = 1, (Max > 20 and 20 or Max + 1) do | |
452 | local Blood = _G.RobloxAdvanced.MakeBlood() | |
453 | Blood.CFrame = Source.CFrame * CFrame.new(math.random(-2, 2), math.random(-2, 2), math.random(-2, 2)) | |
454 | Blood.Velocity = (Blood.Position - Source.Position).unit * math.random(5, 25) | |
455 | Blood.Parent = Workspace | |
456 | end | |
457 | end | |
458 | local Player = game:GetService("Players"):GetPlayerFromCharacter(Character) | |
459 | if Player ~= nil and _G.RobloxAdvanced.BloodGuiEnabled == true then | |
460 | local PlayerGui = Player:FindFirstChild("PlayerGui") | |
461 | if PlayerGui == nil then PlayerGui = Instance.new("PlayerGui", Player) end | |
462 | if PlayerGui:FindFirstChild("Pain") ~= nil then PlayerGui.Pain:Remove() end | |
463 | local Gui = Instance.new("ScreenGui") | |
464 | Gui.Name = "Pain" | |
465 | local Frame = Instance.new("Frame") | |
466 | Frame.Name = "Red" | |
467 | Frame.Size = UDim2.new(2, 0, 2, 0) | |
468 | Frame.Position = UDim2.new(-0.5, 0, -0.5, 0) | |
469 | Frame.BackgroundColor3 = Color3.new(0.8, 0, 0) | |
470 | Frame.BackgroundTransparency = (math.abs(OldHealth - Character.Humanoid.Health) / Character.Humanoid.MaxHealth) * 1.2 | |
471 | Frame.Parent = Gui | |
472 | Gui.Parent = PlayerGui | |
473 | coroutine.wrap(function() | |
474 | for i = Frame.BackgroundTransparency, 0.9, 0.05 do | |
475 | Frame.BackgroundTransparency = i | |
476 | wait() | |
477 | end | |
478 | Gui:Remove() | |
479 | end)() | |
480 | end | |
481 | end | |
482 | if (OldHealth - Character.Humanoid.Health) / Character.Humanoid.MaxHealth > 0.32 and _G.RobloxAdvanced.CriticalHitsEnabled == true and Character.Humanoid.Health > 0 and RagdollStatus == false then | |
483 | RagdollStatus = true | |
484 | _G.RobloxAdvanced.Ragdoll(true, Character) | |
485 | Character.Humanoid.PlatformStand = true | |
486 | local Sound = Instance.new("Sound", Character.Torso) | |
487 | Sound.SoundId = "http://www.roblox.com/Asset/?id=260430079" | |
488 | Sound.Volume = 1 | |
489 | Sound.Pitch = math.random(680, 730) / 1000 | |
490 | Sound:Play() | |
491 | local Player = game:GetService("Players"):GetPlayerFromCharacter(Character) | |
492 | if Player ~= nil then | |
493 | local PlayerGui = Player:FindFirstChild("PlayerGui") | |
494 | if PlayerGui == nil then return end | |
495 | if PlayerGui:FindFirstChild("Pain") ~= nil then PlayerGui.Pain:Remove() end | |
496 | if PlayerGui:FindFirstChild("Critical Hit") ~= nil then PlayerGui.Pain:Remove() end | |
497 | local Gui = Instance.new("ScreenGui", PlayerGui) | |
498 | Gui.Name = "Critical Hit" | |
499 | local Frame = Instance.new("Frame", Gui) | |
500 | Frame.Name = "Yellow" | |
501 | Frame.Size = UDim2.new(2, 0, 2, 0) | |
502 | Frame.Position = UDim2.new(-0.5, 0, -0.5, 0) | |
503 | Frame.BackgroundColor3 = Color3.new(1, 1, 1) | |
504 | Frame.BackgroundTransparency = 0 | |
505 | coroutine.wrap(function() | |
506 | for i = 0, 1, 0.01 do | |
507 | Frame.BackgroundTransparency = i | |
508 | wait(0.25) | |
509 | end | |
510 | Gui:Remove() | |
511 | end)() | |
512 | for i = 1, 5 do | |
513 | local Label = Instance.new("TextLabel", Frame) | |
514 | Label.Name = "Notification" | |
515 | Label.Position = UDim2.new(0.5, 0, 0.5, 0) | |
516 | Label.Text = "KNOCKED OUT" | |
517 | Label.FontSize = "Size28" | |
518 | Label.TextColor3 = Color3.new(0.5, 0.5, 0.5) | |
519 | Label.TextTransparency = 0 | |
520 | coroutine.wrap(function() | |
521 | while Label.Parent ~= nil do | |
522 | Label.Position = UDim2.new(0.5, math.random(-25, 25), 0.5, math.random(-25, 25)) | |
523 | Label.FontSize = "Size" ..tostring((function() | |
524 | local Size = math.random(1, 5) | |
525 | if Size == 1 then | |
526 | return 14 | |
527 | elseif Size == 2 then | |
528 | return 18 | |
529 | elseif Size == 3 then | |
530 | return 24 | |
531 | elseif Size == 4 then | |
532 | return 36 | |
533 | elseif Size == 5 then | |
534 | return 48 | |
535 | end | |
536 | end)()) | |
537 | wait() | |
538 | end | |
539 | end)() | |
540 | coroutine.wrap(function() | |
541 | for i = 0.01, 1, 0.05 do | |
542 | Label.TextTransparency = i | |
543 | wait(0.2) | |
544 | end | |
545 | end)() | |
546 | end | |
547 | end | |
548 | coroutine.wrap(function() | |
549 | wait(18) | |
550 | Character.Humanoid.PlatformStand = false | |
551 | wait(20) | |
552 | RagdollStatus = false | |
553 | end)() | |
554 | end | |
555 | OldHealth = Character.Humanoid.Health | |
556 | end | |
557 | end)) | |
558 | table.insert(_G.RobloxAdvanced.Connections, Character.Humanoid.Died:connect(function() | |
559 | local Humanoid = Character:FindFirstChild("Humanoid") | |
560 | if Humanoid == nil then return end | |
561 | local Player = game:GetService("Players"):GetPlayerFromCharacter(Character) | |
562 | local Killer = nil | |
563 | if Humanoid:FindFirstChild("creator") ~= nil then | |
564 | Killer = Humanoid.creator.Value | |
565 | end | |
566 | if Killer ~= nil then | |
567 | if Killer:FindFirstChild("RobloxAdvancedKills") == nil then | |
568 | Instance.new("IntValue", Killer).Name = "RobloxAdvancedKills" | |
569 | end | |
570 | if Killer:FindFirstChild("RobloxAdvancedKillstreak") == nil then | |
571 | Instance.new("IntValue", Killer).Name = "RobloxAdvancedKillstreak" | |
572 | end | |
573 | if Player ~= nil and Player.Neutral == false and Killer.Neutral == false and Player.TeamColor == Killer.TeamColor then | |
574 | Killer.RobloxAdvancedKills.Value = Killer.RobloxAdvancedKills.Value - 2 | |
575 | Killer.RobloxAdvancedKillstreak.Value = 0 | |
576 | else | |
577 | Killer.RobloxAdvancedKills.Value = Killer.RobloxAdvancedKills.Value + 1 | |
578 | Killer.RobloxAdvancedKillstreak.Value = Killer.RobloxAdvancedKillstreak.Value + 1 | |
579 | end | |
580 | end | |
581 | if Player ~= nil then | |
582 | if Player:FindFirstChild("RobloxAdvancedDeaths") == nil then | |
583 | Instance.new("IntValue", Player).Name = "RobloxAdvancedDeaths" | |
584 | end | |
585 | if Player:FindFirstChild("RobloxAdvancedKillstreak") == nil then | |
586 | Instance.new("IntValue", Player).Name = "RobloxAdvancedKillstreak" | |
587 | end | |
588 | Player.RobloxAdvancedDeaths.Value = Player.RobloxAdvancedDeaths.Value + 1 | |
589 | Player.RobloxAdvancedKillstreak.Value = 0 | |
590 | end | |
591 | if _G.RobloxAdvanced.RagdollOnDeath == true then | |
592 | _G.RobloxAdvanced.Ragdoll(true, Character, true) | |
593 | end | |
594 | coroutine.wrap(function() | |
595 | if _G.RobloxAdvanced.DeathGuiEnabled == false then return end | |
596 | if Player == nil then return end | |
597 | local PlayerGui = Player:FindFirstChild("PlayerGui") | |
598 | if PlayerGui == nil then return end | |
599 | local Gui = Instance.new("ScreenGui") | |
600 | Gui.Name = "Death" | |
601 | local Frame = Instance.new("Frame") | |
602 | Frame.Name = "Black" | |
603 | Frame.Size = UDim2.new(2, 0, 2, 0) | |
604 | Frame.Position = UDim2.new(-0.5, 0, -0.5, 0) | |
605 | Frame.BackgroundColor3 = Color3.new(1, 1, 1) | |
606 | Frame.BackgroundTransparency = 1 | |
607 | Frame.Parent = Gui | |
608 | local Label = Instance.new("TextLabel") | |
609 | Label.Name = "Notification" | |
610 | Label.Position = UDim2.new(0.5, 0, 0.5, 0) | |
611 | if Killer ~= nil then | |
612 | if Killer == Player then | |
613 | Label.Text = "YOU REKT YOURSELF!" | |
614 | else | |
615 | Label.Text = "You got killed by " ..Killer.Name.. "." | |
616 | end | |
617 | else | |
618 | Label.Text = "You died." | |
619 | end | |
620 | Label.FontSize = "Size24" | |
621 | Label.TextColor3 = Color3.new(0.5, 0.5, 0.5) | |
622 | Label.TextTransparency = 1 | |
623 | Label.Parent = Frame | |
624 | Gui.Parent = PlayerGui | |
625 | wait(0.5) | |
626 | for i = 1, 0, -0.05 do | |
627 | Label.TextTransparency = i | |
628 | wait() | |
629 | end | |
630 | Label.BackgroundTransparency = 0 | |
631 | wait(0.5) | |
632 | for i = 1, 0, -0.025 do | |
633 | Frame.BackgroundTransparency = i | |
634 | wait() | |
635 | end | |
636 | Frame.BackgroundTransparency = 0 | |
637 | wait(0.5) | |
638 | for i = 0, 1, 0.05 do | |
639 | Label.TextTransparency = i | |
640 | wait() | |
641 | end | |
642 | Label.BackgroundTransparency = 1 | |
643 | end)() | |
644 | wait(4.5) | |
645 | if Character == nil or _G.RobloxAdvanced.KeepCorpses == false then return end | |
646 | if Character.Parent == nil then return end | |
647 | local ReweldNeck = false | |
648 | if Character:FindFirstChild("Torso") ~= nil then | |
649 | if Character.Torso:FindFirstChild("Neck") ~= nil then | |
650 | ReweldNeck = true | |
651 | end | |
652 | end | |
653 | local Model = Instance.new("Model", Workspace) | |
654 | Model.Name = Character.Name.. "'s Corpse" | |
655 | for _, Part in pairs(Character:GetChildren()) do | |
656 | if Part.ClassName == "CharacterMesh" or Part:IsA("Clothing") or Part.ClassName == "ShirtGraphic" then | |
657 | Part:Clone().Parent = Model | |
658 | end | |
659 | for _, Part2 in pairs(Part:GetChildren()) do | |
660 | if Part2.ClassName == "Sound" then | |
661 | Part2.SoundId = "" | |
662 | Part2.Looped = false | |
663 | Part2.PlayOnRemove = false | |
664 | Part2.Volume = 0 | |
665 | Part2.Pitch = 0 | |
666 | Part2:Stop() | |
667 | end | |
668 | end | |
669 | if Part.ClassName == "Part" then | |
670 | pcall(function() | |
671 | Part.Parent = Model | |
672 | Part.CanCollide = true | |
673 | end) | |
674 | end | |
675 | end | |
676 | local Humanoid = Instance.new("Humanoid") | |
677 | Humanoid.Name = "Corpse" | |
678 | Humanoid.Health = 0 | |
679 | Humanoid.WalkSpeed = 0 | |
680 | Humanoid.PlatformStand = true | |
681 | Humanoid.Parent = Model | |
682 | if ReweldNeck == true then | |
683 | local Neck = Instance.new("Weld") | |
684 | Neck.Part0 = Torso | |
685 | Neck.Part1 = Head | |
686 | Neck.C0 = CFrame.new(0, 1.5, 0) | |
687 | Neck.Parent = Torso | |
688 | end | |
689 | game:GetService("Debris"):AddItem(Model, _G.RobloxAdvanced.KeepCorpsesTime) | |
690 | end)) | |
691 | table.insert(_G.RobloxAdvanced.Connections, Character.Humanoid.FallingDown:connect(function() _G.RobloxAdvanced.Ragdoll(true, Character) end)) | |
692 | table.insert(_G.RobloxAdvanced.Connections, Character.Humanoid.GettingUp:connect(function() _G.RobloxAdvanced.Ragdoll(false, Character) end)) | |
693 | coroutine.wrap(function() | |
694 | local function RemoveLimb(Name) | |
695 | if Character:FindFirstChild(Name) == nil then return false end | |
696 | local Model = Instance.new("Model") | |
697 | Model.Name = "Decapitated Limb" | |
698 | for _, Part in pairs(Character:GetChildren()) do | |
699 | if Part.ClassName == "CharacterMesh" or Part:IsA("Clothing") then | |
700 | Part:Clone().Parent = Model | |
701 | end | |
702 | if Part.Name == Name then | |
703 | pcall(function() | |
704 | Part.Parent = Model | |
705 | Part.CanCollide = true | |
706 | Part:BreakJoints() | |
707 | end) | |
708 | end | |
709 | end | |
710 | local Humanoid = Instance.new("Humanoid") | |
711 | Humanoid.Name = "Corpse" | |
712 | Humanoid.Health = 0 | |
713 | Humanoid.MaxHealth = 0 | |
714 | Humanoid.WalkSpeed = 0 | |
715 | Humanoid.PlatformStand = true | |
716 | Humanoid.Parent = Model | |
717 | Model.Parent = Workspace | |
718 | game:GetService("Debris"):AddItem(Model, _G.RobloxAdvanced.KeepCorpsesTime) | |
719 | return true, Model | |
720 | end | |
721 | while true do | |
722 | if Character.Parent == nil then break end | |
723 | if Character:FindFirstChild("Torso") == nil then break end | |
724 | if Character:FindFirstChild("Humanoid") == nil then break end | |
725 | if Character.Torso:FindFirstChild("Left Shoulder") == nil and Character.Torso:FindFirstChild("LeftShoulder") == nil and Character.Torso:FindFirstChild("Left Shoulder 2") == nil then | |
726 | local Blood = _G.RobloxAdvanced.MakeBlood() | |
727 | Blood.CFrame = Character.Torso.CFrame * CFrame.new(-1.2, 0.5, 0) | |
728 | Blood.Velocity = (Blood.Position - (Character.Torso.CFrame * CFrame.new(0, 0.5, 0)).p).unit * math.random(10, 25) | |
729 | Blood.Parent = _G.RobloxAdvanced.BloodEnabled == true and Workspace | |
730 | if Character:FindFirstChild("Humanoid") ~= nil then Character.Humanoid:TakeDamage(0.25) end | |
731 | if Character:FindFirstChild("Left Arm") ~= nil then RemoveLimb("Left Arm") end | |
732 | end | |
733 | if Character.Torso:FindFirstChild("Right Shoulder") == nil and Character.Torso:FindFirstChild("RightShoulder") == nil and Character.Torso:FindFirstChild("Right Shoulder 2") == nil then | |
734 | local Blood = _G.RobloxAdvanced.MakeBlood() | |
735 | Blood.CFrame = Character.Torso.CFrame * CFrame.new(1.2, 0.5, 0) | |
736 | Blood.Velocity = (Blood.Position - (Character.Torso.CFrame * CFrame.new(0, 0.5, 0)).p).unit * math.random(10, 25) | |
737 | Blood.Parent = _G.RobloxAdvanced.BloodEnabled == true and Workspace | |
738 | if Character:FindFirstChild("Humanoid") ~= nil then Character.Humanoid:TakeDamage(0.25) end | |
739 | if Character:FindFirstChild("Right Arm") ~= nil then RemoveLimb("Right Arm") end | |
740 | end | |
741 | if Character.Torso:FindFirstChild("Left Hip") == nil and Character.Torso:FindFirstChild("LeftHip") == nil and Character.Torso:FindFirstChild("Left Hip 2") == nil then | |
742 | local Blood = _G.RobloxAdvanced.MakeBlood() | |
743 | Blood.CFrame = Character.Torso.CFrame * CFrame.new(-0.5, -1.2, 0) | |
744 | Blood.Velocity = (Blood.Position - (Character.Torso.CFrame * CFrame.new(-0.5, 0, 0)).p).unit * math.random(4, 8) | |
745 | Blood.Parent = _G.RobloxAdvanced.BloodEnabled == true and Workspace | |
746 | if Character:FindFirstChild("Humanoid") ~= nil then Character.Humanoid:TakeDamage(0.25) end | |
747 | if Character:FindFirstChild("Left Leg") ~= nil then RemoveLimb("Left Leg") end | |
748 | end | |
749 | if Character.Torso:FindFirstChild("Right Hip") == nil and Character.Torso:FindFirstChild("RightHip") == nil and Character.Torso:FindFirstChild("Right Hip 2") == nil then | |
750 | local Blood = _G.RobloxAdvanced.MakeBlood() | |
751 | Blood.CFrame = Character.Torso.CFrame * CFrame.new(0.5, -1.2, 0) | |
752 | Blood.Velocity = (Blood.Position - (Character.Torso.CFrame * CFrame.new(0.5, 0, 0)).p).unit * math.random(4, 80) | |
753 | Blood.Parent = _G.RobloxAdvanced.BloodEnabled == true and Workspace | |
754 | if Character:FindFirstChild("Humanoid") ~= nil then Character.Humanoid:TakeDamage(0.25) end | |
755 | if Character:FindFirstChild("Right Leg") ~= nil then RemoveLimb("Right Leg") end | |
756 | end | |
757 | if Character.Torso:FindFirstChild("Neck") == nil then | |
758 | local Blood = _G.RobloxAdvanced.MakeBlood() | |
759 | Blood.CFrame = Character.Torso.CFrame * CFrame.new(0, 1, 0) | |
760 | Blood.Velocity = (Blood.Position - Character.Torso.Position).unit * math.random(25, 75) | |
761 | Blood.Parent = _G.RobloxAdvanced.BloodEnabled == true and Workspace | |
762 | if Character:FindFirstChild("Head") ~= nil then | |
763 | local Blood = _G.RobloxAdvanced.MakeBlood() | |
764 | Blood.CFrame = Character.Head.CFrame * CFrame.new(0, -0.5, 0) | |
765 | Blood.Velocity = (Blood.Position - Character.Head.Position).unit * math.random(5, 25) | |
766 | Blood.Parent = Workspace | |
767 | end | |
768 | end | |
769 | wait(0.11) | |
770 | end | |
771 | end)() | |
772 | end | |
773 | _G.RobloxAdvanced.Ragdoll = function(Format, Character, Force) | |
774 | if Force ~= true then | |
775 | if Character:FindFirstChild("Ragdoll") ~= nil and Format == true then return false end | |
776 | if Character:FindFirstChild("Ragdoll") == nil and Format == false then return false end | |
777 | end | |
778 | local Head = nil | |
779 | local Torso = nil | |
780 | local Humanoid = nil | |
781 | local Dead = false | |
782 | for _, Children in pairs(Character:GetChildren()) do | |
783 | if Children.ClassName == "ForceField" then Children:Remove() end | |
784 | if Children.Name == "" then Children:Remove() end | |
785 | if Children.Name == "Head" then Head = Children end | |
786 | if Children.Name == "Torso" then Torso = Children end | |
787 | if Children.ClassName == "Humanoid" then Humanoid = Children end | |
788 | if Children:IsA("Accoutrement") then | |
789 | if Children:FindFirstChild("Handle") ~= nil then | |
790 | if math.random(1, 3) == 1 then | |
791 | coroutine.wrap(function() | |
792 | Children.Parent = Workspace | |
793 | wait() | |
794 | Children.Parent = Character | |
795 | Children.Handle.CanCollide = true | |
796 | end)() | |
797 | else | |
798 | Children.Parent = Workspace | |
799 | Children.Handle.CanCollide = true | |
800 | end | |
801 | else | |
802 | Children:Remove() | |
803 | end | |
804 | end | |
805 | end | |
806 | if Humanoid ~= nil then | |
807 | if Humanoid.Health <= 0 then | |
808 | Dead = true | |
809 | end | |
810 | end | |
811 | if Torso ~= nil then | |
812 | for _, Children2 in pairs(Torso:GetChildren()) do | |
813 | if Children2:IsA("JointInstance") then | |
814 | Children2:Remove() | |
815 | end | |
816 | end | |
817 | end | |
818 | if Head ~= nil and (function() | |
819 | if Dead == true and math.random(1, 2) == 1 then | |
820 | return true | |
821 | else | |
822 | return false | |
823 | end | |
824 | end)() == false then | |
825 | local Neck = Instance.new("Motor6D") | |
826 | Neck.Name = "Neck" | |
827 | Neck.Part0 = Torso | |
828 | Neck.Part1 = Head | |
829 | Neck.C0 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-90), 0, math.rad(180)) | |
830 | Neck.C1 = CFrame.new(0, -0.5, 0) * CFrame.fromEulerAnglesXYZ(math.rad(-90), 0, math.rad(180)) | |
831 | Neck.MaxVelocity = 0.1 | |
832 | Neck.Parent = Torso | |
833 | end | |
834 | if Format == true then | |
835 | local Ragdoll = Instance.new("IntValue") | |
836 | Ragdoll.Name = "Ragdoll" | |
837 | Ragdoll.Parent = Character | |
838 | if Torso ~= nil then | |
839 | Torso.Velocity = Torso.Velocity / 1.25 | |
840 | Torso.RotVelocity = (Torso.RotVelocity / 1.25) + Vector3.new(math.random(-25, 25), math.random(-25, 25), math.random(-25, 25)) | |
841 | if Dead == true then | |
842 | if Humanoid ~= nil then | |
843 | local Humanoid2 = Humanoid:Clone() | |
844 | wait() | |
845 | Humanoid:Remove() | |
846 | Humanoid2.Parent = Character | |
847 | Humanoid = Humanoid2 | |
848 | end | |
849 | end | |
850 | local Limb = Character:FindFirstChild("Right Arm") | |
851 | if Limb ~= nil then | |
852 | Limb.Velocity = Torso.Velocity | |
853 | Limb.CFrame = Torso.CFrame * CFrame.new(1.5, 0, 0) | |
854 | local Joint = Instance.new("Glue") | |
855 | Joint.Name = "RightShoulder" | |
856 | Joint.Part0 = Torso | |
857 | Joint.Part1 = Limb | |
858 | Joint.C0 = CFrame.new(1.5, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0) | |
859 | Joint.C1 = CFrame.new(-0, 0.5, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0) | |
860 | Joint.Parent = Torso | |
861 | local Weight = Instance.new("Part") | |
862 | Weight.Name = "" | |
863 | Weight.TopSurface = 0 | |
864 | Weight.BottomSurface = 0 | |
865 | Weight.Shape = "Block" | |
866 | Weight.FormFactor = "Custom" | |
867 | Weight.Size = Vector3.new(1, 1, 1) | |
868 | Weight.Transparency = 1 | |
869 | Weight.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0) | |
870 | Weight.Parent = Character | |
871 | local Weld = Instance.new("Weld") | |
872 | Weld.Part0 = Limb | |
873 | Weld.Part1 = Weight | |
874 | Weld.C0 = CFrame.new(0, -0.5, 0) | |
875 | Weld.Parent = Limb | |
876 | end | |
877 | local Limb = Character:FindFirstChild("Left Arm") | |
878 | if Limb then | |
879 | Limb.Velocity = Torso.Velocity | |
880 | Limb.CFrame = Torso.CFrame * CFrame.new(-1.5, 0, 0) | |
881 | local Joint = Instance.new("Glue") | |
882 | Joint.Name = "LeftShoulder" | |
883 | Joint.Part0 = Torso | |
884 | Joint.Part1 = Limb | |
885 | Joint.C0 = CFrame.new(-1.5, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0) | |
886 | Joint.C1 = CFrame.new(0, 0.5, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0) | |
887 | Joint.Parent = Torso | |
888 | local Weight = Instance.new("Part") | |
889 | Weight.Name = "" | |
890 | Weight.TopSurface = 0 | |
891 | Weight.BottomSurface = 0 | |
892 | Weight.Shape = "Block" | |
893 | Weight.FormFactor = "Custom" | |
894 | Weight.Size = Vector3.new(1, 1, 1) | |
895 | Weight.Transparency = 1 | |
896 | Weight.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0) | |
897 | Weight.Parent = Character | |
898 | local Weld = Instance.new("Weld") | |
899 | Weld.Part0 = Limb | |
900 | Weld.Part1 = Weight | |
901 | Weld.C0 = CFrame.new(0, -0.5, 0) | |
902 | Weld.Parent = Limb | |
903 | end | |
904 | local Limb = Character:FindFirstChild("Right Leg") | |
905 | if Limb then | |
906 | Limb.Velocity = Torso.Velocity | |
907 | Limb.CFrame = Torso.CFrame * CFrame.new(0.5, -2, 0) | |
908 | local Joint = Instance.new("Glue") | |
909 | Joint.Name = "RightHip" | |
910 | Joint.Part0 = Torso | |
911 | Joint.Part1 = Limb | |
912 | Joint.C0 = CFrame.new(0.5, -1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0) | |
913 | Joint.C1 = CFrame.new(0, 1, 0, 0, 0, 1, 0, 1, 0, -1, -0, -0) | |
914 | Joint.Parent = Torso | |
915 | local Weight = Instance.new("Part") | |
916 | Weight.Name = "" | |
917 | Weight.TopSurface = 0 | |
918 | Weight.BottomSurface = 0 | |
919 | Weight.Shape = "Block" | |
920 | Weight.FormFactor = "Custom" | |
921 | Weight.Size = Vector3.new(1, 1, 1) | |
922 | Weight.Transparency = 1 | |
923 | Weight.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0) | |
924 | Weight.Parent = Character | |
925 | local Weld = Instance.new("Weld") | |
926 | Weld.Part0 = Limb | |
927 | Weld.Part1 = Weight | |
928 | Weld.C0 = CFrame.new(0, -0.5, 0) | |
929 | Weld.Parent = Limb | |
930 | end | |
931 | local Limb = Character:FindFirstChild("Left Leg") | |
932 | if Limb then | |
933 | Limb.Velocity = Torso.Velocity | |
934 | Limb.CFrame = Torso.CFrame * CFrame.new(-0.5, -2, 0) | |
935 | local Joint = Instance.new("Glue") | |
936 | Joint.Name = "LeftHip" | |
937 | Joint.Part0 = Torso | |
938 | Joint.Part1 = Limb | |
939 | Joint.C0 = CFrame.new(-0.5, -1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0) | |
940 | Joint.C1 = CFrame.new(-0, 1, 0, -0, -0, -1, 0, 1, 0, 1, 0, 0) | |
941 | Joint.Parent = Torso | |
942 | local Weight = Instance.new("Part") | |
943 | Weight.Name = "" | |
944 | Weight.TopSurface = 0 | |
945 | Weight.BottomSurface = 0 | |
946 | Weight.Shape = "Block" | |
947 | Weight.FormFactor = "Custom" | |
948 | Weight.Size = Vector3.new(1, 1, 1) | |
949 | Weight.Transparency = 1 | |
950 | Weight.CFrame = Limb.CFrame * CFrame.new(0, -0.5, 0) | |
951 | Weight.Parent = Character | |
952 | local Weld = Instance.new("Weld") | |
953 | Weld.Part0 = Limb | |
954 | Weld.Part1 = Weight | |
955 | Weld.C0 = CFrame.new(0, -0.5, 0) | |
956 | Weld.Parent = Limb | |
957 | end | |
958 | local Weight = Instance.new("Part") | |
959 | Weight.Name = "" | |
960 | Weight.TopSurface = 0 | |
961 | Weight.BottomSurface = 0 | |
962 | Weight.Shape = "Block" | |
963 | Weight.FormFactor = "Custom" | |
964 | Weight.Size = Vector3.new(1.75, 1.5, 1.1) | |
965 | Weight.Transparency = 1 | |
966 | Weight.CFrame = Torso.CFrame * CFrame.new(0, 0.5, 0) | |
967 | Weight.Parent = Character | |
968 | local Weld = Instance.new("Weld") | |
969 | Weld.Part0 = Torso | |
970 | Weld.Part1 = Weight | |
971 | Weld.C0 = CFrame.new(0, 0.5, 0) | |
972 | Weld.Parent = Torso | |
973 | end | |
974 | elseif Format == false then | |
975 | if Character:FindFirstChild("Ragdoll") ~= nil then Character.Ragdoll:Remove() end | |
976 | if Torso ~= nil then | |
977 | local Limb = Character:FindFirstChild("Right Arm") | |
978 | if Limb ~= nil then | |
979 | local Joint = Instance.new("Motor6D") | |
980 | Joint.Name = "Right Shoulder" | |
981 | Joint.Part0 = Torso | |
982 | Joint.Part1 = Limb | |
983 | Joint.C0 = CFrame.new(1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0) | |
984 | Joint.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0) | |
985 | Joint.MaxVelocity = 0.15 | |
986 | Joint.Parent = Torso | |
987 | end | |
988 | local Limb = Character:FindFirstChild("Left Arm") | |
989 | if Limb ~= nil then | |
990 | local Joint = Instance.new("Motor6D") | |
991 | Joint.Name = "Left Shoulder" | |
992 | Joint.Part0 = Torso | |
993 | Joint.Part1 = Limb | |
994 | Joint.C0 = CFrame.new(-1.5, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0) | |
995 | Joint.C1 = CFrame.new(0, 0.5, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0) | |
996 | Joint.MaxVelocity = 0.15 | |
997 | Joint.Parent = Torso | |
998 | end | |
999 | local Limb = Character:FindFirstChild("Right Leg") | |
1000 | if Limb ~= nil then | |
1001 | local Joint = Instance.new("Motor6D") | |
1002 | Joint.Name = "Right Hip" | |
1003 | Joint.Part0 = Torso | |
1004 | Joint.Part1 = Limb | |
1005 | Joint.C0 = CFrame.new(0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0) | |
1006 | Joint.C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(90), 0) | |
1007 | Joint.MaxVelocity = 0.1 | |
1008 | Joint.Parent = Torso | |
1009 | end | |
1010 | local Limb = Character:FindFirstChild("Left Leg") | |
1011 | if Limb ~= nil then | |
1012 | local Joint = Instance.new("Motor6D") | |
1013 | Joint.Name = "Left Hip" | |
1014 | Joint.Part0 = Torso | |
1015 | Joint.Part1 = Limb | |
1016 | Joint.C0 = CFrame.new(-0.5, -1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0) | |
1017 | Joint.C1 = CFrame.new(0, 1, 0) * CFrame.fromEulerAnglesXYZ(0, math.rad(-90), 0) | |
1018 | Joint.MaxVelocity = 0.1 | |
1019 | Joint.Parent = Torso | |
1020 | end | |
1021 | local Animate = Character:FindFirstChild("Animate") | |
1022 | if Animate ~= nil then | |
1023 | local Animate2 = Animate:Clone() | |
1024 | Animate:Remove() | |
1025 | Animate2.Parent = Character | |
1026 | end | |
1027 | end | |
1028 | else | |
1029 | return false | |
1030 | end | |
1031 | return true, Format | |
1032 | end | |
1033 | table.insert(_G.RobloxAdvanced.Connections, Workspace.DescendantAdded:connect(_G.RobloxAdvanced.HookModelDeath)) | |
1034 | table.insert(_G.RobloxAdvanced.Connections, game:GetService("Players").PlayerAdded:connect(_G.RobloxAdvanced.HookPlayerDeath)) | |
1035 | for _, Players in pairs(game:GetService("Players"):GetPlayers()) do | |
1036 | _G.RobloxAdvanced.HookPlayerDeath(Players) | |
1037 | end | |
1038 | for _, Children in pairs(Workspace:GetChildren()) do | |
1039 | _G.RobloxAdvanced.HookModelDeath(Children) | |
1040 | end | |
1041 | ||
1042 |