LelXD

Test 1

Feb 11th, 2016
235
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 118.40 KB | None | 0 0
  1. --Created with ttyyuu12345's compiler
  2. --Errors:
  3. Create = function(itemClass,tabl)
  4. local item = Instance.new(itemClass)
  5. for i,v in pairs(tabl) do
  6. local a,b = ypcall(function() return item[i] end)
  7. if a then
  8. item[i] = tabl[i]
  9. end
  10. end
  11. return item
  12. end
  13. function runDummyScript(f,scri)
  14. local oldenv = getfenv(f)
  15. local newenv = setmetatable({}, {
  16. __index = function(_, k)
  17. if k:lower() == 'script' then
  18. return scri
  19. else
  20. return oldenv[k]
  21. end
  22. end
  23. })
  24. setfenv(f, newenv)
  25. ypcall(function() f() end)
  26. end
  27. cors = {}
  28. mas = Instance.new("Model",game:GetService("Lighting"))
  29. mas.Name = "CompiledModel"
  30. o1 = Create("Model",{
  31. ["Parent"] = mas,
  32. })
  33. o2 = Create("Part",{
  34. ["Name"] = "sbm",
  35. ["Parent"] = o1,
  36. ["BrickColor"] = BrickColor.new("Bright red"),
  37. ["Position"] = Vector3.new(26.4227295, 2.66054916, -13.432435),
  38. ["Rotation"] = Vector3.new(-0.0241738874, 0.274998069, 90.0016556),
  39. ["RotVelocity"] = Vector3.new(0.000585779315, -0.000410572946, 0.000223204595),
  40. ["Velocity"] = Vector3.new(0.00407344196, 0.00816245843, -0.00538428081),
  41. ["CFrame"] = CFrame.new(26.4227295, 2.66054916, -13.432435, -2.89382788e-005, -0.999988496, 0.00479960302, 0.999999344, -2.69108059e-005, 0.000421908335, -0.000421774777, 0.00479962304, 0.999986708),
  42. ["FormFactor"] = Enum.FormFactor.Symmetric,
  43. ["Friction"] = 0,
  44. ["Size"] = Vector3.new(3, 1, 3),
  45. ["BackSurface"] = Enum.SurfaceType.Weld,
  46. ["BottomSurface"] = Enum.SurfaceType.Smooth,
  47. ["TopSurface"] = Enum.SurfaceType.Smooth,
  48. ["Color"] = Color3.new(0.768628, 0.156863, 0.109804),
  49. })
  50. o3 = Create("SpecialMesh",{
  51. ["Parent"] = o2,
  52. ["MeshType"] = Enum.MeshType.Wedge,
  53. })
  54. o4 = Create("Script",{
  55. ["Name"] = "Breaker",
  56. ["Parent"] = o2,
  57. })
  58. table.insert(cors,coroutine.create(function()
  59. wait()
  60. runDummyScript(function()
  61. --[[
  62. Designed By TGazza
  63.  
  64. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  65.  
  66. Leave these comments here if you use this in your place
  67. ]]--
  68.  
  69. deBounce = false;
  70. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  71. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  72. function onTouch(hit)
  73. if(hit.Name ~= "Collision Brick") then
  74. if(deBounce == false)then
  75. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  76. if(h == nil) then -- not a player
  77. deBounce = true
  78. collisionForce = GetImpactVelocity(hit,script.Parent);
  79. print(collisionForce)
  80. if(collisionForce > BreakSpeed) then
  81. script.Parent:BreakJoints();
  82. end
  83. deBounce = false
  84. else -- we've hit a player
  85. deBounce = true;
  86. collisionForce = GetImpactVelocity(hit,script.Parent);
  87. --print(collisionForce);
  88. if(collisionForce > KillSpeed) then
  89. --script.Parent:BreakJoints();
  90. hit:BreakJoints();
  91. end
  92. deBounce = false;
  93. end
  94. end
  95. end
  96. end
  97. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  98. pPos = part.Velocity;
  99. oPos = Other.Velocity;
  100.  
  101. pRspeed = {x=0,y=0,z=0}
  102. oRspeed = {x=0,y=0,z=0}
  103.  
  104. pRspeed.x = math.floor(pPos.x);
  105. pRspeed.y = math.floor(pPos.y);
  106. pRspeed.z = math.floor(pPos.z);
  107.  
  108. oRspeed.x = math.floor(oPos.x);
  109. oRspeed.y = math.floor(oPos.y);
  110. oRspeed.z = math.floor(oPos.z);
  111.  
  112. IForce = {x=0,y=0,z=0}
  113. IForce.x = pRspeed.x + -oRspeed.x
  114. IForce.y = pRspeed.y + -oRspeed.y
  115. IForce.z = pRspeed.z + -oRspeed.z
  116.  
  117. if(IForce.x < 0)then IForce.x = -IForce.x; end
  118. if(IForce.y < 0)then IForce.y = -IForce.y; end
  119. if(IForce.z < 0)then IForce.z = -IForce.z; end
  120.  
  121. speed = math.max(IForce.x,IForce.y,IForce.z);
  122.  
  123. return speed;
  124. end
  125.  
  126.  
  127.  
  128. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  129. script.Parent.Touched:connect(onTouch)
  130. end
  131.  
  132.  
  133.  
  134. end,o4)
  135. end))
  136. o5 = Create("Part",{
  137. ["Name"] = "sbm",
  138. ["Parent"] = o1,
  139. ["BrickColor"] = BrickColor.new("Bright red"),
  140. ["Position"] = Vector3.new(30.9346199, 4.56172371, -10.9548693),
  141. ["Rotation"] = Vector3.new(-0.0241738874, 0.274998069, 0.00165806036),
  142. ["RotVelocity"] = Vector3.new(0.000585779315, -0.000410572946, 0.000223204595),
  143. ["Velocity"] = Vector3.new(0.00263186963, 0.00771822594, -0.00241815206),
  144. ["CFrame"] = CFrame.new(30.9346199, 4.56172371, -10.9548693, 0.999988496, -2.89382788e-005, 0.00479960302, 2.69108059e-005, 0.999999344, 0.000421908335, -0.00479962304, -0.000421774777, 0.999986708),
  145. ["CanCollide"] = false,
  146. ["FormFactor"] = Enum.FormFactor.Plate,
  147. ["Friction"] = 0,
  148. ["Size"] = Vector3.new(10, 0.800000012, 2),
  149. ["BackSurface"] = Enum.SurfaceType.Weld,
  150. ["BottomSurface"] = Enum.SurfaceType.Weld,
  151. ["TopSurface"] = Enum.SurfaceType.Smooth,
  152. ["Color"] = Color3.new(0.768628, 0.156863, 0.109804),
  153. })
  154. o6 = Create("SpecialMesh",{
  155. ["Parent"] = o5,
  156. ["MeshType"] = Enum.MeshType.Wedge,
  157. })
  158. o7 = Create("Script",{
  159. ["Name"] = "Breaker",
  160. ["Parent"] = o5,
  161. })
  162. table.insert(cors,coroutine.create(function()
  163. wait()
  164. runDummyScript(function()
  165. --[[
  166. Designed By TGazza
  167.  
  168. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  169.  
  170. Leave these comments here if you use this in your place
  171. ]]--
  172.  
  173. deBounce = false;
  174. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  175. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  176. function onTouch(hit)
  177. if(hit.Name ~= "Collision Brick") then
  178. if(deBounce == false)then
  179. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  180. if(h == nil) then -- not a player
  181. deBounce = true
  182. collisionForce = GetImpactVelocity(hit,script.Parent);
  183. print(collisionForce)
  184. if(collisionForce > BreakSpeed) then
  185. script.Parent:BreakJoints();
  186. end
  187. deBounce = false
  188. else -- we've hit a player
  189. deBounce = true;
  190. collisionForce = GetImpactVelocity(hit,script.Parent);
  191. --print(collisionForce);
  192. if(collisionForce > KillSpeed) then
  193. --script.Parent:BreakJoints();
  194. hit:BreakJoints();
  195. end
  196. deBounce = false;
  197. end
  198. end
  199. end
  200. end
  201. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  202. pPos = part.Velocity;
  203. oPos = Other.Velocity;
  204.  
  205. pRspeed = {x=0,y=0,z=0}
  206. oRspeed = {x=0,y=0,z=0}
  207.  
  208. pRspeed.x = math.floor(pPos.x);
  209. pRspeed.y = math.floor(pPos.y);
  210. pRspeed.z = math.floor(pPos.z);
  211.  
  212. oRspeed.x = math.floor(oPos.x);
  213. oRspeed.y = math.floor(oPos.y);
  214. oRspeed.z = math.floor(oPos.z);
  215.  
  216. IForce = {x=0,y=0,z=0}
  217. IForce.x = pRspeed.x + -oRspeed.x
  218. IForce.y = pRspeed.y + -oRspeed.y
  219. IForce.z = pRspeed.z + -oRspeed.z
  220.  
  221. if(IForce.x < 0)then IForce.x = -IForce.x; end
  222. if(IForce.y < 0)then IForce.y = -IForce.y; end
  223. if(IForce.z < 0)then IForce.z = -IForce.z; end
  224.  
  225. speed = math.max(IForce.x,IForce.y,IForce.z);
  226.  
  227. return speed;
  228. end
  229.  
  230.  
  231.  
  232. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  233. script.Parent.Touched:connect(onTouch)
  234. end
  235.  
  236.  
  237.  
  238. end,o7)
  239. end))
  240. o8 = Create("Part",{
  241. ["Name"] = "sbm",
  242. ["Parent"] = o1,
  243. ["BrickColor"] = BrickColor.new("Bright red"),
  244. ["Position"] = Vector3.new(30.9322758, 2.66151428, -11.4540596),
  245. ["Rotation"] = Vector3.new(-0.0241738874, 0.274998128, 0.00165805197),
  246. ["RotVelocity"] = Vector3.new(0.000585779315, -0.000410572946, 0.000223204595),
  247. ["Velocity"] = Vector3.new(0.00326095917, 0.00801011827, -0.00353221782),
  248. ["CFrame"] = CFrame.new(30.9322758, 2.66151428, -11.4540596, 0.999988496, -2.89381333e-005, 0.00479960395, 2.69109532e-005, 0.999999404, 0.000421908422, -0.00479962304, -0.000421774806, 0.999986887),
  249. ["FormFactor"] = Enum.FormFactor.Symmetric,
  250. ["Friction"] = 0,
  251. ["Size"] = Vector3.new(10, 3, 1),
  252. ["BottomSurface"] = Enum.SurfaceType.Smooth,
  253. ["TopSurface"] = Enum.SurfaceType.Smooth,
  254. ["Color"] = Color3.new(0.768628, 0.156863, 0.109804),
  255. })
  256. o9 = Create("Script",{
  257. ["Name"] = "Breaker",
  258. ["Parent"] = o8,
  259. })
  260. table.insert(cors,coroutine.create(function()
  261. wait()
  262. runDummyScript(function()
  263. --[[
  264. Designed By TGazza
  265.  
  266. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  267.  
  268. Leave these comments here if you use this in your place
  269. ]]--
  270.  
  271. deBounce = false;
  272. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  273. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  274. function onTouch(hit)
  275. if(hit.Name ~= "Collision Brick") then
  276. if(deBounce == false)then
  277. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  278. if(h == nil) then -- not a player
  279. deBounce = true
  280. collisionForce = GetImpactVelocity(hit,script.Parent);
  281. print(collisionForce)
  282. if(collisionForce > BreakSpeed) then
  283. script.Parent:BreakJoints();
  284. end
  285. deBounce = false
  286. else -- we've hit a player
  287. deBounce = true;
  288. collisionForce = GetImpactVelocity(hit,script.Parent);
  289. --print(collisionForce);
  290. if(collisionForce > KillSpeed) then
  291. --script.Parent:BreakJoints();
  292. hit:BreakJoints();
  293. end
  294. deBounce = false;
  295. end
  296. end
  297. end
  298. end
  299. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  300. pPos = part.Velocity;
  301. oPos = Other.Velocity;
  302.  
  303. pRspeed = {x=0,y=0,z=0}
  304. oRspeed = {x=0,y=0,z=0}
  305.  
  306. pRspeed.x = math.floor(pPos.x);
  307. pRspeed.y = math.floor(pPos.y);
  308. pRspeed.z = math.floor(pPos.z);
  309.  
  310. oRspeed.x = math.floor(oPos.x);
  311. oRspeed.y = math.floor(oPos.y);
  312. oRspeed.z = math.floor(oPos.z);
  313.  
  314. IForce = {x=0,y=0,z=0}
  315. IForce.x = pRspeed.x + -oRspeed.x
  316. IForce.y = pRspeed.y + -oRspeed.y
  317. IForce.z = pRspeed.z + -oRspeed.z
  318.  
  319. if(IForce.x < 0)then IForce.x = -IForce.x; end
  320. if(IForce.y < 0)then IForce.y = -IForce.y; end
  321. if(IForce.z < 0)then IForce.z = -IForce.z; end
  322.  
  323. speed = math.max(IForce.x,IForce.y,IForce.z);
  324.  
  325. return speed;
  326. end
  327.  
  328.  
  329.  
  330. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  331. script.Parent.Touched:connect(onTouch)
  332. end
  333.  
  334.  
  335.  
  336. end,o9)
  337. end))
  338. o10 = Create("Part",{
  339. ["Name"] = "sbm",
  340. ["Parent"] = o1,
  341. ["BrickColor"] = BrickColor.new("Bright red"),
  342. ["Position"] = Vector3.new(30.9226837, 2.66067004, -13.4540319),
  343. ["Rotation"] = Vector3.new(-90.0241699, -0.00165800785, 0.274998248),
  344. ["RotVelocity"] = Vector3.new(0.000585779315, -0.000410572946, 0.000223204595),
  345. ["Velocity"] = Vector3.new(0.00408228207, 0.00917951949, -0.00353665068),
  346. ["CFrame"] = CFrame.new(30.9226837, 2.66067004, -13.4540319, 0.999988496, -0.00479960674, -2.89376967e-005, 2.69113953e-005, -0.000421908684, 0.999999583, -0.00479962304, -0.999987423, -0.000421774923),
  347. ["FormFactor"] = Enum.FormFactor.Symmetric,
  348. ["Friction"] = 0,
  349. ["Size"] = Vector3.new(8, 3, 3),
  350. ["BottomSurface"] = Enum.SurfaceType.Weld,
  351. ["TopSurface"] = Enum.SurfaceType.Smooth,
  352. ["Color"] = Color3.new(0.768628, 0.156863, 0.109804),
  353. })
  354. o11 = Create("SpecialMesh",{
  355. ["Parent"] = o10,
  356. ["MeshType"] = Enum.MeshType.Wedge,
  357. })
  358. o12 = Create("Script",{
  359. ["Name"] = "Breaker",
  360. ["Parent"] = o10,
  361. })
  362. table.insert(cors,coroutine.create(function()
  363. wait()
  364. runDummyScript(function()
  365. --[[
  366. Designed By TGazza
  367.  
  368. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  369.  
  370. Leave these comments here if you use this in your place
  371. ]]--
  372.  
  373. deBounce = false;
  374. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  375. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  376. function onTouch(hit)
  377. if(hit.Name ~= "Collision Brick") then
  378. if(deBounce == false)then
  379. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  380. if(h == nil) then -- not a player
  381. deBounce = true
  382. collisionForce = GetImpactVelocity(hit,script.Parent);
  383. print(collisionForce)
  384. if(collisionForce > BreakSpeed) then
  385. script.Parent:BreakJoints();
  386. end
  387. deBounce = false
  388. else -- we've hit a player
  389. deBounce = true;
  390. collisionForce = GetImpactVelocity(hit,script.Parent);
  391. --print(collisionForce);
  392. if(collisionForce > KillSpeed) then
  393. --script.Parent:BreakJoints();
  394. hit:BreakJoints();
  395. end
  396. deBounce = false;
  397. end
  398. end
  399. end
  400. end
  401. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  402. pPos = part.Velocity;
  403. oPos = Other.Velocity;
  404.  
  405. pRspeed = {x=0,y=0,z=0}
  406. oRspeed = {x=0,y=0,z=0}
  407.  
  408. pRspeed.x = math.floor(pPos.x);
  409. pRspeed.y = math.floor(pPos.y);
  410. pRspeed.z = math.floor(pPos.z);
  411.  
  412. oRspeed.x = math.floor(oPos.x);
  413. oRspeed.y = math.floor(oPos.y);
  414. oRspeed.z = math.floor(oPos.z);
  415.  
  416. IForce = {x=0,y=0,z=0}
  417. IForce.x = pRspeed.x + -oRspeed.x
  418. IForce.y = pRspeed.y + -oRspeed.y
  419. IForce.z = pRspeed.z + -oRspeed.z
  420.  
  421. if(IForce.x < 0)then IForce.x = -IForce.x; end
  422. if(IForce.y < 0)then IForce.y = -IForce.y; end
  423. if(IForce.z < 0)then IForce.z = -IForce.z; end
  424.  
  425. speed = math.max(IForce.x,IForce.y,IForce.z);
  426.  
  427. return speed;
  428. end
  429.  
  430.  
  431.  
  432. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  433. script.Parent.Touched:connect(onTouch)
  434. end
  435.  
  436.  
  437.  
  438. end,o12)
  439. end))
  440. o13 = Create("Part",{
  441. ["Name"] = "Button1",
  442. ["Parent"] = o1,
  443. ["BrickColor"] = BrickColor.new("Bright violet"),
  444. ["Position"] = Vector3.new(23, 0.595140994, -14),
  445. ["Rotation"] = Vector3.new(-0, -90, 0),
  446. ["Anchored"] = true,
  447. ["CFrame"] = CFrame.new(23, 0.595140994, -14, 0, 0, -1, 0, 1, -0, 1, 0, -0),
  448. ["FormFactor"] = Enum.FormFactor.Plate,
  449. ["Size"] = Vector3.new(4, 0.800000012, 4),
  450. ["BottomSurface"] = Enum.SurfaceType.Smooth,
  451. ["TopSurface"] = Enum.SurfaceType.Smooth,
  452. ["Color"] = Color3.new(0.419608, 0.196078, 0.486275),
  453. })
  454. o14 = Create("Script",{
  455. ["Name"] = "Activate",
  456. ["Parent"] = o13,
  457. })
  458. table.insert(cors,coroutine.create(function()
  459. wait()
  460. runDummyScript(function()
  461. button = script.Parent
  462.  
  463. regen = button.Parent.Regen
  464.  
  465.  
  466.  
  467. local debounce = false
  468.  
  469.  
  470.  
  471. function onTouch(hit)
  472.  
  473. local h = hit.Parent:FindFirstChild("Humanoid")
  474.  
  475. if h ~= nil and debounce == false then
  476.  
  477. debounce = true
  478.  
  479. button.BrickColor = BrickColor.Black()
  480.  
  481. regen.Value = 1
  482.  
  483. wait()
  484.  
  485. regen.Value = 0
  486.  
  487. wait(7)
  488.  
  489. button.BrickColor = BrickColor.new(104)
  490.  
  491. debounce = false
  492.  
  493. end
  494.  
  495. end
  496.  
  497. button.Touched:connect(onTouch)
  498. end,o14)
  499. end))
  500. o15 = Create("Script",{
  501. ["Name"] = "Breaker",
  502. ["Parent"] = o13,
  503. })
  504. table.insert(cors,coroutine.create(function()
  505. wait()
  506. runDummyScript(function()
  507. --[[
  508. Designed By TGazza
  509.  
  510. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  511.  
  512. Leave these comments here if you use this in your place
  513. ]]--
  514.  
  515. deBounce = false;
  516. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  517. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  518. function onTouch(hit)
  519. if(hit.Name ~= "Collision Brick") then
  520. if(deBounce == false)then
  521. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  522. if(h == nil) then -- not a player
  523. deBounce = true
  524. collisionForce = GetImpactVelocity(hit,script.Parent);
  525. print(collisionForce)
  526. if(collisionForce > BreakSpeed) then
  527. script.Parent:BreakJoints();
  528. end
  529. deBounce = false
  530. else -- we've hit a player
  531. deBounce = true;
  532. collisionForce = GetImpactVelocity(hit,script.Parent);
  533. --print(collisionForce);
  534. if(collisionForce > KillSpeed) then
  535. --script.Parent:BreakJoints();
  536. hit:BreakJoints();
  537. end
  538. deBounce = false;
  539. end
  540. end
  541. end
  542. end
  543. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  544. pPos = part.Velocity;
  545. oPos = Other.Velocity;
  546.  
  547. pRspeed = {x=0,y=0,z=0}
  548. oRspeed = {x=0,y=0,z=0}
  549.  
  550. pRspeed.x = math.floor(pPos.x);
  551. pRspeed.y = math.floor(pPos.y);
  552. pRspeed.z = math.floor(pPos.z);
  553.  
  554. oRspeed.x = math.floor(oPos.x);
  555. oRspeed.y = math.floor(oPos.y);
  556. oRspeed.z = math.floor(oPos.z);
  557.  
  558. IForce = {x=0,y=0,z=0}
  559. IForce.x = pRspeed.x + -oRspeed.x
  560. IForce.y = pRspeed.y + -oRspeed.y
  561. IForce.z = pRspeed.z + -oRspeed.z
  562.  
  563. if(IForce.x < 0)then IForce.x = -IForce.x; end
  564. if(IForce.y < 0)then IForce.y = -IForce.y; end
  565. if(IForce.z < 0)then IForce.z = -IForce.z; end
  566.  
  567. speed = math.max(IForce.x,IForce.y,IForce.z);
  568.  
  569. return speed;
  570. end
  571.  
  572.  
  573.  
  574. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  575. script.Parent.Touched:connect(onTouch)
  576. end
  577.  
  578.  
  579.  
  580. end,o15)
  581. end))
  582. o16 = Create("Part",{
  583. ["Name"] = "Smooth Block Model",
  584. ["Parent"] = o1,
  585. ["BrickColor"] = BrickColor.new("Bright red"),
  586. ["Position"] = Vector3.new(28, 2.39513707, -15.5999975),
  587. ["Rotation"] = Vector3.new(-90, 90, 0),
  588. ["Anchored"] = true,
  589. ["CFrame"] = CFrame.new(28, 2.39513707, -15.5999975, -0, -0, 1, -1, -0, 0, -0, -1, 0),
  590. ["Size"] = Vector3.new(2, 1.20000005, 2),
  591. ["BottomSurface"] = Enum.SurfaceType.Weld,
  592. ["Color"] = Color3.new(0.768628, 0.156863, 0.109804),
  593. })
  594. o17 = Create("SpecialMesh",{
  595. ["Parent"] = o16,
  596. ["MeshType"] = Enum.MeshType.Wedge,
  597. })
  598. o18 = Create("Script",{
  599. ["Name"] = "Breaker",
  600. ["Parent"] = o16,
  601. })
  602. table.insert(cors,coroutine.create(function()
  603. wait()
  604. runDummyScript(function()
  605. --[[
  606. Designed By TGazza
  607.  
  608. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  609.  
  610. Leave these comments here if you use this in your place
  611. ]]--
  612.  
  613. deBounce = false;
  614. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  615. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  616. function onTouch(hit)
  617. if(hit.Name ~= "Collision Brick") then
  618. if(deBounce == false)then
  619. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  620. if(h == nil) then -- not a player
  621. deBounce = true
  622. collisionForce = GetImpactVelocity(hit,script.Parent);
  623. print(collisionForce)
  624. if(collisionForce > BreakSpeed) then
  625. script.Parent:BreakJoints();
  626. end
  627. deBounce = false
  628. else -- we've hit a player
  629. deBounce = true;
  630. collisionForce = GetImpactVelocity(hit,script.Parent);
  631. --print(collisionForce);
  632. if(collisionForce > KillSpeed) then
  633. --script.Parent:BreakJoints();
  634. hit:BreakJoints();
  635. end
  636. deBounce = false;
  637. end
  638. end
  639. end
  640. end
  641. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  642. pPos = part.Velocity;
  643. oPos = Other.Velocity;
  644.  
  645. pRspeed = {x=0,y=0,z=0}
  646. oRspeed = {x=0,y=0,z=0}
  647.  
  648. pRspeed.x = math.floor(pPos.x);
  649. pRspeed.y = math.floor(pPos.y);
  650. pRspeed.z = math.floor(pPos.z);
  651.  
  652. oRspeed.x = math.floor(oPos.x);
  653. oRspeed.y = math.floor(oPos.y);
  654. oRspeed.z = math.floor(oPos.z);
  655.  
  656. IForce = {x=0,y=0,z=0}
  657. IForce.x = pRspeed.x + -oRspeed.x
  658. IForce.y = pRspeed.y + -oRspeed.y
  659. IForce.z = pRspeed.z + -oRspeed.z
  660.  
  661. if(IForce.x < 0)then IForce.x = -IForce.x; end
  662. if(IForce.y < 0)then IForce.y = -IForce.y; end
  663. if(IForce.z < 0)then IForce.z = -IForce.z; end
  664.  
  665. speed = math.max(IForce.x,IForce.y,IForce.z);
  666.  
  667. return speed;
  668. end
  669.  
  670.  
  671.  
  672. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  673. script.Parent.Touched:connect(onTouch)
  674. end
  675.  
  676.  
  677.  
  678. end,o18)
  679. end))
  680. o19 = Create("Part",{
  681. ["Name"] = "Smooth Block Model",
  682. ["Parent"] = o1,
  683. ["BrickColor"] = BrickColor.new("Bright red"),
  684. ["Position"] = Vector3.new(34, 2.38995409, -15.5999975),
  685. ["Rotation"] = Vector3.new(-90, -90, 0),
  686. ["Anchored"] = true,
  687. ["CFrame"] = CFrame.new(34, 2.38995409, -15.5999975, 7.61277789e-019, -1.19142998e-019, -1, 1, 5.28964011e-018, 7.61277789e-019, 5.28964011e-018, -1, 1.19142998e-019),
  688. ["Size"] = Vector3.new(2, 1.20000005, 2),
  689. ["BottomSurface"] = Enum.SurfaceType.Weld,
  690. ["Color"] = Color3.new(0.768628, 0.156863, 0.109804),
  691. })
  692. o20 = Create("SpecialMesh",{
  693. ["Parent"] = o19,
  694. ["MeshType"] = Enum.MeshType.Wedge,
  695. })
  696. o21 = Create("Script",{
  697. ["Name"] = "Breaker",
  698. ["Parent"] = o19,
  699. })
  700. table.insert(cors,coroutine.create(function()
  701. wait()
  702. runDummyScript(function()
  703. --[[
  704. Designed By TGazza
  705.  
  706. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  707.  
  708. Leave these comments here if you use this in your place
  709. ]]--
  710.  
  711. deBounce = false;
  712. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  713. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  714. function onTouch(hit)
  715. if(hit.Name ~= "Collision Brick") then
  716. if(deBounce == false)then
  717. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  718. if(h == nil) then -- not a player
  719. deBounce = true
  720. collisionForce = GetImpactVelocity(hit,script.Parent);
  721. print(collisionForce)
  722. if(collisionForce > BreakSpeed) then
  723. script.Parent:BreakJoints();
  724. end
  725. deBounce = false
  726. else -- we've hit a player
  727. deBounce = true;
  728. collisionForce = GetImpactVelocity(hit,script.Parent);
  729. --print(collisionForce);
  730. if(collisionForce > KillSpeed) then
  731. --script.Parent:BreakJoints();
  732. hit:BreakJoints();
  733. end
  734. deBounce = false;
  735. end
  736. end
  737. end
  738. end
  739. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  740. pPos = part.Velocity;
  741. oPos = Other.Velocity;
  742.  
  743. pRspeed = {x=0,y=0,z=0}
  744. oRspeed = {x=0,y=0,z=0}
  745.  
  746. pRspeed.x = math.floor(pPos.x);
  747. pRspeed.y = math.floor(pPos.y);
  748. pRspeed.z = math.floor(pPos.z);
  749.  
  750. oRspeed.x = math.floor(oPos.x);
  751. oRspeed.y = math.floor(oPos.y);
  752. oRspeed.z = math.floor(oPos.z);
  753.  
  754. IForce = {x=0,y=0,z=0}
  755. IForce.x = pRspeed.x + -oRspeed.x
  756. IForce.y = pRspeed.y + -oRspeed.y
  757. IForce.z = pRspeed.z + -oRspeed.z
  758.  
  759. if(IForce.x < 0)then IForce.x = -IForce.x; end
  760. if(IForce.y < 0)then IForce.y = -IForce.y; end
  761. if(IForce.z < 0)then IForce.z = -IForce.z; end
  762.  
  763. speed = math.max(IForce.x,IForce.y,IForce.z);
  764.  
  765. return speed;
  766. end
  767.  
  768.  
  769.  
  770. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  771. script.Parent.Touched:connect(onTouch)
  772. end
  773.  
  774.  
  775.  
  776. end,o21)
  777. end))
  778. o22 = Create("Part",{
  779. ["Name"] = "Smooth Block Model",
  780. ["Parent"] = o1,
  781. ["BrickColor"] = BrickColor.new("Bright red"),
  782. ["Position"] = Vector3.new(30.9226074, 4.76056004, -13.4548836),
  783. ["Rotation"] = Vector3.new(-0.0204525962, 0.273823172, 0.00274687447),
  784. ["RotVelocity"] = Vector3.new(0.012324336, -0.00660226587, -0.00843543652),
  785. ["Velocity"] = Vector3.new(0.00244965777, -0.0256919079, 0.0264996756),
  786. ["Anchored"] = true,
  787. ["CFrame"] = CFrame.new(30.9226074, 4.76056004, -13.4548836, 0.999988556, -4.79414521e-005, 0.00477909762, 4.62360258e-005, 0.99999994, 0.000356961042, -0.00477911439, -0.000356736011, 0.999988496),
  788. ["Size"] = Vector3.new(4, 1.20000005, 3),
  789. ["BackSurface"] = Enum.SurfaceType.Glue,
  790. ["BottomSurface"] = Enum.SurfaceType.Glue,
  791. ["TopSurface"] = Enum.SurfaceType.Smooth,
  792. ["Color"] = Color3.new(0.768628, 0.156863, 0.109804),
  793. })
  794. o23 = Create("SpecialMesh",{
  795. ["Parent"] = o22,
  796. ["MeshType"] = Enum.MeshType.Wedge,
  797. })
  798. o24 = Create("Script",{
  799. ["Name"] = "Breaker",
  800. ["Parent"] = o22,
  801. })
  802. table.insert(cors,coroutine.create(function()
  803. wait()
  804. runDummyScript(function()
  805. --[[
  806. Designed By TGazza
  807.  
  808. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  809.  
  810. Leave these comments here if you use this in your place
  811. ]]--
  812.  
  813. deBounce = false;
  814. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  815. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  816. function onTouch(hit)
  817. if(hit.Name ~= "Collision Brick") then
  818. if(deBounce == false)then
  819. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  820. if(h == nil) then -- not a player
  821. deBounce = true
  822. collisionForce = GetImpactVelocity(hit,script.Parent);
  823. print(collisionForce)
  824. if(collisionForce > BreakSpeed) then
  825. script.Parent:BreakJoints();
  826. end
  827. deBounce = false
  828. else -- we've hit a player
  829. deBounce = true;
  830. collisionForce = GetImpactVelocity(hit,script.Parent);
  831. --print(collisionForce);
  832. if(collisionForce > KillSpeed) then
  833. --script.Parent:BreakJoints();
  834. hit:BreakJoints();
  835. end
  836. deBounce = false;
  837. end
  838. end
  839. end
  840. end
  841. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  842. pPos = part.Velocity;
  843. oPos = Other.Velocity;
  844.  
  845. pRspeed = {x=0,y=0,z=0}
  846. oRspeed = {x=0,y=0,z=0}
  847.  
  848. pRspeed.x = math.floor(pPos.x);
  849. pRspeed.y = math.floor(pPos.y);
  850. pRspeed.z = math.floor(pPos.z);
  851.  
  852. oRspeed.x = math.floor(oPos.x);
  853. oRspeed.y = math.floor(oPos.y);
  854. oRspeed.z = math.floor(oPos.z);
  855.  
  856. IForce = {x=0,y=0,z=0}
  857. IForce.x = pRspeed.x + -oRspeed.x
  858. IForce.y = pRspeed.y + -oRspeed.y
  859. IForce.z = pRspeed.z + -oRspeed.z
  860.  
  861. if(IForce.x < 0)then IForce.x = -IForce.x; end
  862. if(IForce.y < 0)then IForce.y = -IForce.y; end
  863. if(IForce.z < 0)then IForce.z = -IForce.z; end
  864.  
  865. speed = math.max(IForce.x,IForce.y,IForce.z);
  866.  
  867. return speed;
  868. end
  869.  
  870.  
  871.  
  872. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  873. script.Parent.Touched:connect(onTouch)
  874. end
  875.  
  876.  
  877.  
  878. end,o24)
  879. end))
  880. o25 = Create("Part",{
  881. ["Name"] = "Smooth Block Model",
  882. ["Parent"] = o1,
  883. ["BrickColor"] = BrickColor.new("Light stone grey"),
  884. ["Transparency"] = 0.40000000596046,
  885. ["Position"] = Vector3.new(27.9226532, 4.76061678, -13.4405279),
  886. ["Rotation"] = Vector3.new(-0.0240184013, 0.274550021, 0.00172842201),
  887. ["Anchored"] = true,
  888. ["CFrame"] = CFrame.new(27.9226532, 4.76061678, -13.4405279, 0.999988258, -3.01663003e-005, 0.00479178363, 2.8157483e-005, 0.999999881, 0.000419195305, -0.00479179993, -0.000419055345, 0.999988377),
  889. ["Size"] = Vector3.new(2, 1.20000005, 3),
  890. ["BackSurface"] = Enum.SurfaceType.Glue,
  891. ["BottomSurface"] = Enum.SurfaceType.Glue,
  892. ["TopSurface"] = Enum.SurfaceType.Smooth,
  893. ["Color"] = Color3.new(0.898039, 0.894118, 0.87451),
  894. })
  895. o26 = Create("SpecialMesh",{
  896. ["Parent"] = o25,
  897. ["MeshType"] = Enum.MeshType.Wedge,
  898. })
  899. o27 = Create("Script",{
  900. ["Name"] = "Breaker",
  901. ["Parent"] = o25,
  902. })
  903. table.insert(cors,coroutine.create(function()
  904. wait()
  905. runDummyScript(function()
  906. --[[
  907. Designed By TGazza
  908.  
  909. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  910.  
  911. Leave these comments here if you use this in your place
  912. ]]--
  913.  
  914. deBounce = false;
  915. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  916. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  917. function onTouch(hit)
  918. if(hit.Name ~= "Collision Brick") then
  919. if(deBounce == false)then
  920. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  921. if(h == nil) then -- not a player
  922. deBounce = true
  923. collisionForce = GetImpactVelocity(hit,script.Parent);
  924. print(collisionForce)
  925. if(collisionForce > BreakSpeed) then
  926. script.Parent:BreakJoints();
  927. end
  928. deBounce = false
  929. else -- we've hit a player
  930. deBounce = true;
  931. collisionForce = GetImpactVelocity(hit,script.Parent);
  932. --print(collisionForce);
  933. if(collisionForce > KillSpeed) then
  934. --script.Parent:BreakJoints();
  935. hit:BreakJoints();
  936. end
  937. deBounce = false;
  938. end
  939. end
  940. end
  941. end
  942. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  943. pPos = part.Velocity;
  944. oPos = Other.Velocity;
  945.  
  946. pRspeed = {x=0,y=0,z=0}
  947. oRspeed = {x=0,y=0,z=0}
  948.  
  949. pRspeed.x = math.floor(pPos.x);
  950. pRspeed.y = math.floor(pPos.y);
  951. pRspeed.z = math.floor(pPos.z);
  952.  
  953. oRspeed.x = math.floor(oPos.x);
  954. oRspeed.y = math.floor(oPos.y);
  955. oRspeed.z = math.floor(oPos.z);
  956.  
  957. IForce = {x=0,y=0,z=0}
  958. IForce.x = pRspeed.x + -oRspeed.x
  959. IForce.y = pRspeed.y + -oRspeed.y
  960. IForce.z = pRspeed.z + -oRspeed.z
  961.  
  962. if(IForce.x < 0)then IForce.x = -IForce.x; end
  963. if(IForce.y < 0)then IForce.y = -IForce.y; end
  964. if(IForce.z < 0)then IForce.z = -IForce.z; end
  965.  
  966. speed = math.max(IForce.x,IForce.y,IForce.z);
  967.  
  968. return speed;
  969. end
  970.  
  971.  
  972.  
  973. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  974. script.Parent.Touched:connect(onTouch)
  975. end
  976.  
  977.  
  978.  
  979. end,o27)
  980. end))
  981. o28 = Create("Part",{
  982. ["Name"] = "Smooth Block Model",
  983. ["Parent"] = o1,
  984. ["BrickColor"] = BrickColor.new("Light stone grey"),
  985. ["Transparency"] = 0.40000000596046,
  986. ["Position"] = Vector3.new(33.9225845, 4.76072502, -13.4693317),
  987. ["Rotation"] = Vector3.new(-0.0240837075, 0.273946673, 0.00137095316),
  988. ["Anchored"] = true,
  989. ["CFrame"] = CFrame.new(33.9225845, 4.76072502, -13.4693317, 0.999988556, -2.39273722e-005, 0.00478125317, 2.1917891e-005, 0.99999994, 0.000420335185, -0.00478126248, -0.00042022561, 0.999988496),
  990. ["Size"] = Vector3.new(2, 1.20000005, 3),
  991. ["BackSurface"] = Enum.SurfaceType.Glue,
  992. ["BottomSurface"] = Enum.SurfaceType.Glue,
  993. ["TopSurface"] = Enum.SurfaceType.Smooth,
  994. ["Color"] = Color3.new(0.898039, 0.894118, 0.87451),
  995. })
  996. o29 = Create("SpecialMesh",{
  997. ["Parent"] = o28,
  998. ["MeshType"] = Enum.MeshType.Wedge,
  999. })
  1000. o30 = Create("Script",{
  1001. ["Name"] = "Breaker",
  1002. ["Parent"] = o28,
  1003. })
  1004. table.insert(cors,coroutine.create(function()
  1005. wait()
  1006. runDummyScript(function()
  1007. --[[
  1008. Designed By TGazza
  1009.  
  1010. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  1011.  
  1012. Leave these comments here if you use this in your place
  1013. ]]--
  1014.  
  1015. deBounce = false;
  1016. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  1017. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  1018. function onTouch(hit)
  1019. if(hit.Name ~= "Collision Brick") then
  1020. if(deBounce == false)then
  1021. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  1022. if(h == nil) then -- not a player
  1023. deBounce = true
  1024. collisionForce = GetImpactVelocity(hit,script.Parent);
  1025. print(collisionForce)
  1026. if(collisionForce > BreakSpeed) then
  1027. script.Parent:BreakJoints();
  1028. end
  1029. deBounce = false
  1030. else -- we've hit a player
  1031. deBounce = true;
  1032. collisionForce = GetImpactVelocity(hit,script.Parent);
  1033. --print(collisionForce);
  1034. if(collisionForce > KillSpeed) then
  1035. --script.Parent:BreakJoints();
  1036. hit:BreakJoints();
  1037. end
  1038. deBounce = false;
  1039. end
  1040. end
  1041. end
  1042. end
  1043. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  1044. pPos = part.Velocity;
  1045. oPos = Other.Velocity;
  1046.  
  1047. pRspeed = {x=0,y=0,z=0}
  1048. oRspeed = {x=0,y=0,z=0}
  1049.  
  1050. pRspeed.x = math.floor(pPos.x);
  1051. pRspeed.y = math.floor(pPos.y);
  1052. pRspeed.z = math.floor(pPos.z);
  1053.  
  1054. oRspeed.x = math.floor(oPos.x);
  1055. oRspeed.y = math.floor(oPos.y);
  1056. oRspeed.z = math.floor(oPos.z);
  1057.  
  1058. IForce = {x=0,y=0,z=0}
  1059. IForce.x = pRspeed.x + -oRspeed.x
  1060. IForce.y = pRspeed.y + -oRspeed.y
  1061. IForce.z = pRspeed.z + -oRspeed.z
  1062.  
  1063. if(IForce.x < 0)then IForce.x = -IForce.x; end
  1064. if(IForce.y < 0)then IForce.y = -IForce.y; end
  1065. if(IForce.z < 0)then IForce.z = -IForce.z; end
  1066.  
  1067. speed = math.max(IForce.x,IForce.y,IForce.z);
  1068.  
  1069. return speed;
  1070. end
  1071.  
  1072.  
  1073.  
  1074. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  1075. script.Parent.Touched:connect(onTouch)
  1076. end
  1077.  
  1078.  
  1079.  
  1080. end,o30)
  1081. end))
  1082. o31 = Create("Part",{
  1083. ["Name"] = "Smooth Block Model",
  1084. ["Parent"] = o1,
  1085. ["BrickColor"] = BrickColor.new("Bright red"),
  1086. ["Position"] = Vector3.new(31, 2.5899539, -15.5),
  1087. ["Rotation"] = Vector3.new(3.03074053e-016, 6.82639114e-018, -4.36180046e-017),
  1088. ["Anchored"] = true,
  1089. ["CFrame"] = CFrame.new(31, 2.5899539, -15.5, 1, 7.61277789e-019, 1.19142998e-019, -7.61277789e-019, 1, -5.28964011e-018, -1.19142998e-019, 5.28964011e-018, 1),
  1090. ["Size"] = Vector3.new(4, 2.4000001, 1),
  1091. ["BackSurface"] = Enum.SurfaceType.Weld,
  1092. ["BottomSurface"] = Enum.SurfaceType.Glue,
  1093. ["TopSurface"] = Enum.SurfaceType.Smooth,
  1094. ["Color"] = Color3.new(0.768628, 0.156863, 0.109804),
  1095. })
  1096. o32 = Create("SpecialMesh",{
  1097. ["Parent"] = o31,
  1098. ["MeshType"] = Enum.MeshType.Wedge,
  1099. })
  1100. o33 = Create("Script",{
  1101. ["Name"] = "Breaker",
  1102. ["Parent"] = o31,
  1103. })
  1104. table.insert(cors,coroutine.create(function()
  1105. wait()
  1106. runDummyScript(function()
  1107. --[[
  1108. Designed By TGazza
  1109.  
  1110. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  1111.  
  1112. Leave these comments here if you use this in your place
  1113. ]]--
  1114.  
  1115. deBounce = false;
  1116. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  1117. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  1118. function onTouch(hit)
  1119. if(hit.Name ~= "Collision Brick") then
  1120. if(deBounce == false)then
  1121. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  1122. if(h == nil) then -- not a player
  1123. deBounce = true
  1124. collisionForce = GetImpactVelocity(hit,script.Parent);
  1125. print(collisionForce)
  1126. if(collisionForce > BreakSpeed) then
  1127. script.Parent:BreakJoints();
  1128. end
  1129. deBounce = false
  1130. else -- we've hit a player
  1131. deBounce = true;
  1132. collisionForce = GetImpactVelocity(hit,script.Parent);
  1133. --print(collisionForce);
  1134. if(collisionForce > KillSpeed) then
  1135. --script.Parent:BreakJoints();
  1136. hit:BreakJoints();
  1137. end
  1138. deBounce = false;
  1139. end
  1140. end
  1141. end
  1142. end
  1143. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  1144. pPos = part.Velocity;
  1145. oPos = Other.Velocity;
  1146.  
  1147. pRspeed = {x=0,y=0,z=0}
  1148. oRspeed = {x=0,y=0,z=0}
  1149.  
  1150. pRspeed.x = math.floor(pPos.x);
  1151. pRspeed.y = math.floor(pPos.y);
  1152. pRspeed.z = math.floor(pPos.z);
  1153.  
  1154. oRspeed.x = math.floor(oPos.x);
  1155. oRspeed.y = math.floor(oPos.y);
  1156. oRspeed.z = math.floor(oPos.z);
  1157.  
  1158. IForce = {x=0,y=0,z=0}
  1159. IForce.x = pRspeed.x + -oRspeed.x
  1160. IForce.y = pRspeed.y + -oRspeed.y
  1161. IForce.z = pRspeed.z + -oRspeed.z
  1162.  
  1163. if(IForce.x < 0)then IForce.x = -IForce.x; end
  1164. if(IForce.y < 0)then IForce.y = -IForce.y; end
  1165. if(IForce.z < 0)then IForce.z = -IForce.z; end
  1166.  
  1167. speed = math.max(IForce.x,IForce.y,IForce.z);
  1168.  
  1169. return speed;
  1170. end
  1171.  
  1172.  
  1173.  
  1174. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  1175. script.Parent.Touched:connect(onTouch)
  1176. end
  1177.  
  1178.  
  1179.  
  1180. end,o33)
  1181. end))
  1182. o34 = Create("Part",{
  1183. ["Name"] = "sbm",
  1184. ["Parent"] = o1,
  1185. ["BrickColor"] = BrickColor.new("Bright red"),
  1186. ["Position"] = Vector3.new(30.9370747, 2.661937, -10.454071),
  1187. ["Rotation"] = Vector3.new(-0.0241738874, 0.27499795, 0.001658077),
  1188. ["RotVelocity"] = Vector3.new(0.000585779315, -0.000410572946, 0.000223204595),
  1189. ["Velocity"] = Vector3.new(0.00285029644, 0.00742541673, -0.00352999987),
  1190. ["CFrame"] = CFrame.new(30.9370747, 2.661937, -10.454071, 0.999988496, -2.89385698e-005, 0.00479960116, 2.69105112e-005, 0.999999225, 0.000421908189, -0.00479962304, -0.000421774719, 0.999986351),
  1191. ["CanCollide"] = false,
  1192. ["FormFactor"] = Enum.FormFactor.Symmetric,
  1193. ["Friction"] = 0,
  1194. ["Size"] = Vector3.new(10, 3, 1),
  1195. ["BottomSurface"] = Enum.SurfaceType.Smooth,
  1196. ["TopSurface"] = Enum.SurfaceType.Smooth,
  1197. ["Color"] = Color3.new(0.768628, 0.156863, 0.109804),
  1198. })
  1199. o35 = Create("Script",{
  1200. ["Name"] = "Breaker",
  1201. ["Parent"] = o34,
  1202. })
  1203. table.insert(cors,coroutine.create(function()
  1204. wait()
  1205. runDummyScript(function()
  1206. --[[
  1207. Designed By TGazza
  1208.  
  1209. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  1210.  
  1211. Leave these comments here if you use this in your place
  1212. ]]--
  1213.  
  1214. deBounce = false;
  1215. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  1216. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  1217. function onTouch(hit)
  1218. if(hit.Name ~= "Collision Brick") then
  1219. if(deBounce == false)then
  1220. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  1221. if(h == nil) then -- not a player
  1222. deBounce = true
  1223. collisionForce = GetImpactVelocity(hit,script.Parent);
  1224. print(collisionForce)
  1225. if(collisionForce > BreakSpeed) then
  1226. script.Parent:BreakJoints();
  1227. end
  1228. deBounce = false
  1229. else -- we've hit a player
  1230. deBounce = true;
  1231. collisionForce = GetImpactVelocity(hit,script.Parent);
  1232. --print(collisionForce);
  1233. if(collisionForce > KillSpeed) then
  1234. --script.Parent:BreakJoints();
  1235. hit:BreakJoints();
  1236. end
  1237. deBounce = false;
  1238. end
  1239. end
  1240. end
  1241. end
  1242. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  1243. pPos = part.Velocity;
  1244. oPos = Other.Velocity;
  1245.  
  1246. pRspeed = {x=0,y=0,z=0}
  1247. oRspeed = {x=0,y=0,z=0}
  1248.  
  1249. pRspeed.x = math.floor(pPos.x);
  1250. pRspeed.y = math.floor(pPos.y);
  1251. pRspeed.z = math.floor(pPos.z);
  1252.  
  1253. oRspeed.x = math.floor(oPos.x);
  1254. oRspeed.y = math.floor(oPos.y);
  1255. oRspeed.z = math.floor(oPos.z);
  1256.  
  1257. IForce = {x=0,y=0,z=0}
  1258. IForce.x = pRspeed.x + -oRspeed.x
  1259. IForce.y = pRspeed.y + -oRspeed.y
  1260. IForce.z = pRspeed.z + -oRspeed.z
  1261.  
  1262. if(IForce.x < 0)then IForce.x = -IForce.x; end
  1263. if(IForce.y < 0)then IForce.y = -IForce.y; end
  1264. if(IForce.z < 0)then IForce.z = -IForce.z; end
  1265.  
  1266. speed = math.max(IForce.x,IForce.y,IForce.z);
  1267.  
  1268. return speed;
  1269. end
  1270.  
  1271.  
  1272.  
  1273. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  1274. script.Parent.Touched:connect(onTouch)
  1275. end
  1276.  
  1277.  
  1278.  
  1279. end,o35)
  1280. end))
  1281. o36 = Create("Part",{
  1282. ["Name"] = "sbm",
  1283. ["Parent"] = o1,
  1284. ["BrickColor"] = BrickColor.new("Bright red"),
  1285. ["Position"] = Vector3.new(35.4226227, 2.66079211, -13.4756289),
  1286. ["Rotation"] = Vector3.new(-0.0241738893, 0.27499795, -89.9983444),
  1287. ["RotVelocity"] = Vector3.new(0.000585779315, -0.000410572946, 0.000223204595),
  1288. ["Velocity"] = Vector3.new(0.00409112219, 0.0101965778, -0.0016890259),
  1289. ["CFrame"] = CFrame.new(35.4226227, 2.66079211, -13.4756289, 2.89385698e-005, 0.999988496, 0.00479960116, -0.999999225, 2.69105112e-005, 0.000421908218, 0.000421774748, -0.00479962304, 0.999986351),
  1290. ["FormFactor"] = Enum.FormFactor.Symmetric,
  1291. ["Friction"] = 0,
  1292. ["Size"] = Vector3.new(3, 1, 3),
  1293. ["BackSurface"] = Enum.SurfaceType.Weld,
  1294. ["BottomSurface"] = Enum.SurfaceType.Smooth,
  1295. ["TopSurface"] = Enum.SurfaceType.Smooth,
  1296. ["Color"] = Color3.new(0.768628, 0.156863, 0.109804),
  1297. })
  1298. o37 = Create("SpecialMesh",{
  1299. ["Parent"] = o36,
  1300. ["MeshType"] = Enum.MeshType.Wedge,
  1301. })
  1302. o38 = Create("Script",{
  1303. ["Name"] = "Breaker",
  1304. ["Parent"] = o36,
  1305. })
  1306. table.insert(cors,coroutine.create(function()
  1307. wait()
  1308. runDummyScript(function()
  1309. --[[
  1310. Designed By TGazza
  1311.  
  1312. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  1313.  
  1314. Leave these comments here if you use this in your place
  1315. ]]--
  1316.  
  1317. deBounce = false;
  1318. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  1319. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  1320. function onTouch(hit)
  1321. if(hit.Name ~= "Collision Brick") then
  1322. if(deBounce == false)then
  1323. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  1324. if(h == nil) then -- not a player
  1325. deBounce = true
  1326. collisionForce = GetImpactVelocity(hit,script.Parent);
  1327. print(collisionForce)
  1328. if(collisionForce > BreakSpeed) then
  1329. script.Parent:BreakJoints();
  1330. end
  1331. deBounce = false
  1332. else -- we've hit a player
  1333. deBounce = true;
  1334. collisionForce = GetImpactVelocity(hit,script.Parent);
  1335. --print(collisionForce);
  1336. if(collisionForce > KillSpeed) then
  1337. --script.Parent:BreakJoints();
  1338. hit:BreakJoints();
  1339. end
  1340. deBounce = false;
  1341. end
  1342. end
  1343. end
  1344. end
  1345. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  1346. pPos = part.Velocity;
  1347. oPos = Other.Velocity;
  1348.  
  1349. pRspeed = {x=0,y=0,z=0}
  1350. oRspeed = {x=0,y=0,z=0}
  1351.  
  1352. pRspeed.x = math.floor(pPos.x);
  1353. pRspeed.y = math.floor(pPos.y);
  1354. pRspeed.z = math.floor(pPos.z);
  1355.  
  1356. oRspeed.x = math.floor(oPos.x);
  1357. oRspeed.y = math.floor(oPos.y);
  1358. oRspeed.z = math.floor(oPos.z);
  1359.  
  1360. IForce = {x=0,y=0,z=0}
  1361. IForce.x = pRspeed.x + -oRspeed.x
  1362. IForce.y = pRspeed.y + -oRspeed.y
  1363. IForce.z = pRspeed.z + -oRspeed.z
  1364.  
  1365. if(IForce.x < 0)then IForce.x = -IForce.x; end
  1366. if(IForce.y < 0)then IForce.y = -IForce.y; end
  1367. if(IForce.z < 0)then IForce.z = -IForce.z; end
  1368.  
  1369. speed = math.max(IForce.x,IForce.y,IForce.z);
  1370.  
  1371. return speed;
  1372. end
  1373.  
  1374.  
  1375.  
  1376. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  1377. script.Parent.Touched:connect(onTouch)
  1378. end
  1379.  
  1380.  
  1381.  
  1382. end,o38)
  1383. end))
  1384. o39 = Create("Part",{
  1385. ["Name"] = "sbm",
  1386. ["Parent"] = o1,
  1387. ["BrickColor"] = BrickColor.new("Bright red"),
  1388. ["Position"] = Vector3.new(30.9442139, 4.76256561, -8.95497513),
  1389. ["Rotation"] = Vector3.new(-0.0241738893, 0.274996817, 0.00165826862),
  1390. ["RotVelocity"] = Vector3.new(0.000585779315, -0.000410572946, 0.000223204595),
  1391. ["Velocity"] = Vector3.new(0.00176593824, 0.00654887082, -0.00229656417),
  1392. ["CFrame"] = CFrame.new(30.9442139, 4.76256561, -8.95497513, 0.999988496, -2.89419149e-005, 0.00479958113, 2.69071261e-005, 0.999997854, 0.000421906472, -0.00479962351, -0.000421774079, 0.999982238),
  1393. ["FormFactor"] = Enum.FormFactor.Plate,
  1394. ["Friction"] = 0,
  1395. ["Size"] = Vector3.new(10, 0.400000006, 2),
  1396. ["BottomSurface"] = Enum.SurfaceType.Weld,
  1397. ["TopSurface"] = Enum.SurfaceType.Smooth,
  1398. ["Color"] = Color3.new(0.768628, 0.156863, 0.109804),
  1399. })
  1400. o40 = Create("SpecialMesh",{
  1401. ["Parent"] = o39,
  1402. ["MeshType"] = Enum.MeshType.Wedge,
  1403. })
  1404. o41 = Create("Script",{
  1405. ["Name"] = "Breaker",
  1406. ["Parent"] = o39,
  1407. })
  1408. table.insert(cors,coroutine.create(function()
  1409. wait()
  1410. runDummyScript(function()
  1411. --[[
  1412. Designed By TGazza
  1413.  
  1414. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  1415.  
  1416. Leave these comments here if you use this in your place
  1417. ]]--
  1418.  
  1419. deBounce = false;
  1420. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  1421. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  1422. function onTouch(hit)
  1423. if(hit.Name ~= "Collision Brick") then
  1424. if(deBounce == false)then
  1425. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  1426. if(h == nil) then -- not a player
  1427. deBounce = true
  1428. collisionForce = GetImpactVelocity(hit,script.Parent);
  1429. print(collisionForce)
  1430. if(collisionForce > BreakSpeed) then
  1431. script.Parent:BreakJoints();
  1432. end
  1433. deBounce = false
  1434. else -- we've hit a player
  1435. deBounce = true;
  1436. collisionForce = GetImpactVelocity(hit,script.Parent);
  1437. --print(collisionForce);
  1438. if(collisionForce > KillSpeed) then
  1439. --script.Parent:BreakJoints();
  1440. hit:BreakJoints();
  1441. end
  1442. deBounce = false;
  1443. end
  1444. end
  1445. end
  1446. end
  1447. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  1448. pPos = part.Velocity;
  1449. oPos = Other.Velocity;
  1450.  
  1451. pRspeed = {x=0,y=0,z=0}
  1452. oRspeed = {x=0,y=0,z=0}
  1453.  
  1454. pRspeed.x = math.floor(pPos.x);
  1455. pRspeed.y = math.floor(pPos.y);
  1456. pRspeed.z = math.floor(pPos.z);
  1457.  
  1458. oRspeed.x = math.floor(oPos.x);
  1459. oRspeed.y = math.floor(oPos.y);
  1460. oRspeed.z = math.floor(oPos.z);
  1461.  
  1462. IForce = {x=0,y=0,z=0}
  1463. IForce.x = pRspeed.x + -oRspeed.x
  1464. IForce.y = pRspeed.y + -oRspeed.y
  1465. IForce.z = pRspeed.z + -oRspeed.z
  1466.  
  1467. if(IForce.x < 0)then IForce.x = -IForce.x; end
  1468. if(IForce.y < 0)then IForce.y = -IForce.y; end
  1469. if(IForce.z < 0)then IForce.z = -IForce.z; end
  1470.  
  1471. speed = math.max(IForce.x,IForce.y,IForce.z);
  1472.  
  1473. return speed;
  1474. end
  1475.  
  1476.  
  1477.  
  1478. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  1479. script.Parent.Touched:connect(onTouch)
  1480. end
  1481.  
  1482.  
  1483.  
  1484. end,o41)
  1485. end))
  1486. o42 = Create("Part",{
  1487. ["Name"] = "sbm",
  1488. ["Parent"] = o1,
  1489. ["BrickColor"] = BrickColor.new("Bright red"),
  1490. ["Position"] = Vector3.new(30.9490318, 4.36299276, -7.95482349),
  1491. ["Rotation"] = Vector3.new(-0.0241738874, 0.27499795, 0.001658077),
  1492. ["RotVelocity"] = Vector3.new(0.000585779315, -0.000410572946, 0.000223204595),
  1493. ["Velocity"] = Vector3.new(0.00144448958, 0.00596407801, -0.00252864743),
  1494. ["CFrame"] = CFrame.new(30.9490318, 4.36299276, -7.95482349, 0.999988496, -2.89385698e-005, 0.00479960116, 2.69105112e-005, 0.999999225, 0.000421908189, -0.00479962304, -0.000421774719, 0.999986351),
  1495. ["FormFactor"] = Enum.FormFactor.Plate,
  1496. ["Friction"] = 0,
  1497. ["Size"] = Vector3.new(10, 0.400000006, 4),
  1498. ["BottomSurface"] = Enum.SurfaceType.Hinge,
  1499. ["FrontSurface"] = Enum.SurfaceType.Weld,
  1500. ["TopSurface"] = Enum.SurfaceType.Weld,
  1501. ["Color"] = Color3.new(0.768628, 0.156863, 0.109804),
  1502. })
  1503. o43 = Create("Script",{
  1504. ["Name"] = "Breaker",
  1505. ["Parent"] = o42,
  1506. })
  1507. table.insert(cors,coroutine.create(function()
  1508. wait()
  1509. runDummyScript(function()
  1510. --[[
  1511. Designed By TGazza
  1512.  
  1513. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  1514.  
  1515. Leave these comments here if you use this in your place
  1516. ]]--
  1517.  
  1518. deBounce = false;
  1519. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  1520. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  1521. function onTouch(hit)
  1522. if(hit.Name ~= "Collision Brick") then
  1523. if(deBounce == false)then
  1524. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  1525. if(h == nil) then -- not a player
  1526. deBounce = true
  1527. collisionForce = GetImpactVelocity(hit,script.Parent);
  1528. print(collisionForce)
  1529. if(collisionForce > BreakSpeed) then
  1530. script.Parent:BreakJoints();
  1531. end
  1532. deBounce = false
  1533. else -- we've hit a player
  1534. deBounce = true;
  1535. collisionForce = GetImpactVelocity(hit,script.Parent);
  1536. --print(collisionForce);
  1537. if(collisionForce > KillSpeed) then
  1538. --script.Parent:BreakJoints();
  1539. hit:BreakJoints();
  1540. end
  1541. deBounce = false;
  1542. end
  1543. end
  1544. end
  1545. end
  1546. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  1547. pPos = part.Velocity;
  1548. oPos = Other.Velocity;
  1549.  
  1550. pRspeed = {x=0,y=0,z=0}
  1551. oRspeed = {x=0,y=0,z=0}
  1552.  
  1553. pRspeed.x = math.floor(pPos.x);
  1554. pRspeed.y = math.floor(pPos.y);
  1555. pRspeed.z = math.floor(pPos.z);
  1556.  
  1557. oRspeed.x = math.floor(oPos.x);
  1558. oRspeed.y = math.floor(oPos.y);
  1559. oRspeed.z = math.floor(oPos.z);
  1560.  
  1561. IForce = {x=0,y=0,z=0}
  1562. IForce.x = pRspeed.x + -oRspeed.x
  1563. IForce.y = pRspeed.y + -oRspeed.y
  1564. IForce.z = pRspeed.z + -oRspeed.z
  1565.  
  1566. if(IForce.x < 0)then IForce.x = -IForce.x; end
  1567. if(IForce.y < 0)then IForce.y = -IForce.y; end
  1568. if(IForce.z < 0)then IForce.z = -IForce.z; end
  1569.  
  1570. speed = math.max(IForce.x,IForce.y,IForce.z);
  1571.  
  1572. return speed;
  1573. end
  1574.  
  1575.  
  1576.  
  1577. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  1578. script.Parent.Touched:connect(onTouch)
  1579. end
  1580.  
  1581.  
  1582.  
  1583. end,o43)
  1584. end))
  1585. o44 = Create("Part",{
  1586. ["Name"] = "Engine",
  1587. ["Parent"] = o1,
  1588. ["BrickColor"] = BrickColor.new("Bright red"),
  1589. ["Position"] = Vector3.new(30.9491882, 2.66557693, -7.95410681),
  1590. ["Rotation"] = Vector3.new(-0.0237888172, 2.37317777, 0.00409172568),
  1591. ["RotVelocity"] = Vector3.new(-0.00259006186, 0.0120498231, 0.00164121145),
  1592. ["Velocity"] = Vector3.new(0.0546290465, 0.0387015305, 0.0111816591),
  1593. ["CFrame"] = CFrame.new(30.9491882, 2.66557693, -7.95410681, 0.999142349, -7.13528352e-005, 0.0414079241, 5.42217931e-005, 0.99999994, 0.000414837064, -0.0414079502, -0.000412236055, 0.99914223),
  1594. ["FormFactor"] = Enum.FormFactor.Symmetric,
  1595. ["Friction"] = 0,
  1596. ["Size"] = Vector3.new(2, 3, 4),
  1597. ["TopSurface"] = Enum.SurfaceType.Smooth,
  1598. ["Color"] = Color3.new(0.768628, 0.156863, 0.109804),
  1599. })
  1600. o45 = Create("IntValue",{
  1601. ["Name"] = "Count",
  1602. ["Parent"] = o44,
  1603. })
  1604. o46 = Create("Script",{
  1605. ["Parent"] = o44,
  1606. ["Disabled"] = true,
  1607. })
  1608. table.insert(cors,coroutine.create(function()
  1609. wait()
  1610. runDummyScript(function()
  1611. model = script.Parent.Parent.Parent
  1612.  
  1613. backup = model:clone()
  1614.  
  1615. local debounce = false
  1616.  
  1617.  
  1618.  
  1619. function onTouch(part)
  1620.  
  1621. if (part.Name == "Safe") and (debounce == false) and (script.Parent.Count.Value == 0) then
  1622.  
  1623. debounce = true
  1624.  
  1625. wait(2)
  1626.  
  1627. model = backup:clone()
  1628.  
  1629. model.Parent = game.Workspace
  1630.  
  1631. model:makeJoints()
  1632.  
  1633. script.Parent.Count.Value = 1
  1634.  
  1635. debounce = false
  1636.  
  1637. end
  1638.  
  1639. end
  1640.  
  1641. script.Parent.Touched:connect(onTouch)
  1642. end,o46)
  1643. end))
  1644. o47 = Create("BodyGyro",{
  1645. ["Parent"] = o44,
  1646. ["maxTorque"] = Vector3.new(0, 0, 0),
  1647. ["MaxTorque"] = Vector3.new(0, 0, 0),
  1648. })
  1649. o48 = Create("BodyPosition",{
  1650. ["Parent"] = o44,
  1651. ["Position"] = Vector3.new(-1.5, 3, -48),
  1652. ["position"] = Vector3.new(-1.5, 3, -48),
  1653. })
  1654. o49 = Create("BodyVelocity",{
  1655. ["Name"] = "Drift",
  1656. ["Parent"] = o44,
  1657. ["Velocity"] = Vector3.new(0, 0, 0),
  1658. ["velocity"] = Vector3.new(0, 0, 0),
  1659. })
  1660. o50 = Create("Part",{
  1661. ["Name"] = "r1",
  1662. ["Parent"] = o1,
  1663. ["BrickColor"] = BrickColor.new("Black"),
  1664. ["Position"] = Vector3.new(33.9465981, 2.17914009, -8.07807541),
  1665. ["Rotation"] = Vector3.new(177.766663, -2.36328077, 179.723846),
  1666. ["RotVelocity"] = Vector3.new(-0.00262437644, -0.00938839372, -0.0045224335),
  1667. ["Velocity"] = Vector3.new(-0.036915198, -0.0857948661, 0.00106593408),
  1668. ["CFrame"] = CFrame.new(33.9465981, 2.17914009, -8.07807541, -0.999137819, -0.00481563015, -0.0412353352, -0.00320917275, 0.999236524, -0.0389362052, 0.0413913541, -0.0387703031, -0.998390496),
  1669. ["FormFactor"] = Enum.FormFactor.Symmetric,
  1670. ["Shape"] = Enum.PartType.Cylinder,
  1671. ["Size"] = Vector3.new(4, 4, 4),
  1672. ["BottomSurface"] = Enum.SurfaceType.Smooth,
  1673. ["RightSurface"] = Enum.SurfaceType.Motor,
  1674. ["TopSurface"] = Enum.SurfaceType.Smooth,
  1675. ["Color"] = Color3.new(0.105882, 0.164706, 0.207843),
  1676. })
  1677. o51 = Create("Script",{
  1678. ["Name"] = "Breaker",
  1679. ["Parent"] = o50,
  1680. })
  1681. table.insert(cors,coroutine.create(function()
  1682. wait()
  1683. runDummyScript(function()
  1684. --[[
  1685. Designed By TGazza
  1686.  
  1687. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  1688.  
  1689. Leave these comments here if you use this in your place
  1690. ]]--
  1691.  
  1692. deBounce = false;
  1693. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  1694. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  1695. function onTouch(hit)
  1696. if(hit.Name ~= "Collision Brick") then
  1697. if(deBounce == false)then
  1698. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  1699. if(h == nil) then -- not a player
  1700. deBounce = true
  1701. collisionForce = GetImpactVelocity(hit,script.Parent);
  1702. print(collisionForce)
  1703. if(collisionForce > BreakSpeed) then
  1704. script.Parent:BreakJoints();
  1705. end
  1706. deBounce = false
  1707. else -- we've hit a player
  1708. deBounce = true;
  1709. collisionForce = GetImpactVelocity(hit,script.Parent);
  1710. --print(collisionForce);
  1711. if(collisionForce > KillSpeed) then
  1712. --script.Parent:BreakJoints();
  1713. hit:BreakJoints();
  1714. end
  1715. deBounce = false;
  1716. end
  1717. end
  1718. end
  1719. end
  1720. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  1721. pPos = part.Velocity;
  1722. oPos = Other.Velocity;
  1723.  
  1724. pRspeed = {x=0,y=0,z=0}
  1725. oRspeed = {x=0,y=0,z=0}
  1726.  
  1727. pRspeed.x = math.floor(pPos.x);
  1728. pRspeed.y = math.floor(pPos.y);
  1729. pRspeed.z = math.floor(pPos.z);
  1730.  
  1731. oRspeed.x = math.floor(oPos.x);
  1732. oRspeed.y = math.floor(oPos.y);
  1733. oRspeed.z = math.floor(oPos.z);
  1734.  
  1735. IForce = {x=0,y=0,z=0}
  1736. IForce.x = pRspeed.x + -oRspeed.x
  1737. IForce.y = pRspeed.y + -oRspeed.y
  1738. IForce.z = pRspeed.z + -oRspeed.z
  1739.  
  1740. if(IForce.x < 0)then IForce.x = -IForce.x; end
  1741. if(IForce.y < 0)then IForce.y = -IForce.y; end
  1742. if(IForce.z < 0)then IForce.z = -IForce.z; end
  1743.  
  1744. speed = math.max(IForce.x,IForce.y,IForce.z);
  1745.  
  1746. return speed;
  1747. end
  1748.  
  1749.  
  1750.  
  1751. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  1752. script.Parent.Touched:connect(onTouch)
  1753. end
  1754.  
  1755.  
  1756.  
  1757. end,o51)
  1758. end))
  1759. o52 = Create("Part",{
  1760. ["Name"] = "l1",
  1761. ["Parent"] = o1,
  1762. ["BrickColor"] = BrickColor.new("Black"),
  1763. ["Position"] = Vector3.new(27.9518204, 2.1790359, -7.8296752),
  1764. ["Rotation"] = Vector3.new(4.87922573, 2.34957361, -0.381645203),
  1765. ["RotVelocity"] = Vector3.new(-0.00079275429, -0.0129950475, 0.00951036438),
  1766. ["Velocity"] = Vector3.new(-0.0373558775, -0.0793795735, 0.00459635723),
  1767. ["CFrame"] = CFrame.new(27.9518204, 2.1790359, -7.8296752, 0.999137104, 0.00665531587, 0.0409963019, -0.00314988731, 0.996377349, -0.084984161, -0.0414133817, 0.0847816989, 0.995538533),
  1768. ["FormFactor"] = Enum.FormFactor.Symmetric,
  1769. ["Shape"] = Enum.PartType.Cylinder,
  1770. ["Size"] = Vector3.new(4, 4, 4),
  1771. ["BottomSurface"] = Enum.SurfaceType.Smooth,
  1772. ["RightSurface"] = Enum.SurfaceType.Motor,
  1773. ["TopSurface"] = Enum.SurfaceType.Smooth,
  1774. ["Color"] = Color3.new(0.105882, 0.164706, 0.207843),
  1775. })
  1776. o53 = Create("Part",{
  1777. ["Name"] = "sbm",
  1778. ["Parent"] = o1,
  1779. ["BrickColor"] = BrickColor.new("Bright red"),
  1780. ["Position"] = Vector3.new(30.9538116, 4.76340961, -6.95504141),
  1781. ["Rotation"] = Vector3.new(179.97583, -0.274998069, 179.998337),
  1782. ["RotVelocity"] = Vector3.new(0.000585779315, -0.000410572946, 0.000223204595),
  1783. ["Velocity"] = Vector3.new(0.000944631232, 0.00537949335, -0.00229212898),
  1784. ["CFrame"] = CFrame.new(30.9538116, 4.76340961, -6.95504141, -0.999988496, -2.89266482e-005, -0.00479960302, -2.68985896e-005, 0.999999225, -0.00042190816, 0.0047996249, -0.000421774748, -0.999986351),
  1785. ["FormFactor"] = Enum.FormFactor.Plate,
  1786. ["Friction"] = 0,
  1787. ["Size"] = Vector3.new(10, 0.400000006, 2),
  1788. ["BackSurface"] = Enum.SurfaceType.Weld,
  1789. ["BottomSurface"] = Enum.SurfaceType.Weld,
  1790. ["TopSurface"] = Enum.SurfaceType.Smooth,
  1791. ["Color"] = Color3.new(0.768628, 0.156863, 0.109804),
  1792. })
  1793. o54 = Create("Script",{
  1794. ["Name"] = "Breaker",
  1795. ["Parent"] = o53,
  1796. })
  1797. table.insert(cors,coroutine.create(function()
  1798. wait()
  1799. runDummyScript(function()
  1800. --[[
  1801. Designed By TGazza
  1802.  
  1803. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  1804.  
  1805. Leave these comments here if you use this in your place
  1806. ]]--
  1807.  
  1808. deBounce = false;
  1809. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  1810. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  1811. function onTouch(hit)
  1812. if(hit.Name ~= "Collision Brick") then
  1813. if(deBounce == false)then
  1814. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  1815. if(h == nil) then -- not a player
  1816. deBounce = true
  1817. collisionForce = GetImpactVelocity(hit,script.Parent);
  1818. print(collisionForce)
  1819. if(collisionForce > BreakSpeed) then
  1820. script.Parent:BreakJoints();
  1821. end
  1822. deBounce = false
  1823. else -- we've hit a player
  1824. deBounce = true;
  1825. collisionForce = GetImpactVelocity(hit,script.Parent);
  1826. --print(collisionForce);
  1827. if(collisionForce > KillSpeed) then
  1828. --script.Parent:BreakJoints();
  1829. hit:BreakJoints();
  1830. end
  1831. deBounce = false;
  1832. end
  1833. end
  1834. end
  1835. end
  1836. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  1837. pPos = part.Velocity;
  1838. oPos = Other.Velocity;
  1839.  
  1840. pRspeed = {x=0,y=0,z=0}
  1841. oRspeed = {x=0,y=0,z=0}
  1842.  
  1843. pRspeed.x = math.floor(pPos.x);
  1844. pRspeed.y = math.floor(pPos.y);
  1845. pRspeed.z = math.floor(pPos.z);
  1846.  
  1847. oRspeed.x = math.floor(oPos.x);
  1848. oRspeed.y = math.floor(oPos.y);
  1849. oRspeed.z = math.floor(oPos.z);
  1850.  
  1851. IForce = {x=0,y=0,z=0}
  1852. IForce.x = pRspeed.x + -oRspeed.x
  1853. IForce.y = pRspeed.y + -oRspeed.y
  1854. IForce.z = pRspeed.z + -oRspeed.z
  1855.  
  1856. if(IForce.x < 0)then IForce.x = -IForce.x; end
  1857. if(IForce.y < 0)then IForce.y = -IForce.y; end
  1858. if(IForce.z < 0)then IForce.z = -IForce.z; end
  1859.  
  1860. speed = math.max(IForce.x,IForce.y,IForce.z);
  1861.  
  1862. return speed;
  1863. end
  1864.  
  1865.  
  1866.  
  1867. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  1868. script.Parent.Touched:connect(onTouch)
  1869. end
  1870.  
  1871.  
  1872.  
  1873. end,o54)
  1874. end))
  1875. o55 = Create("Part",{
  1876. ["Name"] = "sbm",
  1877. ["Parent"] = o1,
  1878. ["BrickColor"] = BrickColor.new("Bright red"),
  1879. ["Position"] = Vector3.new(30.961071, 2.96405602, -5.45425844),
  1880. ["Rotation"] = Vector3.new(-0.0241738893, 0.274996132, 0.00165838539),
  1881. ["RotVelocity"] = Vector3.new(0.000585779315, -0.000410572946, 0.000223204595),
  1882. ["Velocity"] = Vector3.new(0.00073007436, 0.00450198632, -0.0033431726),
  1883. ["CFrame"] = CFrame.new(30.961071, 2.96405602, -5.45425844, 0.999988496, -2.89439522e-005, 0.00479956903, 2.6905067e-005, 0.99999702, 0.000421905424, -0.00479962397, -0.000421773759, 0.999979734),
  1884. ["CanCollide"] = false,
  1885. ["FormFactor"] = Enum.FormFactor.Symmetric,
  1886. ["Friction"] = 0,
  1887. ["Size"] = Vector3.new(10, 4, 1),
  1888. ["BottomSurface"] = Enum.SurfaceType.Smooth,
  1889. ["TopSurface"] = Enum.SurfaceType.Smooth,
  1890. ["Color"] = Color3.new(0.768628, 0.156863, 0.109804),
  1891. })
  1892. o56 = Create("Script",{
  1893. ["Name"] = "Breaker",
  1894. ["Parent"] = o55,
  1895. })
  1896. table.insert(cors,coroutine.create(function()
  1897. wait()
  1898. runDummyScript(function()
  1899. --[[
  1900. Designed By TGazza
  1901.  
  1902. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  1903.  
  1904. Leave these comments here if you use this in your place
  1905. ]]--
  1906.  
  1907. deBounce = false;
  1908. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  1909. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  1910. function onTouch(hit)
  1911. if(hit.Name ~= "Collision Brick") then
  1912. if(deBounce == false)then
  1913. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  1914. if(h == nil) then -- not a player
  1915. deBounce = true
  1916. collisionForce = GetImpactVelocity(hit,script.Parent);
  1917. print(collisionForce)
  1918. if(collisionForce > BreakSpeed) then
  1919. script.Parent:BreakJoints();
  1920. end
  1921. deBounce = false
  1922. else -- we've hit a player
  1923. deBounce = true;
  1924. collisionForce = GetImpactVelocity(hit,script.Parent);
  1925. --print(collisionForce);
  1926. if(collisionForce > KillSpeed) then
  1927. --script.Parent:BreakJoints();
  1928. hit:BreakJoints();
  1929. end
  1930. deBounce = false;
  1931. end
  1932. end
  1933. end
  1934. end
  1935. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  1936. pPos = part.Velocity;
  1937. oPos = Other.Velocity;
  1938.  
  1939. pRspeed = {x=0,y=0,z=0}
  1940. oRspeed = {x=0,y=0,z=0}
  1941.  
  1942. pRspeed.x = math.floor(pPos.x);
  1943. pRspeed.y = math.floor(pPos.y);
  1944. pRspeed.z = math.floor(pPos.z);
  1945.  
  1946. oRspeed.x = math.floor(oPos.x);
  1947. oRspeed.y = math.floor(oPos.y);
  1948. oRspeed.z = math.floor(oPos.z);
  1949.  
  1950. IForce = {x=0,y=0,z=0}
  1951. IForce.x = pRspeed.x + -oRspeed.x
  1952. IForce.y = pRspeed.y + -oRspeed.y
  1953. IForce.z = pRspeed.z + -oRspeed.z
  1954.  
  1955. if(IForce.x < 0)then IForce.x = -IForce.x; end
  1956. if(IForce.y < 0)then IForce.y = -IForce.y; end
  1957. if(IForce.z < 0)then IForce.z = -IForce.z; end
  1958.  
  1959. speed = math.max(IForce.x,IForce.y,IForce.z);
  1960.  
  1961. return speed;
  1962. end
  1963.  
  1964.  
  1965.  
  1966. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  1967. script.Parent.Touched:connect(onTouch)
  1968. end
  1969.  
  1970.  
  1971.  
  1972. end,o56)
  1973. end))
  1974. o57 = Create("Part",{
  1975. ["Name"] = "sbm",
  1976. ["Parent"] = o1,
  1977. ["BrickColor"] = BrickColor.new("Bright blue"),
  1978. ["Transparency"] = 0.30000001192093,
  1979. ["Position"] = Vector3.new(30.9585762, 5.96383238, -5.95551777),
  1980. ["Rotation"] = Vector3.new(-0.0241738912, 0.274997383, 0.001658177),
  1981. ["RotVelocity"] = Vector3.new(0.000585779315, -0.000410572946, 0.000223204595),
  1982. ["Velocity"] = Vector3.new(0.00026631396, 0.00479505677, -0.00158698997),
  1983. ["CFrame"] = CFrame.new(30.9585762, 5.96383238, -5.95551777, 0.999988496, -2.8940316e-005, 0.00479959091, 2.69087468e-005, 0.99999851, 0.000421907345, -0.00479962351, -0.000421774457, 0.999984205),
  1984. ["CanCollide"] = false,
  1985. ["FormFactor"] = Enum.FormFactor.Symmetric,
  1986. ["Friction"] = 0,
  1987. ["Size"] = Vector3.new(8, 2, 4),
  1988. ["BottomSurface"] = Enum.SurfaceType.Weld,
  1989. ["TopSurface"] = Enum.SurfaceType.Smooth,
  1990. ["Color"] = Color3.new(0.0509804, 0.411765, 0.67451),
  1991. })
  1992. o58 = Create("SpecialMesh",{
  1993. ["Parent"] = o57,
  1994. ["MeshType"] = Enum.MeshType.Wedge,
  1995. })
  1996. o59 = Create("Script",{
  1997. ["Name"] = "Breaker",
  1998. ["Parent"] = o57,
  1999. })
  2000. table.insert(cors,coroutine.create(function()
  2001. wait()
  2002. runDummyScript(function()
  2003. --[[
  2004. Designed By TGazza
  2005.  
  2006. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  2007.  
  2008. Leave these comments here if you use this in your place
  2009. ]]--
  2010.  
  2011. deBounce = false;
  2012. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  2013. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  2014. function onTouch(hit)
  2015. if(hit.Name ~= "Collision Brick") then
  2016. if(deBounce == false)then
  2017. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  2018. if(h == nil) then -- not a player
  2019. deBounce = true
  2020. collisionForce = GetImpactVelocity(hit,script.Parent);
  2021. print(collisionForce)
  2022. if(collisionForce > BreakSpeed) then
  2023. script.Parent:BreakJoints();
  2024. end
  2025. deBounce = false
  2026. else -- we've hit a player
  2027. deBounce = true;
  2028. collisionForce = GetImpactVelocity(hit,script.Parent);
  2029. --print(collisionForce);
  2030. if(collisionForce > KillSpeed) then
  2031. --script.Parent:BreakJoints();
  2032. hit:BreakJoints();
  2033. end
  2034. deBounce = false;
  2035. end
  2036. end
  2037. end
  2038. end
  2039. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  2040. pPos = part.Velocity;
  2041. oPos = Other.Velocity;
  2042.  
  2043. pRspeed = {x=0,y=0,z=0}
  2044. oRspeed = {x=0,y=0,z=0}
  2045.  
  2046. pRspeed.x = math.floor(pPos.x);
  2047. pRspeed.y = math.floor(pPos.y);
  2048. pRspeed.z = math.floor(pPos.z);
  2049.  
  2050. oRspeed.x = math.floor(oPos.x);
  2051. oRspeed.y = math.floor(oPos.y);
  2052. oRspeed.z = math.floor(oPos.z);
  2053.  
  2054. IForce = {x=0,y=0,z=0}
  2055. IForce.x = pRspeed.x + -oRspeed.x
  2056. IForce.y = pRspeed.y + -oRspeed.y
  2057. IForce.z = pRspeed.z + -oRspeed.z
  2058.  
  2059. if(IForce.x < 0)then IForce.x = -IForce.x; end
  2060. if(IForce.y < 0)then IForce.y = -IForce.y; end
  2061. if(IForce.z < 0)then IForce.z = -IForce.z; end
  2062.  
  2063. speed = math.max(IForce.x,IForce.y,IForce.z);
  2064.  
  2065. return speed;
  2066. end
  2067.  
  2068.  
  2069.  
  2070. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  2071. script.Parent.Touched:connect(onTouch)
  2072. end
  2073.  
  2074.  
  2075.  
  2076. end,o59)
  2077. end))
  2078. o60 = Create("Part",{
  2079. ["Name"] = "sbm",
  2080. ["Parent"] = o1,
  2081. ["BrickColor"] = BrickColor.new("Bright red"),
  2082. ["Position"] = Vector3.new(34.4705315, 5.76497507, -3.47224236),
  2083. ["Rotation"] = Vector3.new(-0.0241738949, 0.274993777, 0.00165877689),
  2084. ["RotVelocity"] = Vector3.new(0.000585779315, -0.000410572946, 0.000223204595),
  2085. ["Velocity"] = Vector3.new(-0.000708865817, 0.00412428984, -0.000261562585),
  2086. ["CFrame"] = CFrame.new(34.4705315, 5.76497507, -3.47224236, 0.999988496, -2.89507843e-005, 0.00479952805, 2.68981512e-005, 0.999994218, 0.000421901961, -0.0047996249, -0.000421772565, 0.99997133),
  2087. ["CanCollide"] = false,
  2088. ["FormFactor"] = Enum.FormFactor.Plate,
  2089. ["Friction"] = 0,
  2090. ["Size"] = Vector3.new(1, 1.60000002, 1),
  2091. ["BottomSurface"] = Enum.SurfaceType.Weld,
  2092. ["TopSurface"] = Enum.SurfaceType.Smooth,
  2093. ["Color"] = Color3.new(0.768628, 0.156863, 0.109804),
  2094. })
  2095. o61 = Create("Script",{
  2096. ["Name"] = "Breaker",
  2097. ["Parent"] = o60,
  2098. })
  2099. table.insert(cors,coroutine.create(function()
  2100. wait()
  2101. runDummyScript(function()
  2102. --[[
  2103. Designed By TGazza
  2104.  
  2105. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  2106.  
  2107. Leave these comments here if you use this in your place
  2108. ]]--
  2109.  
  2110. deBounce = false;
  2111. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  2112. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  2113. function onTouch(hit)
  2114. if(hit.Name ~= "Collision Brick") then
  2115. if(deBounce == false)then
  2116. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  2117. if(h == nil) then -- not a player
  2118. deBounce = true
  2119. collisionForce = GetImpactVelocity(hit,script.Parent);
  2120. print(collisionForce)
  2121. if(collisionForce > BreakSpeed) then
  2122. script.Parent:BreakJoints();
  2123. end
  2124. deBounce = false
  2125. else -- we've hit a player
  2126. deBounce = true;
  2127. collisionForce = GetImpactVelocity(hit,script.Parent);
  2128. --print(collisionForce);
  2129. if(collisionForce > KillSpeed) then
  2130. --script.Parent:BreakJoints();
  2131. hit:BreakJoints();
  2132. end
  2133. deBounce = false;
  2134. end
  2135. end
  2136. end
  2137. end
  2138. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  2139. pPos = part.Velocity;
  2140. oPos = Other.Velocity;
  2141.  
  2142. pRspeed = {x=0,y=0,z=0}
  2143. oRspeed = {x=0,y=0,z=0}
  2144.  
  2145. pRspeed.x = math.floor(pPos.x);
  2146. pRspeed.y = math.floor(pPos.y);
  2147. pRspeed.z = math.floor(pPos.z);
  2148.  
  2149. oRspeed.x = math.floor(oPos.x);
  2150. oRspeed.y = math.floor(oPos.y);
  2151. oRspeed.z = math.floor(oPos.z);
  2152.  
  2153. IForce = {x=0,y=0,z=0}
  2154. IForce.x = pRspeed.x + -oRspeed.x
  2155. IForce.y = pRspeed.y + -oRspeed.y
  2156. IForce.z = pRspeed.z + -oRspeed.z
  2157.  
  2158. if(IForce.x < 0)then IForce.x = -IForce.x; end
  2159. if(IForce.y < 0)then IForce.y = -IForce.y; end
  2160. if(IForce.z < 0)then IForce.z = -IForce.z; end
  2161.  
  2162. speed = math.max(IForce.x,IForce.y,IForce.z);
  2163.  
  2164. return speed;
  2165. end
  2166.  
  2167.  
  2168.  
  2169. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  2170. script.Parent.Touched:connect(onTouch)
  2171. end
  2172.  
  2173.  
  2174.  
  2175. end,o61)
  2176. end))
  2177. o62 = Create("Part",{
  2178. ["Name"] = "sbm",
  2179. ["Parent"] = o1,
  2180. ["BrickColor"] = BrickColor.new("Bright red"),
  2181. ["Position"] = Vector3.new(35.4778061, 3.16563177, -1.9759686),
  2182. ["Rotation"] = Vector3.new(-179.678925, 89.725174, 179.654388),
  2183. ["RotVelocity"] = Vector3.new(0.000585779315, -0.000410572946, 0.000223204595),
  2184. ["Velocity"] = Vector3.new(-0.000743009965, 0.00347263203, -0.00137064443),
  2185. ["CFrame"] = CFrame.new(35.4778061, 3.16563177, -1.9759686, -0.00479952432, -2.895137e-005, 0.999988496, -0.000421901612, 0.99999398, 2.689756e-005, -0.999970615, -0.000421772478, -0.0047996249),
  2186. ["CanCollide"] = false,
  2187. ["FormFactor"] = Enum.FormFactor.Plate,
  2188. ["Friction"] = 0,
  2189. ["Size"] = Vector3.new(6, 3.60000014, 1),
  2190. ["BottomSurface"] = Enum.SurfaceType.Weld,
  2191. ["TopSurface"] = Enum.SurfaceType.Smooth,
  2192. ["Color"] = Color3.new(0.768628, 0.156863, 0.109804),
  2193. })
  2194. o63 = Create("Script",{
  2195. ["Name"] = "Breaker",
  2196. ["Parent"] = o62,
  2197. })
  2198. table.insert(cors,coroutine.create(function()
  2199. wait()
  2200. runDummyScript(function()
  2201. --[[
  2202. Designed By TGazza
  2203.  
  2204. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  2205.  
  2206. Leave these comments here if you use this in your place
  2207. ]]--
  2208.  
  2209. deBounce = false;
  2210. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  2211. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  2212. function onTouch(hit)
  2213. if(hit.Name ~= "Collision Brick") then
  2214. if(deBounce == false)then
  2215. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  2216. if(h == nil) then -- not a player
  2217. deBounce = true
  2218. collisionForce = GetImpactVelocity(hit,script.Parent);
  2219. print(collisionForce)
  2220. if(collisionForce > BreakSpeed) then
  2221. script.Parent:BreakJoints();
  2222. end
  2223. deBounce = false
  2224. else -- we've hit a player
  2225. deBounce = true;
  2226. collisionForce = GetImpactVelocity(hit,script.Parent);
  2227. --print(collisionForce);
  2228. if(collisionForce > KillSpeed) then
  2229. --script.Parent:BreakJoints();
  2230. hit:BreakJoints();
  2231. end
  2232. deBounce = false;
  2233. end
  2234. end
  2235. end
  2236. end
  2237. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  2238. pPos = part.Velocity;
  2239. oPos = Other.Velocity;
  2240.  
  2241. pRspeed = {x=0,y=0,z=0}
  2242. oRspeed = {x=0,y=0,z=0}
  2243.  
  2244. pRspeed.x = math.floor(pPos.x);
  2245. pRspeed.y = math.floor(pPos.y);
  2246. pRspeed.z = math.floor(pPos.z);
  2247.  
  2248. oRspeed.x = math.floor(oPos.x);
  2249. oRspeed.y = math.floor(oPos.y);
  2250. oRspeed.z = math.floor(oPos.z);
  2251.  
  2252. IForce = {x=0,y=0,z=0}
  2253. IForce.x = pRspeed.x + -oRspeed.x
  2254. IForce.y = pRspeed.y + -oRspeed.y
  2255. IForce.z = pRspeed.z + -oRspeed.z
  2256.  
  2257. if(IForce.x < 0)then IForce.x = -IForce.x; end
  2258. if(IForce.y < 0)then IForce.y = -IForce.y; end
  2259. if(IForce.z < 0)then IForce.z = -IForce.z; end
  2260.  
  2261. speed = math.max(IForce.x,IForce.y,IForce.z);
  2262.  
  2263. return speed;
  2264. end
  2265.  
  2266.  
  2267.  
  2268. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  2269. script.Parent.Touched:connect(onTouch)
  2270. end
  2271.  
  2272.  
  2273.  
  2274. end,o63)
  2275. end))
  2276. o64 = Create("Part",{
  2277. ["Name"] = "sbm",
  2278. ["Parent"] = o1,
  2279. ["BrickColor"] = BrickColor.new("Bright red"),
  2280. ["Position"] = Vector3.new(34.4753647, 4.36540794, -2.47170997),
  2281. ["Rotation"] = Vector3.new(-179.678818, 89.725174, 179.65448),
  2282. ["RotVelocity"] = Vector3.new(0.000585779315, -0.000410572946, 0.000223204595),
  2283. ["Velocity"] = Vector3.new(-0.000807267556, 0.00353927747, -0.00107941567),
  2284. ["CFrame"] = CFrame.new(34.4753647, 4.36540794, -2.47170997, -0.00479956996, -2.89438049e-005, 0.999988496, -0.000421905512, 0.999997079, 2.69052143e-005, -0.999979913, -0.000421773788, -0.00479962397),
  2285. ["CanCollide"] = false,
  2286. ["Friction"] = 0,
  2287. ["Size"] = Vector3.new(5, 1.20000005, 1),
  2288. ["BottomSurface"] = Enum.SurfaceType.Weld,
  2289. ["LeftSurface"] = Enum.SurfaceType.Weld,
  2290. ["TopSurface"] = Enum.SurfaceType.Smooth,
  2291. ["Color"] = Color3.new(0.768628, 0.156863, 0.109804),
  2292. })
  2293. o65 = Create("Script",{
  2294. ["Name"] = "Breaker",
  2295. ["Parent"] = o64,
  2296. })
  2297. table.insert(cors,coroutine.create(function()
  2298. wait()
  2299. runDummyScript(function()
  2300. --[[
  2301. Designed By TGazza
  2302.  
  2303. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  2304.  
  2305. Leave these comments here if you use this in your place
  2306. ]]--
  2307.  
  2308. deBounce = false;
  2309. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  2310. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  2311. function onTouch(hit)
  2312. if(hit.Name ~= "Collision Brick") then
  2313. if(deBounce == false)then
  2314. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  2315. if(h == nil) then -- not a player
  2316. deBounce = true
  2317. collisionForce = GetImpactVelocity(hit,script.Parent);
  2318. print(collisionForce)
  2319. if(collisionForce > BreakSpeed) then
  2320. script.Parent:BreakJoints();
  2321. end
  2322. deBounce = false
  2323. else -- we've hit a player
  2324. deBounce = true;
  2325. collisionForce = GetImpactVelocity(hit,script.Parent);
  2326. --print(collisionForce);
  2327. if(collisionForce > KillSpeed) then
  2328. --script.Parent:BreakJoints();
  2329. hit:BreakJoints();
  2330. end
  2331. deBounce = false;
  2332. end
  2333. end
  2334. end
  2335. end
  2336. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  2337. pPos = part.Velocity;
  2338. oPos = Other.Velocity;
  2339.  
  2340. pRspeed = {x=0,y=0,z=0}
  2341. oRspeed = {x=0,y=0,z=0}
  2342.  
  2343. pRspeed.x = math.floor(pPos.x);
  2344. pRspeed.y = math.floor(pPos.y);
  2345. pRspeed.z = math.floor(pPos.z);
  2346.  
  2347. oRspeed.x = math.floor(oPos.x);
  2348. oRspeed.y = math.floor(oPos.y);
  2349. oRspeed.z = math.floor(oPos.z);
  2350.  
  2351. IForce = {x=0,y=0,z=0}
  2352. IForce.x = pRspeed.x + -oRspeed.x
  2353. IForce.y = pRspeed.y + -oRspeed.y
  2354. IForce.z = pRspeed.z + -oRspeed.z
  2355.  
  2356. if(IForce.x < 0)then IForce.x = -IForce.x; end
  2357. if(IForce.y < 0)then IForce.y = -IForce.y; end
  2358. if(IForce.z < 0)then IForce.z = -IForce.z; end
  2359.  
  2360. speed = math.max(IForce.x,IForce.y,IForce.z);
  2361.  
  2362. return speed;
  2363. end
  2364.  
  2365.  
  2366.  
  2367. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  2368. script.Parent.Touched:connect(onTouch)
  2369. end
  2370.  
  2371.  
  2372.  
  2373. end,o65)
  2374. end))
  2375. o66 = Create("Part",{
  2376. ["Name"] = "sbm",
  2377. ["Parent"] = o1,
  2378. ["BrickColor"] = BrickColor.new("Bright red"),
  2379. ["Position"] = Vector3.new(27.4706154, 5.76478624, -3.43863916),
  2380. ["Rotation"] = Vector3.new(-0.0241738949, 0.274993777, 0.00165877689),
  2381. ["RotVelocity"] = Vector3.new(0.000585779315, -0.000410572946, 0.000223204595),
  2382. ["Velocity"] = Vector3.new(-0.000722620229, 0.00254219235, -0.00313564972),
  2383. ["CFrame"] = CFrame.new(27.4706154, 5.76478624, -3.43863916, 0.999988496, -2.89507843e-005, 0.00479952805, 2.68981512e-005, 0.999994218, 0.000421901961, -0.0047996249, -0.000421772565, 0.99997133),
  2384. ["CanCollide"] = false,
  2385. ["FormFactor"] = Enum.FormFactor.Plate,
  2386. ["Friction"] = 0,
  2387. ["Size"] = Vector3.new(1, 1.60000002, 1),
  2388. ["BottomSurface"] = Enum.SurfaceType.Weld,
  2389. ["TopSurface"] = Enum.SurfaceType.Smooth,
  2390. ["Color"] = Color3.new(0.768628, 0.156863, 0.109804),
  2391. })
  2392. o67 = Create("Script",{
  2393. ["Name"] = "Breaker",
  2394. ["Parent"] = o66,
  2395. })
  2396. table.insert(cors,coroutine.create(function()
  2397. wait()
  2398. runDummyScript(function()
  2399. --[[
  2400. Designed By TGazza
  2401.  
  2402. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  2403.  
  2404. Leave these comments here if you use this in your place
  2405. ]]--
  2406.  
  2407. deBounce = false;
  2408. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  2409. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  2410. function onTouch(hit)
  2411. if(hit.Name ~= "Collision Brick") then
  2412. if(deBounce == false)then
  2413. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  2414. if(h == nil) then -- not a player
  2415. deBounce = true
  2416. collisionForce = GetImpactVelocity(hit,script.Parent);
  2417. print(collisionForce)
  2418. if(collisionForce > BreakSpeed) then
  2419. script.Parent:BreakJoints();
  2420. end
  2421. deBounce = false
  2422. else -- we've hit a player
  2423. deBounce = true;
  2424. collisionForce = GetImpactVelocity(hit,script.Parent);
  2425. --print(collisionForce);
  2426. if(collisionForce > KillSpeed) then
  2427. --script.Parent:BreakJoints();
  2428. hit:BreakJoints();
  2429. end
  2430. deBounce = false;
  2431. end
  2432. end
  2433. end
  2434. end
  2435. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  2436. pPos = part.Velocity;
  2437. oPos = Other.Velocity;
  2438.  
  2439. pRspeed = {x=0,y=0,z=0}
  2440. oRspeed = {x=0,y=0,z=0}
  2441.  
  2442. pRspeed.x = math.floor(pPos.x);
  2443. pRspeed.y = math.floor(pPos.y);
  2444. pRspeed.z = math.floor(pPos.z);
  2445.  
  2446. oRspeed.x = math.floor(oPos.x);
  2447. oRspeed.y = math.floor(oPos.y);
  2448. oRspeed.z = math.floor(oPos.z);
  2449.  
  2450. IForce = {x=0,y=0,z=0}
  2451. IForce.x = pRspeed.x + -oRspeed.x
  2452. IForce.y = pRspeed.y + -oRspeed.y
  2453. IForce.z = pRspeed.z + -oRspeed.z
  2454.  
  2455. if(IForce.x < 0)then IForce.x = -IForce.x; end
  2456. if(IForce.y < 0)then IForce.y = -IForce.y; end
  2457. if(IForce.z < 0)then IForce.z = -IForce.z; end
  2458.  
  2459. speed = math.max(IForce.x,IForce.y,IForce.z);
  2460.  
  2461. return speed;
  2462. end
  2463.  
  2464.  
  2465.  
  2466. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  2467. script.Parent.Touched:connect(onTouch)
  2468. end
  2469.  
  2470.  
  2471.  
  2472. end,o67)
  2473. end))
  2474. o68 = Create("Seat",{
  2475. ["Parent"] = o1,
  2476. ["BrickColor"] = BrickColor.new("Reddish brown"),
  2477. ["Position"] = Vector3.new(28.985117, 1.56610036, -0.444140196),
  2478. ["Rotation"] = Vector3.new(-0.0241738912, 0.274993569, 0.00165881042),
  2479. ["RotVelocity"] = Vector3.new(0.000585779315, -0.000410572946, 0.000223204595),
  2480. ["Velocity"] = Vector3.new(-0.00101491448, 0.00112612057, -0.00497333938),
  2481. ["CFrame"] = CFrame.new(28.985117, 1.56610036, -0.444140196, 0.999988496, -2.895137e-005, 0.00479952432, 2.689756e-005, 0.99999398, 0.000421901612, -0.0047996249, -0.000421772478, 0.999970615),
  2482. ["FormFactor"] = Enum.FormFactor.Plate,
  2483. ["Size"] = Vector3.new(2, 0.400000006, 1),
  2484. ["BackSurface"] = Enum.SurfaceType.Weld,
  2485. ["BottomSurface"] = Enum.SurfaceType.Weld,
  2486. ["FrontSurface"] = Enum.SurfaceType.Weld,
  2487. ["LeftSurface"] = Enum.SurfaceType.Weld,
  2488. ["RightSurface"] = Enum.SurfaceType.Weld,
  2489. ["TopSurface"] = Enum.SurfaceType.Weld,
  2490. ["Color"] = Color3.new(0.411765, 0.25098, 0.156863),
  2491. })
  2492. o69 = Create("SpecialMesh",{
  2493. ["Parent"] = o68,
  2494. ["MeshType"] = Enum.MeshType.Brick,
  2495. })
  2496. o70 = Create("Seat",{
  2497. ["Parent"] = o1,
  2498. ["BrickColor"] = BrickColor.new("Reddish brown"),
  2499. ["Position"] = Vector3.new(32.9850731, 1.56620836, -0.463338733),
  2500. ["Rotation"] = Vector3.new(-0.0241738912, 0.274993569, 0.00165881042),
  2501. ["RotVelocity"] = Vector3.new(0.000585779315, -0.000410572946, 0.000223204595),
  2502. ["Velocity"] = Vector3.new(-0.00100705621, 0.00203017518, -0.00333100231),
  2503. ["CFrame"] = CFrame.new(32.9850731, 1.56620836, -0.463338733, 0.999988496, -2.895137e-005, 0.00479952432, 2.689756e-005, 0.99999398, 0.000421901612, -0.0047996249, -0.000421772478, 0.999970615),
  2504. ["FormFactor"] = Enum.FormFactor.Plate,
  2505. ["Size"] = Vector3.new(2, 0.400000006, 1),
  2506. ["BackSurface"] = Enum.SurfaceType.Weld,
  2507. ["BottomSurface"] = Enum.SurfaceType.Weld,
  2508. ["FrontSurface"] = Enum.SurfaceType.Weld,
  2509. ["LeftSurface"] = Enum.SurfaceType.Weld,
  2510. ["RightSurface"] = Enum.SurfaceType.Weld,
  2511. ["TopSurface"] = Enum.SurfaceType.Weld,
  2512. ["Color"] = Color3.new(0.411765, 0.25098, 0.156863),
  2513. })
  2514. o71 = Create("SpecialMesh",{
  2515. ["Parent"] = o70,
  2516. ["MeshType"] = Enum.MeshType.Brick,
  2517. })
  2518. o72 = Create("Part",{
  2519. ["Name"] = "sbm",
  2520. ["Parent"] = o1,
  2521. ["BrickColor"] = BrickColor.new("Bright red"),
  2522. ["Position"] = Vector3.new(30.9803219, 1.16574824, -1.45358086),
  2523. ["Rotation"] = Vector3.new(179.97583, -0.274996072, 179.998337),
  2524. ["RotVelocity"] = Vector3.new(0.000585779315, -0.000410572946, 0.000223204595),
  2525. ["Velocity"] = Vector3.new(-0.000511105056, 0.00216276897, -0.00438868022),
  2526. ["CFrame"] = CFrame.new(30.9803219, 1.16574824, -1.45358086, -0.999988496, -2.89440977e-005, -0.00479956809, -2.69049197e-005, 0.99999696, -0.000421905337, 0.00479962397, -0.00042177373, -0.999979556),
  2527. ["FormFactor"] = Enum.FormFactor.Plate,
  2528. ["Friction"] = 0,
  2529. ["Size"] = Vector3.new(10, 0.400000006, 7),
  2530. ["BackSurface"] = Enum.SurfaceType.Weld,
  2531. ["BottomSurface"] = Enum.SurfaceType.Smooth,
  2532. ["TopSurface"] = Enum.SurfaceType.Smooth,
  2533. ["Color"] = Color3.new(0.768628, 0.156863, 0.109804),
  2534. })
  2535. o73 = Create("Script",{
  2536. ["Name"] = "Breaker",
  2537. ["Parent"] = o72,
  2538. })
  2539. table.insert(cors,coroutine.create(function()
  2540. wait()
  2541. runDummyScript(function()
  2542. --[[
  2543. Designed By TGazza
  2544.  
  2545. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  2546.  
  2547. Leave these comments here if you use this in your place
  2548. ]]--
  2549.  
  2550. deBounce = false;
  2551. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  2552. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  2553. function onTouch(hit)
  2554. if(hit.Name ~= "Collision Brick") then
  2555. if(deBounce == false)then
  2556. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  2557. if(h == nil) then -- not a player
  2558. deBounce = true
  2559. collisionForce = GetImpactVelocity(hit,script.Parent);
  2560. print(collisionForce)
  2561. if(collisionForce > BreakSpeed) then
  2562. script.Parent:BreakJoints();
  2563. end
  2564. deBounce = false
  2565. else -- we've hit a player
  2566. deBounce = true;
  2567. collisionForce = GetImpactVelocity(hit,script.Parent);
  2568. --print(collisionForce);
  2569. if(collisionForce > KillSpeed) then
  2570. --script.Parent:BreakJoints();
  2571. hit:BreakJoints();
  2572. end
  2573. deBounce = false;
  2574. end
  2575. end
  2576. end
  2577. end
  2578. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  2579. pPos = part.Velocity;
  2580. oPos = Other.Velocity;
  2581.  
  2582. pRspeed = {x=0,y=0,z=0}
  2583. oRspeed = {x=0,y=0,z=0}
  2584.  
  2585. pRspeed.x = math.floor(pPos.x);
  2586. pRspeed.y = math.floor(pPos.y);
  2587. pRspeed.z = math.floor(pPos.z);
  2588.  
  2589. oRspeed.x = math.floor(oPos.x);
  2590. oRspeed.y = math.floor(oPos.y);
  2591. oRspeed.z = math.floor(oPos.z);
  2592.  
  2593. IForce = {x=0,y=0,z=0}
  2594. IForce.x = pRspeed.x + -oRspeed.x
  2595. IForce.y = pRspeed.y + -oRspeed.y
  2596. IForce.z = pRspeed.z + -oRspeed.z
  2597.  
  2598. if(IForce.x < 0)then IForce.x = -IForce.x; end
  2599. if(IForce.y < 0)then IForce.y = -IForce.y; end
  2600. if(IForce.z < 0)then IForce.z = -IForce.z; end
  2601.  
  2602. speed = math.max(IForce.x,IForce.y,IForce.z);
  2603.  
  2604. return speed;
  2605. end
  2606.  
  2607.  
  2608.  
  2609. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  2610. script.Parent.Touched:connect(onTouch)
  2611. end
  2612.  
  2613.  
  2614.  
  2615. end,o73)
  2616. end))
  2617. o74 = Create("Part",{
  2618. ["Name"] = "sbm",
  2619. ["Parent"] = o1,
  2620. ["BrickColor"] = BrickColor.new("Bright red"),
  2621. ["Position"] = Vector3.new(26.4779167, 3.16539097, -1.93277133),
  2622. ["Rotation"] = Vector3.new(-179.678925, 89.725174, 179.654388),
  2623. ["RotVelocity"] = Vector3.new(0.000585779315, -0.000410572946, 0.000223204595),
  2624. ["Velocity"] = Vector3.new(-0.000760691881, 0.0014385113, -0.00506589655),
  2625. ["CFrame"] = CFrame.new(26.4779167, 3.16539097, -1.93277133, -0.00479952432, -2.895137e-005, 0.999988496, -0.000421901612, 0.99999398, 2.689756e-005, -0.999970615, -0.000421772478, -0.0047996249),
  2626. ["CanCollide"] = false,
  2627. ["FormFactor"] = Enum.FormFactor.Plate,
  2628. ["Friction"] = 0,
  2629. ["Size"] = Vector3.new(6, 3.60000014, 1),
  2630. ["BottomSurface"] = Enum.SurfaceType.Weld,
  2631. ["TopSurface"] = Enum.SurfaceType.Smooth,
  2632. ["Color"] = Color3.new(0.768628, 0.156863, 0.109804),
  2633. })
  2634. o75 = Create("Script",{
  2635. ["Name"] = "Breaker",
  2636. ["Parent"] = o74,
  2637. })
  2638. table.insert(cors,coroutine.create(function()
  2639. wait()
  2640. runDummyScript(function()
  2641. --[[
  2642. Designed By TGazza
  2643.  
  2644. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  2645.  
  2646. Leave these comments here if you use this in your place
  2647. ]]--
  2648.  
  2649. deBounce = false;
  2650. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  2651. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  2652. function onTouch(hit)
  2653. if(hit.Name ~= "Collision Brick") then
  2654. if(deBounce == false)then
  2655. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  2656. if(h == nil) then -- not a player
  2657. deBounce = true
  2658. collisionForce = GetImpactVelocity(hit,script.Parent);
  2659. print(collisionForce)
  2660. if(collisionForce > BreakSpeed) then
  2661. script.Parent:BreakJoints();
  2662. end
  2663. deBounce = false
  2664. else -- we've hit a player
  2665. deBounce = true;
  2666. collisionForce = GetImpactVelocity(hit,script.Parent);
  2667. --print(collisionForce);
  2668. if(collisionForce > KillSpeed) then
  2669. --script.Parent:BreakJoints();
  2670. hit:BreakJoints();
  2671. end
  2672. deBounce = false;
  2673. end
  2674. end
  2675. end
  2676. end
  2677. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  2678. pPos = part.Velocity;
  2679. oPos = Other.Velocity;
  2680.  
  2681. pRspeed = {x=0,y=0,z=0}
  2682. oRspeed = {x=0,y=0,z=0}
  2683.  
  2684. pRspeed.x = math.floor(pPos.x);
  2685. pRspeed.y = math.floor(pPos.y);
  2686. pRspeed.z = math.floor(pPos.z);
  2687.  
  2688. oRspeed.x = math.floor(oPos.x);
  2689. oRspeed.y = math.floor(oPos.y);
  2690. oRspeed.z = math.floor(oPos.z);
  2691.  
  2692. IForce = {x=0,y=0,z=0}
  2693. IForce.x = pRspeed.x + -oRspeed.x
  2694. IForce.y = pRspeed.y + -oRspeed.y
  2695. IForce.z = pRspeed.z + -oRspeed.z
  2696.  
  2697. if(IForce.x < 0)then IForce.x = -IForce.x; end
  2698. if(IForce.y < 0)then IForce.y = -IForce.y; end
  2699. if(IForce.z < 0)then IForce.z = -IForce.z; end
  2700.  
  2701. speed = math.max(IForce.x,IForce.y,IForce.z);
  2702.  
  2703. return speed;
  2704. end
  2705.  
  2706.  
  2707.  
  2708. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  2709. script.Parent.Touched:connect(onTouch)
  2710. end
  2711.  
  2712.  
  2713.  
  2714. end,o75)
  2715. end))
  2716. o76 = Create("Part",{
  2717. ["Name"] = "sbm",
  2718. ["Parent"] = o1,
  2719. ["BrickColor"] = BrickColor.new("Bright red"),
  2720. ["Position"] = Vector3.new(30.9801369, 6.76566076, -1.45595598),
  2721. ["Rotation"] = Vector3.new(-0.0241738781, 0.274996459, 0.00165479386),
  2722. ["RotVelocity"] = Vector3.new(0.000585779315, -0.000410572946, 0.000223204595),
  2723. ["Velocity"] = Vector3.new(-0.00176005613, 0.00216411892, -0.00110844336),
  2724. ["CFrame"] = CFrame.new(30.9801369, 6.76566076, -1.45595598, 0.999988496, -2.8881268e-005, 0.00479957508, 2.68420881e-005, 0.99999696, 0.000421905163, -0.00479963096, -0.000421773875, 0.999979556),
  2725. ["CanCollide"] = false,
  2726. ["FormFactor"] = Enum.FormFactor.Plate,
  2727. ["Friction"] = 0,
  2728. ["Size"] = Vector3.new(8, 0.400000006, 5),
  2729. ["BottomSurface"] = Enum.SurfaceType.Smooth,
  2730. ["TopSurface"] = Enum.SurfaceType.Smooth,
  2731. ["Color"] = Color3.new(0.768628, 0.156863, 0.109804),
  2732. })
  2733. o77 = Create("Script",{
  2734. ["Name"] = "Breaker",
  2735. ["Parent"] = o76,
  2736. })
  2737. table.insert(cors,coroutine.create(function()
  2738. wait()
  2739. runDummyScript(function()
  2740. --[[
  2741. Designed By TGazza
  2742.  
  2743. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  2744.  
  2745. Leave these comments here if you use this in your place
  2746. ]]--
  2747.  
  2748. deBounce = false;
  2749. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  2750. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  2751. function onTouch(hit)
  2752. if(hit.Name ~= "Collision Brick") then
  2753. if(deBounce == false)then
  2754. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  2755. if(h == nil) then -- not a player
  2756. deBounce = true
  2757. collisionForce = GetImpactVelocity(hit,script.Parent);
  2758. print(collisionForce)
  2759. if(collisionForce > BreakSpeed) then
  2760. script.Parent:BreakJoints();
  2761. end
  2762. deBounce = false
  2763. else -- we've hit a player
  2764. deBounce = true;
  2765. collisionForce = GetImpactVelocity(hit,script.Parent);
  2766. --print(collisionForce);
  2767. if(collisionForce > KillSpeed) then
  2768. --script.Parent:BreakJoints();
  2769. hit:BreakJoints();
  2770. end
  2771. deBounce = false;
  2772. end
  2773. end
  2774. end
  2775. end
  2776. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  2777. pPos = part.Velocity;
  2778. oPos = Other.Velocity;
  2779.  
  2780. pRspeed = {x=0,y=0,z=0}
  2781. oRspeed = {x=0,y=0,z=0}
  2782.  
  2783. pRspeed.x = math.floor(pPos.x);
  2784. pRspeed.y = math.floor(pPos.y);
  2785. pRspeed.z = math.floor(pPos.z);
  2786.  
  2787. oRspeed.x = math.floor(oPos.x);
  2788. oRspeed.y = math.floor(oPos.y);
  2789. oRspeed.z = math.floor(oPos.z);
  2790.  
  2791. IForce = {x=0,y=0,z=0}
  2792. IForce.x = pRspeed.x + -oRspeed.x
  2793. IForce.y = pRspeed.y + -oRspeed.y
  2794. IForce.z = pRspeed.z + -oRspeed.z
  2795.  
  2796. if(IForce.x < 0)then IForce.x = -IForce.x; end
  2797. if(IForce.y < 0)then IForce.y = -IForce.y; end
  2798. if(IForce.z < 0)then IForce.z = -IForce.z; end
  2799.  
  2800. speed = math.max(IForce.x,IForce.y,IForce.z);
  2801.  
  2802. return speed;
  2803. end
  2804.  
  2805.  
  2806.  
  2807. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  2808. script.Parent.Touched:connect(onTouch)
  2809. end
  2810.  
  2811.  
  2812.  
  2813. end,o77)
  2814. end))
  2815. o78 = Create("Part",{
  2816. ["Name"] = "sbm",
  2817. ["Parent"] = o1,
  2818. ["BrickColor"] = BrickColor.new("Bright blue"),
  2819. ["Transparency"] = 0.30000001192093,
  2820. ["Position"] = Vector3.new(27.4825974, 5.76579666, -0.938771427),
  2821. ["Rotation"] = Vector3.new(-0.0241738781, 0.274996459, 0.00165479386),
  2822. ["RotVelocity"] = Vector3.new(0.000585779315, -0.000410572946, 0.000223204595),
  2823. ["Velocity"] = Vector3.new(-0.0017492238, 0.001080496, -0.00313013815),
  2824. ["CFrame"] = CFrame.new(27.4825974, 5.76579666, -0.938771427, 0.999988496, -2.8881268e-005, 0.00479957508, 2.68420881e-005, 0.99999696, 0.000421905163, -0.00479963096, -0.000421773875, 0.999979556),
  2825. ["CanCollide"] = false,
  2826. ["FormFactor"] = Enum.FormFactor.Plate,
  2827. ["Friction"] = 0,
  2828. ["Size"] = Vector3.new(1, 1.60000002, 4),
  2829. ["BottomSurface"] = Enum.SurfaceType.Weld,
  2830. ["TopSurface"] = Enum.SurfaceType.Weld,
  2831. ["Color"] = Color3.new(0.0509804, 0.411765, 0.67451),
  2832. })
  2833. o79 = Create("Script",{
  2834. ["Name"] = "Breaker",
  2835. ["Parent"] = o78,
  2836. })
  2837. table.insert(cors,coroutine.create(function()
  2838. wait()
  2839. runDummyScript(function()
  2840. --[[
  2841. Designed By TGazza
  2842.  
  2843. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  2844.  
  2845. Leave these comments here if you use this in your place
  2846. ]]--
  2847.  
  2848. deBounce = false;
  2849. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  2850. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  2851. function onTouch(hit)
  2852. if(hit.Name ~= "Collision Brick") then
  2853. if(deBounce == false)then
  2854. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  2855. if(h == nil) then -- not a player
  2856. deBounce = true
  2857. collisionForce = GetImpactVelocity(hit,script.Parent);
  2858. print(collisionForce)
  2859. if(collisionForce > BreakSpeed) then
  2860. script.Parent:BreakJoints();
  2861. end
  2862. deBounce = false
  2863. else -- we've hit a player
  2864. deBounce = true;
  2865. collisionForce = GetImpactVelocity(hit,script.Parent);
  2866. --print(collisionForce);
  2867. if(collisionForce > KillSpeed) then
  2868. --script.Parent:BreakJoints();
  2869. hit:BreakJoints();
  2870. end
  2871. deBounce = false;
  2872. end
  2873. end
  2874. end
  2875. end
  2876. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  2877. pPos = part.Velocity;
  2878. oPos = Other.Velocity;
  2879.  
  2880. pRspeed = {x=0,y=0,z=0}
  2881. oRspeed = {x=0,y=0,z=0}
  2882.  
  2883. pRspeed.x = math.floor(pPos.x);
  2884. pRspeed.y = math.floor(pPos.y);
  2885. pRspeed.z = math.floor(pPos.z);
  2886.  
  2887. oRspeed.x = math.floor(oPos.x);
  2888. oRspeed.y = math.floor(oPos.y);
  2889. oRspeed.z = math.floor(oPos.z);
  2890.  
  2891. IForce = {x=0,y=0,z=0}
  2892. IForce.x = pRspeed.x + -oRspeed.x
  2893. IForce.y = pRspeed.y + -oRspeed.y
  2894. IForce.z = pRspeed.z + -oRspeed.z
  2895.  
  2896. if(IForce.x < 0)then IForce.x = -IForce.x; end
  2897. if(IForce.y < 0)then IForce.y = -IForce.y; end
  2898. if(IForce.z < 0)then IForce.z = -IForce.z; end
  2899.  
  2900. speed = math.max(IForce.x,IForce.y,IForce.z);
  2901.  
  2902. return speed;
  2903. end
  2904.  
  2905.  
  2906.  
  2907. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  2908. script.Parent.Touched:connect(onTouch)
  2909. end
  2910.  
  2911.  
  2912.  
  2913. end,o79)
  2914. end))
  2915. o80 = Create("Part",{
  2916. ["Name"] = "sbm",
  2917. ["Parent"] = o1,
  2918. ["BrickColor"] = BrickColor.new("Bright red"),
  2919. ["Position"] = Vector3.new(27.475462, 4.36521816, -2.43811083),
  2920. ["Rotation"] = Vector3.new(-179.678818, 89.725174, 179.65448),
  2921. ["RotVelocity"] = Vector3.new(0.000585779315, -0.000410572946, 0.000223204595),
  2922. ["Velocity"] = Vector3.new(-0.000821020047, 0.00195718533, -0.00395349786),
  2923. ["CFrame"] = CFrame.new(27.475462, 4.36521816, -2.43811083, -0.00479956996, -2.89438049e-005, 0.999988496, -0.000421905512, 0.999997079, 2.69052143e-005, -0.999979913, -0.000421773788, -0.00479962397),
  2924. ["CanCollide"] = false,
  2925. ["Friction"] = 0,
  2926. ["Size"] = Vector3.new(5, 1.20000005, 1),
  2927. ["BottomSurface"] = Enum.SurfaceType.Weld,
  2928. ["LeftSurface"] = Enum.SurfaceType.Weld,
  2929. ["TopSurface"] = Enum.SurfaceType.Smooth,
  2930. ["Color"] = Color3.new(0.768628, 0.156863, 0.109804),
  2931. })
  2932. o81 = Create("Script",{
  2933. ["Name"] = "Breaker",
  2934. ["Parent"] = o80,
  2935. })
  2936. table.insert(cors,coroutine.create(function()
  2937. wait()
  2938. runDummyScript(function()
  2939. --[[
  2940. Designed By TGazza
  2941.  
  2942. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  2943.  
  2944. Leave these comments here if you use this in your place
  2945. ]]--
  2946.  
  2947. deBounce = false;
  2948. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  2949. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  2950. function onTouch(hit)
  2951. if(hit.Name ~= "Collision Brick") then
  2952. if(deBounce == false)then
  2953. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  2954. if(h == nil) then -- not a player
  2955. deBounce = true
  2956. collisionForce = GetImpactVelocity(hit,script.Parent);
  2957. print(collisionForce)
  2958. if(collisionForce > BreakSpeed) then
  2959. script.Parent:BreakJoints();
  2960. end
  2961. deBounce = false
  2962. else -- we've hit a player
  2963. deBounce = true;
  2964. collisionForce = GetImpactVelocity(hit,script.Parent);
  2965. --print(collisionForce);
  2966. if(collisionForce > KillSpeed) then
  2967. --script.Parent:BreakJoints();
  2968. hit:BreakJoints();
  2969. end
  2970. deBounce = false;
  2971. end
  2972. end
  2973. end
  2974. end
  2975. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  2976. pPos = part.Velocity;
  2977. oPos = Other.Velocity;
  2978.  
  2979. pRspeed = {x=0,y=0,z=0}
  2980. oRspeed = {x=0,y=0,z=0}
  2981.  
  2982. pRspeed.x = math.floor(pPos.x);
  2983. pRspeed.y = math.floor(pPos.y);
  2984. pRspeed.z = math.floor(pPos.z);
  2985.  
  2986. oRspeed.x = math.floor(oPos.x);
  2987. oRspeed.y = math.floor(oPos.y);
  2988. oRspeed.z = math.floor(oPos.z);
  2989.  
  2990. IForce = {x=0,y=0,z=0}
  2991. IForce.x = pRspeed.x + -oRspeed.x
  2992. IForce.y = pRspeed.y + -oRspeed.y
  2993. IForce.z = pRspeed.z + -oRspeed.z
  2994.  
  2995. if(IForce.x < 0)then IForce.x = -IForce.x; end
  2996. if(IForce.y < 0)then IForce.y = -IForce.y; end
  2997. if(IForce.z < 0)then IForce.z = -IForce.z; end
  2998.  
  2999. speed = math.max(IForce.x,IForce.y,IForce.z);
  3000.  
  3001. return speed;
  3002. end
  3003.  
  3004.  
  3005.  
  3006. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  3007. script.Parent.Touched:connect(onTouch)
  3008. end
  3009.  
  3010.  
  3011.  
  3012. end,o81)
  3013. end))
  3014. o82 = Create("Part",{
  3015. ["Name"] = "sbm",
  3016. ["Parent"] = o1,
  3017. ["BrickColor"] = BrickColor.new("Bright blue"),
  3018. ["Transparency"] = 0.30000001192093,
  3019. ["Position"] = Vector3.new(34.4825172, 5.76597404, -0.972384095),
  3020. ["Rotation"] = Vector3.new(-0.0241738781, 0.274996579, 0.00165398442),
  3021. ["RotVelocity"] = Vector3.new(0.000585779315, -0.000410572946, 0.000223204595),
  3022. ["Velocity"] = Vector3.new(-0.00173546304, 0.00266260002, -0.00025605649),
  3023. ["CFrame"] = CFrame.new(34.4825172, 5.76597404, -0.972384095, 0.999988496, -2.88671417e-005, 0.00479957694, 2.68279618e-005, 0.99999696, 0.000421905133, -0.00479963282, -0.000421773904, 0.999979556),
  3024. ["CanCollide"] = false,
  3025. ["FormFactor"] = Enum.FormFactor.Plate,
  3026. ["Friction"] = 0,
  3027. ["Size"] = Vector3.new(1, 1.60000002, 4),
  3028. ["BottomSurface"] = Enum.SurfaceType.Weld,
  3029. ["TopSurface"] = Enum.SurfaceType.Weld,
  3030. ["Color"] = Color3.new(0.0509804, 0.411765, 0.67451),
  3031. })
  3032. o83 = Create("Script",{
  3033. ["Name"] = "Breaker",
  3034. ["Parent"] = o82,
  3035. })
  3036. table.insert(cors,coroutine.create(function()
  3037. wait()
  3038. runDummyScript(function()
  3039. --[[
  3040. Designed By TGazza
  3041.  
  3042. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  3043.  
  3044. Leave these comments here if you use this in your place
  3045. ]]--
  3046.  
  3047. deBounce = false;
  3048. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  3049. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  3050. function onTouch(hit)
  3051. if(hit.Name ~= "Collision Brick") then
  3052. if(deBounce == false)then
  3053. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  3054. if(h == nil) then -- not a player
  3055. deBounce = true
  3056. collisionForce = GetImpactVelocity(hit,script.Parent);
  3057. print(collisionForce)
  3058. if(collisionForce > BreakSpeed) then
  3059. script.Parent:BreakJoints();
  3060. end
  3061. deBounce = false
  3062. else -- we've hit a player
  3063. deBounce = true;
  3064. collisionForce = GetImpactVelocity(hit,script.Parent);
  3065. --print(collisionForce);
  3066. if(collisionForce > KillSpeed) then
  3067. --script.Parent:BreakJoints();
  3068. hit:BreakJoints();
  3069. end
  3070. deBounce = false;
  3071. end
  3072. end
  3073. end
  3074. end
  3075. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  3076. pPos = part.Velocity;
  3077. oPos = Other.Velocity;
  3078.  
  3079. pRspeed = {x=0,y=0,z=0}
  3080. oRspeed = {x=0,y=0,z=0}
  3081.  
  3082. pRspeed.x = math.floor(pPos.x);
  3083. pRspeed.y = math.floor(pPos.y);
  3084. pRspeed.z = math.floor(pPos.z);
  3085.  
  3086. oRspeed.x = math.floor(oPos.x);
  3087. oRspeed.y = math.floor(oPos.y);
  3088. oRspeed.z = math.floor(oPos.z);
  3089.  
  3090. IForce = {x=0,y=0,z=0}
  3091. IForce.x = pRspeed.x + -oRspeed.x
  3092. IForce.y = pRspeed.y + -oRspeed.y
  3093. IForce.z = pRspeed.z + -oRspeed.z
  3094.  
  3095. if(IForce.x < 0)then IForce.x = -IForce.x; end
  3096. if(IForce.y < 0)then IForce.y = -IForce.y; end
  3097. if(IForce.z < 0)then IForce.z = -IForce.z; end
  3098.  
  3099. speed = math.max(IForce.x,IForce.y,IForce.z);
  3100.  
  3101. return speed;
  3102. end
  3103.  
  3104.  
  3105.  
  3106. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  3107. script.Parent.Touched:connect(onTouch)
  3108. end
  3109.  
  3110.  
  3111.  
  3112. end,o83)
  3113. end))
  3114. o84 = Create("Part",{
  3115. ["Name"] = "sbm",
  3116. ["Parent"] = o1,
  3117. ["BrickColor"] = BrickColor.new("Bright red"),
  3118. ["Position"] = Vector3.new(30.994648, 3.16698885, 1.54552555),
  3119. ["Rotation"] = Vector3.new(179.97583, -0.274993569, 179.998337),
  3120. ["RotVelocity"] = Vector3.new(0.000585779315, -0.000410572946, 0.000223204595),
  3121. ["Velocity"] = Vector3.new(-0.0021891431, 0.000409152126, -0.00321051292),
  3122. ["CFrame"] = CFrame.new(30.994648, 3.16698885, 1.54552555, -0.999988496, -2.895137e-005, -0.00479952432, -2.689756e-005, 0.99999398, -0.000421901612, 0.0047996249, -0.000421772478, -0.999970615),
  3123. ["FormFactor"] = Enum.FormFactor.Plate,
  3124. ["Friction"] = 0,
  3125. ["Size"] = Vector3.new(10, 3.60000014, 1),
  3126. ["BottomSurface"] = Enum.SurfaceType.Weld,
  3127. ["TopSurface"] = Enum.SurfaceType.Smooth,
  3128. ["Color"] = Color3.new(0.768628, 0.156863, 0.109804),
  3129. })
  3130. o85 = Create("Script",{
  3131. ["Name"] = "Breaker",
  3132. ["Parent"] = o84,
  3133. })
  3134. table.insert(cors,coroutine.create(function()
  3135. wait()
  3136. runDummyScript(function()
  3137. --[[
  3138. Designed By TGazza
  3139.  
  3140. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  3141.  
  3142. Leave these comments here if you use this in your place
  3143. ]]--
  3144.  
  3145. deBounce = false;
  3146. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  3147. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  3148. function onTouch(hit)
  3149. if(hit.Name ~= "Collision Brick") then
  3150. if(deBounce == false)then
  3151. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  3152. if(h == nil) then -- not a player
  3153. deBounce = true
  3154. collisionForce = GetImpactVelocity(hit,script.Parent);
  3155. print(collisionForce)
  3156. if(collisionForce > BreakSpeed) then
  3157. script.Parent:BreakJoints();
  3158. end
  3159. deBounce = false
  3160. else -- we've hit a player
  3161. deBounce = true;
  3162. collisionForce = GetImpactVelocity(hit,script.Parent);
  3163. --print(collisionForce);
  3164. if(collisionForce > KillSpeed) then
  3165. --script.Parent:BreakJoints();
  3166. hit:BreakJoints();
  3167. end
  3168. deBounce = false;
  3169. end
  3170. end
  3171. end
  3172. end
  3173. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  3174. pPos = part.Velocity;
  3175. oPos = Other.Velocity;
  3176.  
  3177. pRspeed = {x=0,y=0,z=0}
  3178. oRspeed = {x=0,y=0,z=0}
  3179.  
  3180. pRspeed.x = math.floor(pPos.x);
  3181. pRspeed.y = math.floor(pPos.y);
  3182. pRspeed.z = math.floor(pPos.z);
  3183.  
  3184. oRspeed.x = math.floor(oPos.x);
  3185. oRspeed.y = math.floor(oPos.y);
  3186. oRspeed.z = math.floor(oPos.z);
  3187.  
  3188. IForce = {x=0,y=0,z=0}
  3189. IForce.x = pRspeed.x + -oRspeed.x
  3190. IForce.y = pRspeed.y + -oRspeed.y
  3191. IForce.z = pRspeed.z + -oRspeed.z
  3192.  
  3193. if(IForce.x < 0)then IForce.x = -IForce.x; end
  3194. if(IForce.y < 0)then IForce.y = -IForce.y; end
  3195. if(IForce.z < 0)then IForce.z = -IForce.z; end
  3196.  
  3197. speed = math.max(IForce.x,IForce.y,IForce.z);
  3198.  
  3199. return speed;
  3200. end
  3201.  
  3202.  
  3203.  
  3204. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  3205. script.Parent.Touched:connect(onTouch)
  3206. end
  3207.  
  3208.  
  3209.  
  3210. end,o85)
  3211. end))
  3212. o86 = Create("Part",{
  3213. ["Name"] = "sbm",
  3214. ["Parent"] = o1,
  3215. ["BrickColor"] = BrickColor.new("Bright blue"),
  3216. ["Transparency"] = 0.30000001192093,
  3217. ["Position"] = Vector3.new(30.9897499, 5.76652336, 0.544373512),
  3218. ["Rotation"] = Vector3.new(-179.67923, 89.725174, 179.654892),
  3219. ["RotVelocity"] = Vector3.new(0.000585779315, -0.000410572946, 0.000223204595),
  3220. ["Velocity"] = Vector3.new(-0.00235832529, 0.000994512928, -0.00168977049),
  3221. ["CFrame"] = CFrame.new(30.9897499, 5.76652336, 0.544373512, -0.00479957182, -2.89095206e-005, 0.999988496, -0.00042190525, 0.99999696, 2.68703425e-005, -0.999979556, -0.000421773817, -0.0047996277),
  3222. ["CanCollide"] = false,
  3223. ["FormFactor"] = Enum.FormFactor.Plate,
  3224. ["Friction"] = 0,
  3225. ["Size"] = Vector3.new(1, 1.60000002, 4),
  3226. ["BottomSurface"] = Enum.SurfaceType.Weld,
  3227. ["TopSurface"] = Enum.SurfaceType.Weld,
  3228. ["Color"] = Color3.new(0.0509804, 0.411765, 0.67451),
  3229. })
  3230. o87 = Create("Script",{
  3231. ["Name"] = "Breaker",
  3232. ["Parent"] = o86,
  3233. })
  3234. table.insert(cors,coroutine.create(function()
  3235. wait()
  3236. runDummyScript(function()
  3237. --[[
  3238. Designed By TGazza
  3239.  
  3240. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  3241.  
  3242. Leave these comments here if you use this in your place
  3243. ]]--
  3244.  
  3245. deBounce = false;
  3246. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  3247. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  3248. function onTouch(hit)
  3249. if(hit.Name ~= "Collision Brick") then
  3250. if(deBounce == false)then
  3251. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  3252. if(h == nil) then -- not a player
  3253. deBounce = true
  3254. collisionForce = GetImpactVelocity(hit,script.Parent);
  3255. print(collisionForce)
  3256. if(collisionForce > BreakSpeed) then
  3257. script.Parent:BreakJoints();
  3258. end
  3259. deBounce = false
  3260. else -- we've hit a player
  3261. deBounce = true;
  3262. collisionForce = GetImpactVelocity(hit,script.Parent);
  3263. --print(collisionForce);
  3264. if(collisionForce > KillSpeed) then
  3265. --script.Parent:BreakJoints();
  3266. hit:BreakJoints();
  3267. end
  3268. deBounce = false;
  3269. end
  3270. end
  3271. end
  3272. end
  3273. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  3274. pPos = part.Velocity;
  3275. oPos = Other.Velocity;
  3276.  
  3277. pRspeed = {x=0,y=0,z=0}
  3278. oRspeed = {x=0,y=0,z=0}
  3279.  
  3280. pRspeed.x = math.floor(pPos.x);
  3281. pRspeed.y = math.floor(pPos.y);
  3282. pRspeed.z = math.floor(pPos.z);
  3283.  
  3284. oRspeed.x = math.floor(oPos.x);
  3285. oRspeed.y = math.floor(oPos.y);
  3286. oRspeed.z = math.floor(oPos.z);
  3287.  
  3288. IForce = {x=0,y=0,z=0}
  3289. IForce.x = pRspeed.x + -oRspeed.x
  3290. IForce.y = pRspeed.y + -oRspeed.y
  3291. IForce.z = pRspeed.z + -oRspeed.z
  3292.  
  3293. if(IForce.x < 0)then IForce.x = -IForce.x; end
  3294. if(IForce.y < 0)then IForce.y = -IForce.y; end
  3295. if(IForce.z < 0)then IForce.z = -IForce.z; end
  3296.  
  3297. speed = math.max(IForce.x,IForce.y,IForce.z);
  3298.  
  3299. return speed;
  3300. end
  3301.  
  3302.  
  3303.  
  3304. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  3305. script.Parent.Touched:connect(onTouch)
  3306. end
  3307.  
  3308.  
  3309.  
  3310. end,o87)
  3311. end))
  3312. o88 = Create("Part",{
  3313. ["Name"] = "sbm",
  3314. ["Parent"] = o1,
  3315. ["BrickColor"] = BrickColor.new("Bright red"),
  3316. ["Position"] = Vector3.new(33.4897346, 5.76659107, 0.532374263),
  3317. ["Rotation"] = Vector3.new(-179.67923, 89.725174, 179.654892),
  3318. ["RotVelocity"] = Vector3.new(0.000585779315, -0.000410572946, 0.000223204595),
  3319. ["Velocity"] = Vector3.new(-0.00235341373, 0.00155954994, -0.000663304818),
  3320. ["CFrame"] = CFrame.new(33.4897346, 5.76659107, 0.532374263, -0.00479957182, -2.89095206e-005, 0.999988496, -0.00042190525, 0.99999696, 2.68703425e-005, -0.999979556, -0.000421773817, -0.0047996277),
  3321. ["CanCollide"] = false,
  3322. ["FormFactor"] = Enum.FormFactor.Plate,
  3323. ["Friction"] = 0,
  3324. ["Size"] = Vector3.new(1, 1.60000002, 1),
  3325. ["BottomSurface"] = Enum.SurfaceType.Weld,
  3326. ["TopSurface"] = Enum.SurfaceType.Weld,
  3327. ["Color"] = Color3.new(0.768628, 0.156863, 0.109804),
  3328. })
  3329. o89 = Create("Script",{
  3330. ["Name"] = "Breaker",
  3331. ["Parent"] = o88,
  3332. })
  3333. table.insert(cors,coroutine.create(function()
  3334. wait()
  3335. runDummyScript(function()
  3336. --[[
  3337. Designed By TGazza
  3338.  
  3339. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  3340.  
  3341. Leave these comments here if you use this in your place
  3342. ]]--
  3343.  
  3344. deBounce = false;
  3345. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  3346. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  3347. function onTouch(hit)
  3348. if(hit.Name ~= "Collision Brick") then
  3349. if(deBounce == false)then
  3350. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  3351. if(h == nil) then -- not a player
  3352. deBounce = true
  3353. collisionForce = GetImpactVelocity(hit,script.Parent);
  3354. print(collisionForce)
  3355. if(collisionForce > BreakSpeed) then
  3356. script.Parent:BreakJoints();
  3357. end
  3358. deBounce = false
  3359. else -- we've hit a player
  3360. deBounce = true;
  3361. collisionForce = GetImpactVelocity(hit,script.Parent);
  3362. --print(collisionForce);
  3363. if(collisionForce > KillSpeed) then
  3364. --script.Parent:BreakJoints();
  3365. hit:BreakJoints();
  3366. end
  3367. deBounce = false;
  3368. end
  3369. end
  3370. end
  3371. end
  3372. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  3373. pPos = part.Velocity;
  3374. oPos = Other.Velocity;
  3375.  
  3376. pRspeed = {x=0,y=0,z=0}
  3377. oRspeed = {x=0,y=0,z=0}
  3378.  
  3379. pRspeed.x = math.floor(pPos.x);
  3380. pRspeed.y = math.floor(pPos.y);
  3381. pRspeed.z = math.floor(pPos.z);
  3382.  
  3383. oRspeed.x = math.floor(oPos.x);
  3384. oRspeed.y = math.floor(oPos.y);
  3385. oRspeed.z = math.floor(oPos.z);
  3386.  
  3387. IForce = {x=0,y=0,z=0}
  3388. IForce.x = pRspeed.x + -oRspeed.x
  3389. IForce.y = pRspeed.y + -oRspeed.y
  3390. IForce.z = pRspeed.z + -oRspeed.z
  3391.  
  3392. if(IForce.x < 0)then IForce.x = -IForce.x; end
  3393. if(IForce.y < 0)then IForce.y = -IForce.y; end
  3394. if(IForce.z < 0)then IForce.z = -IForce.z; end
  3395.  
  3396. speed = math.max(IForce.x,IForce.y,IForce.z);
  3397.  
  3398. return speed;
  3399. end
  3400.  
  3401.  
  3402.  
  3403. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  3404. script.Parent.Touched:connect(onTouch)
  3405. end
  3406.  
  3407.  
  3408.  
  3409. end,o89)
  3410. end))
  3411. o90 = Create("Part",{
  3412. ["Name"] = "sbm",
  3413. ["Parent"] = o1,
  3414. ["BrickColor"] = BrickColor.new("Bright red"),
  3415. ["Position"] = Vector3.new(28.4897861, 5.76645279, 0.556406915),
  3416. ["Rotation"] = Vector3.new(-179.67923, 89.725174, 179.654892),
  3417. ["RotVelocity"] = Vector3.new(0.000585779315, -0.000410572946, 0.000223204595),
  3418. ["Velocity"] = Vector3.new(-0.00236325013, 0.000429460604, -0.0027162293),
  3419. ["CFrame"] = CFrame.new(28.4897861, 5.76645279, 0.556406915, -0.00479957182, -2.89095206e-005, 0.999988496, -0.00042190525, 0.99999696, 2.68703425e-005, -0.999979556, -0.000421773817, -0.0047996277),
  3420. ["CanCollide"] = false,
  3421. ["FormFactor"] = Enum.FormFactor.Plate,
  3422. ["Friction"] = 0,
  3423. ["Size"] = Vector3.new(1, 1.60000002, 1),
  3424. ["BottomSurface"] = Enum.SurfaceType.Weld,
  3425. ["TopSurface"] = Enum.SurfaceType.Weld,
  3426. ["Color"] = Color3.new(0.768628, 0.156863, 0.109804),
  3427. })
  3428. o91 = Create("Script",{
  3429. ["Name"] = "Breaker",
  3430. ["Parent"] = o90,
  3431. })
  3432. table.insert(cors,coroutine.create(function()
  3433. wait()
  3434. runDummyScript(function()
  3435. --[[
  3436. Designed By TGazza
  3437.  
  3438. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  3439.  
  3440. Leave these comments here if you use this in your place
  3441. ]]--
  3442.  
  3443. deBounce = false;
  3444. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  3445. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  3446. function onTouch(hit)
  3447. if(hit.Name ~= "Collision Brick") then
  3448. if(deBounce == false)then
  3449. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  3450. if(h == nil) then -- not a player
  3451. deBounce = true
  3452. collisionForce = GetImpactVelocity(hit,script.Parent);
  3453. print(collisionForce)
  3454. if(collisionForce > BreakSpeed) then
  3455. script.Parent:BreakJoints();
  3456. end
  3457. deBounce = false
  3458. else -- we've hit a player
  3459. deBounce = true;
  3460. collisionForce = GetImpactVelocity(hit,script.Parent);
  3461. --print(collisionForce);
  3462. if(collisionForce > KillSpeed) then
  3463. --script.Parent:BreakJoints();
  3464. hit:BreakJoints();
  3465. end
  3466. deBounce = false;
  3467. end
  3468. end
  3469. end
  3470. end
  3471. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  3472. pPos = part.Velocity;
  3473. oPos = Other.Velocity;
  3474.  
  3475. pRspeed = {x=0,y=0,z=0}
  3476. oRspeed = {x=0,y=0,z=0}
  3477.  
  3478. pRspeed.x = math.floor(pPos.x);
  3479. pRspeed.y = math.floor(pPos.y);
  3480. pRspeed.z = math.floor(pPos.z);
  3481.  
  3482. oRspeed.x = math.floor(oPos.x);
  3483. oRspeed.y = math.floor(oPos.y);
  3484. oRspeed.z = math.floor(oPos.z);
  3485.  
  3486. IForce = {x=0,y=0,z=0}
  3487. IForce.x = pRspeed.x + -oRspeed.x
  3488. IForce.y = pRspeed.y + -oRspeed.y
  3489. IForce.z = pRspeed.z + -oRspeed.z
  3490.  
  3491. if(IForce.x < 0)then IForce.x = -IForce.x; end
  3492. if(IForce.y < 0)then IForce.y = -IForce.y; end
  3493. if(IForce.z < 0)then IForce.z = -IForce.z; end
  3494.  
  3495. speed = math.max(IForce.x,IForce.y,IForce.z);
  3496.  
  3497. return speed;
  3498. end
  3499.  
  3500.  
  3501.  
  3502. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  3503. script.Parent.Touched:connect(onTouch)
  3504. end
  3505.  
  3506.  
  3507.  
  3508. end,o91)
  3509. end))
  3510. o92 = Create("Part",{
  3511. ["Name"] = "sbm",
  3512. ["Parent"] = o1,
  3513. ["BrickColor"] = BrickColor.new("Bright red"),
  3514. ["Position"] = Vector3.new(30.9898624, 3.1664772, 0.545401335),
  3515. ["Rotation"] = Vector3.new(179.97583, -0.274996638, 179.998352),
  3516. ["RotVelocity"] = Vector3.new(0.000585779315, -0.000410572946, 0.000223204595),
  3517. ["Velocity"] = Vector3.new(-0.00177840504, 0.000993935973, -0.00321277743),
  3518. ["CFrame"] = CFrame.new(30.9898624, 3.1664772, 0.545401335, -0.999988496, -2.88641786e-005, -0.00479957834, -2.68249969e-005, 0.99999696, -0.000421905279, 0.00479963422, -0.00042177405, -0.999979556),
  3519. ["FormFactor"] = Enum.FormFactor.Plate,
  3520. ["Friction"] = 0,
  3521. ["Size"] = Vector3.new(8, 3.60000014, 1),
  3522. ["BottomSurface"] = Enum.SurfaceType.Weld,
  3523. ["TopSurface"] = Enum.SurfaceType.Smooth,
  3524. ["Color"] = Color3.new(0.768628, 0.156863, 0.109804),
  3525. })
  3526. o93 = Create("Script",{
  3527. ["Name"] = "Breaker",
  3528. ["Parent"] = o92,
  3529. })
  3530. table.insert(cors,coroutine.create(function()
  3531. wait()
  3532. runDummyScript(function()
  3533. --[[
  3534. Designed By TGazza
  3535.  
  3536. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  3537.  
  3538. Leave these comments here if you use this in your place
  3539. ]]--
  3540.  
  3541. deBounce = false;
  3542. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  3543. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  3544. function onTouch(hit)
  3545. if(hit.Name ~= "Collision Brick") then
  3546. if(deBounce == false)then
  3547. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  3548. if(h == nil) then -- not a player
  3549. deBounce = true
  3550. collisionForce = GetImpactVelocity(hit,script.Parent);
  3551. print(collisionForce)
  3552. if(collisionForce > BreakSpeed) then
  3553. script.Parent:BreakJoints();
  3554. end
  3555. deBounce = false
  3556. else -- we've hit a player
  3557. deBounce = true;
  3558. collisionForce = GetImpactVelocity(hit,script.Parent);
  3559. --print(collisionForce);
  3560. if(collisionForce > KillSpeed) then
  3561. --script.Parent:BreakJoints();
  3562. hit:BreakJoints();
  3563. end
  3564. deBounce = false;
  3565. end
  3566. end
  3567. end
  3568. end
  3569. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  3570. pPos = part.Velocity;
  3571. oPos = Other.Velocity;
  3572.  
  3573. pRspeed = {x=0,y=0,z=0}
  3574. oRspeed = {x=0,y=0,z=0}
  3575.  
  3576. pRspeed.x = math.floor(pPos.x);
  3577. pRspeed.y = math.floor(pPos.y);
  3578. pRspeed.z = math.floor(pPos.z);
  3579.  
  3580. oRspeed.x = math.floor(oPos.x);
  3581. oRspeed.y = math.floor(oPos.y);
  3582. oRspeed.z = math.floor(oPos.z);
  3583.  
  3584. IForce = {x=0,y=0,z=0}
  3585. IForce.x = pRspeed.x + -oRspeed.x
  3586. IForce.y = pRspeed.y + -oRspeed.y
  3587. IForce.z = pRspeed.z + -oRspeed.z
  3588.  
  3589. if(IForce.x < 0)then IForce.x = -IForce.x; end
  3590. if(IForce.y < 0)then IForce.y = -IForce.y; end
  3591. if(IForce.z < 0)then IForce.z = -IForce.z; end
  3592.  
  3593. speed = math.max(IForce.x,IForce.y,IForce.z);
  3594.  
  3595. return speed;
  3596. end
  3597.  
  3598.  
  3599.  
  3600. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  3601. script.Parent.Touched:connect(onTouch)
  3602. end
  3603.  
  3604.  
  3605.  
  3606. end,o93)
  3607. end))
  3608. o94 = Create("Part",{
  3609. ["Name"] = "sbm",
  3610. ["Parent"] = o1,
  3611. ["BrickColor"] = BrickColor.new("Bright red"),
  3612. ["Position"] = Vector3.new(33.9945068, 6.76706648, 1.52966166),
  3613. ["Rotation"] = Vector3.new(179.97583, -0.274993658, 179.998337),
  3614. ["RotVelocity"] = Vector3.new(0.000585779315, -0.000410572946, 0.000223204595),
  3615. ["Velocity"] = Vector3.new(-0.00298618362, 0.00108802714, 0.000129999069),
  3616. ["CFrame"] = CFrame.new(33.9945068, 6.76706648, 1.52966166, -0.999988496, -2.89366526e-005, -0.00479952618, -2.68828426e-005, 0.99999398, -0.000421901583, 0.00479962677, -0.000421772507, -0.999970615),
  3617. ["FormFactor"] = Enum.FormFactor.Plate,
  3618. ["Friction"] = 0,
  3619. ["Size"] = Vector3.new(2, 0.400000006, 1),
  3620. ["BottomSurface"] = Enum.SurfaceType.Weld,
  3621. ["TopSurface"] = Enum.SurfaceType.Weld,
  3622. ["Color"] = Color3.new(0.768628, 0.156863, 0.109804),
  3623. })
  3624. o95 = Create("SpecialMesh",{
  3625. ["Parent"] = o94,
  3626. ["MeshType"] = Enum.MeshType.Wedge,
  3627. })
  3628. o96 = Create("Script",{
  3629. ["Name"] = "Breaker",
  3630. ["Parent"] = o94,
  3631. })
  3632. table.insert(cors,coroutine.create(function()
  3633. wait()
  3634. runDummyScript(function()
  3635. --[[
  3636. Designed By TGazza
  3637.  
  3638. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  3639.  
  3640. Leave these comments here if you use this in your place
  3641. ]]--
  3642.  
  3643. deBounce = false;
  3644. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  3645. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  3646. function onTouch(hit)
  3647. if(hit.Name ~= "Collision Brick") then
  3648. if(deBounce == false)then
  3649. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  3650. if(h == nil) then -- not a player
  3651. deBounce = true
  3652. collisionForce = GetImpactVelocity(hit,script.Parent);
  3653. print(collisionForce)
  3654. if(collisionForce > BreakSpeed) then
  3655. script.Parent:BreakJoints();
  3656. end
  3657. deBounce = false
  3658. else -- we've hit a player
  3659. deBounce = true;
  3660. collisionForce = GetImpactVelocity(hit,script.Parent);
  3661. --print(collisionForce);
  3662. if(collisionForce > KillSpeed) then
  3663. --script.Parent:BreakJoints();
  3664. hit:BreakJoints();
  3665. end
  3666. deBounce = false;
  3667. end
  3668. end
  3669. end
  3670. end
  3671. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  3672. pPos = part.Velocity;
  3673. oPos = Other.Velocity;
  3674.  
  3675. pRspeed = {x=0,y=0,z=0}
  3676. oRspeed = {x=0,y=0,z=0}
  3677.  
  3678. pRspeed.x = math.floor(pPos.x);
  3679. pRspeed.y = math.floor(pPos.y);
  3680. pRspeed.z = math.floor(pPos.z);
  3681.  
  3682. oRspeed.x = math.floor(oPos.x);
  3683. oRspeed.y = math.floor(oPos.y);
  3684. oRspeed.z = math.floor(oPos.z);
  3685.  
  3686. IForce = {x=0,y=0,z=0}
  3687. IForce.x = pRspeed.x + -oRspeed.x
  3688. IForce.y = pRspeed.y + -oRspeed.y
  3689. IForce.z = pRspeed.z + -oRspeed.z
  3690.  
  3691. if(IForce.x < 0)then IForce.x = -IForce.x; end
  3692. if(IForce.y < 0)then IForce.y = -IForce.y; end
  3693. if(IForce.z < 0)then IForce.z = -IForce.z; end
  3694.  
  3695. speed = math.max(IForce.x,IForce.y,IForce.z);
  3696.  
  3697. return speed;
  3698. end
  3699.  
  3700.  
  3701.  
  3702. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  3703. script.Parent.Touched:connect(onTouch)
  3704. end
  3705.  
  3706.  
  3707.  
  3708. end,o96)
  3709. end))
  3710. o97 = Create("Part",{
  3711. ["Name"] = "sbm",
  3712. ["Parent"] = o1,
  3713. ["BrickColor"] = BrickColor.new("Bright red"),
  3714. ["Position"] = Vector3.new(33.994545, 5.76706886, 1.53008914),
  3715. ["Rotation"] = Vector3.new(179.97583, -0.274993658, 179.998337),
  3716. ["RotVelocity"] = Vector3.new(0.000585779315, -0.000410572946, 0.000223204595),
  3717. ["Velocity"] = Vector3.new(-0.00276315515, 0.00108778523, -0.000455763191),
  3718. ["CFrame"] = CFrame.new(33.994545, 5.76706886, 1.53008914, -0.999988496, -2.89366526e-005, -0.00479952618, -2.68828426e-005, 0.99999398, -0.000421901583, 0.00479962677, -0.000421772507, -0.999970615),
  3719. ["FormFactor"] = Enum.FormFactor.Plate,
  3720. ["Friction"] = 0,
  3721. ["Size"] = Vector3.new(2, 1.60000002, 1),
  3722. ["BottomSurface"] = Enum.SurfaceType.Weld,
  3723. ["TopSurface"] = Enum.SurfaceType.Weld,
  3724. ["Color"] = Color3.new(0.768628, 0.156863, 0.109804),
  3725. })
  3726. o98 = Create("Script",{
  3727. ["Name"] = "Breaker",
  3728. ["Parent"] = o97,
  3729. })
  3730. table.insert(cors,coroutine.create(function()
  3731. wait()
  3732. runDummyScript(function()
  3733. --[[
  3734. Designed By TGazza
  3735.  
  3736. IMPORTANT!!! this script should be a child of the Collision Detect script or it wont work
  3737.  
  3738. Leave these comments here if you use this in your place
  3739. ]]--
  3740.  
  3741. deBounce = false;
  3742. BreakSpeed = 90-- adjust this for the kind of enviroment your using thi in, dont set it too low or ou cant drive/fly your model, stupid but funny if you do
  3743. KillSpeed = 100 -- this shouldn't be lower then the break script or you may die wile driving
  3744. function onTouch(hit)
  3745. if(hit.Name ~= "Collision Brick") then
  3746. if(deBounce == false)then
  3747. h = hit.Parent:findFirstChild("Humanoid") or hit.Parent.Parent:findFirstChild("Humanoid")
  3748. if(h == nil) then -- not a player
  3749. deBounce = true
  3750. collisionForce = GetImpactVelocity(hit,script.Parent);
  3751. print(collisionForce)
  3752. if(collisionForce > BreakSpeed) then
  3753. script.Parent:BreakJoints();
  3754. end
  3755. deBounce = false
  3756. else -- we've hit a player
  3757. deBounce = true;
  3758. collisionForce = GetImpactVelocity(hit,script.Parent);
  3759. --print(collisionForce);
  3760. if(collisionForce > KillSpeed) then
  3761. --script.Parent:BreakJoints();
  3762. hit:BreakJoints();
  3763. end
  3764. deBounce = false;
  3765. end
  3766. end
  3767. end
  3768. end
  3769. function GetImpactVelocity(part,Other) -- main function handling the forces of impact
  3770. pPos = part.Velocity;
  3771. oPos = Other.Velocity;
  3772.  
  3773. pRspeed = {x=0,y=0,z=0}
  3774. oRspeed = {x=0,y=0,z=0}
  3775.  
  3776. pRspeed.x = math.floor(pPos.x);
  3777. pRspeed.y = math.floor(pPos.y);
  3778. pRspeed.z = math.floor(pPos.z);
  3779.  
  3780. oRspeed.x = math.floor(oPos.x);
  3781. oRspeed.y = math.floor(oPos.y);
  3782. oRspeed.z = math.floor(oPos.z);
  3783.  
  3784. IForce = {x=0,y=0,z=0}
  3785. IForce.x = pRspeed.x + -oRspeed.x
  3786. IForce.y = pRspeed.y + -oRspeed.y
  3787. IForce.z = pRspeed.z + -oRspeed.z
  3788.  
  3789. if(IForce.x < 0)then IForce.x = -IForce.x; end
  3790. if(IForce.y < 0)then IForce.y = -IForce.y; end
  3791. if(IForce.z < 0)then IForce.z = -IForce.z; end
  3792.  
  3793. speed = math.max(IForce.x,IForce.y,IForce.z);
  3794.  
  3795. return speed;
  3796. end
  3797.  
  3798.  
  3799.  
  3800. if(script.Parent.className ~= "Script") then -- disable our break script until its inserted by the mother script
  3801. script.Parent.Touched:connect(onTouch)
  3802. end
  3803.  
  3804.  
  3805.  
  3806. end,o98)
  3807. end))
  3808. o99 = Create("Part",{
  3809. ["Name"] = "r2",
  3810. ["Parent"] = o1,
  3811. ["BrickColor"] = BrickColor.new("Black"),
  3812. ["Position"] = Vector3.new(34.0066605, 2.18099093, 4.03157377),
  3813. ["Rotation"] = Vector3.new(-178.524811, -0.277937382, 179.83252),
  3814. ["RotVelocity"] = Vector3.new(-0.000398593955, 0.0629324019, -0.0108854147),
  3815. ["Velocity"] = Vector3.new(0.0507682972, 0.0495156161, 0.0245162379),
  3816. ["CFrame"] = CFrame.new(34.0066605, 2.18099093, 4.03157377, -0.999984026, -0.00292308908, -0.00485090353, -0.00304703694, 0.999663949, 0.0257439334, 0.00477402145, 0.0257583018, -0.999656856),
  3817. ["FormFactor"] = Enum.FormFactor.Symmetric,
  3818. ["Shape"] = Enum.PartType.Cylinder,
  3819. ["Size"] = Vector3.new(4, 4, 4),
  3820. ["BottomSurface"] = Enum.SurfaceType.Smooth,
  3821. ["RightSurface"] = Enum.SurfaceType.Motor,
  3822. ["TopSurface"] = Enum.SurfaceType.Smooth,
  3823. ["Color"] = Color3.new(0.105882, 0.164706, 0.207843),
  3824. })
Advertisement
Add Comment
Please, Sign In to add comment