SHOW:
|
|
- or go back to the newest paste.
1 | --reanimate by MyWorld#4430 discord.gg/pYVHtSJmEY | |
2 | local v3_net, v3_808 = Vector3.new(5000, 25.1, 0), Vector3.new(8, 0, 8) | |
3 | local function getNetlessVelocity(realPartVelocity) | |
4 | local mag = realPartVelocity.Magnitude | |
5 | if mag > 1 then | |
6 | local unit = realPartVelocity.Unit | |
7 | if (unit.Y > 0.25) or (unit.Y < -0.75) then | |
8 | return unit * (25.1 / unit.Y) | |
9 | end | |
10 | end | |
11 | return v3_net + realPartVelocity * v3_808 | |
12 | end | |
13 | local simradius = "shp" --simulation radius (net bypass) method | |
14 | --"shp" - sethiddenproperty | |
15 | --"ssr" - setsimulationradius | |
16 | --false - disable | |
17 | local simrad = 1000 --simulation radius value | |
18 | local healthHide = true --moves your head away every 3 seconds so players dont see your health bar (alignmode 4 only) | |
19 | local reclaim = true --if you lost control over a part this will move your primary part to the part so you get it back (alignmode 4) | |
20 | local novoid = true --prevents parts from going under workspace.FallenPartsDestroyHeight if you control them (alignmode 4 only) | |
21 | local physp = nil --PhysicalProperties.new(0.01, 0, 1, 0, 0) --sets .CustomPhysicalProperties to this for each part | |
22 | local noclipAllParts = false --set it to true if you want noclip | |
23 | local antiragdoll = true --removes hingeConstraints and ballSocketConstraints from your character | |
24 | local newanimate = true --disables the animate script and enables after reanimation | |
25 | local discharscripts = true --disables all localScripts parented to your character before reanimation | |
26 | local R15toR6 = true --tries to convert your character to r6 if its r15 | |
27 | local hatcollide = false --makes hats cancollide (credit to ShownApe) (works only with reanimate method 0) | |
28 | local humState16 = true --enables collisions for limbs before the humanoid dies (using hum:ChangeState) | |
29 | local addtools = false --puts all tools from backpack to character and lets you hold them after reanimation | |
30 | local hedafterneck = true --disable aligns for head and enable after neck or torso is removed | |
31 | local loadtime = game:GetService("Players").RespawnTime + 0.5 --anti respawn delay | |
32 | local method = 3 --reanimation method | |
33 | --methods: | |
34 | --0 - breakJoints (takes [loadtime] seconds to load) | |
35 | --1 - limbs | |
36 | --2 - limbs + anti respawn | |
37 | --3 - limbs + breakJoints after [loadtime] seconds | |
38 | --4 - remove humanoid + breakJoints | |
39 | --5 - remove humanoid + limbst | |
40 | local alignmode = 3 --AlignPosition mode | |
41 | --modes: | |
42 | --1 - AlignPosition rigidity enabled true | |
43 | --2 - 2 AlignPositions rigidity enabled both true and false | |
44 | --3 - AlignPosition rigidity enabled false | |
45 | --4 - CFrame | |
46 | local flingpart = "HumanoidRootPart" --name of the part or the hat used for flinging | |
47 | --the fling function | |
48 | --usage: fling(target, duration, velocity) | |
49 | --target can be set to: basePart, CFrame, Vector3, character model or humanoid (flings at mouse.Hit if argument not provided)) | |
50 | --duration (fling time in seconds) can be set to a number or a string convertable to the number (0.5s if not provided), | |
51 | --velocity (fling part rotation velocity) can be set to a vector3 value (Vector3.new(20000, 20000, 20000) if not provided) | |
52 | ||
53 | local lp = game:GetService("Players").LocalPlayer | |
54 | local rs, ws, sg = game:GetService("RunService"), game:GetService("Workspace"), game:GetService("StarterGui") | |
55 | local stepped, heartbeat, renderstepped = rs.Stepped, rs.Heartbeat, rs.RenderStepped | |
56 | local twait, tdelay, rad, inf, abs, clamp = task.wait, task.delay, math.rad, math.huge, math.abs, math.clamp | |
57 | local cf, v3 = CFrame.new, Vector3.new | |
58 | local angles = CFrame.Angles | |
59 | local v3_0, cf_0 = v3(0, 0, 0), cf(0, 0, 0) | |
60 | ||
61 | local c = lp.Character | |
62 | if not (c and c.Parent) then | |
63 | return | |
64 | end | |
65 | ||
66 | c:GetPropertyChangedSignal("Parent"):Connect(function() | |
67 | if not (c and c.Parent) then | |
68 | c = nil | |
69 | end | |
70 | end) | |
71 | ||
72 | local clone, destroy, getchildren, getdescendants, isa = c.Clone, c.Destroy, c.GetChildren, c.GetDescendants, c.IsA | |
73 | ||
74 | local function gp(parent, name, className) | |
75 | if typeof(parent) == "Instance" then | |
76 | for i, v in pairs(getchildren(parent)) do | |
77 | if (v.Name == name) and isa(v, className) then | |
78 | return v | |
79 | end | |
80 | end | |
81 | end | |
82 | return nil | |
83 | end | |
84 | ||
85 | local fenv = getfenv() | |
86 | ||
87 | local shp = fenv.sethiddenproperty or fenv.set_hidden_property or fenv.set_hidden_prop or fenv.sethiddenprop | |
88 | local ssr = fenv.setsimulationradius or fenv.set_simulation_radius or fenv.set_sim_radius or fenv.setsimradius or fenv.setsimrad or fenv.set_sim_rad | |
89 | ||
90 | healthHide = healthHide and ((method == 0) or (method == 3)) and gp(c, "Head", "BasePart") | |
91 | ||
92 | local reclaim, lostpart = reclaim and c.PrimaryPart, nil | |
93 | ||
94 | local function align(Part0, Part1) | |
95 | ||
96 | local att0 = Instance.new("Attachment") | |
97 | att0.Position, att0.Orientation, att0.Name = v3_0, v3_0, "att0_" .. Part0.Name | |
98 | local att1 = Instance.new("Attachment") | |
99 | att1.Position, att1.Orientation, att1.Name = v3_0, v3_0, "att1_" .. Part1.Name | |
100 | ||
101 | if alignmode == 4 then | |
102 | ||
103 | local hide = false | |
104 | if Part0 == healthHide then | |
105 | healthHide = false | |
106 | tdelay(0, function() | |
107 | while twait(2.9) and Part0 and c do | |
108 | hide = #Part0:GetConnectedParts() == 1 | |
109 | twait(0.1) | |
110 | hide = false | |
111 | end | |
112 | end) | |
113 | end | |
114 | ||
115 | local rot = rad(0.05) | |
116 | local con0, con1 = nil, nil | |
117 | con0 = stepped:Connect(function() | |
118 | if not (Part0 and Part1) then return con0:Disconnect() and con1:Disconnect() end | |
119 | Part0.RotVelocity = Part1.RotVelocity | |
120 | end) | |
121 | local lastpos = Part0.Position | |
122 | con1 = heartbeat:Connect(function(delta) | |
123 | if not (Part0 and Part1 and att1) then return con0:Disconnect() and con1:Disconnect() end | |
124 | if (not Part0.Anchored) and (Part0.ReceiveAge == 0) then | |
125 | if lostpart == Part0 then | |
126 | lostpart = nil | |
127 | end | |
128 | rot = -rot | |
129 | local newcf = Part1.CFrame * att1.CFrame * angles(0, 0, rot) | |
130 | if Part1.Velocity.Magnitude > 0.01 then | |
131 | Part0.Velocity = getNetlessVelocity(Part1.Velocity) | |
132 | else | |
133 | Part0.Velocity = getNetlessVelocity((newcf.Position - lastpos) / delta) | |
134 | end | |
135 | lastpos = newcf.Position | |
136 | if lostpart and (Part0 == reclaim) then | |
137 | newcf = lostpart.CFrame | |
138 | elseif hide then | |
139 | newcf += v3(0, 3000, 0) | |
140 | end | |
141 | if novoid and (newcf.Y < ws.FallenPartsDestroyHeight + 0.1) then | |
142 | newcf += v3(0, ws.FallenPartsDestroyHeight + 0.1 - newcf.Y, 0) | |
143 | end | |
144 | Part0.CFrame = newcf | |
145 | elseif (not Part0.Anchored) and (abs(Part0.Velocity.X) < 45) and (abs(Part0.Velocity.Y) < 25) and (abs(Part0.Velocity.Z) < 45) then | |
146 | lostpart = Part0 | |
147 | end | |
148 | end) | |
149 | ||
150 | else | |
151 | ||
152 | Part0.CustomPhysicalProperties = physp | |
153 | if (alignmode == 1) or (alignmode == 2) then | |
154 | local ape = Instance.new("AlignPosition") | |
155 | ape.MaxForce, ape.MaxVelocity, ape.Responsiveness = inf, inf, inf | |
156 | ape.ReactionForceEnabled, ape.RigidityEnabled, ape.ApplyAtCenterOfMass = false, true, false | |
157 | ape.Attachment0, ape.Attachment1, ape.Name = att0, att1, "AlignPositionRtrue" | |
158 | ape.Parent = att0 | |
159 | end | |
160 | ||
161 | if (alignmode == 2) or (alignmode == 3) then | |
162 | local apd = Instance.new("AlignPosition") | |
163 | apd.MaxForce, apd.MaxVelocity, apd.Responsiveness = inf, inf, inf | |
164 | apd.ReactionForceEnabled, apd.RigidityEnabled, apd.ApplyAtCenterOfMass = false, false, false | |
165 | apd.Attachment0, apd.Attachment1, apd.Name = att0, att1, "AlignPositionRfalse" | |
166 | apd.Parent = att0 | |
167 | end | |
168 | ||
169 | local ao = Instance.new("AlignOrientation") | |
170 | ao.MaxAngularVelocity, ao.MaxTorque, ao.Responsiveness = inf, inf, inf | |
171 | ao.PrimaryAxisOnly, ao.ReactionTorqueEnabled, ao.RigidityEnabled = false, false, false | |
172 | ao.Attachment0, ao.Attachment1 = att0, att1 | |
173 | ao.Parent = att0 | |
174 | ||
175 | local con0, con1 = nil, nil | |
176 | local vel = Part0.Velocity | |
177 | con0 = renderstepped:Connect(function() | |
178 | if not (Part0 and Part1) then return con0:Disconnect() and con1:Disconnect() end | |
179 | Part0.Velocity = vel | |
180 | end) | |
181 | local lastpos = Part0.Position | |
182 | con1 = heartbeat:Connect(function(delta) | |
183 | if not (Part0 and Part1) then return con0:Disconnect() and con1:Disconnect() end | |
184 | vel = Part0.Velocity | |
185 | if Part1.Velocity.Magnitude > 0.01 then | |
186 | Part0.Velocity = getNetlessVelocity(Part1.Velocity) | |
187 | else | |
188 | Part0.Velocity = getNetlessVelocity((Part0.Position - lastpos) / delta) | |
189 | end | |
190 | lastpos = Part0.Position | |
191 | end) | |
192 | ||
193 | end | |
194 | ||
195 | att0:GetPropertyChangedSignal("Parent"):Connect(function() | |
196 | Part0 = att0.Parent | |
197 | if not isa(Part0, "BasePart") then | |
198 | att0 = nil | |
199 | if lostpart == Part0 then | |
200 | lostpart = nil | |
201 | end | |
202 | Part0 = nil | |
203 | end | |
204 | end) | |
205 | att0.Parent = Part0 | |
206 | ||
207 | att1:GetPropertyChangedSignal("Parent"):Connect(function() | |
208 | Part1 = att1.Parent | |
209 | if not isa(Part1, "BasePart") then | |
210 | att1 = nil | |
211 | Part1 = nil | |
212 | end | |
213 | end) | |
214 | att1.Parent = Part1 | |
215 | end | |
216 | ||
217 | local function respawnrequest() | |
218 | local ccfr, c = ws.CurrentCamera.CFrame, lp.Character | |
219 | lp.Character = nil | |
220 | lp.Character = c | |
221 | local con = nil | |
222 | con = ws.CurrentCamera.Changed:Connect(function(prop) | |
223 | if (prop ~= "Parent") and (prop ~= "CFrame") then | |
224 | return | |
225 | end | |
226 | ws.CurrentCamera.CFrame = ccfr | |
227 | con:Disconnect() | |
228 | end) | |
229 | end | |
230 | ||
231 | local destroyhum = (method == 4) or (method == 5) | |
232 | local breakjoints = (method == 0) or (method == 4) | |
233 | local antirespawn = (method == 0) or (method == 2) or (method == 3) | |
234 | ||
235 | hatcollide = hatcollide and (method == 0) | |
236 | ||
237 | addtools = addtools and lp:FindFirstChildOfClass("Backpack") | |
238 | ||
239 | if type(simrad) ~= "number" then simrad = 1000 end | |
240 | if shp and (simradius == "shp") then | |
241 | tdelay(0, function() | |
242 | while c do | |
243 | shp(lp, "SimulationRadius", simrad) | |
244 | heartbeat:Wait() | |
245 | end | |
246 | end) | |
247 | elseif ssr and (simradius == "ssr") then | |
248 | tdelay(0, function() | |
249 | while c do | |
250 | ssr(simrad) | |
251 | heartbeat:Wait() | |
252 | end | |
253 | end) | |
254 | end | |
255 | ||
256 | if antiragdoll then | |
257 | antiragdoll = function(v) | |
258 | if isa(v, "HingeConstraint") or isa(v, "BallSocketConstraint") then | |
259 | v.Parent = nil | |
260 | end | |
261 | end | |
262 | for i, v in pairs(getdescendants(c)) do | |
263 | antiragdoll(v) | |
264 | end | |
265 | c.DescendantAdded:Connect(antiragdoll) | |
266 | end | |
267 | ||
268 | if antirespawn then | |
269 | respawnrequest() | |
270 | end | |
271 | ||
272 | if method == 0 then | |
273 | twait(loadtime) | |
274 | if not c then | |
275 | return | |
276 | end | |
277 | end | |
278 | ||
279 | if discharscripts then | |
280 | for i, v in pairs(getdescendants(c)) do | |
281 | if isa(v, "LocalScript") then | |
282 | v.Disabled = true | |
283 | end | |
284 | end | |
285 | elseif newanimate then | |
286 | local animate = gp(c, "Animate", "LocalScript") | |
287 | if animate and (not animate.Disabled) then | |
288 | animate.Disabled = true | |
289 | else | |
290 | newanimate = false | |
291 | end | |
292 | end | |
293 | ||
294 | if addtools then | |
295 | for i, v in pairs(getchildren(addtools)) do | |
296 | if isa(v, "Tool") then | |
297 | v.Parent = c | |
298 | end | |
299 | end | |
300 | end | |
301 | ||
302 | pcall(function() | |
303 | settings().Physics.AllowSleep = false | |
304 | settings().Physics.PhysicsEnvironmentalThrottle = Enum.EnviromentalPhysicsThrottle.Disabled | |
305 | end) | |
306 | ||
307 | local OLDscripts = {} | |
308 | ||
309 | for i, v in pairs(getdescendants(c)) do | |
310 | if v.ClassName == "Script" then | |
311 | OLDscripts[v.Name] = true | |
312 | end | |
313 | end | |
314 | ||
315 | local scriptNames = {} | |
316 | ||
317 | for i, v in pairs(getdescendants(c)) do | |
318 | if isa(v, "BasePart") then | |
319 | local newName, exists = tostring(i), true | |
320 | while exists do | |
321 | exists = OLDscripts[newName] | |
322 | if exists then | |
323 | newName = newName .. "_" | |
324 | end | |
325 | end | |
326 | table.insert(scriptNames, newName) | |
327 | Instance.new("Script", v).Name = newName | |
328 | end | |
329 | end | |
330 | ||
331 | local hum = c:FindFirstChildOfClass("Humanoid") | |
332 | if hum then | |
333 | for i, v in pairs(hum:GetPlayingAnimationTracks()) do | |
334 | v:Stop() | |
335 | end | |
336 | end | |
337 | c.Archivable = true | |
338 | local cl = clone(c) | |
339 | if hum and humState16 then | |
340 | hum:ChangeState(Enum.HumanoidStateType.Physics) | |
341 | if destroyhum then | |
342 | twait(1.6) | |
343 | end | |
344 | end | |
345 | if destroyhum then | |
346 | pcall(destroy, hum) | |
347 | end | |
348 | ||
349 | if not c then | |
350 | return | |
351 | end | |
352 | ||
353 | local head, torso, root = gp(c, "Head", "BasePart"), gp(c, "Torso", "BasePart") or gp(c, "UpperTorso", "BasePart"), gp(c, "HumanoidRootPart", "BasePart") | |
354 | if hatcollide then | |
355 | pcall(destroy, torso) | |
356 | pcall(destroy, root) | |
357 | pcall(destroy, c:FindFirstChildOfClass("BodyColors") or gp(c, "Health", "Script")) | |
358 | end | |
359 | ||
360 | local model = Instance.new("Model", c) | |
361 | model:GetPropertyChangedSignal("Parent"):Connect(function() | |
362 | if not (model and model.Parent) then | |
363 | model = nil | |
364 | end | |
365 | end) | |
366 | ||
367 | for i, v in pairs(getchildren(c)) do | |
368 | if v ~= model then | |
369 | if addtools and isa(v, "Tool") then | |
370 | for i1, v1 in pairs(getdescendants(v)) do | |
371 | if v1 and v1.Parent and isa(v1, "BasePart") then | |
372 | local bv = Instance.new("BodyVelocity") | |
373 | bv.Velocity, bv.MaxForce, bv.P, bv.Name = v3_0, v3(1000, 1000, 1000), 1250, "bv_" .. v.Name | |
374 | bv.Parent = v1 | |
375 | end | |
376 | end | |
377 | end | |
378 | v.Parent = model | |
379 | end | |
380 | end | |
381 | ||
382 | if breakjoints then | |
383 | model:BreakJoints() | |
384 | else | |
385 | if head and torso then | |
386 | for i, v in pairs(getdescendants(model)) do | |
387 | if isa(v, "JointInstance") then | |
388 | local save = false | |
389 | if (v.Part0 == torso) and (v.Part1 == head) then | |
390 | save = true | |
391 | end | |
392 | if (v.Part0 == head) and (v.Part1 == torso) then | |
393 | save = true | |
394 | end | |
395 | if save then | |
396 | if hedafterneck then | |
397 | hedafterneck = v | |
398 | end | |
399 | else | |
400 | pcall(destroy, v) | |
401 | end | |
402 | end | |
403 | end | |
404 | end | |
405 | if method == 3 then | |
406 | task.delay(loadtime, pcall, model.BreakJoints, model) | |
407 | end | |
408 | end | |
409 | ||
410 | cl.Parent = ws | |
411 | for i, v in pairs(getchildren(cl)) do | |
412 | v.Parent = c | |
413 | end | |
414 | pcall(destroy, cl) | |
415 | ||
416 | local uncollide, noclipcon = nil, nil | |
417 | if noclipAllParts then | |
418 | uncollide = function() | |
419 | if c then | |
420 | for i, v in pairs(getdescendants(c)) do | |
421 | if isa(v, "BasePart") then | |
422 | v.CanCollide = false | |
423 | end | |
424 | end | |
425 | else | |
426 | noclipcon:Disconnect() | |
427 | end | |
428 | end | |
429 | else | |
430 | uncollide = function() | |
431 | if model then | |
432 | for i, v in pairs(getdescendants(model)) do | |
433 | if isa(v, "BasePart") then | |
434 | v.CanCollide = false | |
435 | end | |
436 | end | |
437 | else | |
438 | noclipcon:Disconnect() | |
439 | end | |
440 | end | |
441 | end | |
442 | noclipcon = stepped:Connect(uncollide) | |
443 | uncollide() | |
444 | ||
445 | for i, scr in pairs(getdescendants(model)) do | |
446 | if (scr.ClassName == "Script") and table.find(scriptNames, scr.Name) then | |
447 | local Part0 = scr.Parent | |
448 | if isa(Part0, "BasePart") then | |
449 | for i1, scr1 in pairs(getdescendants(c)) do | |
450 | if (scr1.ClassName == "Script") and (scr1.Name == scr.Name) and (not scr1:IsDescendantOf(model)) then | |
451 | local Part1 = scr1.Parent | |
452 | if (Part1.ClassName == Part0.ClassName) and (Part1.Name == Part0.Name) then | |
453 | align(Part0, Part1) | |
454 | pcall(destroy, scr) | |
455 | pcall(destroy, scr1) | |
456 | break | |
457 | end | |
458 | end | |
459 | end | |
460 | end | |
461 | end | |
462 | end | |
463 | ||
464 | for i, v in pairs(getdescendants(c)) do | |
465 | if v and v.Parent and (not v:IsDescendantOf(model)) then | |
466 | if isa(v, "Decal") then | |
467 | v.Transparency = 1 | |
468 | elseif isa(v, "BasePart") then | |
469 | v.Transparency = 1 | |
470 | v.Anchored = false | |
471 | elseif isa(v, "ForceField") then | |
472 | v.Visible = false | |
473 | elseif isa(v, "Sound") then | |
474 | v.Playing = false | |
475 | elseif isa(v, "BillboardGui") or isa(v, "SurfaceGui") or isa(v, "ParticleEmitter") or isa(v, "Fire") or isa(v, "Smoke") or isa(v, "Sparkles") then | |
476 | v.Enabled = false | |
477 | end | |
478 | end | |
479 | end | |
480 | ||
481 | if newanimate then | |
482 | local animate = gp(c, "Animate", "LocalScript") | |
483 | if animate then | |
484 | animate.Disabled = false | |
485 | end | |
486 | end | |
487 | ||
488 | if addtools then | |
489 | for i, v in pairs(getchildren(c)) do | |
490 | if isa(v, "Tool") then | |
491 | v.Parent = addtools | |
492 | end | |
493 | end | |
494 | end | |
495 | ||
496 | local hum0, hum1 = model:FindFirstChildOfClass("Humanoid"), c:FindFirstChildOfClass("Humanoid") | |
497 | if hum0 then | |
498 | hum0:GetPropertyChangedSignal("Parent"):Connect(function() | |
499 | if not (hum0 and hum0.Parent) then | |
500 | hum0 = nil | |
501 | end | |
502 | end) | |
503 | end | |
504 | if hum1 then | |
505 | hum1:GetPropertyChangedSignal("Parent"):Connect(function() | |
506 | if not (hum1 and hum1.Parent) then | |
507 | hum1 = nil | |
508 | end | |
509 | end) | |
510 | ||
511 | ws.CurrentCamera.CameraSubject = hum1 | |
512 | local camSubCon = nil | |
513 | local function camSubFunc() | |
514 | camSubCon:Disconnect() | |
515 | if c and hum1 then | |
516 | ws.CurrentCamera.CameraSubject = hum1 | |
517 | end | |
518 | end | |
519 | camSubCon = renderstepped:Connect(camSubFunc) | |
520 | if hum0 then | |
521 | hum0:GetPropertyChangedSignal("Jump"):Connect(function() | |
522 | if hum1 then | |
523 | hum1.Jump = hum0.Jump | |
524 | end | |
525 | end) | |
526 | else | |
527 | respawnrequest() | |
528 | end | |
529 | end | |
530 | ||
531 | local rb = Instance.new("BindableEvent", c) | |
532 | rb.Event:Connect(function() | |
533 | pcall(destroy, rb) | |
534 | sg:SetCore("ResetButtonCallback", true) | |
535 | if destroyhum then | |
536 | if c then c:BreakJoints() end | |
537 | return | |
538 | end | |
539 | if model and hum0 and (hum0.Health > 0) then | |
540 | model:BreakJoints() | |
541 | hum0.Health = 0 | |
542 | end | |
543 | if antirespawn then | |
544 | respawnrequest() | |
545 | end | |
546 | end) | |
547 | sg:SetCore("ResetButtonCallback", rb) | |
548 | ||
549 | tdelay(0, function() | |
550 | while c do | |
551 | if hum0 and hum1 then | |
552 | hum1.Jump = hum0.Jump | |
553 | end | |
554 | wait() | |
555 | end | |
556 | sg:SetCore("ResetButtonCallback", true) | |
557 | end) | |
558 | ||
559 | R15toR6 = R15toR6 and hum1 and (hum1.RigType == Enum.HumanoidRigType.R15) | |
560 | if R15toR6 then | |
561 | local part = gp(c, "HumanoidRootPart", "BasePart") or gp(c, "UpperTorso", "BasePart") or gp(c, "LowerTorso", "BasePart") or gp(c, "Head", "BasePart") or c:FindFirstChildWhichIsA("BasePart") | |
562 | if part then | |
563 | local cfr = part.CFrame | |
564 | local R6parts = { | |
565 | head = { | |
566 | Name = "Head", | |
567 | Size = v3(2, 1, 1), | |
568 | R15 = { | |
569 | Head = 0 | |
570 | } | |
571 | }, | |
572 | torso = { | |
573 | Name = "Torso", | |
574 | Size = v3(2, 2, 1), | |
575 | R15 = { | |
576 | UpperTorso = 0.2, | |
577 | LowerTorso = -0.8 | |
578 | } | |
579 | }, | |
580 | root = { | |
581 | Name = "HumanoidRootPart", | |
582 | Size = v3(2, 2, 1), | |
583 | R15 = { | |
584 | HumanoidRootPart = 0 | |
585 | } | |
586 | }, | |
587 | leftArm = { | |
588 | Name = "Left Arm", | |
589 | Size = v3(1, 2, 1), | |
590 | R15 = { | |
591 | LeftHand = -0.849, | |
592 | LeftLowerArm = -0.174, | |
593 | LeftUpperArm = 0.415 | |
594 | } | |
595 | }, | |
596 | rightArm = { | |
597 | Name = "Right Arm", | |
598 | Size = v3(1, 2, 1), | |
599 | R15 = { | |
600 | RightHand = -0.849, | |
601 | RightLowerArm = -0.174, | |
602 | RightUpperArm = 0.415 | |
603 | } | |
604 | }, | |
605 | leftLeg = { | |
606 | Name = "Left Leg", | |
607 | Size = v3(1, 2, 1), | |
608 | R15 = { | |
609 | LeftFoot = -0.85, | |
610 | LeftLowerLeg = -0.29, | |
611 | LeftUpperLeg = 0.49 | |
612 | } | |
613 | }, | |
614 | rightLeg = { | |
615 | Name = "Right Leg", | |
616 | Size = v3(1, 2, 1), | |
617 | R15 = { | |
618 | RightFoot = -0.85, | |
619 | RightLowerLeg = -0.29, | |
620 | RightUpperLeg = 0.49 | |
621 | } | |
622 | } | |
623 | } | |
624 | for i, v in pairs(getchildren(c)) do | |
625 | if isa(v, "BasePart") then | |
626 | for i1, v1 in pairs(getchildren(v)) do | |
627 | if isa(v1, "Motor6D") then | |
628 | v1.Part0 = nil | |
629 | end | |
630 | end | |
631 | end | |
632 | end | |
633 | part.Archivable = true | |
634 | for i, v in pairs(R6parts) do | |
635 | local part = clone(part) | |
636 | part:ClearAllChildren() | |
637 | part.Name, part.Size, part.CFrame, part.Anchored, part.Transparency, part.CanCollide = v.Name, v.Size, cfr, false, 1, false | |
638 | for i1, v1 in pairs(v.R15) do | |
639 | local R15part = gp(c, i1, "BasePart") | |
640 | local att = gp(R15part, "att1_" .. i1, "Attachment") | |
641 | if R15part then | |
642 | local weld = Instance.new("Weld") | |
643 | weld.Part0, weld.Part1, weld.C0, weld.C1, weld.Name = part, R15part, cf(0, v1, 0), cf_0, "Weld_" .. i1 | |
644 | weld.Parent = R15part | |
645 | R15part.Massless, R15part.Name = true, "R15_" .. i1 | |
646 | R15part.Parent = part | |
647 | if att then | |
648 | att.Position = v3(0, v1, 0) | |
649 | att.Parent = part | |
650 | end | |
651 | end | |
652 | end | |
653 | part.Parent = c | |
654 | R6parts[i] = part | |
655 | end | |
656 | local R6joints = { | |
657 | neck = { | |
658 | Parent = R6parts.torso, | |
659 | Name = "Neck", | |
660 | Part0 = R6parts.torso, | |
661 | Part1 = R6parts.head, | |
662 | C0 = cf(0, 1, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0), | |
663 | C1 = cf(0, -0.5, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0) | |
664 | }, | |
665 | rootJoint = { | |
666 | Parent = R6parts.root, | |
667 | Name = "RootJoint" , | |
668 | Part0 = R6parts.root, | |
669 | Part1 = R6parts.torso, | |
670 | C0 = cf(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0), | |
671 | C1 = cf(0, 0, 0, -1, 0, 0, 0, 0, 1, 0, 1, -0) | |
672 | }, | |
673 | rightShoulder = { | |
674 | Parent = R6parts.torso, | |
675 | Name = "Right Shoulder", | |
676 | Part0 = R6parts.torso, | |
677 | Part1 = R6parts.rightArm, | |
678 | C0 = cf(1, 0.5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0), | |
679 | C1 = cf(-0.5, 0.5, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0) | |
680 | }, | |
681 | leftShoulder = { | |
682 | Parent = R6parts.torso, | |
683 | Name = "Left Shoulder", | |
684 | Part0 = R6parts.torso, | |
685 | Part1 = R6parts.leftArm, | |
686 | C0 = cf(-1, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0), | |
687 | C1 = cf(0.5, 0.5, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0) | |
688 | }, | |
689 | rightHip = { | |
690 | Parent = R6parts.torso, | |
691 | Name = "Right Hip", | |
692 | Part0 = R6parts.torso, | |
693 | Part1 = R6parts.rightLeg, | |
694 | C0 = cf(1, -1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0), | |
695 | C1 = cf(0.5, 1, 0, 0, 0, 1, 0, 1, -0, -1, 0, 0) | |
696 | }, | |
697 | leftHip = { | |
698 | Parent = R6parts.torso, | |
699 | Name = "Left Hip" , | |
700 | Part0 = R6parts.torso, | |
701 | Part1 = R6parts.leftLeg, | |
702 | C0 = cf(-1, -1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0), | |
703 | C1 = cf(-0.5, 1, 0, 0, 0, -1, 0, 1, 0, 1, 0, 0) | |
704 | } | |
705 | } | |
706 | for i, v in pairs(R6joints) do | |
707 | local joint = Instance.new("Motor6D") | |
708 | for prop, val in pairs(v) do | |
709 | joint[prop] = val | |
710 | end | |
711 | R6joints[i] = joint | |
712 | end | |
713 | if hum1 then | |
714 | hum1.RigType, hum1.HipHeight = Enum.HumanoidRigType.R6, 0 | |
715 | end | |
716 | end | |
717 | end | |
718 | ||
719 | local torso1 = torso | |
720 | torso = gp(c, "Torso", "BasePart") or ((not R15toR6) and gp(c, torso.Name, "BasePart")) | |
721 | if (typeof(hedafterneck) == "Instance") and head and torso and torso1 then | |
722 | local conNeck, conTorso, conTorso1 = nil, nil, nil | |
723 | local aligns = {} | |
724 | local function enableAligns() | |
725 | conNeck:Disconnect() | |
726 | conTorso:Disconnect() | |
727 | conTorso1:Disconnect() | |
728 | for i, v in pairs(aligns) do | |
729 | v.Enabled = true | |
730 | end | |
731 | end | |
732 | conNeck = hedafterneck.Changed:Connect(function(prop) | |
733 | if table.find({"Part0", "Part1", "Parent"}, prop) then | |
734 | enableAligns() | |
735 | end | |
736 | end) | |
737 | conTorso = torso:GetPropertyChangedSignal("Parent"):Connect(enableAligns) | |
738 | conTorso1 = torso1:GetPropertyChangedSignal("Parent"):Connect(enableAligns) | |
739 | for i, v in pairs(getdescendants(head)) do | |
740 | if isa(v, "AlignPosition") or isa(v, "AlignOrientation") then | |
741 | i = tostring(i) | |
742 | aligns[i] = v | |
743 | v:GetPropertyChangedSignal("Parent"):Connect(function() | |
744 | aligns[i] = nil | |
745 | end) | |
746 | v.Enabled = false | |
747 | end | |
748 | end | |
749 | end | |
750 | ||
751 | local flingpart0 = gp(model, flingpart, "BasePart") or gp(gp(model, flingpart, "Accessory"), "Handle", "BasePart") | |
752 | local flingpart1 = gp(c, flingpart, "BasePart") or gp(gp(c, flingpart, "Accessory"), "Handle", "BasePart") | |
753 | ||
754 | local fling = function() end | |
755 | if flingpart0 and flingpart1 then | |
756 | flingpart0:GetPropertyChangedSignal("Parent"):Connect(function() | |
757 | if not (flingpart0 and flingpart0.Parent) then | |
758 | flingpart0 = nil | |
759 | fling = function() end | |
760 | end | |
761 | end) | |
762 | flingpart0.Archivable = true | |
763 | flingpart1:GetPropertyChangedSignal("Parent"):Connect(function() | |
764 | if not (flingpart1 and flingpart1.Parent) then | |
765 | flingpart1 = nil | |
766 | fling = function() end | |
767 | end | |
768 | end) | |
769 | local att0 = gp(flingpart0, "att0_" .. flingpart0.Name, "Attachment") | |
770 | local att1 = gp(flingpart1, "att1_" .. flingpart1.Name, "Attachment") | |
771 | if att0 and att1 then | |
772 | att0:GetPropertyChangedSignal("Parent"):Connect(function() | |
773 | if not (att0 and att0.Parent) then | |
774 | att0 = nil | |
775 | fling = function() end | |
776 | end | |
777 | end) | |
778 | att1:GetPropertyChangedSignal("Parent"):Connect(function() | |
779 | if not (att1 and att1.Parent) then | |
780 | att1 = nil | |
781 | fling = function() end | |
782 | end | |
783 | end) | |
784 | local lastfling = nil | |
785 | local mouse = lp:GetMouse() | |
786 | fling = function(target, duration, rotVelocity) | |
787 | if typeof(target) == "Instance" then | |
788 | if isa(target, "BasePart") then | |
789 | target = target.Position | |
790 | elseif isa(target, "Model") then | |
791 | target = gp(target, "HumanoidRootPart", "BasePart") or gp(target, "Torso", "BasePart") or gp(target, "UpperTorso", "BasePart") or target:FindFirstChildWhichIsA("BasePart") | |
792 | if target then | |
793 | target = target.Position | |
794 | else | |
795 | return | |
796 | end | |
797 | elseif isa(target, "Humanoid") then | |
798 | target = target.Parent | |
799 | if not (target and isa(target, "Model")) then | |
800 | return | |
801 | end | |
802 | target = gp(target, "HumanoidRootPart", "BasePart") or gp(target, "Torso", "BasePart") or gp(target, "UpperTorso", "BasePart") or target:FindFirstChildWhichIsA("BasePart") | |
803 | if target then | |
804 | target = target.Position | |
805 | else | |
806 | return | |
807 | end | |
808 | else | |
809 | return | |
810 | end | |
811 | elseif typeof(target) == "CFrame" then | |
812 | target = target.Position | |
813 | elseif typeof(target) ~= "Vector3" then | |
814 | target = mouse.Hit | |
815 | if target then | |
816 | target = target.Position | |
817 | else | |
818 | return | |
819 | end | |
820 | end | |
821 | if target.Y < ws.FallenPartsDestroyHeight + 5 then | |
822 | target = v3(target.X, ws.FallenPartsDestroyHeight + 5, target.Z) | |
823 | end | |
824 | lastfling = target | |
825 | if type(duration) ~= "number" then | |
826 | duration = tonumber(duration) or 0.5 | |
827 | end | |
828 | if typeof(rotVelocity) ~= "Vector3" then | |
829 | rotVelocity = v3(20000, 20000, 20000) | |
830 | end | |
831 | if not (target and flingpart0 and flingpart1 and att0 and att1) then | |
832 | return | |
833 | end | |
834 | flingpart0.Archivable = true | |
835 | local flingpart = clone(flingpart0) | |
836 | flingpart.Transparency = 1 | |
837 | flingpart.CanCollide = false | |
838 | flingpart.Name = "flingpart_" .. flingpart0.Name | |
839 | flingpart.Anchored = true | |
840 | flingpart.Velocity = v3_0 | |
841 | flingpart.RotVelocity = v3_0 | |
842 | flingpart.Position = target | |
843 | flingpart:GetPropertyChangedSignal("Parent"):Connect(function() | |
844 | if not (flingpart and flingpart.Parent) then | |
845 | flingpart = nil | |
846 | end | |
847 | end) | |
848 | flingpart.Parent = flingpart1 | |
849 | if flingpart0.Transparency > 0.5 then | |
850 | flingpart0.Transparency = 0.5 | |
851 | end | |
852 | att1.Parent = flingpart | |
853 | local con = nil | |
854 | local rotchg = v3(0, rotVelocity.Unit.Y * -1000, 0) | |
855 | con = heartbeat:Connect(function(delta) | |
856 | if target and (lastfling == target) and flingpart and flingpart0 and flingpart1 and att0 and att1 then | |
857 | flingpart.Orientation += rotchg * delta | |
858 | flingpart0.RotVelocity = rotVelocity | |
859 | else | |
860 | con:Disconnect() | |
861 | end | |
862 | end) | |
863 | if alignmode ~= 4 then | |
864 | local con = nil | |
865 | con = renderstepped:Connect(function() | |
866 | if flingpart0 and target then | |
867 | flingpart0.RotVelocity = v3_0 | |
868 | else | |
869 | con:Disconnect() | |
870 | end | |
871 | end) | |
872 | end | |
873 | twait(duration) | |
874 | if lastfling ~= target then | |
875 | if flingpart then | |
876 | if att1 and (att1.Parent == flingpart) then | |
877 | att1.Parent = flingpart1 | |
878 | end | |
879 | pcall(destroy, flingpart) | |
880 | end | |
881 | return | |
882 | end | |
883 | target = nil | |
884 | if not (flingpart and flingpart0 and flingpart1 and att0 and att1) then | |
885 | return | |
886 | end | |
887 | flingpart0.RotVelocity = v3_0 | |
888 | att1.Parent = flingpart1 | |
889 | pcall(destroy, flingpart) | |
890 | end | |
891 | end | |
892 | end | |
893 | ||
894 | lp:GetMouse().Button1Down:Connect(fling) --click fling | |
895 | ||
896 | local player=game:GetService("Players").LocalPlayer | |
897 | local char=player.Character | |
898 | local mouse=player:GetMouse() | |
899 | ||
900 | local m = Instance.new("Model") | |
901 | m.Name = "Flamethrower" | |
902 | p1 = Instance.new("Part", m) | |
903 | p1.BrickColor = BrickColor.new("Really black") | |
904 | p1.FormFactor = Enum.FormFactor.Custom | |
905 | p1.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003) | |
906 | p1.CFrame = CFrame.new(-4.31863213, 1.2999835, 26.8280258, 0.898792505, -0.438372105, 6.44474255e-007, 4.2475844e-007, -8.7068031e-007, 0.999996066, -0.438369185, -0.898793578, 7.74858847e-007) | |
907 | p1.CanCollide = false | |
908 | b1 = Instance.new("CylinderMesh", p1) | |
909 | b1.Name = "Mesh" | |
910 | b1.Scale = Vector3.new(0.699999988, 1, 1.39999998) | |
911 | p2 = Instance.new("Part", m) | |
912 | p2.BrickColor = BrickColor.new("Really black") | |
913 | p2.FormFactor = Enum.FormFactor.Custom | |
914 | p2.Size = Vector3.new(0.200000003, 0.799999952, 0.200000003) | |
915 | p2.CFrame = CFrame.new(-4.22384691, 1.29998171, 27.1336765, -0.945517242, 0.325569242, 6.44474255e-007, -5.4352688e-007, 9.19547631e-007, 0.999996066, 0.325566202, 0.945517898, 7.74858847e-007) | |
916 | p2.CanCollide = false | |
917 | b2 = Instance.new("CylinderMesh", p2) | |
918 | b2.Name = "Mesh" | |
919 | b2.Scale = Vector3.new(0.899999976, 1, 1.5) | |
920 | p3 = Instance.new("Part", m) | |
921 | p3.BrickColor = BrickColor.new("Black") | |
922 | p3.Material = Enum.Material.Grass | |
923 | p3.Name = "Handle2" | |
924 | p3.FormFactor = Enum.FormFactor.Custom | |
925 | p3.Size = Vector3.new(0.200000003, 0.400000006, 0.200000003) | |
926 | p3.CFrame = CFrame.new(-4.36384678, 1.48997498, 26.7136898, 0.998628676, -0.0523356572, 1.65257313e-006, 0.0505531132, 0.964598, 0.258818507, -0.0135439271, -0.258463174, 0.96592474) | |
927 | p3.CanCollide = false | |
928 | b3 = Instance.new("CylinderMesh", p3) | |
929 | b3.Name = "Mesh" | |
930 | b3.Scale = Vector3.new(0.699999988, 1, 1.39999998) | |
931 | p4 = Instance.new("Part", m) | |
932 | p4.BrickColor = BrickColor.new("Really black") | |
933 | p4.FormFactor = Enum.FormFactor.Custom | |
934 | p4.Size = Vector3.new(0.200000003, 0.200000003, 0.200000003) | |
935 | p4.CFrame = CFrame.new(-4.08384609, 1.29998279, 26.8336773, 6.66825997e-007, 1.56834642e-006, 0.999999166, 0.999996066, 6.85452505e-007, 7.1152931e-007, 8.0466117e-007, 0.999998689, 1.56834619e-006) | |
936 | p4.CanCollide = false | |
937 | b4 = Instance.new("CylinderMesh", p4) | |
938 | b4.Name = "Mesh" | |
939 | b4.Scale = Vector3.new(1.20000005, 0.5, 1.78999996) | |
940 | p5 = Instance.new("Part", m) | |
941 | p5.BrickColor = BrickColor.new("Really black") | |
942 | p5.FormFactor = Enum.FormFactor.Custom | |
943 | p5.Size = Vector3.new(0.200000003, 1.79999995, 0.200000003) | |
944 | p5.CFrame = CFrame.new(-4.08383894, 1.29998529, 27.6837158, 6.66825997e-007, 1.56834642e-006, 0.999999166, 0.999996066, 6.85452505e-007, 7.1152931e-007, 8.0466117e-007, 0.999998689, 1.56834619e-006) | |
945 | p5.CanCollide = false | |
946 | b5 = Instance.new("CylinderMesh", p5) | |
947 | b5.Name = "Mesh" | |
948 | b5.Scale = Vector3.new(1, 1, 1.70000005) | |
949 | p6 = Instance.new("Part", m) | |
950 | p6.BrickColor = BrickColor.new("Really black") | |
951 | p6.Size = Vector3.new(1, 1.20000005, 1) | |
952 | p6.CFrame = CFrame.new(-4.07870293, 1.24756896, 29.8614006, -0.0122325243, 0.00382106518, 0.999915302, 0.999817967, -0.0144664943, 0.0122870263, 0.0145196915, 0.999886394, -0.0036436012) | |
953 | p6.BottomSurface = Enum.SurfaceType.Smooth | |
954 | p6.TopSurface = Enum.SurfaceType.Smooth | |
955 | b6 = Instance.new("SpecialMesh", p6) | |
956 | b6.MeshType = Enum.MeshType.Brick | |
957 | b6.Name = "Mesh" | |
958 | b6.Scale = Vector3.new(0.461538464, 0.769230723, 0.461538464) | |
959 | b7 = Instance.new("CylinderMesh", p6) | |
960 | b7.Name = "Mesh" | |
961 | b7.Scale = Vector3.new(1, 0.899999976, 0.439999998) | |
962 | d1 = Instance.new("Decal", p6) | |
963 | d1.Texture = "http://www.roblox.com/asset/?id=85448092" | |
964 | d1.Face = Enum.NormalId.Top | |
965 | p7 = Instance.new("Part", m) | |
966 | p7.BrickColor = BrickColor.new("Institutional white") | |
967 | p7.Size = Vector3.new(1, 1.20000005, 1) | |
968 | p7.CFrame = CFrame.new(-4.08290291, 1.26348102, 28.7615242, -0.0122325243, 0.00382106518, 0.999915302, 0.999817967, -0.0144664943, 0.0122870263, 0.0145196915, 0.999886394, -0.0036436012) | |
969 | p7.BottomSurface = Enum.SurfaceType.Smooth | |
970 | p7.TopSurface = Enum.SurfaceType.Smooth | |
971 | b8 = Instance.new("SpecialMesh", p7) | |
972 | b8.MeshType = Enum.MeshType.Brick | |
973 | b8.Name = "Mesh" | |
974 | b8.Scale = Vector3.new(0.15384616, 1, 0.307692319) | |
975 | b9 = Instance.new("CylinderMesh", p7) | |
976 | b9.Name = "Mesh" | |
977 | b9.Scale = Vector3.new(1.70000005, 1.10000002, 0.300000012) | |
978 | p8 = Instance.new("Part", m) | |
979 | p8.BrickColor = BrickColor.new("Really black") | |
980 | p8.Name = "Barrel" | |
981 | p8.Size = Vector3.new(1, 1.20000005, 1) | |
982 | p8.CFrame = CFrame.new(-4.07320023, 1.24000597, 30.3669701, 0.999916196, 0.00121372147, 0.0126282591, 0.0122011788, 0.18082355, -0.983437181, -0.00347740925, 0.983514667, 0.180784032) | |
983 | p8.BottomSurface = Enum.SurfaceType.Smooth | |
984 | p8.TopSurface = Enum.SurfaceType.Smooth | |
985 | b10 = Instance.new("SpecialMesh", p8) | |
986 | b10.MeshId = "http://www.roblox.com/asset/?id=1091603" | |
987 | b10.TextureId = "" | |
988 | b10.MeshType = Enum.MeshType.FileMesh | |
989 | b10.Name = "Mesh" | |
990 | b10.Scale = Vector3.new(0.300000012, 0.300000012, 0.300000012) | |
991 | p9 = Instance.new("Part", m) | |
992 | p9.BrickColor = BrickColor.new("Really black") | |
993 | p9.FormFactor = Enum.FormFactor.Custom | |
994 | p9.Size = Vector3.new(0.288717359, 0.288717419, 0.288717419) | |
995 | p9.CFrame = CFrame.new(-4.12095404, 1.04495895, 29.1705666, 1, 0, 0, 0, 1, 0, 0, 0, 1) | |
996 | p9.BottomSurface = Enum.SurfaceType.Smooth | |
997 | p9.TopSurface = Enum.SurfaceType.Smooth | |
998 | b11 = Instance.new("SpecialMesh", p9) | |
999 | b11.MeshType = Enum.MeshType.Brick | |
1000 | b11.Name = "Mesh" | |
1001 | b11.Scale = Vector3.new(1.37011397, 0.164413691, 1.50712562) | |
1002 | p10 = Instance.new("Part", m) | |
1003 | p10.BrickColor = BrickColor.new("Institutional white") | |
1004 | p10.Size = Vector3.new(1, 1.20000005, 1) | |
1005 | p10.CFrame = CFrame.new(-4.07969093, 1.060624, 28.9585953, -0.999915302, -0.0122325243, -0.00382106518, -0.0122870263, 0.999817967, 0.0144664943, 0.0036436012, 0.0145196915, -0.999886394) | |
1006 | p10.BottomSurface = Enum.SurfaceType.Smooth | |
1007 | p10.TopSurface = Enum.SurfaceType.Smooth | |
1008 | b12 = Instance.new("SpecialMesh", p10) | |
1009 | b12.MeshType = Enum.MeshType.Brick | |
1010 | b12.Name = "Mesh" | |
1011 | b12.Scale = Vector3.new(0.15384616, 0.153846145, 1) | |
1012 | p11 = Instance.new("Part", m) | |
1013 | p11.BrickColor = BrickColor.new("Institutional white") | |
1014 | p11.Name = "Handle" | |
1015 | p11.Size = Vector3.new(1, 1.20000005, 1) | |
1016 | p11.CFrame = CFrame.new(-4.07311201, 0.707809985, 28.6968918, -0.999919653, 0.0111990925, 0.00594851235, -0.0121958125, -0.977798998, -0.209190041, 0.00347371167, -0.209245741, 0.977856994) | |
1017 | p11.BottomSurface = Enum.SurfaceType.Smooth | |
1018 | p11.TopSurface = Enum.SurfaceType.Smooth | |
1019 | b13 = Instance.new("SpecialMesh", p11) | |
1020 | b13.MeshType = Enum.MeshType.Brick | |
1021 | b13.Name = "Mesh" | |
1022 | b13.Scale = Vector3.new(0.15384616, 0.538461506, 0.307692319) | |
1023 | p12 = Instance.new("Part", m) | |
1024 | p12.BrickColor = BrickColor.new("Really black") | |
1025 | p12.FormFactor = Enum.FormFactor.Custom | |
1026 | p12.Size = Vector3.new(0.225199535, 0.22519955, 0.22519958) | |
1027 | p12.CFrame = CFrame.new(-4.08139706, 0.981667995, 29.0914536, 1, 0, 0, 0, 1, 0, 0, 0, 1) | |
1028 | p12.BottomSurface = Enum.SurfaceType.Smooth | |
1029 | p12.TopSurface = Enum.SurfaceType.Smooth | |
1030 | b14 = Instance.new("SpecialMesh", p12) | |
1031 | b14.MeshType = Enum.MeshType.Brick | |
1032 | b14.Name = "Mesh" | |
1033 | b14.Scale = Vector3.new(0.351311207, 0.351311326, 0.175655678) | |
1034 | p13 = Instance.new("Part", m) | |
1035 | p13.BrickColor = BrickColor.new("Really black") | |
1036 | p13.FormFactor = Enum.FormFactor.Custom | |
1037 | p13.Size = Vector3.new(0.225199535, 0.22519955, 0.22519958) | |
1038 | p13.CFrame = CFrame.new(-4.08139706, 0.882772982, 29.1310101, -1, 0, 0, 0, 1, 0, 0, 0, -1) | |
1039 | p13.BottomSurface = Enum.SurfaceType.Smooth | |
1040 | p13.TopSurface = Enum.SurfaceType.Smooth | |
1041 | b15 = Instance.new("SpecialMesh", p13) | |
1042 | b15.MeshType = Enum.MeshType.Wedge | |
1043 | b15.Name = "Mesh" | |
1044 | b15.Scale = Vector3.new(0.351311207, 0.175655663, 0.175655678) | |
1045 | p14 = Instance.new("Part", m) | |
1046 | p14.BrickColor = BrickColor.new("Really black") | |
1047 | p14.FormFactor = Enum.FormFactor.Custom | |
1048 | p14.Size = Vector3.new(0.225199535, 0.22519955, 0.22519958) | |
1049 | p14.CFrame = CFrame.new(-4.08139706, 0.882772982, 29.2496853, 1, 0, 0, 0, 1, 0, 0, 0, 1) | |
1050 | p14.BottomSurface = Enum.SurfaceType.Smooth | |
1051 | p14.TopSurface = Enum.SurfaceType.Smooth | |
1052 | b16 = Instance.new("SpecialMesh", p14) | |
1053 | b16.MeshType = Enum.MeshType.Wedge | |
1054 | b16.Name = "Mesh" | |
1055 | b16.Scale = Vector3.new(0.351311207, 0.175655663, 0.175655678) | |
1056 | p15 = Instance.new("Part", m) | |
1057 | p15.BrickColor = BrickColor.new("Really black") | |
1058 | p15.FormFactor = Enum.FormFactor.Custom | |
1059 | p15.Size = Vector3.new(0.225199535, 0.22519955, 0.22519958) | |
1060 | p15.CFrame = CFrame.new(-4.08139706, 0.922330976, 29.0914536, 1, 0, 0, 0, 1, 0, 0, 0, 1) | |
1061 | p15.BottomSurface = Enum.SurfaceType.Smooth | |
1062 | p15.TopSurface = Enum.SurfaceType.Smooth | |
1063 | b17 = Instance.new("SpecialMesh", p15) | |
1064 | b17.MeshType = Enum.MeshType.Brick | |
1065 | b17.Name = "Mesh" | |
1066 | b17.Scale = Vector3.new(0.351311207, 0.175655663, 0.175655678) | |
1067 | p16 = Instance.new("Part", m) | |
1068 | p16.BrickColor = BrickColor.new("Really black") | |
1069 | p16.FormFactor = Enum.FormFactor.Custom | |
1070 | p16.Size = Vector3.new(0.225199535, 0.22519955, 0.22519958) | |
1071 | p16.CFrame = CFrame.new(-4.12095404, 0.831354022, 28.9332237, 1, 4.23044048e-006, -3.67623443e-006, 4.23044048e-006, 1, 1.40141863e-008, -3.67623443e-006, 1.40141863e-008, 1) | |
1072 | p16.BottomSurface = Enum.SurfaceType.Smooth | |
1073 | p16.TopSurface = Enum.SurfaceType.Smooth | |
1074 | b18 = Instance.new("SpecialMesh", p16) | |
1075 | b18.MeshType = Enum.MeshType.Wedge | |
1076 | b18.Name = "Mesh" | |
1077 | b18.Scale = Vector3.new(1.75655627, 1.68629432, 0.175655678) | |
1078 | p17 = Instance.new("Part", m) | |
1079 | p17.BrickColor = BrickColor.new("Really black") | |
1080 | p17.FormFactor = Enum.FormFactor.Custom | |
1081 | p17.Size = Vector3.new(0.225199535, 0.22519955, 0.22519958) | |
1082 | p17.CFrame = CFrame.new(-4.12095404, 0.878817022, 28.9727783, 1, 0, 0, 0, 1, 0, 0, 0, 1) | |
1083 | p17.BottomSurface = Enum.SurfaceType.Smooth | |
1084 | p17.TopSurface = Enum.SurfaceType.Smooth | |
1085 | b19 = Instance.new("SpecialMesh", p17) | |
1086 | b19.MeshType = Enum.MeshType.Brick | |
1087 | b19.Name = "Mesh" | |
1088 | b19.Scale = Vector3.new(1.75655627, 1.2647208, 0.175655678) | |
1089 | p18 = Instance.new("Part", m) | |
1090 | p18.BrickColor = BrickColor.new("Really black") | |
1091 | p18.FormFactor = Enum.FormFactor.Custom | |
1092 | p18.Size = Vector3.new(0.225199535, 0.22519955, 0.22519958) | |
1093 | p18.CFrame = CFrame.new(-4.08139706, 0.882772982, 29.0914536, 1, 0, 0, 0, 1, 0, 0, 0, 1) | |
1094 | p18.BottomSurface = Enum.SurfaceType.Smooth | |
1095 | p18.TopSurface = Enum.SurfaceType.Smooth | |
1096 | b20 = Instance.new("SpecialMesh", p18) | |
1097 | b20.MeshType = Enum.MeshType.Brick | |
1098 | b20.Name = "Mesh" | |
1099 | b20.Scale = Vector3.new(0.351311207, 0.175655663, 0.175655678) | |
1100 | p19 = Instance.new("Part", m) | |
1101 | p19.BrickColor = BrickColor.new("Really black") | |
1102 | p19.FormFactor = Enum.FormFactor.Custom | |
1103 | p19.Size = Vector3.new(0.799999356, 0.200000003, 0.399999857) | |
1104 | p19.CFrame = CFrame.new(-4.08384228, 0.900013506, 26.983717, -9.93235176e-007, 0.999998927, 1.46056539e-006, -0.987684608, 6.33298328e-007, -0.156433105, -0.156434968, 1.56834574e-006, 0.987686932) | |
1105 | p19.CanCollide = false | |
1106 | b21 = Instance.new("BlockMesh", p19) | |
1107 | b21.Name = "Mesh" | |
1108 | b21.Scale = Vector3.new(1, 1, 0.699999988) | |
1109 | p20 = Instance.new("Part", m) | |
1110 | p20.BrickColor = BrickColor.new("Really black") | |
1111 | p20.FormFactor = Enum.FormFactor.Custom | |
1112 | p20.Size = Vector3.new(0.225199535, 0.22519955, 0.22519958) | |
1113 | p20.CFrame = CFrame.new(-4.12095404, 0.700815022, 29.0321178, 1, -5.8353038e-008, -6.71499549e-008, 6.71499549e-008, 2.22569144e-010, -1, -5.8353038e-008, 1, -2.22569144e-010) | |
1114 | p20.BottomSurface = Enum.SurfaceType.Smooth | |
1115 | p20.TopSurface = Enum.SurfaceType.Smooth | |
1116 | b22 = Instance.new("SpecialMesh", p20) | |
1117 | b22.MeshType = Enum.MeshType.Wedge | |
1118 | b22.Name = "Mesh" | |
1119 | b22.Scale = Vector3.new(1.75655627, 0.702622652, 0.175655678) | |
1120 | p21 = Instance.new("Part", m) | |
1121 | p21.BrickColor = BrickColor.new("Really black") | |
1122 | p21.FormFactor = Enum.FormFactor.Custom | |
1123 | p21.Size = Vector3.new(0.225199535, 0.22519955, 0.22519958) | |
1124 | p21.CFrame = CFrame.new(-4.12095404, 0.700815022, 29.3090191, -1, -0, -0, -0, -0, -1, -0, -1, -0) | |
1125 | p21.BottomSurface = Enum.SurfaceType.Smooth | |
1126 | p21.TopSurface = Enum.SurfaceType.Smooth | |
1127 | b23 = Instance.new("SpecialMesh", p21) | |
1128 | b23.MeshType = Enum.MeshType.Wedge | |
1129 | b23.Name = "Mesh" | |
1130 | b23.Scale = Vector3.new(1.75655627, 0.702622652, 0.175655678) | |
1131 | p22 = Instance.new("Part", m) | |
1132 | p22.BrickColor = BrickColor.new("Really black") | |
1133 | p22.FormFactor = Enum.FormFactor.Custom | |
1134 | p22.Size = Vector3.new(0.799999356, 0.200000003, 0.200000003) | |
1135 | p22.CFrame = CFrame.new(-4.08384562, 0.887999296, 27.1074524, -9.93235176e-007, 0.999998927, 1.46056539e-006, -0.987684608, 6.33298328e-007, -0.156433105, -0.156434968, 1.56834574e-006, 0.987686932) | |
1136 | p22.CanCollide = false | |
1137 | b24 = Instance.new("BlockMesh", p22) | |
1138 | b24.Name = "Mesh" | |
1139 | b24.Scale = Vector3.new(1, 0.300000012, 0.899999976) | |
1140 | p23 = Instance.new("Part", m) | |
1141 | p23.BrickColor = BrickColor.new("Really black") | |
1142 | p23.FormFactor = Enum.FormFactor.Custom | |
1143 | p23.Size = Vector3.new(0.225199535, 0.22519955, 0.22519958) | |
1144 | p23.CFrame = CFrame.new(-4.08139706, 0.843216002, 29.1705666, 1, 0, 0, 0, 1, 0, 0, 0, 1) | |
1145 | p23.BottomSurface = Enum.SurfaceType.Smooth | |
1146 | p23.TopSurface = Enum.SurfaceType.Smooth | |
1147 | b25 = Instance.new("SpecialMesh", p23) | |
1148 | b25.MeshType = Enum.MeshType.Brick | |
1149 | b25.Name = "Mesh" | |
1150 | b25.Scale = Vector3.new(0.351311207, 0.175655663, 0.878278494) | |
1151 | p24 = Instance.new("Part", m) | |
1152 | p24.BrickColor = BrickColor.new("Really black") | |
1153 | p24.FormFactor = Enum.FormFactor.Custom | |
1154 | p24.Size = Vector3.new(0.474551886, 0.474551976, 0.474551976) | |
1155 | p24.CFrame = CFrame.new(-4.14073181, 0.728498995, 28.9727783, 1, 0, 0, 0, 1, 0, 0, 0, 1) | |
1156 | p24.BottomSurface = Enum.SurfaceType.Smooth | |
1157 | p24.TopSurface = Enum.SurfaceType.Smooth | |
1158 | b26 = Instance.new("SpecialMesh", p24) | |
1159 | b26.MeshType = Enum.MeshType.Brick | |
1160 | b26.Name = "Mesh" | |
1161 | b26.Scale = Vector3.new(0.750219524, 0.0333430953, 0.0833577439) | |
1162 | p25 = Instance.new("Part", m) | |
1163 | p25.BrickColor = BrickColor.new("Really black") | |
1164 | p25.FormFactor = Enum.FormFactor.Custom | |
1165 | p25.Size = Vector3.new(0.225199535, 0.22519955, 0.22519958) | |
1166 | p25.CFrame = CFrame.new(-4.12095404, 0.661257982, 29.1705666, 1, 0, 0, 0, 1, 0, 0, 0, 1) | |
1167 | p25.BottomSurface = Enum.SurfaceType.Smooth | |
1168 | p25.TopSurface = Enum.SurfaceType.Smooth | |
1169 | b27 = Instance.new("SpecialMesh", p25) | |
1170 | b27.MeshType = Enum.MeshType.Brick | |
1171 | b27.Name = "Mesh" | |
1172 | b27.Scale = Vector3.new(1.75655627, 0.175655663, 1.93221235) | |
1173 | p26 = Instance.new("Part", m) | |
1174 | p26.BrickColor = BrickColor.new("Really black") | |
1175 | p26.FormFactor = Enum.FormFactor.Custom | |
1176 | p26.Size = Vector3.new(0.474551886, 0.474551976, 0.474551976) | |
1177 | p26.CFrame = CFrame.new(-4.12095404, 0.601921976, 29.1705666, 1, -0, 0, 0, -0, 1, 0, -1, 0) | |
1178 | p26.BottomSurface = Enum.SurfaceType.Smooth | |
1179 | p26.TopSurface = Enum.SurfaceType.Smooth | |
1180 | b28 = Instance.new("SpecialMesh", p26) | |
1181 | b28.MeshType = Enum.MeshType.Wedge | |
1182 | b28.Name = "Mesh" | |
1183 | b28.Scale = Vector3.new(0.833577335, 0.916935086, 0.166715518) | |
1184 | p27 = Instance.new("Part", m) | |
1185 | p27.BrickColor = BrickColor.new("Dark stone grey") | |
1186 | p27.Transparency = 1 | |
1187 | p27.Name = "Handle3" | |
1188 | p27.FormFactor = Enum.FormFactor.Custom | |
1189 | p27.Size = Vector3.new(1, 1.4000001, 0.200000033) | |
1190 | p27.CFrame = CFrame.new(-4.08382893, 0.999998987, 28.0838623, 0.999999404, -1.18091657e-006, 5.96045709e-007, 5.96045652e-007, -6.55650126e-007, 0.999996662, 1.18091657e-006, -0.999998808, 6.55650069e-007) | |
1191 | p27.BottomSurface = Enum.SurfaceType.Smooth | |
1192 | p27.TopSurface = Enum.SurfaceType.Smooth | |
1193 | b29 = Instance.new("SpecialMesh", p27) | |
1194 | b29.MeshType = Enum.MeshType.Wedge | |
1195 | b29.Name = "Mesh" | |
1196 | b29.Scale = Vector3.new(0.25, 0.25, 0.200000003) | |
1197 | m.Parent = char | |
1198 | m:MakeJoints() | |
1199 | ||
1200 | ||
1201 | local m2 = Instance.new("Model") | |
1202 | m2.Name = "Fueltank" | |
1203 | p1 = Instance.new("Part", m2) | |
1204 | p1.BrickColor = BrickColor.new("Black") | |
1205 | p1.FormFactor = Enum.FormFactor.Custom | |
1206 | p1.Size = Vector3.new(0.400000036, 0.200000003, 0.200000003) | |
1207 | p1.CFrame = CFrame.new(-0.283439994, 0.479694009, -15.516386, 1.56834642e-006, -6.78001982e-007, 0.999999046, 5.96045879e-007, -0.999996066, 6.63100707e-007, 0.999998689, -8.64265758e-007, 1.59814817e-006) | |
1208 | b1 = Instance.new("CylinderMesh", p1) | |
1209 | b1.Name = "Mesh" | |
1210 | b1.Scale = Vector3.new(2, 1.5, 1) | |
1211 | p2 = Instance.new("Part", m2) | |
1212 | p2.BrickColor = BrickColor.new("Institutional white") | |
1213 | p2.Material = Enum.Material.Neon | |
1214 | p2.Name = "ChangeColor" | |
1215 | p2.FormFactor = Enum.FormFactor.Custom | |
1216 | p2.Size = Vector3.new(0.400000036, 1.19999981, 1) | |
1217 | p2.CFrame = CFrame.new(0.116168, 1.10000396, -15.0161295, 1.56834642e-006, -6.78001982e-007, 0.999999046, 5.96045879e-007, -0.999996066, 6.63100707e-007, 0.999998689, -8.64265758e-007, 1.59814817e-006) | |
1218 | p2.CanCollide = false | |
1219 | b2 = Instance.new("CylinderMesh", p2) | |
1220 | b2.Name = "Mesh" | |
1221 | b2.Scale = Vector3.new(2, 1, 1) | |
1222 | p3 = Instance.new("Part", m2) | |
1223 | p3.BrickColor = BrickColor.new("Mid gray") | |
1224 | p3.Material = Enum.Material.Neon | |
1225 | p3.Name = "FuelCenter" | |
1226 | p3.FormFactor = Enum.FormFactor.Custom | |
1227 | p3.Size = Vector3.new(0.400000036, 0.799999833, 1) | |
1228 | p3.CFrame = CFrame.new(-0.283439994, 1.19967496, -15.5163736, 1.56834642e-006, -6.78001982e-007, 0.999999046, 5.96045879e-007, -0.999996066, 6.63100707e-007, 0.999998689, -8.64265758e-007, 1.59814817e-006) | |
1229 | b3 = Instance.new("CylinderMesh", p3) | |
1230 | b3.Name = "Mesh" | |
1231 | b3.Scale = Vector3.new(1.39999998, 1, 1) | |
1232 | p4 = Instance.new("Part", m2) | |
1233 | p4.BrickColor = BrickColor.new("Really black") | |
1234 | p4.FormFactor = Enum.FormFactor.Custom | |
1235 | p4.Size = Vector3.new(0.799999356, 0.799999356, 0.799999356) | |
1236 | p4.CFrame = CFrame.new(0.125933915, 0.449839592, -15.0262089, 0.000333837903, 0.000261210633, 0.999998927, -0.999996006, -5.68053565e-007, 0.000335178163, -7.72354667e-007, -0.999998629, 0.000264377333) | |
1237 | p4.BottomSurface = Enum.SurfaceType.Smooth | |
1238 | p4.TopSurface = Enum.SurfaceType.Smooth | |
1239 | b4 = Instance.new("SpecialMesh", p4) | |
1240 | b4.MeshType = Enum.MeshType.Sphere | |
1241 | b4.Name = "Mesh" | |
1242 | p5 = Instance.new("Part", m2) | |
1243 | p5.BrickColor = BrickColor.new("Really black") | |
1244 | p5.FormFactor = Enum.FormFactor.Custom | |
1245 | p5.Size = Vector3.new(0.799999356, 0.799999356, 0.799999356) | |
1246 | p5.CFrame = CFrame.new(-0.283836007, 1.60003495, -15.5161457, -6.74276521e-007, -1.59814874e-006, 0.999998927, -0.999996066, -5.96045879e-007, 6.44474198e-007, -7.74858904e-007, -0.999998748, 1.56834574e-006) | |
1247 | p5.BottomSurface = Enum.SurfaceType.Smooth | |
1248 | p5.TopSurface = Enum.SurfaceType.Smooth | |
1249 | b5 = Instance.new("SpecialMesh", p5) | |
1250 | b5.MeshType = Enum.MeshType.Sphere | |
1251 | b5.Name = "Mesh" | |
1252 | b5.Scale = Vector3.new(0.709999979, 0.709999979, 0.709999979) | |
1253 | p6 = Instance.new("Part", m2) | |
1254 | p6.BrickColor = BrickColor.new("Really black") | |
1255 | p6.FormFactor = Enum.FormFactor.Custom | |
1256 | p6.Size = Vector3.new(0.400000036, 0.200000003, 0.200000003) | |
1257 | p6.CFrame = CFrame.new(0.116157003, 2.09999895, -15.0161324, 1.5385441e-006, -6.66825883e-007, 0.999999046, 6.85452505e-007, -0.999996066, 6.74276464e-007, 0.999998748, -7.15254316e-007, 1.53854353e-006) | |
1258 | b6 = Instance.new("CylinderMesh", p6) | |
1259 | b6.Name = "Mesh" | |
1260 | b6.Scale = Vector3.new(2, 1, 1) | |
1261 | p7 = Instance.new("Part", m2) | |
1262 | p7.BrickColor = BrickColor.new("Really black") | |
1263 | p7.FormFactor = Enum.FormFactor.Custom | |
1264 | p7.Size = Vector3.new(0.799999356, 0.799999356, 0.799999356) | |
1265 | p7.CFrame = CFrame.new(0.116163999, 1.70000398, -15.0161362, 1.56834642e-006, -6.78001982e-007, 0.999999046, 5.96045879e-007, -0.999996066, 6.63100707e-007, 0.999998689, -8.64265758e-007, 1.59814817e-006) | |
1266 | p7.BottomSurface = Enum.SurfaceType.Smooth | |
1267 | p7.TopSurface = Enum.SurfaceType.Smooth | |
1268 | b7 = Instance.new("SpecialMesh", p7) | |
1269 | b7.MeshType = Enum.MeshType.Sphere | |
1270 | b7.Name = "Mesh" | |
1271 | p8 = Instance.new("Part", m2) | |
1272 | p8.BrickColor = BrickColor.new("Really black") | |
1273 | p8.FormFactor = Enum.FormFactor.Custom | |
1274 | p8.Size = Vector3.new(0.799999356, 0.799999356, 0.799999356) | |
1275 | p8.CFrame = CFrame.new(-0.283437014, 0.779699028, -15.5163822, -6.74276521e-007, -1.59814874e-006, 0.999998927, -0.999996066, -5.96045879e-007, 6.44474198e-007, -7.74858904e-007, -0.999998748, 1.56834574e-006) | |
1276 | p8.BottomSurface = Enum.SurfaceType.Smooth | |
1277 | p8.TopSurface = Enum.SurfaceType.Smooth | |
1278 | b8 = Instance.new("SpecialMesh", p8) | |
1279 | b8.MeshType = Enum.MeshType.Sphere | |
1280 | b8.Name = "Mesh" | |
1281 | b8.Scale = Vector3.new(0.709999979, 0.709999979, 0.709999979) | |
1282 | p9 = Instance.new("Part", m2) | |
1283 | p9.BrickColor = BrickColor.new("Really black") | |
1284 | p9.FormFactor = Enum.FormFactor.Custom | |
1285 | p9.Size = Vector3.new(0.400000036, 0.200000003, 0.200000003) | |
1286 | p9.CFrame = CFrame.new(-0.28343299, 0.279718012, -15.5163898, 7.71134239e-007, 0.999998987, -1.59814874e-006, 0.999996066, 6.18397394e-007, -5.96045879e-007, 9.23870459e-007, 1.59814817e-006, -0.999998748) | |
1287 | b9 = Instance.new("CylinderMesh", p9) | |
1288 | b9.Name = "Mesh" | |
1289 | b9.Scale = Vector3.new(2, 1.5, 1) | |
1290 | p10 = Instance.new("Part", m2) | |
1291 | p10.BrickColor = BrickColor.new("Really black") | |
1292 | p10.FormFactor = Enum.FormFactor.Custom | |
1293 | p10.Size = Vector3.new(0.799999356, 0.799999356, 0.799999356) | |
1294 | p10.CFrame = CFrame.new(-0.68383199, 1.701056, -15.012146, -5.82017606e-007, 0.000486697129, 0.999998808, -0.999639988, -0.026683826, 1.37168181e-005, 0.0266824923, -0.999642611, 0.000489670201) | |
1295 | p10.BottomSurface = Enum.SurfaceType.Smooth | |
1296 | p10.TopSurface = Enum.SurfaceType.Smooth | |
1297 | b10 = Instance.new("SpecialMesh", p10) | |
1298 | b10.MeshType = Enum.MeshType.Sphere | |
1299 | b10.Name = "Mesh" | |
1300 | p11 = Instance.new("Part", m2) | |
1301 | p11.BrickColor = BrickColor.new("Institutional white") | |
1302 | p11.Material = Enum.Material.Neon | |
1303 | p11.Name = "ChangeColor2" | |
1304 | p11.FormFactor = Enum.FormFactor.Custom | |
1305 | p11.Size = Vector3.new(0.400000036, 1.19999981, 1) | |
1306 | p11.CFrame = CFrame.new(-0.683839977, 1.100003, -15.0161276, 1.3895326e-006, -6.48199716e-007, 0.999999166, 5.66243557e-007, -0.999996305, 6.33298498e-007, 0.999998689, -8.34463606e-007, 1.4491369e-006) | |
1307 | p11.CanCollide = false | |
1308 | b11 = Instance.new("CylinderMesh", p11) | |
1309 | b11.Name = "Mesh" | |
1310 | b11.Scale = Vector3.new(2, 1, 1) | |
1311 | p12 = Instance.new("Part", m2) | |
1312 | p12.BrickColor = BrickColor.new("Really black") | |
1313 | p12.FormFactor = Enum.FormFactor.Custom | |
1314 | p12.Size = Vector3.new(0.400000036, 0.200000003, 0.200000003) | |
1315 | p12.CFrame = CFrame.new(-0.683830023, 2.10087895, -15.0254364, -0.000486697129, -7.13852432e-006, 0.999998868, 0.0266838577, -0.999639928, 7.20503476e-006, 0.999642491, 0.0266825818, 0.00048978941) | |
1316 | b12 = Instance.new("CylinderMesh", p12) | |
1317 | b12.Name = "Mesh" | |
1318 | b12.Scale = Vector3.new(2, 1, 1) | |
1319 | p13 = Instance.new("Part", m2) | |
1320 | p13.BrickColor = BrickColor.new("Really black") | |
1321 | p13.FormFactor = Enum.FormFactor.Custom | |
1322 | p13.Size = Vector3.new(0.799999356, 0.799999356, 0.799999356) | |
1323 | p13.CFrame = CFrame.new(-0.683435977, 0.499675006, -15.0163736, -6.74276521e-007, -1.59814874e-006, 0.999998927, -0.999996066, -5.96045879e-007, 6.44474198e-007, -7.74858904e-007, -0.999998748, 1.56834574e-006) | |
1324 | p13.BottomSurface = Enum.SurfaceType.Smooth | |
1325 | p13.TopSurface = Enum.SurfaceType.Smooth | |
1326 | b13 = Instance.new("SpecialMesh", p13) | |
1327 | b13.MeshType = Enum.MeshType.Sphere | |
1328 | b13.Name = "Mesh" | |
1329 | m2.Parent = char | |
1330 | m2:MakeJoints() | |
1331 | ||
1332 | local prev | |
1333 | local parts = char.Fueltank:GetChildren() | |
1334 | ||
1335 | for i = 1,#parts do | |
1336 | if (parts[i].className == "Part") or (parts[i].className == "WedgePart") or (parts[i].className == "Seat") or (parts[i].className == "VehicleSeat") or (parts[i].className == "CornerWedgePart") then | |
1337 | if (prev ~= nil)then | |
1338 | local weld = Instance.new("Weld") | |
1339 | weld.Part0 = prev | |
1340 | weld.Part1 = parts[i] | |
1341 | weld.C0 = prev.CFrame:inverse() | |
1342 | weld.C1 = parts[i].CFrame:inverse() | |
1343 | weld.Parent = prev | |
1344 | end | |
1345 | prev = parts[i] | |
1346 | end | |
1347 | end | |
1348 | ||
1349 | local prev | |
1350 | local parts = char.Flamethrower:GetChildren() | |
1351 | ||
1352 | for i = 1,#parts do | |
1353 | if (parts[i].className == "Part") or (parts[i].className == "WedgePart") or (parts[i].className == "Seat") or (parts[i].className == "VehicleSeat") or (parts[i].className == "CornerWedgePart") then | |
1354 | if (prev ~= nil)then | |
1355 | local weld = Instance.new("Weld") | |
1356 | weld.Part0 = prev | |
1357 | weld.Part1 = parts[i] | |
1358 | weld.C0 = prev.CFrame:inverse() | |
1359 | weld.C1 = parts[i].CFrame:inverse() | |
1360 | weld.Parent = prev | |
1361 | end | |
1362 | prev = parts[i] | |
1363 | end | |
1364 | end | |
1365 | ||
1366 | char.Fueltank.FuelCenter.CFrame = CFrame.new(char.Torso.Position) | |
1367 | ||
1368 | local arms = nil | |
1369 | local torso = nil | |
1370 | local welds = {} | |
1371 | ||
1372 | arms = {char:FindFirstChild("Left Arm"), char:FindFirstChild("Right Arm")} | |
1373 | torso = char:FindFirstChild("Torso") | |
1374 | if arms ~= nil and torso ~= nil then | |
1375 | local sh = {torso:FindFirstChild("Left Shoulder"), torso:FindFirstChild("Right Shoulder")} | |
1376 | if sh ~= nil then | |
1377 | local yes = true | |
1378 | if yes then | |
1379 | yes = false | |
1380 | sh[1].Part1 = nil | |
1381 | sh[2].Part1 = nil | |
1382 | local weld1 = Instance.new("Weld") | |
1383 | weld1.Part0 = torso | |
1384 | weld1.Parent = torso | |
1385 | weld1.Part1 = arms[1] | |
1386 | weld1.C1 = CFrame.new(-0.249, 1.35, 0.6) * CFrame.fromEulerAnglesXYZ(math.rad(290), 0, math.rad(-90)) | |
1387 | welds[1] = weld1 | |
1388 | local weld2 = Instance.new("Weld") | |
1389 | weld2.Part0 = torso | |
1390 | weld2.Parent = torso | |
1391 | weld2.Part1 = arms[2] | |
1392 | weld2.C1 = CFrame.new(-1, -0.2, 0.35) * CFrame.fromEulerAnglesXYZ(math.rad(-90), math.rad(-15), 0) | |
1393 | welds[2] = weld2 | |
1394 | end | |
1395 | end | |
1396 | end | |
1397 | ||
1398 | char.Flamethrower.Handle.CFrame = CFrame.new(char["Left Arm"].Position) | |
1399 | ||
1400 | local SWeld = Instance.new("Weld",char.Fueltank.FuelCenter) | |
1401 | SWeld.Name = "SWeld" | |
1402 | SWeld.Part0 = char.Fueltank.FuelCenter | |
1403 | SWeld.Part1 = char.Torso | |
1404 | SWeld.C0 = CFrame.new(1.35,0,0)*CFrame.fromEulerAnglesXYZ(0,-7.9,59.68) | |
1405 | ||
1406 | local SWeld2 = Instance.new("Weld",char.Flamethrower.Handle) | |
1407 | SWeld2.Name = "SWeld2" | |
1408 | SWeld2.Part0 = char.Flamethrower.Handle | |
1409 | SWeld2.Part1 = char["Left Arm"] | |
1410 | SWeld2.C0 = CFrame.new(-.70,0,-1)*CFrame.Angles(5,7.8,0) | |
1411 | ||
1412 | local auto = 0 | |
1413 | ||
1414 | ||
1415 | local s1=Instance.new("Sound") | |
1416 | s1.SoundId="http://www.roblox.com/asset/?id=260131404" | |
1417 | s1.PlayOnRemove=false | |
1418 | s1.Volume=100 | |
1419 | s1.Looped=false | |
1420 | s1.Pitch = 1 | |
1421 | s1.Parent=char.Flamethrower.Handle | |
1422 | ||
1423 | local s2=Instance.new("Sound") | |
1424 | s2.SoundId="http://www.roblox.com/asset/?id=260131485" | |
1425 | s2.PlayOnRemove=false | |
1426 | s2.Volume=100 | |
1427 | s2.Looped=true | |
1428 | s2.Pitch = 1 | |
1429 | s2.Parent=char.Flamethrower.Handle | |
1430 | ||
1431 | local s3=Instance.new("Sound") | |
1432 | s3.SoundId="http://www.roblox.com/asset/?id=260131519" | |
1433 | s3.PlayOnRemove=false | |
1434 | s3.Volume=100 | |
1435 | s3.Looped=false | |
1436 | s3.Pitch = 1 | |
1437 | s3.Parent=char.Flamethrower.Handle | |
1438 | ||
1439 | mouse.Button1Down:connect(function() | |
1440 | if auto == 0 then | |
1441 | s1:Stop() | |
1442 | s2:Stop() | |
1443 | end | |
1444 | if auto == 1 then | |
1445 | s1:Play() | |
1446 | s1:Stop() | |
1447 | s2:Play() | |
1448 | end | |
1449 | end) | |
1450 | ||
1451 | mouse.Button1Up:connect(function() | |
1452 | if auto == 0 then | |
1453 | s1:Stop() | |
1454 | s2:Stop() | |
1455 | s3:Play() | |
1456 | if auto == 1 then | |
1457 | s1:Stop() | |
1458 | s2:Stop() | |
1459 | s3:Stop() | |
1460 | end | |
1461 | end | |
1462 | end) | |
1463 | ||
1464 | local burning = false | |
1465 | local burning2 = false | |
1466 | ||
1467 | mouse.Button1Down:connect(function() | |
1468 | SWeld2.C0 = CFrame.new(-.70,0,-.80)*CFrame.Angles(5,7.8,0) | |
1469 | char.Fueltank.ChangeColor.BrickColor = BrickColor.New("Really red") | |
1470 | char.Fueltank.ChangeColor2.BrickColor = BrickColor.New("Really red") | |
1471 | char.Fueltank.FuelCenter.BrickColor = BrickColor.New("Really red") | |
1472 | end) | |
1473 | ||
1474 | mouse.Button1Down:connect(function() | |
1475 | auto = 1 | |
1476 | while auto == 1 do | |
1477 | wait(.20) | |
1478 | local smoke = Instance.new("Smoke",char.Flamethrower.Barrel) | |
1479 | game.Debris:AddItem(smoke,1) | |
1480 | local bullet = Instance.new("Part",workspace) | |
1481 | game.Debris:AddItem(bullet,.90) | |
1482 | bullet.Size = Vector3.new(2,2,2) | |
1483 | bullet.Shape = "Ball" | |
1484 | bullet.Transparency = 1 | |
1485 | bullet.CanCollide = false | |
1486 | bullet.Name = "bullet" | |
1487 | bullet.CFrame = char.Flamethrower.Barrel.CFrame*CFrame.new(0,3,0) | |
1488 | local fire = Instance.new("Fire",bullet) | |
1489 | local light = Instance.new("PointLight", bullet) | |
1490 | light.Range = 5 | |
1491 | light.Brightness = 20 | |
1492 | light.Color = Color3.new(255, 85, 0) | |
1493 | local bvelocity = Instance.new("BodyVelocity",bullet) | |
1494 | bvelocity.maxForce = Vector3.new(math.huge,math.huge,850) | |
1495 | bvelocity.velocity = mouse.Hit.lookVector*47 | |
1496 | bullet.Touched:connect(function(hit) | |
1497 | if hit.Parent:FindFirstChild("Humanoid") then | |
1498 | local fire1 = Instance.new("Fire",hit.Parent.Torso) | |
1499 | game.Debris:AddItem(fire1,3) | |
1500 | hit.Parent.Humanoid:TakeDamage(math.random(0.52,0.65)) | |
1501 | wait(.30) | |
1502 | hit.Parent.Humanoid:TakeDamage(math.random(0.53,0.66)) | |
1503 | wait(.30) | |
1504 | hit.Parent.Humanoid:TakeDamage(math.random(0.54,0.67)) | |
1505 | elseif hit.Parent:FindFirstChild("Humanoid") == nil and not hit.Name:lower():find("base") and not hit.Name:lower():find("Base") and not hit.Name:lower():find("Baseplate") then | |
1506 | local fire2 = Instance.new("Fire",hit) | |
1507 | wait(3) | |
1508 | hit.Transparency = .25 | |
1509 | wait(1) | |
1510 | hit.Transparency = .50 | |
1511 | hit.BrickColor = BrickColor.new("Really black") | |
1512 | wait(2) | |
1513 | hit.Transparency = .75 | |
1514 | wait(1) | |
1515 | hit.Transparency = 1 | |
1516 | fire2:Destroy() | |
1517 | wait(.01) | |
1518 | hit:Destroy() | |
1519 | end | |
1520 | if hit.Parent:FindFirstChild("Humanoid") and hit.Parent.Torso:FindFirstChild("Fire") then | |
1521 | burning = true | |
1522 | if burning == true then | |
1523 | while burning do | |
1524 | wait(.80) | |
1525 | hit.Parent.Humanoid:TakeDamage(.44) | |
1526 | if hit.Parent.Torso:FindFirstChild("Fire")==nil then | |
1527 | burning = false | |
1528 | end | |
1529 | end | |
1530 | end | |
1531 | end | |
1532 | end) | |
1533 | end | |
1534 | end) | |
1535 | ||
1536 | mouse.Button1Up:connect(function() | |
1537 | SWeld2.C0 = CFrame.new(-.70,0,-1)*CFrame.Angles(5,7.8,0) | |
1538 | auto = 0 | |
1539 | char.Fueltank.ChangeColor.BrickColor = BrickColor.New("Institutional white") | |
1540 | char.Fueltank.ChangeColor2.BrickColor = BrickColor.New("Institutional white") | |
1541 | char.Fueltank.FuelCenter.BrickColor = BrickColor.New("Institutional white") | |
1542 | if char.Flamethrower.Barrel:FindFirstChild("Smoke") then | |
1543 | char.Flamethrower.Barrel.Smoke:Remove() | |
1544 | end | |
1545 | end) |