Advertisement
Animescapetower

Untitled

Mar 12th, 2018
315
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 155.61 KB | None | 0 0
  1.  
  2. --Converted with ttyyuu12345's model to script plugin v4 <
  3. function sandbox(var,func)
  4. local env = getfenv(func)
  5. local newenv = setmetatable({},{
  6. __index = function(self,k)
  7. if k=="script" then
  8. return var
  9. else
  10. return env[k]
  11. end
  12. end,
  13. })
  14. setfenv(func,newenv)
  15. return func
  16. end
  17. cors = {}
  18. mas = Instance.new("Model",game:GetService("Lighting"))
  19. Tool0 = Instance.new("Tool")
  20. RemoteEvent1 = Instance.new("RemoteEvent")
  21. NumberValue2 = Instance.new("NumberValue")
  22. Model3 = Instance.new("Model")
  23. Part4 = Instance.new("Part")
  24. SpecialMesh5 = Instance.new("SpecialMesh")
  25. Attachment6 = Instance.new("Attachment")
  26. Attachment7 = Instance.new("Attachment")
  27. Attachment8 = Instance.new("Attachment")
  28. Attachment9 = Instance.new("Attachment")
  29. Decal10 = Instance.new("Decal")
  30. BillboardGui11 = Instance.new("BillboardGui")
  31. TextLabel12 = Instance.new("TextLabel")
  32. Accessory13 = Instance.new("Accessory")
  33. Part14 = Instance.new("Part")
  34. SpecialMesh15 = Instance.new("SpecialMesh")
  35. Attachment16 = Instance.new("Attachment")
  36. Vector3Value17 = Instance.new("Vector3Value")
  37. Accessory18 = Instance.new("Accessory")
  38. Part19 = Instance.new("Part")
  39. SpecialMesh20 = Instance.new("SpecialMesh")
  40. Attachment21 = Instance.new("Attachment")
  41. Accessory22 = Instance.new("Accessory")
  42. Part23 = Instance.new("Part")
  43. SpecialMesh24 = Instance.new("SpecialMesh")
  44. Attachment25 = Instance.new("Attachment")
  45. Accessory26 = Instance.new("Accessory")
  46. Part27 = Instance.new("Part")
  47. SpecialMesh28 = Instance.new("SpecialMesh")
  48. Attachment29 = Instance.new("Attachment")
  49. Vector3Value30 = Instance.new("Vector3Value")
  50. Accessory31 = Instance.new("Accessory")
  51. Part32 = Instance.new("Part")
  52. SpecialMesh33 = Instance.new("SpecialMesh")
  53. Attachment34 = Instance.new("Attachment")
  54. Vector3Value35 = Instance.new("Vector3Value")
  55. ShirtGraphic36 = Instance.new("ShirtGraphic")
  56. Accessory37 = Instance.new("Accessory")
  57. Part38 = Instance.new("Part")
  58. SpecialMesh39 = Instance.new("SpecialMesh")
  59. Attachment40 = Instance.new("Attachment")
  60. Pants41 = Instance.new("Pants")
  61. Shirt42 = Instance.new("Shirt")
  62. Accessory43 = Instance.new("Accessory")
  63. Part44 = Instance.new("Part")
  64. SpecialMesh45 = Instance.new("SpecialMesh")
  65. Attachment46 = Instance.new("Attachment")
  66. Vector3Value47 = Instance.new("Vector3Value")
  67. BodyColors48 = Instance.new("BodyColors")
  68. Script49 = Instance.new("Script")
  69. Part50 = Instance.new("Part")
  70. Sound51 = Instance.new("Sound")
  71. LocalScript52 = Instance.new("LocalScript")
  72. Script53 = Instance.new("Script")
  73. Animation54 = Instance.new("Animation")
  74. Animation55 = Instance.new("Animation")
  75. Animation56 = Instance.new("Animation")
  76. Animation57 = Instance.new("Animation")
  77. Script58 = Instance.new("Script")
  78. Model59 = Instance.new("Model")
  79. Shirt60 = Instance.new("Shirt")
  80. Pants61 = Instance.new("Pants")
  81. BodyColors62 = Instance.new("BodyColors")
  82. Tool63 = Instance.new("Tool")
  83. RemoteEvent64 = Instance.new("RemoteEvent")
  84. NumberValue65 = Instance.new("NumberValue")
  85. Model66 = Instance.new("Model")
  86. Part67 = Instance.new("Part")
  87. SpecialMesh68 = Instance.new("SpecialMesh")
  88. Attachment69 = Instance.new("Attachment")
  89. Attachment70 = Instance.new("Attachment")
  90. Attachment71 = Instance.new("Attachment")
  91. Attachment72 = Instance.new("Attachment")
  92. Decal73 = Instance.new("Decal")
  93. BillboardGui74 = Instance.new("BillboardGui")
  94. TextLabel75 = Instance.new("TextLabel")
  95. Accessory76 = Instance.new("Accessory")
  96. Part77 = Instance.new("Part")
  97. SpecialMesh78 = Instance.new("SpecialMesh")
  98. Attachment79 = Instance.new("Attachment")
  99. Accessory80 = Instance.new("Accessory")
  100. Part81 = Instance.new("Part")
  101. SpecialMesh82 = Instance.new("SpecialMesh")
  102. Attachment83 = Instance.new("Attachment")
  103. Vector3Value84 = Instance.new("Vector3Value")
  104. Weld85 = Instance.new("Weld")
  105. Accessory86 = Instance.new("Accessory")
  106. Part87 = Instance.new("Part")
  107. SpecialMesh88 = Instance.new("SpecialMesh")
  108. Attachment89 = Instance.new("Attachment")
  109. Accessory90 = Instance.new("Accessory")
  110. Part91 = Instance.new("Part")
  111. SpecialMesh92 = Instance.new("SpecialMesh")
  112. Attachment93 = Instance.new("Attachment")
  113. Vector3Value94 = Instance.new("Vector3Value")
  114. Weld95 = Instance.new("Weld")
  115. Script96 = Instance.new("Script")
  116. Part97 = Instance.new("Part")
  117. Sound98 = Instance.new("Sound")
  118. LocalScript99 = Instance.new("LocalScript")
  119. Script100 = Instance.new("Script")
  120. Animation101 = Instance.new("Animation")
  121. Animation102 = Instance.new("Animation")
  122. Animation103 = Instance.new("Animation")
  123. Animation104 = Instance.new("Animation")
  124. Script105 = Instance.new("Script")
  125. Model106 = Instance.new("Model")
  126. Shirt107 = Instance.new("Shirt")
  127. Pants108 = Instance.new("Pants")
  128. BodyColors109 = Instance.new("BodyColors")
  129. Tool110 = Instance.new("Tool")
  130. RemoteEvent111 = Instance.new("RemoteEvent")
  131. NumberValue112 = Instance.new("NumberValue")
  132. Model113 = Instance.new("Model")
  133. Part114 = Instance.new("Part")
  134. SpecialMesh115 = Instance.new("SpecialMesh")
  135. Attachment116 = Instance.new("Attachment")
  136. Attachment117 = Instance.new("Attachment")
  137. Attachment118 = Instance.new("Attachment")
  138. Attachment119 = Instance.new("Attachment")
  139. Decal120 = Instance.new("Decal")
  140. BillboardGui121 = Instance.new("BillboardGui")
  141. TextLabel122 = Instance.new("TextLabel")
  142. CharacterMesh123 = Instance.new("CharacterMesh")
  143. CharacterMesh124 = Instance.new("CharacterMesh")
  144. Accessory125 = Instance.new("Accessory")
  145. Part126 = Instance.new("Part")
  146. SpecialMesh127 = Instance.new("SpecialMesh")
  147. Attachment128 = Instance.new("Attachment")
  148. CharacterMesh129 = Instance.new("CharacterMesh")
  149. Pants130 = Instance.new("Pants")
  150. Accessory131 = Instance.new("Accessory")
  151. Part132 = Instance.new("Part")
  152. SpecialMesh133 = Instance.new("SpecialMesh")
  153. Attachment134 = Instance.new("Attachment")
  154. Vector3Value135 = Instance.new("Vector3Value")
  155. Accessory136 = Instance.new("Accessory")
  156. Part137 = Instance.new("Part")
  157. SpecialMesh138 = Instance.new("SpecialMesh")
  158. Attachment139 = Instance.new("Attachment")
  159. Vector3Value140 = Instance.new("Vector3Value")
  160. Accessory141 = Instance.new("Accessory")
  161. Part142 = Instance.new("Part")
  162. SpecialMesh143 = Instance.new("SpecialMesh")
  163. Attachment144 = Instance.new("Attachment")
  164. Vector3Value145 = Instance.new("Vector3Value")
  165. CharacterMesh146 = Instance.new("CharacterMesh")
  166. CharacterMesh147 = Instance.new("CharacterMesh")
  167. Shirt148 = Instance.new("Shirt")
  168. BodyColors149 = Instance.new("BodyColors")
  169. Script150 = Instance.new("Script")
  170. Part151 = Instance.new("Part")
  171. Sound152 = Instance.new("Sound")
  172. LocalScript153 = Instance.new("LocalScript")
  173. Script154 = Instance.new("Script")
  174. Animation155 = Instance.new("Animation")
  175. Animation156 = Instance.new("Animation")
  176. Animation157 = Instance.new("Animation")
  177. Animation158 = Instance.new("Animation")
  178. Script159 = Instance.new("Script")
  179. Model160 = Instance.new("Model")
  180. Shirt161 = Instance.new("Shirt")
  181. Pants162 = Instance.new("Pants")
  182. BodyColors163 = Instance.new("BodyColors")
  183. Tool164 = Instance.new("Tool")
  184. Part165 = Instance.new("Part")
  185. Sound166 = Instance.new("Sound")
  186. SpecialMesh167 = Instance.new("SpecialMesh")
  187. Script168 = Instance.new("Script")
  188. Tool169 = Instance.new("Tool")
  189. Part170 = Instance.new("Part")
  190. SpecialMesh171 = Instance.new("SpecialMesh")
  191. Sound172 = Instance.new("Sound")
  192. Sound173 = Instance.new("Sound")
  193. Sound174 = Instance.new("Sound")
  194. Sound175 = Instance.new("Sound")
  195. Script176 = Instance.new("Script")
  196. Script177 = Instance.new("Script")
  197. ParticleEmitter178 = Instance.new("ParticleEmitter")
  198. Script179 = Instance.new("Script")
  199. LocalScript180 = Instance.new("LocalScript")
  200. LocalScript181 = Instance.new("LocalScript")
  201. Animation182 = Instance.new("Animation")
  202. Animation183 = Instance.new("Animation")
  203. Animation184 = Instance.new("Animation")
  204. Script185 = Instance.new("Script")
  205. Tool186 = Instance.new("Tool")
  206. RemoteEvent187 = Instance.new("RemoteEvent")
  207. NumberValue188 = Instance.new("NumberValue")
  208. Model189 = Instance.new("Model")
  209. Part190 = Instance.new("Part")
  210. SpecialMesh191 = Instance.new("SpecialMesh")
  211. Attachment192 = Instance.new("Attachment")
  212. Attachment193 = Instance.new("Attachment")
  213. Attachment194 = Instance.new("Attachment")
  214. Attachment195 = Instance.new("Attachment")
  215. Decal196 = Instance.new("Decal")
  216. Weld197 = Instance.new("Weld")
  217. Sound198 = Instance.new("Sound")
  218. Humanoid199 = Instance.new("Humanoid")
  219. Accessory200 = Instance.new("Accessory")
  220. Part201 = Instance.new("Part")
  221. SpecialMesh202 = Instance.new("SpecialMesh")
  222. Attachment203 = Instance.new("Attachment")
  223. Vector3Value204 = Instance.new("Vector3Value")
  224. Weld205 = Instance.new("Weld")
  225. Accessory206 = Instance.new("Accessory")
  226. Part207 = Instance.new("Part")
  227. SpecialMesh208 = Instance.new("SpecialMesh")
  228. Attachment209 = Instance.new("Attachment")
  229. Vector3Value210 = Instance.new("Vector3Value")
  230. Accessory211 = Instance.new("Accessory")
  231. Part212 = Instance.new("Part")
  232. SpecialMesh213 = Instance.new("SpecialMesh")
  233. Attachment214 = Instance.new("Attachment")
  234. Vector3Value215 = Instance.new("Vector3Value")
  235. Weld216 = Instance.new("Weld")
  236. Script217 = Instance.new("Script")
  237. Part218 = Instance.new("Part")
  238. Sound219 = Instance.new("Sound")
  239. LocalScript220 = Instance.new("LocalScript")
  240. Script221 = Instance.new("Script")
  241. Animation222 = Instance.new("Animation")
  242. Animation223 = Instance.new("Animation")
  243. Animation224 = Instance.new("Animation")
  244. Animation225 = Instance.new("Animation")
  245. Script226 = Instance.new("Script")
  246. Model227 = Instance.new("Model")
  247. Shirt228 = Instance.new("Shirt")
  248. Pants229 = Instance.new("Pants")
  249. BodyColors230 = Instance.new("BodyColors")
  250. Tool231 = Instance.new("Tool")
  251. RemoteEvent232 = Instance.new("RemoteEvent")
  252. NumberValue233 = Instance.new("NumberValue")
  253. Part234 = Instance.new("Part")
  254. Script235 = Instance.new("Script")
  255. Part236 = Instance.new("Part")
  256. Sound237 = Instance.new("Sound")
  257. LocalScript238 = Instance.new("LocalScript")
  258. Script239 = Instance.new("Script")
  259. Animation240 = Instance.new("Animation")
  260. Animation241 = Instance.new("Animation")
  261. Animation242 = Instance.new("Animation")
  262. Animation243 = Instance.new("Animation")
  263. Script244 = Instance.new("Script")
  264. Tool0.Name = "Animescapetower"
  265. Tool0.Parent = mas
  266. Tool0.GripForward = Vector3.new(-0, 1, -0)
  267. Tool0.GripRight = Vector3.new(0, 0, 1)
  268. Tool0.GripUp = Vector3.new(-1, 0, 0)
  269. Tool0.ToolTip = "These are heads"
  270. RemoteEvent1.Name = "Remote"
  271. RemoteEvent1.Parent = Tool0
  272. NumberValue2.Name = "Resistance"
  273. NumberValue2.Parent = Tool0
  274. NumberValue2.Value = 20
  275. Model3.Name = "Animescapetower"
  276. Model3.Parent = NumberValue2
  277. Part4.Name = "Head"
  278. Part4.Parent = Model3
  279. Part4.BrickColor = BrickColor.new("White")
  280. Part4.Rotation = Vector3.new(-180, 10, -180)
  281. Part4.FormFactor = Enum.FormFactor.Symmetric
  282. Part4.Size = Vector3.new(2, 1, 1)
  283. Part4.CFrame = CFrame.new(0.728771985, 4.49999905, 0.814302027, -0.984807849, 0, 0.173647985, 0, 1, 0, -0.173647985, 0, -0.984807849)
  284. Part4.TopSurface = Enum.SurfaceType.Smooth
  285. Part4.Color = Color3.new(0.94902, 0.952941, 0.952941)
  286. Part4.Position = Vector3.new(0.728771985, 4.49999905, 0.814302027)
  287. Part4.Orientation = Vector3.new(0, 170, 0)
  288. Part4.Color = Color3.new(0.94902, 0.952941, 0.952941)
  289. SpecialMesh5.Parent = Part4
  290. SpecialMesh5.Scale = Vector3.new(1.25, 1.25, 1.25)
  291. SpecialMesh5.Scale = Vector3.new(1.25, 1.25, 1.25)
  292. Attachment6.Name = "HatAttachment"
  293. Attachment6.Parent = Part4
  294. Attachment6.CFrame = CFrame.new(0, 0.600000024, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  295. Attachment6.Position = Vector3.new(0, 0.600000024, 0)
  296. Attachment7.Name = "HairAttachment"
  297. Attachment7.Parent = Part4
  298. Attachment7.CFrame = CFrame.new(0, 0.600000024, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  299. Attachment7.Position = Vector3.new(0, 0.600000024, 0)
  300. Attachment8.Name = "FaceFrontAttachment"
  301. Attachment8.Parent = Part4
  302. Attachment8.CFrame = CFrame.new(0, 0, -0.600000024, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  303. Attachment8.Position = Vector3.new(0, 0, -0.600000024)
  304. Attachment9.Name = "FaceCenterAttachment"
  305. Attachment9.Parent = Part4
  306. Decal10.Name = "face"
  307. Decal10.Parent = Part4
  308. Decal10.Texture = "http://www.roblox.com/asset/?id=10749222"
  309. BillboardGui11.Parent = Part4
  310. BillboardGui11.Size = UDim2.new(0, 200, 0, 50)
  311. TextLabel12.Parent = BillboardGui11
  312. TextLabel12.Transparency = 1
  313. TextLabel12.Size = UDim2.new(0, 100, 0, 400)
  314. TextLabel12.Text = "Animescapetower"
  315. TextLabel12.Position = UDim2.new(0, 0, 0, -300)
  316. TextLabel12.BackgroundColor3 = Color3.new(1, 1, 1)
  317. TextLabel12.BackgroundTransparency = 1
  318. TextLabel12.Font = Enum.Font.SourceSans
  319. TextLabel12.FontSize = Enum.FontSize.Size14
  320. TextLabel12.TextColor3 = Color3.new(0, 1, 1)
  321. TextLabel12.TextScaled = true
  322. TextLabel12.TextStrokeTransparency = 0
  323. TextLabel12.TextWrapped = true
  324. Accessory13.Name = "2015Visor"
  325. Accessory13.Parent = Model3
  326. Accessory13.AttachmentPos = Vector3.new(0, 0.0900000036, 0.180000007)
  327. Part14.Name = "Handle"
  328. Part14.Parent = Accessory13
  329. Part14.Rotation = Vector3.new(-180, 10, -180)
  330. Part14.CanCollide = false
  331. Part14.FormFactor = Enum.FormFactor.Plate
  332. Part14.Size = Vector3.new(1, 0.400000006, 1)
  333. Part14.CFrame = CFrame.new(0.697564006, 4.90999889, 0.991302013, -0.984807849, 0, 0.173647985, 0, 1, 0, -0.173647985, 0, -0.984807849)
  334. Part14.BottomSurface = Enum.SurfaceType.Smooth
  335. Part14.TopSurface = Enum.SurfaceType.Smooth
  336. Part14.Position = Vector3.new(0.697564006, 4.90999889, 0.991302013)
  337. Part14.Orientation = Vector3.new(0, 170, 0)
  338. SpecialMesh15.Parent = Part14
  339. SpecialMesh15.MeshId = "http://www.roblox.com/asset/?id=1081088"
  340. SpecialMesh15.Scale = Vector3.new(1.01999998, 1.01999998, 1.01999998)
  341. SpecialMesh15.TextureId = "http://www.roblox.com/asset/?id=190253798 "
  342. SpecialMesh15.MeshType = Enum.MeshType.FileMesh
  343. SpecialMesh15.Scale = Vector3.new(1.01999998, 1.01999998, 1.01999998)
  344. Attachment16.Name = "HatAttachment"
  345. Attachment16.Parent = Part14
  346. Attachment16.Rotation = Vector3.new(2.37457894e-14, -1.86912034e-22, -4.50996595e-07)
  347. Attachment16.CFrame = CFrame.new(8.65838956e-09, 0.190000057, 0.179727763, 1, 7.87137555e-09, -3.26223034e-24, -7.87137555e-09, 1, -4.1444221e-16, 0, 4.1444221e-16, 1)
  348. Attachment16.Position = Vector3.new(8.65838956e-09, 0.190000057, 0.179727763)
  349. Attachment16.Axis = Vector3.new(1, -7.87137555e-09, 0)
  350. Attachment16.Orientation = Vector3.new(2.37457894e-14, -1.86912034e-22, -4.50996595e-07)
  351. Vector3Value17.Name = "OriginalSize"
  352. Vector3Value17.Parent = Part14
  353. Vector3Value17.Value = Vector3.new(1, 0.400000006, 1)
  354. Accessory18.Name = "8bitCatTail"
  355. Accessory18.Parent = Model3
  356. Accessory18.AttachmentPos = Vector3.new(0, 1.89999998, -0.899999976)
  357. Part19.Name = "Handle"
  358. Part19.Parent = Accessory18
  359. Part19.Rotation = Vector3.new(-180, 10, -180)
  360. Part19.CanCollide = false
  361. Part19.FormFactor = Enum.FormFactor.Symmetric
  362. Part19.Size = Vector3.new(1.24999964, 1.1500001, 1.24000001)
  363. Part19.CFrame = CFrame.new(0.885104001, 3.09999895, -0.0722889975, -0.984807849, 0, 0.173647985, 0, 1, 0, -0.173647985, 0, -0.984807849)
  364. Part19.BottomSurface = Enum.SurfaceType.Smooth
  365. Part19.TopSurface = Enum.SurfaceType.Smooth
  366. Part19.Position = Vector3.new(0.885104001, 3.09999895, -0.0722889975)
  367. Part19.Orientation = Vector3.new(0, 170, 0)
  368. SpecialMesh20.Parent = Part19
  369. SpecialMesh20.MeshId = "rbxassetid://542109971"
  370. SpecialMesh20.Scale = Vector3.new(0.699999988, 0.699999988, 0.699999988)
  371. SpecialMesh20.TextureId = "rbxassetid://542105636"
  372. SpecialMesh20.MeshType = Enum.MeshType.FileMesh
  373. SpecialMesh20.Scale = Vector3.new(0.699999988, 0.699999988, 0.699999988)
  374. Attachment21.Name = "WaistFrontAttachment"
  375. Attachment21.Parent = Part19
  376. Attachment21.Rotation = Vector3.new(0, 0, 3.91582454e-29)
  377. Attachment21.CFrame = CFrame.new(1.1920838e-07, -1.10000014, -1.40027213, 1, -6.83440315e-31, 0, 6.83440315e-31, 1, -0, 0, 0, 1)
  378. Attachment21.Position = Vector3.new(1.1920838e-07, -1.10000014, -1.40027213)
  379. Attachment21.Axis = Vector3.new(1, 6.83440315e-31, 0)
  380. Attachment21.Orientation = Vector3.new(0, 0, 3.91582454e-29)
  381. Accessory22.Name = "RainbowWings"
  382. Accessory22.Parent = Model3
  383. Accessory22.AttachmentPos = Vector3.new(0, 0.5, -1.04999995)
  384. Part23.Name = "Handle"
  385. Part23.Parent = Accessory22
  386. Part23.Transparency = 0.20000000298023
  387. Part23.Rotation = Vector3.new(-180, 10, -180)
  388. Part23.CanCollide = false
  389. Part23.FormFactor = Enum.FormFactor.Symmetric
  390. Part23.Size = Vector3.new(1, 1.41999996, 1)
  391. Part23.CFrame = CFrame.new(0.911149979, 4.49999905, -0.220008001, -0.984807849, 0, 0.173647985, 0, 1, 0, -0.173647985, 0, -0.984807849)
  392. Part23.BottomSurface = Enum.SurfaceType.Smooth
  393. Part23.TopSurface = Enum.SurfaceType.Smooth
  394. Part23.Position = Vector3.new(0.911149979, 4.49999905, -0.220008001)
  395. Part23.Orientation = Vector3.new(0, 170, 0)
  396. SpecialMesh24.Parent = Part23
  397. SpecialMesh24.MeshId = "http://www.roblox.com/asset/?id=335060772 "
  398. SpecialMesh24.TextureId = "http://www.roblox.com/asset/?id=335060906"
  399. SpecialMesh24.MeshType = Enum.MeshType.FileMesh
  400. Attachment25.Name = "BodyBackAttachment"
  401. Attachment25.Parent = Part23
  402. Attachment25.Rotation = Vector3.new(0, 0, 3.91582454e-29)
  403. Attachment25.CFrame = CFrame.new(-9.09494702e-13, -1.50000024, -0.550272346, 1, -6.83440315e-31, 0, 6.83440315e-31, 1, -0, 0, 0, 1)
  404. Attachment25.Position = Vector3.new(-9.09494702e-13, -1.50000024, -0.550272346)
  405. Attachment25.Axis = Vector3.new(1, 6.83440315e-31, 0)
  406. Attachment25.Orientation = Vector3.new(0, 0, 3.91582454e-29)
  407. Accessory26.Name = "Snake Eyes"
  408. Accessory26.Parent = Model3
  409. Accessory26.AttachmentPos = Vector3.new(0, 0.200000003, 0.300000012)
  410. Part27.Name = "Handle"
  411. Part27.Parent = Accessory26
  412. Part27.Rotation = Vector3.new(-180, 10, -180)
  413. Part27.CanCollide = false
  414. Part27.FormFactor = Enum.FormFactor.Plate
  415. Part27.Size = Vector3.new(2, 0.400000006, 1)
  416. Part27.CFrame = CFrame.new(0.676726997, 4.79999924, 1.109478, -0.984807849, 0, 0.173647985, 0, 1, 0, -0.173647985, 0, -0.984807849)
  417. Part27.BottomSurface = Enum.SurfaceType.Smooth
  418. Part27.TopSurface = Enum.SurfaceType.Smooth
  419. Part27.Position = Vector3.new(0.676726997, 4.79999924, 1.109478)
  420. Part27.Orientation = Vector3.new(0, 170, 0)
  421. SpecialMesh28.Parent = Part27
  422. SpecialMesh28.MeshId = "http://www.roblox.com/asset/?id=19380683"
  423. SpecialMesh28.TextureId = "http://www.roblox.com/asset/?id=19380684"
  424. SpecialMesh28.MeshType = Enum.MeshType.FileMesh
  425. Attachment29.Name = "FaceFrontAttachment"
  426. Attachment29.Parent = Part27
  427. Attachment29.Rotation = Vector3.new(2.37457894e-14, -1.86912034e-22, -4.50996595e-07)
  428. Attachment29.CFrame = CFrame.new(3.93538357e-09, -0.300000191, -0.300272286, 1, 7.87137555e-09, -3.26223034e-24, -7.87137555e-09, 1, -4.1444221e-16, 0, 4.1444221e-16, 1)
  429. Attachment29.Position = Vector3.new(3.93538357e-09, -0.300000191, -0.300272286)
  430. Attachment29.Axis = Vector3.new(1, -7.87137555e-09, 0)
  431. Attachment29.Orientation = Vector3.new(2.37457894e-14, -1.86912034e-22, -4.50996595e-07)
  432. Vector3Value30.Name = "OriginalSize"
  433. Vector3Value30.Parent = Part27
  434. Vector3Value30.Value = Vector3.new(2, 0.400000006, 1)
  435. Accessory31.Name = "CatHeadphones"
  436. Accessory31.Parent = Model3
  437. Accessory31.AttachmentPos = Vector3.new(0, 0.100000001, 0)
  438. Part32.Name = "Handle"
  439. Part32.Parent = Accessory31
  440. Part32.Rotation = Vector3.new(-180, 10, -180)
  441. Part32.CanCollide = false
  442. Part32.FormFactor = Enum.FormFactor.Symmetric
  443. Part32.Size = Vector3.new(1.61000013, 1.00000012, 1)
  444. Part32.CFrame = CFrame.new(0.728817999, 4.89999914, 0.814037979, -0.984807849, 0, 0.173647985, 0, 1, 0, -0.173647985, 0, -0.984807849)
  445. Part32.BottomSurface = Enum.SurfaceType.Smooth
  446. Part32.TopSurface = Enum.SurfaceType.Smooth
  447. Part32.Position = Vector3.new(0.728817999, 4.89999914, 0.814037979)
  448. Part32.Orientation = Vector3.new(0, 170, 0)
  449. SpecialMesh33.Parent = Part32
  450. SpecialMesh33.MeshId = "http://www.roblox.com/asset/?id=244661222 "
  451. SpecialMesh33.Scale = Vector3.new(2, 2, 2)
  452. SpecialMesh33.TextureId = "http://www.roblox.com/asset/?id=244661346 "
  453. SpecialMesh33.MeshType = Enum.MeshType.FileMesh
  454. SpecialMesh33.Scale = Vector3.new(2, 2, 2)
  455. Attachment34.Name = "HatAttachment"
  456. Attachment34.Parent = Part32
  457. Attachment34.Rotation = Vector3.new(2.37457894e-14, -1.86912034e-22, -4.50996595e-07)
  458. Attachment34.CFrame = CFrame.new(8.65838956e-09, 0.199999809, -0.000272244215, 1, 7.87137555e-09, -3.26223034e-24, -7.87137555e-09, 1, -4.1444221e-16, 0, 4.1444221e-16, 1)
  459. Attachment34.Position = Vector3.new(8.65838956e-09, 0.199999809, -0.000272244215)
  460. Attachment34.Axis = Vector3.new(1, -7.87137555e-09, 0)
  461. Attachment34.Orientation = Vector3.new(2.37457894e-14, -1.86912034e-22, -4.50996595e-07)
  462. Vector3Value35.Name = "OriginalSize"
  463. Vector3Value35.Parent = Part32
  464. Vector3Value35.Value = Vector3.new(1.61000013, 1.00000012, 1)
  465. ShirtGraphic36.Parent = Model3
  466. ShirtGraphic36.Graphic = "http://www.roblox.com/asset/?id=278664920"
  467. Accessory37.Name = "Ninjacat"
  468. Accessory37.Parent = Model3
  469. Accessory37.AttachmentPos = Vector3.new(0, 0.340000004, 0.25)
  470. Part38.Name = "Handle"
  471. Part38.Parent = Accessory37
  472. Part38.Rotation = Vector3.new(-180, 10, -180)
  473. Part38.CanCollide = false
  474. Part38.FormFactor = Enum.FormFactor.Custom
  475. Part38.Size = Vector3.new(1.60002756, 0.800000012, 1.59999776)
  476. Part38.CFrame = CFrame.new(-0.337150991, 4.59999895, 0.524811983, -0.984807849, 0, 0.173647985, 0, 1, 0, -0.173647985, 0, -0.984807849)
  477. Part38.BottomSurface = Enum.SurfaceType.Smooth
  478. Part38.TopSurface = Enum.SurfaceType.Smooth
  479. Part38.Position = Vector3.new(-0.337150991, 4.59999895, 0.524811983)
  480. Part38.Orientation = Vector3.new(0, 170, 0)
  481. SpecialMesh39.Parent = Part38
  482. SpecialMesh39.MeshId = "rbxassetid://752654188"
  483. SpecialMesh39.Scale = Vector3.new(0.899999976, 0.899999976, 0.899999976)
  484. SpecialMesh39.TextureId = "rbxassetid://752654439"
  485. SpecialMesh39.MeshType = Enum.MeshType.FileMesh
  486. SpecialMesh39.Scale = Vector3.new(0.899999976, 0.899999976, 0.899999976)
  487. Attachment40.Name = "RightCollarAttachment"
  488. Attachment40.Parent = Part38
  489. Attachment40.CFrame = CFrame.new(-0.100000001, -0.600000024, -0.100000001, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  490. Attachment40.Position = Vector3.new(-0.100000001, -0.600000024, -0.100000001)
  491. Pants41.Name = "Pants"
  492. Pants41.Parent = Model3
  493. Pants41.PantsTemplate = "http://www.roblox.com/asset/?id=278125378"
  494. Shirt42.Name = "Shirt"
  495. Shirt42.Parent = Model3
  496. Shirt42.ShirtTemplate = "http://www.roblox.com/asset/?id=380392822"
  497. Accessory43.Name = "MessyHairBlue"
  498. Accessory43.Parent = Model3
  499. Accessory43.AttachmentPos = Vector3.new(0.100000001, 0.400000006, -0.200000003)
  500. Part44.Name = "Handle"
  501. Part44.Parent = Accessory43
  502. Part44.Rotation = Vector3.new(-180, 10, -180)
  503. Part44.CanCollide = false
  504. Part44.FormFactor = Enum.FormFactor.Custom
  505. Part44.Size = Vector3.new(1.99999928, 1.79999995, 2.00000024)
  506. Part44.CFrame = CFrame.new(0.862030029, 4.59999895, 0.634437978, -0.984807849, 0, 0.173647985, 0, 1, 0, -0.173647985, 0, -0.984807849)
  507. Part44.BottomSurface = Enum.SurfaceType.Smooth
  508. Part44.TopSurface = Enum.SurfaceType.Smooth
  509. Part44.Position = Vector3.new(0.862030029, 4.59999895, 0.634437978)
  510. Part44.Orientation = Vector3.new(0, 170, 0)
  511. SpecialMesh45.Parent = Part44
  512. SpecialMesh45.MeshId = "http://www.roblox.com/asset/?id=76056263"
  513. SpecialMesh45.TextureId = "http://www.roblox.com/asset/?id=76055088"
  514. SpecialMesh45.MeshType = Enum.MeshType.FileMesh
  515. Attachment46.Name = "HairAttachment"
  516. Attachment46.Parent = Part44
  517. Attachment46.Rotation = Vector3.new(2.37457894e-14, -1.86912034e-22, -4.50996595e-07)
  518. Attachment46.CFrame = CFrame.new(0.100000009, 0.5, -0.200272247, 1, 7.87137555e-09, -3.26223034e-24, -7.87137555e-09, 1, -4.1444221e-16, 0, 4.1444221e-16, 1)
  519. Attachment46.Position = Vector3.new(0.100000009, 0.5, -0.200272247)
  520. Attachment46.Axis = Vector3.new(1, -7.87137555e-09, 0)
  521. Attachment46.Orientation = Vector3.new(2.37457894e-14, -1.86912034e-22, -4.50996595e-07)
  522. Vector3Value47.Name = "OriginalSize"
  523. Vector3Value47.Parent = Part44
  524. Vector3Value47.Value = Vector3.new(1.99999928, 1.79999995, 2.00000024)
  525. BodyColors48.Parent = Model3
  526. BodyColors48.HeadColor = BrickColor.new("White")
  527. BodyColors48.LeftArmColor = BrickColor.new("White")
  528. BodyColors48.LeftLegColor = BrickColor.new("White")
  529. BodyColors48.RightArmColor = BrickColor.new("White")
  530. BodyColors48.RightLegColor = BrickColor.new("White")
  531. BodyColors48.TorsoColor = BrickColor.new("Institutional white")
  532. Script49.Name = "qPerfectionWeld"
  533. Script49.Parent = Tool0
  534. table.insert(cors,sandbox(Script49,function()
  535. -- Created by Quenty (@Quenty, follow me on twitter).
  536. -- Should work with only ONE copy, seamlessly with weapons, trains, et cetera.
  537. -- Parts should be ANCHORED before use. It will, however, store relatives values and so when tools are reparented, it'll fix them.
  538.  
  539. --[[ INSTRUCTIONS
  540. - Place in the model
  541. - Make sure model is anchored
  542. - That's it. It will weld the model and all children.
  543.  
  544. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  545. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  546. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  547. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  548. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  549. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  550. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  551. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  552.  
  553. This script is designed to be used is a regular script. In a local script it will weld, but it will not attempt to handle ancestory changes.
  554. ]]
  555.  
  556. --[[ DOCUMENTATION
  557. - Will work in tools. If ran more than once it will not create more than one weld. This is especially useful for tools that are dropped and then picked up again.
  558. - Will work in PBS servers
  559. - Will work as long as it starts out with the part anchored
  560. - Stores the relative CFrame as a CFrame value
  561. - Takes careful measure to reduce lag by not having a joint set off or affected by the parts offset from origin
  562. - Utilizes a recursive algorith to find all parts in the model
  563. - Will reweld on script reparent if the script is initially parented to a tool.
  564. - Welds as fast as possible
  565. ]]
  566.  
  567. -- qPerfectionWeld.lua
  568. -- Created 10/6/2014
  569. -- Author: Quenty
  570. -- Version 1.0.3
  571.  
  572. -- Updated 10/14/2014 - Updated to 1.0.1
  573. --- Bug fix with existing ROBLOX welds ? Repro by asimo3089
  574.  
  575. -- Updated 10/14/2014 - Updated to 1.0.2
  576. --- Fixed bug fix.
  577.  
  578. -- Updated 10/14/2014 - Updated to 1.0.3
  579. --- Now handles joints semi-acceptably. May be rather hacky with some joints. :/
  580.  
  581. local NEVER_BREAK_JOINTS = false -- If you set this to true it will never break joints (this can create some welding issues, but can save stuff like hinges).
  582.  
  583.  
  584. local function CallOnChildren(Instance, FunctionToCall)
  585. -- Calls a function on each of the children of a certain object, using recursion.
  586.  
  587. FunctionToCall(Instance)
  588.  
  589. for _, Child in next, Instance:GetChildren() do
  590. CallOnChildren(Child, FunctionToCall)
  591. end
  592. end
  593.  
  594. local function GetNearestParent(Instance, ClassName)
  595. -- Returns the nearest parent of a certain class, or returns nil
  596.  
  597. local Ancestor = Instance
  598. repeat
  599. Ancestor = Ancestor.Parent
  600. if Ancestor == nil then
  601. return nil
  602. end
  603. until Ancestor:IsA(ClassName)
  604.  
  605. return Ancestor
  606. end
  607.  
  608. local function GetBricks(StartInstance)
  609. local List = {}
  610.  
  611. -- if StartInstance:IsA("BasePart") then
  612. -- List[#List+1] = StartInstance
  613. -- end
  614.  
  615. CallOnChildren(StartInstance, function(Item)
  616. if Item:IsA("BasePart") then
  617. List[#List+1] = Item;
  618. end
  619. end)
  620.  
  621. return List
  622. end
  623.  
  624. local function Modify(Instance, Values)
  625. -- Modifies an Instance by using a table.
  626.  
  627. assert(type(Values) == "table", "Values is not a table");
  628.  
  629. for Index, Value in next, Values do
  630. if type(Index) == "number" then
  631. Value.Parent = Instance
  632. else
  633. Instance[Index] = Value
  634. end
  635. end
  636. return Instance
  637. end
  638.  
  639. local function Make(ClassType, Properties)
  640. -- Using a syntax hack to create a nice way to Make new items.
  641.  
  642. return Modify(Instance.new(ClassType), Properties)
  643. end
  644.  
  645. local Surfaces = {"TopSurface", "BottomSurface", "LeftSurface", "RightSurface", "FrontSurface", "BackSurface"}
  646. local HingSurfaces = {"Hinge", "Motor", "SteppingMotor"}
  647.  
  648. local function HasWheelJoint(Part)
  649. for _, SurfaceName in pairs(Surfaces) do
  650. for _, HingSurfaceName in pairs(HingSurfaces) do
  651. if Part[SurfaceName].Name == HingSurfaceName then
  652. return true
  653. end
  654. end
  655. end
  656.  
  657. return false
  658. end
  659.  
  660. local function ShouldBreakJoints(Part)
  661. --- We do not want to break joints of wheels/hinges. This takes the utmost care to not do this. There are
  662. -- definitely some edge cases.
  663.  
  664. if NEVER_BREAK_JOINTS then
  665. return false
  666. end
  667.  
  668. if HasWheelJoint(Part) then
  669. return false
  670. end
  671.  
  672. local Connected = Part:GetConnectedParts()
  673.  
  674. if #Connected == 1 then
  675. return false
  676. end
  677.  
  678. for _, Item in pairs(Connected) do
  679. if HasWheelJoint(Item) then
  680. return false
  681. elseif not Item:IsDescendantOf(script.Parent) then
  682. return false
  683. end
  684. end
  685.  
  686. return true
  687. end
  688.  
  689. local function WeldTogether(Part0, Part1, JointType, WeldParent)
  690. --- Weld's 2 parts together
  691. -- @param Part0 The first part
  692. -- @param Part1 The second part (Dependent part most of the time).
  693. -- @param [JointType] The type of joint. Defaults to weld.
  694. -- @param [WeldParent] Parent of the weld, Defaults to Part0 (so GC is better).
  695. -- @return The weld created.
  696.  
  697. JointType = JointType or "Weld"
  698. local RelativeValue = Part1:FindFirstChild("qRelativeCFrameWeldValue")
  699.  
  700. local NewWeld = Part1:FindFirstChild("qCFrameWeldThingy") or Instance.new(JointType)
  701. Modify(NewWeld, {
  702. Name = "qCFrameWeldThingy";
  703. Part0 = Part0;
  704. Part1 = Part1;
  705. C0 = CFrame.new();--Part0.CFrame:inverse();
  706. C1 = RelativeValue and RelativeValue.Value or Part1.CFrame:toObjectSpace(Part0.CFrame); --Part1.CFrame:inverse() * Part0.CFrame;-- Part1.CFrame:inverse();
  707. Parent = Part1;
  708. })
  709.  
  710. if not RelativeValue then
  711. RelativeValue = Make("CFrameValue", {
  712. Parent = Part1;
  713. Name = "qRelativeCFrameWeldValue";
  714. Archivable = true;
  715. Value = NewWeld.C1;
  716. })
  717. end
  718.  
  719. return NewWeld
  720. end
  721.  
  722. local function WeldParts(Parts, MainPart, JointType, DoNotUnanchor)
  723. -- @param Parts The Parts to weld. Should be anchored to prevent really horrible results.
  724. -- @param MainPart The part to weld the model to (can be in the model).
  725. -- @param [JointType] The type of joint. Defaults to weld.
  726. -- @parm DoNotUnanchor Boolean, if true, will not unachor the model after cmopletion.
  727.  
  728. for _, Part in pairs(Parts) do
  729. if ShouldBreakJoints(Part) then
  730. Part:BreakJoints()
  731. end
  732. end
  733.  
  734. for _, Part in pairs(Parts) do
  735. if Part ~= MainPart then
  736. WeldTogether(MainPart, Part, JointType, MainPart)
  737. end
  738. end
  739.  
  740. if not DoNotUnanchor then
  741. for _, Part in pairs(Parts) do
  742. Part.Anchored = false
  743. end
  744. MainPart.Anchored = false
  745. end
  746. end
  747.  
  748. local function PerfectionWeld()
  749. local Tool = GetNearestParent(script, "Tool")
  750.  
  751. local Parts = GetBricks(script.Parent)
  752. local PrimaryPart = Tool and Tool:FindFirstChild("Handle") and Tool.Handle:IsA("BasePart") and Tool.Handle or script.Parent:IsA("Model") and script.Parent.PrimaryPart or Parts[1]
  753.  
  754. if PrimaryPart then
  755. WeldParts(Parts, PrimaryPart, "Weld", false)
  756. else
  757. warn("qWeld - Unable to weld part")
  758. end
  759.  
  760. return Tool
  761. end
  762.  
  763. local Tool = PerfectionWeld()
  764.  
  765.  
  766. if Tool and script.ClassName == "Script" then
  767. --- Don't bother with local scripts
  768.  
  769. script.Parent.AncestryChanged:connect(function()
  770. PerfectionWeld()
  771. end)
  772. end
  773.  
  774. -- Created by Quenty (@Quenty, follow me on twitter).
  775.  
  776. end))
  777. Part50.Name = "Handle"
  778. Part50.Parent = Tool0
  779. Part50.Material = Enum.Material.Metal
  780. Part50.BrickColor = BrickColor.new("Toothpaste")
  781. Part50.Transparency = 1
  782. Part50.Rotation = Vector3.new(0, -87.7399979, -90)
  783. Part50.Anchored = true
  784. Part50.CanCollide = false
  785. Part50.FormFactor = Enum.FormFactor.Custom
  786. Part50.Size = Vector3.new(0.200000003, 0.573924482, 1)
  787. Part50.CFrame = CFrame.new(0.0249101222, 4.33820772, 0.185504228, 0, 0.0394580103, -0.999221265, -1, 0, 0, 0, 0.999221265, 0.0394580103)
  788. Part50.Color = Color3.new(0, 1, 1)
  789. Part50.Position = Vector3.new(0.0249101222, 4.33820772, 0.185504228)
  790. Part50.Orientation = Vector3.new(0, -87.7399979, -90)
  791. Part50.Color = Color3.new(0, 1, 1)
  792. Sound51.Name = "AnimeMusic"
  793. Sound51.Parent = Part50
  794. Sound51.SoundId = "rbxassetid://692507500"
  795. Sound51.Volume = 10
  796. Sound51.Looped = true
  797. LocalScript52.Name = "Client"
  798. LocalScript52.Parent = Tool0
  799. table.insert(cors,sandbox(LocalScript52,function()
  800. local Player = game:GetService("Players").LocalPlayer
  801. while not Player.Character do wait() end
  802. local Character = Player.Character
  803. local Human = Character:WaitForChild("Humanoid")
  804.  
  805. local CAS = game:GetService("ContextActionService")
  806. local ActionName = "GiantAngelicSword"
  807.  
  808. local Tool = script.Parent
  809. local Remote = Tool:WaitForChild("Remote")
  810.  
  811. local Animations = {
  812. Hold = Tool:WaitForChild("Hold"),
  813. Slam = Tool:WaitForChild("Slam"),
  814. SwingRightToLeft = Tool:WaitForChild("SwingRightToLeft"),
  815. SwingLeftToRight = Tool:WaitForChild("SwingLeftToRight"),
  816. }
  817. local HoldTrack
  818.  
  819. function playAnimation(name, fade, weight, speed)
  820. if Animations[name] then
  821. local track = Human:LoadAnimation(Animations[name])
  822. track:Play(fade, weight, speed)
  823. end
  824. end
  825.  
  826. function onAction(actionName, inputState, inputObject)
  827. if inputState == Enum.UserInputState.Begin then
  828. Remote:FireServer("Attack")
  829. end
  830. end
  831.  
  832. function onEquipped()
  833. --ensure unequip
  834. onUnequipped()
  835.  
  836. --animate
  837. HoldTrack = Human:LoadAnimation(Animations.Hold)
  838. HoldTrack:Play(0.5)
  839.  
  840. --bind actions
  841. CAS:BindActionToInputTypes(
  842. ActionName,
  843. onAction,
  844. false,
  845. Enum.UserInputType.MouseButton1,
  846. Enum.UserInputType.Touch
  847. )
  848. end
  849.  
  850. function onUnequipped()
  851. --unbind
  852. CAS:UnbindAction(ActionName)
  853.  
  854. --stop animation
  855. if HoldTrack then
  856. HoldTrack:Stop()
  857. end
  858. end
  859.  
  860. function onRemote(func, ...)
  861. if func == "PlayAnimation" then
  862. playAnimation(...)
  863. end
  864. end
  865.  
  866. --set up events
  867. Tool.Equipped:connect(onEquipped)
  868. Tool.Unequipped:connect(onUnequipped)
  869. Remote.OnClientEvent:connect(onRemote)
  870. end))
  871. Script53.Name = "Server"
  872. Script53.Parent = Tool0
  873. table.insert(cors,sandbox(Script53,function()
  874. local Tool = script.Parent
  875. local Remote = Tool:WaitForChild("Remote")
  876. local Handle = Tool:WaitForChild("Handle")
  877.  
  878. local Motor
  879.  
  880. local AttackNumber = 1
  881. local AttackDamage = 50
  882. local AttackWindow = 0.6
  883. local AttackRest = 0
  884. local AttackAble = true
  885. local AttackDamaging = true
  886. local AttackHit = {}
  887.  
  888. function getPlayerChar()
  889. local char = Tool.Parent
  890. local player = game:GetService("Players"):GetPlayerFromCharacter(char)
  891. return player, char
  892. end
  893.  
  894. function convertWeldToMotor(weld)
  895. local m = Instance.new("Motor6D")
  896. m.Name = weld.Name
  897. m.Part0 = weld.Part0
  898. m.Part1 = weld.Part1
  899. m.C0 = weld.C0
  900. m.C1 = weld.C1
  901.  
  902. local parent = weld.Parent
  903. weld:Destroy()
  904. m.Parent = parent
  905.  
  906. Motor = m
  907. end
  908.  
  909. function changeGrip()
  910. local player, char = getPlayerChar()
  911. while not char:FindFirstChild("Right Arm") do wait() end
  912. while not char["Right Arm"]:FindFirstChild("RightGrip") do wait() end
  913. convertWeldToMotor(char["Right Arm"].RightGrip)
  914. end
  915.  
  916. function contains(t, v)
  917. for _, val in pairs(t) do
  918. if val == v then
  919. return true
  920. end
  921. end
  922. return false
  923. end
  924.  
  925. function tagHuman(human)
  926. local player, char = getPlayerChar()
  927. local val = Instance.new("ObjectValue")
  928. val.Name = "creator"
  929. val.Value = player
  930. val.Parent = human
  931. game:GetService("Debris"):AddItem(val, 1)
  932. end
  933.  
  934. function openAttackWindow()
  935. AttackHit = {}
  936.  
  937. AttackDamaging = true
  938. delay(AttackWindow, function()
  939. AttackDamaging = false
  940. end)
  941. end
  942.  
  943. function onTouched(part)
  944. if not AttackDamaging then return end
  945.  
  946. local player, char = getPlayerChar()
  947.  
  948. if part.Parent and part.Parent ~= char and part.Parent:FindFirstChild("Humanoid") then
  949. local human = part.Parent.Humanoid
  950. if not contains(AttackHit, human) then
  951. table.insert(AttackHit, human)
  952. tagHuman(human)
  953. human:TakeDamage(AttackDamage)
  954.  
  955. local pitch = math.random(60, 80)/100
  956. playSound("HitSound", pitch, 1)
  957. playSound("HitSound2", pitch + 0.3, 1)
  958. end
  959. end
  960. end
  961.  
  962. function onTouchedSpecial(part)
  963. local player, char = getPlayerChar()
  964.  
  965. if part.Parent and part.Parent ~= char and part.Parent:FindFirstChild("Humanoid") then
  966. local human = part.Parent.Humanoid
  967. if not contains(AttackHit, human) then
  968. table.insert(AttackHit, human)
  969. tagHuman(human)
  970. human:TakeDamage(AttackDamage)
  971. end
  972. end
  973. end
  974.  
  975. function special()
  976. local player, char = getPlayerChar()
  977. local root = char:FindFirstChild("Zombie")
  978. if root then
  979. openAttackWindow()
  980.  
  981. local c = root.CFrame
  982. local dz = -8
  983. for t = 0, 1, 1/15 do
  984. delay(t, function()
  985. local pos = c:pointToWorldSpace(Vector3.new(0, -2.5, dz))
  986.  
  987. local e = Instance.new("Explosion")
  988. e.BlastPressure = 0
  989. e.Position = pos
  990. e.Hit:connect(onTouchedSpecial)
  991. e.Parent = workspace
  992.  
  993. dz = dz - 6
  994. end)
  995. end
  996.  
  997. playSound("Explosion", 0.9, 1)
  998. end
  999. end
  1000.  
  1001. function playSound(name, pitch, volume)
  1002. local sound = Handle:FindFirstChild(name)
  1003. if sound then
  1004. sound.Pitch = pitch or math.random(90, 110)/100
  1005. sound.Volume = volume or 0.5
  1006. sound:Play()
  1007. end
  1008. end
  1009.  
  1010. function attack()
  1011. if not AttackAble then return end
  1012.  
  1013. AttackAble = false
  1014. delay(AttackRest, function()
  1015. AttackAble = true
  1016. end)
  1017.  
  1018. local player, char = getPlayerChar()
  1019.  
  1020. if AttackNumber < 5 then
  1021. if AttackNumber == 1 or AttackNumber == 3 then
  1022. Remote:FireClient(player, "PlayAnimation", "SwingRightToLeft")
  1023. elseif AttackNumber == 2 or AttackNumber == 4 then
  1024. Remote:FireClient(player, "PlayAnimation", "SwingLeftToRight")
  1025. end
  1026.  
  1027. openAttackWindow()
  1028. playSound("SwingSound")
  1029. else
  1030.  
  1031. AttackNumber = 0
  1032. end
  1033.  
  1034. AttackNumber = AttackNumber + 1
  1035.  
  1036. end
  1037.  
  1038. function onRemote(callingPlayer, func, ...)
  1039. local player, char = getPlayerChar()
  1040. if callingPlayer == player then
  1041. if func == "Attack" then
  1042. attack()
  1043. end
  1044. end
  1045. end
  1046.  
  1047. function onEquipped()
  1048. --ensure unequip
  1049. onUnequipped()
  1050.  
  1051. --convert grip to a motor
  1052. changeGrip()
  1053. end
  1054.  
  1055. function onUnequipped()
  1056. if Motor then
  1057. Motor:Destroy()
  1058. end
  1059. end
  1060.  
  1061. --connect events
  1062. Tool.Equipped:connect(onEquipped)
  1063. Tool.Unequipped:connect(onUnequipped)
  1064. Remote.OnServerEvent:connect(onRemote)
  1065. Handle.Touched:connect(onTouched)
  1066. end))
  1067. Animation54.Name = "SwingRightToLeft"
  1068. Animation54.Parent = Tool0
  1069. Animation54.AnimationId = "http://www.roblox.com/asset/?id=184573779"
  1070. Animation55.Name = "SwingLeftToRight"
  1071. Animation55.Parent = Tool0
  1072. Animation55.AnimationId = "http://www.roblox.com/asset/?id=184573748"
  1073. Animation56.Name = "Slam"
  1074. Animation56.Parent = Tool0
  1075. Animation56.AnimationId = "http://www.roblox.com/asset/?id=184574340"
  1076. Animation57.Name = "Hold"
  1077. Animation57.Parent = Tool0
  1078. Animation57.AnimationId = "http://www.roblox.com/asset/?id=184572142"
  1079. Script58.Parent = Tool0
  1080. table.insert(cors,sandbox(Script58,function()
  1081. function LOL()
  1082. script.Parent.Handle.AnimeMusic:Play()
  1083. end
  1084. function LOL2()
  1085. script.Parent.Handle.AnimeMusic:Stop()
  1086. end
  1087.  
  1088. script.Parent.Equipped:connect(LOL)
  1089. script.Parent.Unequipped:connect(LOL2)
  1090. end))
  1091. Model59.Name = "Resyncable"
  1092. Model59.Parent = Tool0
  1093. Shirt60.Name = "Shirt"
  1094. Shirt60.Parent = Tool0
  1095. Shirt60.ShirtTemplate = "http://www.roblox.com/asset/?id=41770216"
  1096. Pants61.Name = "Pants"
  1097. Pants61.Parent = Tool0
  1098. Pants61.PantsTemplate = "http://www.roblox.com/asset/?id=45721839"
  1099. BodyColors62.Parent = Tool0
  1100. BodyColors62.HeadColor = BrickColor.new("Cyan")
  1101. BodyColors62.LeftArmColor = BrickColor.new("Cyan")
  1102. BodyColors62.LeftLegColor = BrickColor.new("Cyan")
  1103. BodyColors62.RightArmColor = BrickColor.new("Cyan")
  1104. BodyColors62.RightLegColor = BrickColor.new("Cyan")
  1105. BodyColors62.TorsoColor = BrickColor.new("Cyan")
  1106. Tool63.Name = "Artic"
  1107. Tool63.Parent = mas
  1108. Tool63.GripForward = Vector3.new(-0, 1, -0)
  1109. Tool63.GripRight = Vector3.new(0, 0, 1)
  1110. Tool63.GripUp = Vector3.new(-1, 0, 0)
  1111. Tool63.ToolTip = "My friends head"
  1112. RemoteEvent64.Name = "Remote"
  1113. RemoteEvent64.Parent = Tool63
  1114. NumberValue65.Name = "Resistance"
  1115. NumberValue65.Parent = Tool63
  1116. NumberValue65.Value = 20
  1117. Model66.Name = "FuntimeArtic"
  1118. Model66.Parent = NumberValue65
  1119. Part67.Name = "Head"
  1120. Part67.Parent = Model66
  1121. Part67.BrickColor = BrickColor.new("Pastel yellow")
  1122. Part67.Rotation = Vector3.new(-180, 0, -180)
  1123. Part67.FormFactor = Enum.FormFactor.Symmetric
  1124. Part67.Size = Vector3.new(2, 1, 1)
  1125. Part67.CFrame = CFrame.new(-6.6300478, 6.0457325, -146.639496, -1, 0, 0, 0, 1, 0, 0, 0, -1)
  1126. Part67.TopSurface = Enum.SurfaceType.Smooth
  1127. Part67.Color = Color3.new(1, 1, 0.8)
  1128. Part67.Position = Vector3.new(-6.6300478, 6.0457325, -146.639496)
  1129. Part67.Orientation = Vector3.new(0, 180, 0)
  1130. Part67.Color = Color3.new(1, 1, 0.8)
  1131. SpecialMesh68.Parent = Part67
  1132. SpecialMesh68.Scale = Vector3.new(1.25, 1.25, 1.25)
  1133. SpecialMesh68.Scale = Vector3.new(1.25, 1.25, 1.25)
  1134. Attachment69.Name = "HatAttachment"
  1135. Attachment69.Parent = Part67
  1136. Attachment69.CFrame = CFrame.new(0, 0.600000024, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  1137. Attachment69.Position = Vector3.new(0, 0.600000024, 0)
  1138. Attachment70.Name = "HairAttachment"
  1139. Attachment70.Parent = Part67
  1140. Attachment70.CFrame = CFrame.new(0, 0.600000024, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  1141. Attachment70.Position = Vector3.new(0, 0.600000024, 0)
  1142. Attachment71.Name = "FaceFrontAttachment"
  1143. Attachment71.Parent = Part67
  1144. Attachment71.CFrame = CFrame.new(0, 0, -0.600000024, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  1145. Attachment71.Position = Vector3.new(0, 0, -0.600000024)
  1146. Attachment72.Name = "FaceCenterAttachment"
  1147. Attachment72.Parent = Part67
  1148. Decal73.Name = "face"
  1149. Decal73.Parent = Part67
  1150. Decal73.Texture = "http://www.roblox.com/asset/?id=22828283"
  1151. BillboardGui74.Parent = Part67
  1152. BillboardGui74.Size = UDim2.new(0, 200, 0, 50)
  1153. TextLabel75.Parent = BillboardGui74
  1154. TextLabel75.Transparency = 1
  1155. TextLabel75.Size = UDim2.new(0, 200, 0, 50)
  1156. TextLabel75.Text = "Artic"
  1157. TextLabel75.Position = UDim2.new(0, 0, 0, -40)
  1158. TextLabel75.BackgroundColor3 = Color3.new(1, 1, 1)
  1159. TextLabel75.BackgroundTransparency = 1
  1160. TextLabel75.Font = Enum.Font.SourceSans
  1161. TextLabel75.FontSize = Enum.FontSize.Size14
  1162. TextLabel75.TextColor3 = Color3.new(0, 1, 1)
  1163. TextLabel75.TextScaled = true
  1164. TextLabel75.TextStrokeTransparency = 0
  1165. TextLabel75.TextWrapped = true
  1166. Accessory76.Name = "FriendlySnowfOX"
  1167. Accessory76.Parent = Model66
  1168. Accessory76.AttachmentPos = Vector3.new(0, 1.79999995, 0)
  1169. Part77.Name = "Handle"
  1170. Part77.Parent = Accessory76
  1171. Part77.Rotation = Vector3.new(-180, 0, -180)
  1172. Part77.CanCollide = false
  1173. Part77.FormFactor = Enum.FormFactor.Custom
  1174. Part77.Size = Vector3.new(0.720027149, 1.31999815, 1.91000271)
  1175. Part77.CFrame = CFrame.new(-7.6300478, 6.19573259, -146.739502, -1, 0, 0, 0, 1, 0, 0, 0, -1)
  1176. Part77.BottomSurface = Enum.SurfaceType.Smooth
  1177. Part77.TopSurface = Enum.SurfaceType.Smooth
  1178. Part77.Position = Vector3.new(-7.6300478, 6.19573259, -146.739502)
  1179. Part77.Orientation = Vector3.new(0, 180, 0)
  1180. SpecialMesh78.Parent = Part77
  1181. SpecialMesh78.MeshId = "rbxassetid://1241037817"
  1182. SpecialMesh78.TextureId = "rbxassetid://1241038471"
  1183. SpecialMesh78.MeshType = Enum.MeshType.FileMesh
  1184. Attachment79.Name = "RightCollarAttachment"
  1185. Attachment79.Parent = Part77
  1186. Attachment79.CFrame = CFrame.new(0, -0.649999976, -0.100000001, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  1187. Attachment79.Position = Vector3.new(0, -0.649999976, -0.100000001)
  1188. Accessory80.Name = "NeonBlueAnimalHood"
  1189. Accessory80.Parent = Model66
  1190. Accessory80.AttachmentPos = Vector3.new(0, -0.0299999993, 0.0500000007)
  1191. Part81.Name = "Handle"
  1192. Part81.Parent = Accessory80
  1193. Part81.Rotation = Vector3.new(-180, 0, -180)
  1194. Part81.CanCollide = false
  1195. Part81.FormFactor = Enum.FormFactor.Custom
  1196. Part81.Size = Vector3.new(2.6000278, 2.20000005, 1.79999816)
  1197. Part81.CFrame = CFrame.new(-6.6300478, 6.57573271, -146.589767, -1, 7.87137555e-09, 0, 7.87137555e-09, 1, 4.1444221e-16, 3.26223034e-24, 4.1444221e-16, -1)
  1198. Part81.BottomSurface = Enum.SurfaceType.Smooth
  1199. Part81.TopSurface = Enum.SurfaceType.Smooth
  1200. Part81.Position = Vector3.new(-6.6300478, 6.57573271, -146.589767)
  1201. Part81.Orientation = Vector3.new(0, 180, 0)
  1202. SpecialMesh82.Parent = Part81
  1203. SpecialMesh82.MeshId = "http://www.roblox.com/asset/?id=135446047 "
  1204. SpecialMesh82.Scale = Vector3.new(1, 1.10000002, 1)
  1205. SpecialMesh82.TextureId = "http://www.roblox.com/asset/?id=273374941 "
  1206. SpecialMesh82.MeshType = Enum.MeshType.FileMesh
  1207. SpecialMesh82.Scale = Vector3.new(1, 1.10000002, 1)
  1208. Attachment83.Name = "HatAttachment"
  1209. Attachment83.Parent = Part81
  1210. Attachment83.Rotation = Vector3.new(2.37457894e-14, -1.86912034e-22, -4.50996595e-07)
  1211. Attachment83.CFrame = CFrame.new(8.65748007e-09, 0.0699996948, 0.0497277565, 1, 7.87137555e-09, -3.26223034e-24, -7.87137555e-09, 1, -4.1444221e-16, 0, 4.1444221e-16, 1)
  1212. Attachment83.Position = Vector3.new(8.65748007e-09, 0.0699996948, 0.0497277565)
  1213. Attachment83.Axis = Vector3.new(1, -7.87137555e-09, 0)
  1214. Attachment83.Orientation = Vector3.new(2.37457894e-14, -1.86912034e-22, -4.50996595e-07)
  1215. Vector3Value84.Name = "OriginalSize"
  1216. Vector3Value84.Parent = Part81
  1217. Vector3Value84.Value = Vector3.new(2.6000278, 2.20000005, 1.79999816)
  1218. Weld85.Name = "AccessoryWeld"
  1219. Weld85.Parent = Part81
  1220. Weld85.C0 = CFrame.new(8.65748007e-09, 0.0699996948, 0.0497277565, 1, 7.87137555e-09, -3.26223034e-24, -7.87137555e-09, 1, -4.1444221e-16, 0, 4.1444221e-16, 1)
  1221. Weld85.C1 = CFrame.new(0, 0.600000024, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  1222. Weld85.Part0 = Part81
  1223. Weld85.Part1 = Part67
  1224. Accessory86.Name = "RainbowWings"
  1225. Accessory86.Parent = Model66
  1226. Accessory86.AttachmentPos = Vector3.new(0, 0.5, -1.04999995)
  1227. Part87.Name = "Handle"
  1228. Part87.Parent = Accessory86
  1229. Part87.Transparency = 0.20000000298023
  1230. Part87.Rotation = Vector3.new(-180, 0, 180)
  1231. Part87.CanCollide = false
  1232. Part87.FormFactor = Enum.FormFactor.Symmetric
  1233. Part87.Size = Vector3.new(1, 1.41999996, 1)
  1234. Part87.CFrame = CFrame.new(-6.6300478, 6.0457325, -147.689774, -1, -6.83440315e-31, 0, -6.83440315e-31, 1, 0, 0, 0, -1)
  1235. Part87.BottomSurface = Enum.SurfaceType.Smooth
  1236. Part87.TopSurface = Enum.SurfaceType.Smooth
  1237. Part87.Position = Vector3.new(-6.6300478, 6.0457325, -147.689774)
  1238. Part87.Orientation = Vector3.new(0, 180, 0)
  1239. SpecialMesh88.Parent = Part87
  1240. SpecialMesh88.MeshId = "http://www.roblox.com/asset/?id=335060772 "
  1241. SpecialMesh88.TextureId = "http://www.roblox.com/asset/?id=335060906"
  1242. SpecialMesh88.MeshType = Enum.MeshType.FileMesh
  1243. Attachment89.Name = "BodyBackAttachment"
  1244. Attachment89.Parent = Part87
  1245. Attachment89.Rotation = Vector3.new(0, 0, 3.91582454e-29)
  1246. Attachment89.CFrame = CFrame.new(-9.09494702e-13, -1.50000024, -0.550272346, 1, -6.83440315e-31, 0, 6.83440315e-31, 1, -0, 0, 0, 1)
  1247. Attachment89.Position = Vector3.new(-9.09494702e-13, -1.50000024, -0.550272346)
  1248. Attachment89.Axis = Vector3.new(1, 6.83440315e-31, 0)
  1249. Attachment89.Orientation = Vector3.new(0, 0, 3.91582454e-29)
  1250. Accessory90.Name = "ArcticFoxHead"
  1251. Accessory90.Parent = Model66
  1252. Accessory90.AttachmentPos = Vector3.new(0, 0.119999997, 0.300000012)
  1253. Part91.Name = "Handle"
  1254. Part91.Parent = Accessory90
  1255. Part91.Rotation = Vector3.new(-180, 0, -180)
  1256. Part91.CanCollide = false
  1257. Part91.FormFactor = Enum.FormFactor.Custom
  1258. Part91.Size = Vector3.new(1.8600266, 2.2399981, 2.0999999)
  1259. Part91.CFrame = CFrame.new(-6.6300478, 6.42573261, -146.339767, -1, 7.87137555e-09, 0, 7.87137555e-09, 1, 4.1444221e-16, 3.26223034e-24, 4.1444221e-16, -1)
  1260. Part91.BottomSurface = Enum.SurfaceType.Smooth
  1261. Part91.TopSurface = Enum.SurfaceType.Smooth
  1262. Part91.Position = Vector3.new(-6.6300478, 6.42573261, -146.339767)
  1263. Part91.Orientation = Vector3.new(0, 180, 0)
  1264. SpecialMesh92.Parent = Part91
  1265. SpecialMesh92.MeshId = "http://www.roblox.com/asset/?id=188699722 "
  1266. SpecialMesh92.Scale = Vector3.new(1.20000005, 1.20000005, 1.20000005)
  1267. SpecialMesh92.TextureId = "http://www.roblox.com/asset/?id=188699768 "
  1268. SpecialMesh92.MeshType = Enum.MeshType.FileMesh
  1269. SpecialMesh92.Scale = Vector3.new(1.20000005, 1.20000005, 1.20000005)
  1270. Attachment93.Name = "HatAttachment"
  1271. Attachment93.Parent = Part91
  1272. Attachment93.Rotation = Vector3.new(2.37457894e-14, -1.86912034e-22, -4.50996595e-07)
  1273. Attachment93.CFrame = CFrame.new(8.65748007e-09, 0.21999979, 0.299727768, 1, 7.87137555e-09, -3.26223034e-24, -7.87137555e-09, 1, -4.1444221e-16, 0, 4.1444221e-16, 1)
  1274. Attachment93.Position = Vector3.new(8.65748007e-09, 0.21999979, 0.299727768)
  1275. Attachment93.Axis = Vector3.new(1, -7.87137555e-09, 0)
  1276. Attachment93.Orientation = Vector3.new(2.37457894e-14, -1.86912034e-22, -4.50996595e-07)
  1277. Vector3Value94.Name = "OriginalSize"
  1278. Vector3Value94.Parent = Part91
  1279. Vector3Value94.Value = Vector3.new(1.8600266, 2.2399981, 2.0999999)
  1280. Weld95.Name = "AccessoryWeld"
  1281. Weld95.Parent = Part91
  1282. Weld95.C0 = CFrame.new(8.65748007e-09, 0.21999979, 0.299727768, 1, 7.87137555e-09, -3.26223034e-24, -7.87137555e-09, 1, -4.1444221e-16, 0, 4.1444221e-16, 1)
  1283. Weld95.C1 = CFrame.new(0, 0.600000024, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  1284. Weld95.Part0 = Part91
  1285. Weld95.Part1 = Part67
  1286. Script96.Name = "qPerfectionWeld"
  1287. Script96.Parent = Tool63
  1288. table.insert(cors,sandbox(Script96,function()
  1289. -- Created by Quenty (@Quenty, follow me on twitter).
  1290. -- Should work with only ONE copy, seamlessly with weapons, trains, et cetera.
  1291. -- Parts should be ANCHORED before use. It will, however, store relatives values and so when tools are reparented, it'll fix them.
  1292.  
  1293. --[[ INSTRUCTIONS
  1294. - Place in the model
  1295. - Make sure model is anchored
  1296. - That's it. It will weld the model and all children.
  1297.  
  1298. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  1299. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  1300. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  1301. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  1302. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  1303. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  1304. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  1305. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  1306.  
  1307. This script is designed to be used is a regular script. In a local script it will weld, but it will not attempt to handle ancestory changes.
  1308. ]]
  1309.  
  1310. --[[ DOCUMENTATION
  1311. - Will work in tools. If ran more than once it will not create more than one weld. This is especially useful for tools that are dropped and then picked up again.
  1312. - Will work in PBS servers
  1313. - Will work as long as it starts out with the part anchored
  1314. - Stores the relative CFrame as a CFrame value
  1315. - Takes careful measure to reduce lag by not having a joint set off or affected by the parts offset from origin
  1316. - Utilizes a recursive algorith to find all parts in the model
  1317. - Will reweld on script reparent if the script is initially parented to a tool.
  1318. - Welds as fast as possible
  1319. ]]
  1320.  
  1321. -- qPerfectionWeld.lua
  1322. -- Created 10/6/2014
  1323. -- Author: Quenty
  1324. -- Version 1.0.3
  1325.  
  1326. -- Updated 10/14/2014 - Updated to 1.0.1
  1327. --- Bug fix with existing ROBLOX welds ? Repro by asimo3089
  1328.  
  1329. -- Updated 10/14/2014 - Updated to 1.0.2
  1330. --- Fixed bug fix.
  1331.  
  1332. -- Updated 10/14/2014 - Updated to 1.0.3
  1333. --- Now handles joints semi-acceptably. May be rather hacky with some joints. :/
  1334.  
  1335. local NEVER_BREAK_JOINTS = false -- If you set this to true it will never break joints (this can create some welding issues, but can save stuff like hinges).
  1336.  
  1337.  
  1338. local function CallOnChildren(Instance, FunctionToCall)
  1339. -- Calls a function on each of the children of a certain object, using recursion.
  1340.  
  1341. FunctionToCall(Instance)
  1342.  
  1343. for _, Child in next, Instance:GetChildren() do
  1344. CallOnChildren(Child, FunctionToCall)
  1345. end
  1346. end
  1347.  
  1348. local function GetNearestParent(Instance, ClassName)
  1349. -- Returns the nearest parent of a certain class, or returns nil
  1350.  
  1351. local Ancestor = Instance
  1352. repeat
  1353. Ancestor = Ancestor.Parent
  1354. if Ancestor == nil then
  1355. return nil
  1356. end
  1357. until Ancestor:IsA(ClassName)
  1358.  
  1359. return Ancestor
  1360. end
  1361.  
  1362. local function GetBricks(StartInstance)
  1363. local List = {}
  1364.  
  1365. -- if StartInstance:IsA("BasePart") then
  1366. -- List[#List+1] = StartInstance
  1367. -- end
  1368.  
  1369. CallOnChildren(StartInstance, function(Item)
  1370. if Item:IsA("BasePart") then
  1371. List[#List+1] = Item;
  1372. end
  1373. end)
  1374.  
  1375. return List
  1376. end
  1377.  
  1378. local function Modify(Instance, Values)
  1379. -- Modifies an Instance by using a table.
  1380.  
  1381. assert(type(Values) == "table", "Values is not a table");
  1382.  
  1383. for Index, Value in next, Values do
  1384. if type(Index) == "number" then
  1385. Value.Parent = Instance
  1386. else
  1387. Instance[Index] = Value
  1388. end
  1389. end
  1390. return Instance
  1391. end
  1392.  
  1393. local function Make(ClassType, Properties)
  1394. -- Using a syntax hack to create a nice way to Make new items.
  1395.  
  1396. return Modify(Instance.new(ClassType), Properties)
  1397. end
  1398.  
  1399. local Surfaces = {"TopSurface", "BottomSurface", "LeftSurface", "RightSurface", "FrontSurface", "BackSurface"}
  1400. local HingSurfaces = {"Hinge", "Motor", "SteppingMotor"}
  1401.  
  1402. local function HasWheelJoint(Part)
  1403. for _, SurfaceName in pairs(Surfaces) do
  1404. for _, HingSurfaceName in pairs(HingSurfaces) do
  1405. if Part[SurfaceName].Name == HingSurfaceName then
  1406. return true
  1407. end
  1408. end
  1409. end
  1410.  
  1411. return false
  1412. end
  1413.  
  1414. local function ShouldBreakJoints(Part)
  1415. --- We do not want to break joints of wheels/hinges. This takes the utmost care to not do this. There are
  1416. -- definitely some edge cases.
  1417.  
  1418. if NEVER_BREAK_JOINTS then
  1419. return false
  1420. end
  1421.  
  1422. if HasWheelJoint(Part) then
  1423. return false
  1424. end
  1425.  
  1426. local Connected = Part:GetConnectedParts()
  1427.  
  1428. if #Connected == 1 then
  1429. return false
  1430. end
  1431.  
  1432. for _, Item in pairs(Connected) do
  1433. if HasWheelJoint(Item) then
  1434. return false
  1435. elseif not Item:IsDescendantOf(script.Parent) then
  1436. return false
  1437. end
  1438. end
  1439.  
  1440. return true
  1441. end
  1442.  
  1443. local function WeldTogether(Part0, Part1, JointType, WeldParent)
  1444. --- Weld's 2 parts together
  1445. -- @param Part0 The first part
  1446. -- @param Part1 The second part (Dependent part most of the time).
  1447. -- @param [JointType] The type of joint. Defaults to weld.
  1448. -- @param [WeldParent] Parent of the weld, Defaults to Part0 (so GC is better).
  1449. -- @return The weld created.
  1450.  
  1451. JointType = JointType or "Weld"
  1452. local RelativeValue = Part1:FindFirstChild("qRelativeCFrameWeldValue")
  1453.  
  1454. local NewWeld = Part1:FindFirstChild("qCFrameWeldThingy") or Instance.new(JointType)
  1455. Modify(NewWeld, {
  1456. Name = "qCFrameWeldThingy";
  1457. Part0 = Part0;
  1458. Part1 = Part1;
  1459. C0 = CFrame.new();--Part0.CFrame:inverse();
  1460. C1 = RelativeValue and RelativeValue.Value or Part1.CFrame:toObjectSpace(Part0.CFrame); --Part1.CFrame:inverse() * Part0.CFrame;-- Part1.CFrame:inverse();
  1461. Parent = Part1;
  1462. })
  1463.  
  1464. if not RelativeValue then
  1465. RelativeValue = Make("CFrameValue", {
  1466. Parent = Part1;
  1467. Name = "qRelativeCFrameWeldValue";
  1468. Archivable = true;
  1469. Value = NewWeld.C1;
  1470. })
  1471. end
  1472.  
  1473. return NewWeld
  1474. end
  1475.  
  1476. local function WeldParts(Parts, MainPart, JointType, DoNotUnanchor)
  1477. -- @param Parts The Parts to weld. Should be anchored to prevent really horrible results.
  1478. -- @param MainPart The part to weld the model to (can be in the model).
  1479. -- @param [JointType] The type of joint. Defaults to weld.
  1480. -- @parm DoNotUnanchor Boolean, if true, will not unachor the model after cmopletion.
  1481.  
  1482. for _, Part in pairs(Parts) do
  1483. if ShouldBreakJoints(Part) then
  1484. Part:BreakJoints()
  1485. end
  1486. end
  1487.  
  1488. for _, Part in pairs(Parts) do
  1489. if Part ~= MainPart then
  1490. WeldTogether(MainPart, Part, JointType, MainPart)
  1491. end
  1492. end
  1493.  
  1494. if not DoNotUnanchor then
  1495. for _, Part in pairs(Parts) do
  1496. Part.Anchored = false
  1497. end
  1498. MainPart.Anchored = false
  1499. end
  1500. end
  1501.  
  1502. local function PerfectionWeld()
  1503. local Tool = GetNearestParent(script, "Tool")
  1504.  
  1505. local Parts = GetBricks(script.Parent)
  1506. local PrimaryPart = Tool and Tool:FindFirstChild("Handle") and Tool.Handle:IsA("BasePart") and Tool.Handle or script.Parent:IsA("Model") and script.Parent.PrimaryPart or Parts[1]
  1507.  
  1508. if PrimaryPart then
  1509. WeldParts(Parts, PrimaryPart, "Weld", false)
  1510. else
  1511. warn("qWeld - Unable to weld part")
  1512. end
  1513.  
  1514. return Tool
  1515. end
  1516.  
  1517. local Tool = PerfectionWeld()
  1518.  
  1519.  
  1520. if Tool and script.ClassName == "Script" then
  1521. --- Don't bother with local scripts
  1522.  
  1523. script.Parent.AncestryChanged:connect(function()
  1524. PerfectionWeld()
  1525. end)
  1526. end
  1527.  
  1528. -- Created by Quenty (@Quenty, follow me on twitter).
  1529.  
  1530. end))
  1531. Part97.Name = "Handle"
  1532. Part97.Parent = Tool63
  1533. Part97.Material = Enum.Material.Metal
  1534. Part97.BrickColor = BrickColor.new("Toothpaste")
  1535. Part97.Transparency = 1
  1536. Part97.Rotation = Vector3.new(0, -87.7399979, -90)
  1537. Part97.Anchored = true
  1538. Part97.CanCollide = false
  1539. Part97.FormFactor = Enum.FormFactor.Custom
  1540. Part97.Size = Vector3.new(0.200000003, 0.573924482, 1)
  1541. Part97.CFrame = CFrame.new(-6.75885677, 7.13820505, -146.26091, 0, 0.0394580103, -0.999221265, -1, 0, 0, 0, 0.999221265, 0.0394580103)
  1542. Part97.Color = Color3.new(0, 1, 1)
  1543. Part97.Position = Vector3.new(-6.75885677, 7.13820505, -146.26091)
  1544. Part97.Orientation = Vector3.new(0, -87.7399979, -90)
  1545. Part97.Color = Color3.new(0, 1, 1)
  1546. Sound98.Name = "AnimeMusic"
  1547. Sound98.Parent = Part97
  1548. Sound98.SoundId = "rbxassetid://1273944801"
  1549. Sound98.Volume = 10
  1550. Sound98.Looped = true
  1551. LocalScript99.Name = "Client"
  1552. LocalScript99.Parent = Tool63
  1553. table.insert(cors,sandbox(LocalScript99,function()
  1554. local Player = game:GetService("Players").LocalPlayer
  1555. while not Player.Character do wait() end
  1556. local Character = Player.Character
  1557. local Human = Character:WaitForChild("Humanoid")
  1558.  
  1559. local CAS = game:GetService("ContextActionService")
  1560. local ActionName = "GiantAngelicSword"
  1561.  
  1562. local Tool = script.Parent
  1563. local Remote = Tool:WaitForChild("Remote")
  1564.  
  1565. local Animations = {
  1566. Hold = Tool:WaitForChild("Hold"),
  1567. Slam = Tool:WaitForChild("Slam"),
  1568. SwingRightToLeft = Tool:WaitForChild("SwingRightToLeft"),
  1569. SwingLeftToRight = Tool:WaitForChild("SwingLeftToRight"),
  1570. }
  1571. local HoldTrack
  1572.  
  1573. function playAnimation(name, fade, weight, speed)
  1574. if Animations[name] then
  1575. local track = Human:LoadAnimation(Animations[name])
  1576. track:Play(fade, weight, speed)
  1577. end
  1578. end
  1579.  
  1580. function onAction(actionName, inputState, inputObject)
  1581. if inputState == Enum.UserInputState.Begin then
  1582. Remote:FireServer("Attack")
  1583. end
  1584. end
  1585.  
  1586. function onEquipped()
  1587. --ensure unequip
  1588. onUnequipped()
  1589.  
  1590. --animate
  1591. HoldTrack = Human:LoadAnimation(Animations.Hold)
  1592. HoldTrack:Play(0.5)
  1593.  
  1594. --bind actions
  1595. CAS:BindActionToInputTypes(
  1596. ActionName,
  1597. onAction,
  1598. false,
  1599. Enum.UserInputType.MouseButton1,
  1600. Enum.UserInputType.Touch
  1601. )
  1602. end
  1603.  
  1604. function onUnequipped()
  1605. --unbind
  1606. CAS:UnbindAction(ActionName)
  1607.  
  1608. --stop animation
  1609. if HoldTrack then
  1610. HoldTrack:Stop()
  1611. end
  1612. end
  1613.  
  1614. function onRemote(func, ...)
  1615. if func == "PlayAnimation" then
  1616. playAnimation(...)
  1617. end
  1618. end
  1619.  
  1620. --set up events
  1621. Tool.Equipped:connect(onEquipped)
  1622. Tool.Unequipped:connect(onUnequipped)
  1623. Remote.OnClientEvent:connect(onRemote)
  1624. end))
  1625. Script100.Name = "Server"
  1626. Script100.Parent = Tool63
  1627. table.insert(cors,sandbox(Script100,function()
  1628. local Tool = script.Parent
  1629. local Remote = Tool:WaitForChild("Remote")
  1630. local Handle = Tool:WaitForChild("Handle")
  1631.  
  1632. local Motor
  1633.  
  1634. local AttackNumber = 1
  1635. local AttackDamage = 50
  1636. local AttackWindow = 0.6
  1637. local AttackRest = 0
  1638. local AttackAble = true
  1639. local AttackDamaging = true
  1640. local AttackHit = {}
  1641.  
  1642. function getPlayerChar()
  1643. local char = Tool.Parent
  1644. local player = game:GetService("Players"):GetPlayerFromCharacter(char)
  1645. return player, char
  1646. end
  1647.  
  1648. function convertWeldToMotor(weld)
  1649. local m = Instance.new("Motor6D")
  1650. m.Name = weld.Name
  1651. m.Part0 = weld.Part0
  1652. m.Part1 = weld.Part1
  1653. m.C0 = weld.C0
  1654. m.C1 = weld.C1
  1655.  
  1656. local parent = weld.Parent
  1657. weld:Destroy()
  1658. m.Parent = parent
  1659.  
  1660. Motor = m
  1661. end
  1662.  
  1663. function changeGrip()
  1664. local player, char = getPlayerChar()
  1665. while not char:FindFirstChild("Right Arm") do wait() end
  1666. while not char["Right Arm"]:FindFirstChild("RightGrip") do wait() end
  1667. convertWeldToMotor(char["Right Arm"].RightGrip)
  1668. end
  1669.  
  1670. function contains(t, v)
  1671. for _, val in pairs(t) do
  1672. if val == v then
  1673. return true
  1674. end
  1675. end
  1676. return false
  1677. end
  1678.  
  1679. function tagHuman(human)
  1680. local player, char = getPlayerChar()
  1681. local val = Instance.new("ObjectValue")
  1682. val.Name = "creator"
  1683. val.Value = player
  1684. val.Parent = human
  1685. game:GetService("Debris"):AddItem(val, 1)
  1686. end
  1687.  
  1688. function openAttackWindow()
  1689. AttackHit = {}
  1690.  
  1691. AttackDamaging = true
  1692. delay(AttackWindow, function()
  1693. AttackDamaging = false
  1694. end)
  1695. end
  1696.  
  1697. function onTouched(part)
  1698. if not AttackDamaging then return end
  1699.  
  1700. local player, char = getPlayerChar()
  1701.  
  1702. if part.Parent and part.Parent ~= char and part.Parent:FindFirstChild("Humanoid") then
  1703. local human = part.Parent.Humanoid
  1704. if not contains(AttackHit, human) then
  1705. table.insert(AttackHit, human)
  1706. tagHuman(human)
  1707. human:TakeDamage(AttackDamage)
  1708.  
  1709. local pitch = math.random(60, 80)/100
  1710. playSound("HitSound", pitch, 1)
  1711. playSound("HitSound2", pitch + 0.3, 1)
  1712. end
  1713. end
  1714. end
  1715.  
  1716. function onTouchedSpecial(part)
  1717. local player, char = getPlayerChar()
  1718.  
  1719. if part.Parent and part.Parent ~= char and part.Parent:FindFirstChild("Humanoid") then
  1720. local human = part.Parent.Humanoid
  1721. if not contains(AttackHit, human) then
  1722. table.insert(AttackHit, human)
  1723. tagHuman(human)
  1724. human:TakeDamage(AttackDamage)
  1725. end
  1726. end
  1727. end
  1728.  
  1729. function special()
  1730. local player, char = getPlayerChar()
  1731. local root = char:FindFirstChild("Zombie")
  1732. if root then
  1733. openAttackWindow()
  1734.  
  1735. local c = root.CFrame
  1736. local dz = -8
  1737. for t = 0, 1, 1/15 do
  1738. delay(t, function()
  1739. local pos = c:pointToWorldSpace(Vector3.new(0, -2.5, dz))
  1740.  
  1741. local e = Instance.new("Explosion")
  1742. e.BlastPressure = 0
  1743. e.Position = pos
  1744. e.Hit:connect(onTouchedSpecial)
  1745. e.Parent = workspace
  1746.  
  1747. dz = dz - 6
  1748. end)
  1749. end
  1750.  
  1751. playSound("Explosion", 0.9, 1)
  1752. end
  1753. end
  1754.  
  1755. function playSound(name, pitch, volume)
  1756. local sound = Handle:FindFirstChild(name)
  1757. if sound then
  1758. sound.Pitch = pitch or math.random(90, 110)/100
  1759. sound.Volume = volume or 0.5
  1760. sound:Play()
  1761. end
  1762. end
  1763.  
  1764. function attack()
  1765. if not AttackAble then return end
  1766.  
  1767. AttackAble = false
  1768. delay(AttackRest, function()
  1769. AttackAble = true
  1770. end)
  1771.  
  1772. local player, char = getPlayerChar()
  1773.  
  1774. if AttackNumber < 5 then
  1775. if AttackNumber == 1 or AttackNumber == 3 then
  1776. Remote:FireClient(player, "PlayAnimation", "SwingRightToLeft")
  1777. elseif AttackNumber == 2 or AttackNumber == 4 then
  1778. Remote:FireClient(player, "PlayAnimation", "SwingLeftToRight")
  1779. end
  1780.  
  1781. openAttackWindow()
  1782. playSound("SwingSound")
  1783. else
  1784.  
  1785. AttackNumber = 0
  1786. end
  1787.  
  1788. AttackNumber = AttackNumber + 1
  1789.  
  1790. end
  1791.  
  1792. function onRemote(callingPlayer, func, ...)
  1793. local player, char = getPlayerChar()
  1794. if callingPlayer == player then
  1795. if func == "Attack" then
  1796. attack()
  1797. end
  1798. end
  1799. end
  1800.  
  1801. function onEquipped()
  1802. --ensure unequip
  1803. onUnequipped()
  1804.  
  1805. --convert grip to a motor
  1806. changeGrip()
  1807. end
  1808.  
  1809. function onUnequipped()
  1810. if Motor then
  1811. Motor:Destroy()
  1812. end
  1813. end
  1814.  
  1815. --connect events
  1816. Tool.Equipped:connect(onEquipped)
  1817. Tool.Unequipped:connect(onUnequipped)
  1818. Remote.OnServerEvent:connect(onRemote)
  1819. Handle.Touched:connect(onTouched)
  1820. end))
  1821. Animation101.Name = "SwingRightToLeft"
  1822. Animation101.Parent = Tool63
  1823. Animation101.AnimationId = "http://www.roblox.com/asset/?id=184573779"
  1824. Animation102.Name = "SwingLeftToRight"
  1825. Animation102.Parent = Tool63
  1826. Animation102.AnimationId = "http://www.roblox.com/asset/?id=184573748"
  1827. Animation103.Name = "Slam"
  1828. Animation103.Parent = Tool63
  1829. Animation103.AnimationId = "http://www.roblox.com/asset/?id=184574340"
  1830. Animation104.Name = "Hold"
  1831. Animation104.Parent = Tool63
  1832. Animation104.AnimationId = "http://www.roblox.com/asset/?id=184572142"
  1833. Script105.Parent = Tool63
  1834. table.insert(cors,sandbox(Script105,function()
  1835. function LOL()
  1836. script.Parent.Handle.AnimeMusic:Play()
  1837. end
  1838. function LOL2()
  1839. script.Parent.Handle.AnimeMusic:Stop()
  1840. end
  1841.  
  1842. script.Parent.Equipped:connect(LOL)
  1843. script.Parent.Unequipped:connect(LOL2)
  1844. end))
  1845. Model106.Name = "Resyncable"
  1846. Model106.Parent = Tool63
  1847. Shirt107.Name = "Shirt"
  1848. Shirt107.Parent = Tool63
  1849. Shirt107.ShirtTemplate = "http://www.roblox.com/asset/?id=41770216"
  1850. Pants108.Name = "Pants"
  1851. Pants108.Parent = Tool63
  1852. Pants108.PantsTemplate = "http://www.roblox.com/asset/?id=45721839"
  1853. BodyColors109.Parent = Tool63
  1854. BodyColors109.HeadColor = BrickColor.new("Cyan")
  1855. BodyColors109.LeftArmColor = BrickColor.new("Cyan")
  1856. BodyColors109.LeftLegColor = BrickColor.new("Cyan")
  1857. BodyColors109.RightArmColor = BrickColor.new("Cyan")
  1858. BodyColors109.RightLegColor = BrickColor.new("Cyan")
  1859. BodyColors109.TorsoColor = BrickColor.new("Cyan")
  1860. Tool110.Name = "Candy_crazed"
  1861. Tool110.Parent = mas
  1862. Tool110.GripForward = Vector3.new(-0, 1, -0)
  1863. Tool110.GripRight = Vector3.new(0, 0, 1)
  1864. Tool110.GripUp = Vector3.new(-1, 0, 0)
  1865. Tool110.ToolTip = "OOF"
  1866. RemoteEvent111.Name = "Remote"
  1867. RemoteEvent111.Parent = Tool110
  1868. NumberValue112.Name = "Resistance"
  1869. NumberValue112.Parent = Tool110
  1870. NumberValue112.Value = 20
  1871. Model113.Name = "Candy_Crazed"
  1872. Model113.Parent = NumberValue112
  1873. Part114.Name = "Head"
  1874. Part114.Parent = Model113
  1875. Part114.BrickColor = BrickColor.new("Institutional white")
  1876. Part114.Rotation = Vector3.new(-180, -5, -180)
  1877. Part114.FormFactor = Enum.FormFactor.Symmetric
  1878. Part114.Size = Vector3.new(2, 1, 1)
  1879. Part114.CFrame = CFrame.new(0.00438199984, 4.49999905, 0.100357004, -0.996194661, 0, -0.087155968, 0, 1, 0, 0.087155968, 0, -0.996194661)
  1880. Part114.TopSurface = Enum.SurfaceType.Smooth
  1881. Part114.Color = Color3.new(0.972549, 0.972549, 0.972549)
  1882. Part114.Position = Vector3.new(0.00438199984, 4.49999905, 0.100357004)
  1883. Part114.Orientation = Vector3.new(0, -175, 0)
  1884. Part114.Color = Color3.new(0.972549, 0.972549, 0.972549)
  1885. SpecialMesh115.Parent = Part114
  1886. SpecialMesh115.Scale = Vector3.new(1.25, 1.25, 1.25)
  1887. SpecialMesh115.Scale = Vector3.new(1.25, 1.25, 1.25)
  1888. Attachment116.Name = "HatAttachment"
  1889. Attachment116.Parent = Part114
  1890. Attachment116.CFrame = CFrame.new(0, 0.600000024, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  1891. Attachment116.Position = Vector3.new(0, 0.600000024, 0)
  1892. Attachment117.Name = "HairAttachment"
  1893. Attachment117.Parent = Part114
  1894. Attachment117.CFrame = CFrame.new(0, 0.600000024, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  1895. Attachment117.Position = Vector3.new(0, 0.600000024, 0)
  1896. Attachment118.Name = "FaceFrontAttachment"
  1897. Attachment118.Parent = Part114
  1898. Attachment118.CFrame = CFrame.new(0, 0, -0.600000024, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  1899. Attachment118.Position = Vector3.new(0, 0, -0.600000024)
  1900. Attachment119.Name = "FaceCenterAttachment"
  1901. Attachment119.Parent = Part114
  1902. Decal120.Name = "face"
  1903. Decal120.Parent = Part114
  1904. Decal120.Texture = "http://www.roblox.com/asset/?id=255828374"
  1905. BillboardGui121.Parent = Part114
  1906. BillboardGui121.Size = UDim2.new(0, 200, 0, 50)
  1907. TextLabel122.Parent = BillboardGui121
  1908. TextLabel122.Transparency = 1
  1909. TextLabel122.Size = UDim2.new(0, 100, 0, 400)
  1910. TextLabel122.Text = "Candy_Crazed"
  1911. TextLabel122.Position = UDim2.new(0, 0, 0, -300)
  1912. TextLabel122.BackgroundColor3 = Color3.new(1, 1, 1)
  1913. TextLabel122.BackgroundTransparency = 1
  1914. TextLabel122.Font = Enum.Font.SourceSans
  1915. TextLabel122.FontSize = Enum.FontSize.Size14
  1916. TextLabel122.TextColor3 = Color3.new(0, 1, 1)
  1917. TextLabel122.TextScaled = true
  1918. TextLabel122.TextStrokeTransparency = 0
  1919. TextLabel122.TextWrapped = true
  1920. CharacterMesh123.Parent = Model113
  1921. CharacterMesh123.MeshId = 27111882
  1922. CharacterMesh123.BodyPart = Enum.BodyPart.RightLeg
  1923. CharacterMesh124.Parent = Model113
  1924. CharacterMesh124.MeshId = 27111857
  1925. CharacterMesh124.BodyPart = Enum.BodyPart.LeftLeg
  1926. Accessory125.Name = "Circuitboardlove"
  1927. Accessory125.Parent = Model113
  1928. Accessory125.AttachmentPos = Vector3.new(0, 1.37, -0.0500000007)
  1929. Part126.Name = "Handle"
  1930. Part126.Parent = Accessory125
  1931. Part126.Rotation = Vector3.new(-180, -5, -180)
  1932. Part126.CanCollide = false
  1933. Part126.FormFactor = Enum.FormFactor.Symmetric
  1934. Part126.Size = Vector3.new(1, 1, 2)
  1935. Part126.CFrame = CFrame.new(0, 3.62999892, 0.0502719991, -0.996194661, 0, -0.087155968, 0, 1, 0, 0.087155968, 0, -0.996194661)
  1936. Part126.BottomSurface = Enum.SurfaceType.Smooth
  1937. Part126.TopSurface = Enum.SurfaceType.Smooth
  1938. Part126.Position = Vector3.new(0, 3.62999892, 0.0502719991)
  1939. Part126.Orientation = Vector3.new(0, -175, 0)
  1940. SpecialMesh127.Parent = Part126
  1941. SpecialMesh127.MeshId = "http://www.roblox.com/asset/?id=48494467"
  1942. SpecialMesh127.Scale = Vector3.new(1.10000002, 1, 1)
  1943. SpecialMesh127.TextureId = "http://www.roblox.com/asset/?id=48494437"
  1944. SpecialMesh127.MeshType = Enum.MeshType.FileMesh
  1945. SpecialMesh127.Scale = Vector3.new(1.10000002, 1, 1)
  1946. Attachment128.Name = "NeckAttachment"
  1947. Attachment128.Parent = Part126
  1948. Attachment128.Rotation = Vector3.new(0, 0, 3.91582454e-29)
  1949. Attachment128.CFrame = CFrame.new(5.96046448e-08, 0.369999647, -0.0502723642, 1, -6.83440315e-31, 0, 6.83440315e-31, 1, -0, 0, 0, 1)
  1950. Attachment128.Position = Vector3.new(5.96046448e-08, 0.369999647, -0.0502723642)
  1951. Attachment128.Axis = Vector3.new(1, 6.83440315e-31, 0)
  1952. Attachment128.Orientation = Vector3.new(0, 0, 3.91582454e-29)
  1953. CharacterMesh129.Parent = Model113
  1954. CharacterMesh129.MeshId = 27111894
  1955. CharacterMesh129.BodyPart = Enum.BodyPart.Torso
  1956. Pants130.Name = "Pants"
  1957. Pants130.Parent = Model113
  1958. Pants130.PantsTemplate = "http://www.roblox.com/asset/?id=802554696"
  1959. Accessory131.Name = "Nerd Glasses"
  1960. Accessory131.Parent = Model113
  1961. Accessory131.AttachmentPos = Vector3.new(0, 0.300000012, 0.25)
  1962. Part132.Name = "Handle"
  1963. Part132.Parent = Accessory131
  1964. Part132.Rotation = Vector3.new(-180, -5, -180)
  1965. Part132.CanCollide = false
  1966. Part132.FormFactor = Enum.FormFactor.Plate
  1967. Part132.Size = Vector3.new(1, 0.400000006, 1)
  1968. Part132.CFrame = CFrame.new(0.0261470005, 4.69999886, 0.349135011, -0.996194661, 0, -0.087155968, 0, 1, 0, 0.087155968, 0, -0.996194661)
  1969. Part132.BottomSurface = Enum.SurfaceType.Smooth
  1970. Part132.TopSurface = Enum.SurfaceType.Smooth
  1971. Part132.Position = Vector3.new(0.0261470005, 4.69999886, 0.349135011)
  1972. Part132.Orientation = Vector3.new(0, -175, 0)
  1973. SpecialMesh133.Parent = Part132
  1974. SpecialMesh133.MeshId = "http://www.roblox.com/asset/?id=11419729"
  1975. SpecialMesh133.TextureId = "http://www.roblox.com/asset/?id=112346956"
  1976. SpecialMesh133.MeshType = Enum.MeshType.FileMesh
  1977. Attachment134.Name = "FaceFrontAttachment"
  1978. Attachment134.Parent = Part132
  1979. Attachment134.Rotation = Vector3.new(2.37457894e-14, -1.86912034e-22, -4.50996595e-07)
  1980. Attachment134.CFrame = CFrame.new(3.93538357e-09, -0.199999809, -0.350272298, 1, 7.87137555e-09, -3.26223034e-24, -7.87137555e-09, 1, -4.1444221e-16, 0, 4.1444221e-16, 1)
  1981. Attachment134.Position = Vector3.new(3.93538357e-09, -0.199999809, -0.350272298)
  1982. Attachment134.Axis = Vector3.new(1, -7.87137555e-09, 0)
  1983. Attachment134.Orientation = Vector3.new(2.37457894e-14, -1.86912034e-22, -4.50996595e-07)
  1984. Vector3Value135.Name = "OriginalSize"
  1985. Vector3Value135.Parent = Part132
  1986. Vector3Value135.Value = Vector3.new(1, 0.400000006, 1)
  1987. Accessory136.Name = "moreanimeboyhair"
  1988. Accessory136.Parent = Model113
  1989. Accessory136.AttachmentPos = Vector3.new(0, 0.340000004, 0.25)
  1990. Part137.Name = "Handle"
  1991. Part137.Parent = Accessory136
  1992. Part137.Rotation = Vector3.new(-180, -5, -180)
  1993. Part137.CanCollide = false
  1994. Part137.FormFactor = Enum.FormFactor.Custom
  1995. Part137.Size = Vector3.new(1.60002756, 0.800000012, 1.59999776)
  1996. Part137.CFrame = CFrame.new(-0.0523979999, 4.59999895, 0.0250199996, -0.996194661, 0, -0.087155968, 0, 1, 0, 0.087155968, 0, -0.996194661)
  1997. Part137.BottomSurface = Enum.SurfaceType.Smooth
  1998. Part137.TopSurface = Enum.SurfaceType.Smooth
  1999. Part137.Position = Vector3.new(-0.0523979999, 4.59999895, 0.0250199996)
  2000. Part137.Orientation = Vector3.new(0, -175, 0)
  2001. SpecialMesh138.Parent = Part137
  2002. SpecialMesh138.MeshId = "rbxassetid://913578626"
  2003. SpecialMesh138.Scale = Vector3.new(0.899999976, 0.899999976, 0.949999988)
  2004. SpecialMesh138.TextureId = "rbxassetid://913581010"
  2005. SpecialMesh138.MeshType = Enum.MeshType.FileMesh
  2006. SpecialMesh138.Scale = Vector3.new(0.899999976, 0.899999976, 0.949999988)
  2007. Attachment139.Name = "HairAttachment"
  2008. Attachment139.Parent = Part137
  2009. Attachment139.Rotation = Vector3.new(2.37458114e-14, 1.73605135e-13, -4.50996595e-07)
  2010. Attachment139.CFrame = CFrame.new(-0.0500000007, 0.5, -0.0799999982, 1, 7.87137555e-09, 3.02998127e-15, -7.87137555e-09, 1, -4.1444258e-16, -3.02998127e-15, 4.14442554e-16, 1)
  2011. Attachment139.Position = Vector3.new(-0.0500000007, 0.5, -0.0799999982)
  2012. Attachment139.Axis = Vector3.new(1, -7.87137555e-09, -3.02998127e-15)
  2013. Attachment139.Orientation = Vector3.new(2.37458114e-14, 1.73605135e-13, -4.50996595e-07)
  2014. Vector3Value140.Name = "OriginalSize"
  2015. Vector3Value140.Parent = Part137
  2016. Vector3Value140.Value = Vector3.new(1.60002756, 0.800000012, 1.59999776)
  2017. Accessory141.Name = "BearMask"
  2018. Accessory141.Parent = Model113
  2019. Accessory141.AttachmentPos = Vector3.new(0, 0.730000019, 0.0199999996)
  2020. Part142.Name = "Handle"
  2021. Part142.Parent = Accessory141
  2022. Part142.Rotation = Vector3.new(-180, -5, -180)
  2023. Part142.CanCollide = false
  2024. Part142.FormFactor = Enum.FormFactor.Custom
  2025. Part142.Size = Vector3.new(1.19999909, 0.599999845, 1.20000005)
  2026. Part142.CFrame = CFrame.new(0.00699699996, 4.26999903, 0.130244002, -0.996194661, 0, -0.087155968, 0, 1, 0, 0.087155968, 0, -0.996194661)
  2027. Part142.BottomSurface = Enum.SurfaceType.Smooth
  2028. Part142.TopSurface = Enum.SurfaceType.Smooth
  2029. Part142.Position = Vector3.new(0.00699699996, 4.26999903, 0.130244002)
  2030. Part142.Orientation = Vector3.new(0, -175, 0)
  2031. SpecialMesh143.Parent = Part142
  2032. SpecialMesh143.MeshId = "rbxassetid://1192459566"
  2033. SpecialMesh143.Scale = Vector3.new(2, 2, 2)
  2034. SpecialMesh143.TextureId = "rbxassetid://1192457668"
  2035. SpecialMesh143.MeshType = Enum.MeshType.FileMesh
  2036. SpecialMesh143.Scale = Vector3.new(2, 2, 2)
  2037. Attachment144.Name = "FaceFrontAttachment"
  2038. Attachment144.Parent = Part142
  2039. Attachment144.Rotation = Vector3.new(2.37457894e-14, -1.86912034e-22, -4.50996595e-07)
  2040. Attachment144.CFrame = CFrame.new(0, 0.230000004, -0.569999993, 1, 7.87137555e-09, -3.26223034e-24, -7.87137555e-09, 1, -4.1444221e-16, 0, 4.1444221e-16, 1)
  2041. Attachment144.Position = Vector3.new(0, 0.230000004, -0.569999993)
  2042. Attachment144.Axis = Vector3.new(1, -7.87137555e-09, 0)
  2043. Attachment144.Orientation = Vector3.new(2.37457894e-14, -1.86912034e-22, -4.50996595e-07)
  2044. Vector3Value145.Name = "OriginalSize"
  2045. Vector3Value145.Parent = Part142
  2046. Vector3Value145.Value = Vector3.new(1.19999909, 0.599999845, 1.20000005)
  2047. CharacterMesh146.Parent = Model113
  2048. CharacterMesh146.MeshId = 27111419
  2049. CharacterMesh146.BodyPart = Enum.BodyPart.LeftArm
  2050. CharacterMesh147.Name = "Roblox 2.0 Right Arm"
  2051. CharacterMesh147.Parent = Model113
  2052. CharacterMesh147.MeshId = 27111864
  2053. CharacterMesh147.BodyPart = Enum.BodyPart.RightArm
  2054. Shirt148.Name = "Shirt"
  2055. Shirt148.Parent = Model113
  2056. Shirt148.ShirtTemplate = "http://www.roblox.com/asset/?id=772844447"
  2057. BodyColors149.Parent = Model113
  2058. BodyColors149.HeadColor = BrickColor.new("Institutional white")
  2059. BodyColors149.LeftArmColor = BrickColor.new("Institutional white")
  2060. BodyColors149.LeftLegColor = BrickColor.new("White")
  2061. BodyColors149.RightArmColor = BrickColor.new("Institutional white")
  2062. BodyColors149.RightLegColor = BrickColor.new("White")
  2063. BodyColors149.TorsoColor = BrickColor.new("Institutional white")
  2064. Script150.Name = "qPerfectionWeld"
  2065. Script150.Parent = Tool110
  2066. table.insert(cors,sandbox(Script150,function()
  2067. -- Created by Quenty (@Quenty, follow me on twitter).
  2068. -- Should work with only ONE copy, seamlessly with weapons, trains, et cetera.
  2069. -- Parts should be ANCHORED before use. It will, however, store relatives values and so when tools are reparented, it'll fix them.
  2070.  
  2071. --[[ INSTRUCTIONS
  2072. - Place in the model
  2073. - Make sure model is anchored
  2074. - That's it. It will weld the model and all children.
  2075.  
  2076. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  2077. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  2078. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  2079. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  2080. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  2081. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  2082. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  2083. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  2084.  
  2085. This script is designed to be used is a regular script. In a local script it will weld, but it will not attempt to handle ancestory changes.
  2086. ]]
  2087.  
  2088. --[[ DOCUMENTATION
  2089. - Will work in tools. If ran more than once it will not create more than one weld. This is especially useful for tools that are dropped and then picked up again.
  2090. - Will work in PBS servers
  2091. - Will work as long as it starts out with the part anchored
  2092. - Stores the relative CFrame as a CFrame value
  2093. - Takes careful measure to reduce lag by not having a joint set off or affected by the parts offset from origin
  2094. - Utilizes a recursive algorith to find all parts in the model
  2095. - Will reweld on script reparent if the script is initially parented to a tool.
  2096. - Welds as fast as possible
  2097. ]]
  2098.  
  2099. -- qPerfectionWeld.lua
  2100. -- Created 10/6/2014
  2101. -- Author: Quenty
  2102. -- Version 1.0.3
  2103.  
  2104. -- Updated 10/14/2014 - Updated to 1.0.1
  2105. --- Bug fix with existing ROBLOX welds ? Repro by asimo3089
  2106.  
  2107. -- Updated 10/14/2014 - Updated to 1.0.2
  2108. --- Fixed bug fix.
  2109.  
  2110. -- Updated 10/14/2014 - Updated to 1.0.3
  2111. --- Now handles joints semi-acceptably. May be rather hacky with some joints. :/
  2112.  
  2113. local NEVER_BREAK_JOINTS = false -- If you set this to true it will never break joints (this can create some welding issues, but can save stuff like hinges).
  2114.  
  2115.  
  2116. local function CallOnChildren(Instance, FunctionToCall)
  2117. -- Calls a function on each of the children of a certain object, using recursion.
  2118.  
  2119. FunctionToCall(Instance)
  2120.  
  2121. for _, Child in next, Instance:GetChildren() do
  2122. CallOnChildren(Child, FunctionToCall)
  2123. end
  2124. end
  2125.  
  2126. local function GetNearestParent(Instance, ClassName)
  2127. -- Returns the nearest parent of a certain class, or returns nil
  2128.  
  2129. local Ancestor = Instance
  2130. repeat
  2131. Ancestor = Ancestor.Parent
  2132. if Ancestor == nil then
  2133. return nil
  2134. end
  2135. until Ancestor:IsA(ClassName)
  2136.  
  2137. return Ancestor
  2138. end
  2139.  
  2140. local function GetBricks(StartInstance)
  2141. local List = {}
  2142.  
  2143. -- if StartInstance:IsA("BasePart") then
  2144. -- List[#List+1] = StartInstance
  2145. -- end
  2146.  
  2147. CallOnChildren(StartInstance, function(Item)
  2148. if Item:IsA("BasePart") then
  2149. List[#List+1] = Item;
  2150. end
  2151. end)
  2152.  
  2153. return List
  2154. end
  2155.  
  2156. local function Modify(Instance, Values)
  2157. -- Modifies an Instance by using a table.
  2158.  
  2159. assert(type(Values) == "table", "Values is not a table");
  2160.  
  2161. for Index, Value in next, Values do
  2162. if type(Index) == "number" then
  2163. Value.Parent = Instance
  2164. else
  2165. Instance[Index] = Value
  2166. end
  2167. end
  2168. return Instance
  2169. end
  2170.  
  2171. local function Make(ClassType, Properties)
  2172. -- Using a syntax hack to create a nice way to Make new items.
  2173.  
  2174. return Modify(Instance.new(ClassType), Properties)
  2175. end
  2176.  
  2177. local Surfaces = {"TopSurface", "BottomSurface", "LeftSurface", "RightSurface", "FrontSurface", "BackSurface"}
  2178. local HingSurfaces = {"Hinge", "Motor", "SteppingMotor"}
  2179.  
  2180. local function HasWheelJoint(Part)
  2181. for _, SurfaceName in pairs(Surfaces) do
  2182. for _, HingSurfaceName in pairs(HingSurfaces) do
  2183. if Part[SurfaceName].Name == HingSurfaceName then
  2184. return true
  2185. end
  2186. end
  2187. end
  2188.  
  2189. return false
  2190. end
  2191.  
  2192. local function ShouldBreakJoints(Part)
  2193. --- We do not want to break joints of wheels/hinges. This takes the utmost care to not do this. There are
  2194. -- definitely some edge cases.
  2195.  
  2196. if NEVER_BREAK_JOINTS then
  2197. return false
  2198. end
  2199.  
  2200. if HasWheelJoint(Part) then
  2201. return false
  2202. end
  2203.  
  2204. local Connected = Part:GetConnectedParts()
  2205.  
  2206. if #Connected == 1 then
  2207. return false
  2208. end
  2209.  
  2210. for _, Item in pairs(Connected) do
  2211. if HasWheelJoint(Item) then
  2212. return false
  2213. elseif not Item:IsDescendantOf(script.Parent) then
  2214. return false
  2215. end
  2216. end
  2217.  
  2218. return true
  2219. end
  2220.  
  2221. local function WeldTogether(Part0, Part1, JointType, WeldParent)
  2222. --- Weld's 2 parts together
  2223. -- @param Part0 The first part
  2224. -- @param Part1 The second part (Dependent part most of the time).
  2225. -- @param [JointType] The type of joint. Defaults to weld.
  2226. -- @param [WeldParent] Parent of the weld, Defaults to Part0 (so GC is better).
  2227. -- @return The weld created.
  2228.  
  2229. JointType = JointType or "Weld"
  2230. local RelativeValue = Part1:FindFirstChild("qRelativeCFrameWeldValue")
  2231.  
  2232. local NewWeld = Part1:FindFirstChild("qCFrameWeldThingy") or Instance.new(JointType)
  2233. Modify(NewWeld, {
  2234. Name = "qCFrameWeldThingy";
  2235. Part0 = Part0;
  2236. Part1 = Part1;
  2237. C0 = CFrame.new();--Part0.CFrame:inverse();
  2238. C1 = RelativeValue and RelativeValue.Value or Part1.CFrame:toObjectSpace(Part0.CFrame); --Part1.CFrame:inverse() * Part0.CFrame;-- Part1.CFrame:inverse();
  2239. Parent = Part1;
  2240. })
  2241.  
  2242. if not RelativeValue then
  2243. RelativeValue = Make("CFrameValue", {
  2244. Parent = Part1;
  2245. Name = "qRelativeCFrameWeldValue";
  2246. Archivable = true;
  2247. Value = NewWeld.C1;
  2248. })
  2249. end
  2250.  
  2251. return NewWeld
  2252. end
  2253.  
  2254. local function WeldParts(Parts, MainPart, JointType, DoNotUnanchor)
  2255. -- @param Parts The Parts to weld. Should be anchored to prevent really horrible results.
  2256. -- @param MainPart The part to weld the model to (can be in the model).
  2257. -- @param [JointType] The type of joint. Defaults to weld.
  2258. -- @parm DoNotUnanchor Boolean, if true, will not unachor the model after cmopletion.
  2259.  
  2260. for _, Part in pairs(Parts) do
  2261. if ShouldBreakJoints(Part) then
  2262. Part:BreakJoints()
  2263. end
  2264. end
  2265.  
  2266. for _, Part in pairs(Parts) do
  2267. if Part ~= MainPart then
  2268. WeldTogether(MainPart, Part, JointType, MainPart)
  2269. end
  2270. end
  2271.  
  2272. if not DoNotUnanchor then
  2273. for _, Part in pairs(Parts) do
  2274. Part.Anchored = false
  2275. end
  2276. MainPart.Anchored = false
  2277. end
  2278. end
  2279.  
  2280. local function PerfectionWeld()
  2281. local Tool = GetNearestParent(script, "Tool")
  2282.  
  2283. local Parts = GetBricks(script.Parent)
  2284. local PrimaryPart = Tool and Tool:FindFirstChild("Handle") and Tool.Handle:IsA("BasePart") and Tool.Handle or script.Parent:IsA("Model") and script.Parent.PrimaryPart or Parts[1]
  2285.  
  2286. if PrimaryPart then
  2287. WeldParts(Parts, PrimaryPart, "Weld", false)
  2288. else
  2289. warn("qWeld - Unable to weld part")
  2290. end
  2291.  
  2292. return Tool
  2293. end
  2294.  
  2295. local Tool = PerfectionWeld()
  2296.  
  2297.  
  2298. if Tool and script.ClassName == "Script" then
  2299. --- Don't bother with local scripts
  2300.  
  2301. script.Parent.AncestryChanged:connect(function()
  2302. PerfectionWeld()
  2303. end)
  2304. end
  2305.  
  2306. -- Created by Quenty (@Quenty, follow me on twitter).
  2307.  
  2308. end))
  2309. Part151.Name = "Handle"
  2310. Part151.Parent = Tool110
  2311. Part151.Material = Enum.Material.Metal
  2312. Part151.BrickColor = BrickColor.new("Toothpaste")
  2313. Part151.Transparency = 1
  2314. Part151.Rotation = Vector3.new(0, -87.7399979, -90)
  2315. Part151.Anchored = true
  2316. Part151.CanCollide = false
  2317. Part151.FormFactor = Enum.FormFactor.Custom
  2318. Part151.Size = Vector3.new(0.200000003, 0.573924482, 1)
  2319. Part151.CFrame = CFrame.new(0.0249101222, 4.33820772, 0.185504228, 0, 0.0394580103, -0.999221265, -1, 0, 0, 0, 0.999221265, 0.0394580103)
  2320. Part151.Color = Color3.new(0, 1, 1)
  2321. Part151.Position = Vector3.new(0.0249101222, 4.33820772, 0.185504228)
  2322. Part151.Orientation = Vector3.new(0, -87.7399979, -90)
  2323. Part151.Color = Color3.new(0, 1, 1)
  2324. Sound152.Name = "AnimeMusic"
  2325. Sound152.Parent = Part151
  2326. Sound152.SoundId = "rbxassetid://943961217"
  2327. Sound152.Volume = 10
  2328. Sound152.Looped = true
  2329. LocalScript153.Name = "Client"
  2330. LocalScript153.Parent = Tool110
  2331. table.insert(cors,sandbox(LocalScript153,function()
  2332. local Player = game:GetService("Players").LocalPlayer
  2333. while not Player.Character do wait() end
  2334. local Character = Player.Character
  2335. local Human = Character:WaitForChild("Humanoid")
  2336.  
  2337. local CAS = game:GetService("ContextActionService")
  2338. local ActionName = "GiantAngelicSword"
  2339.  
  2340. local Tool = script.Parent
  2341. local Remote = Tool:WaitForChild("Remote")
  2342.  
  2343. local Animations = {
  2344. Hold = Tool:WaitForChild("Hold"),
  2345. Slam = Tool:WaitForChild("Slam"),
  2346. SwingRightToLeft = Tool:WaitForChild("SwingRightToLeft"),
  2347. SwingLeftToRight = Tool:WaitForChild("SwingLeftToRight"),
  2348. }
  2349. local HoldTrack
  2350.  
  2351. function playAnimation(name, fade, weight, speed)
  2352. if Animations[name] then
  2353. local track = Human:LoadAnimation(Animations[name])
  2354. track:Play(fade, weight, speed)
  2355. end
  2356. end
  2357.  
  2358. function onAction(actionName, inputState, inputObject)
  2359. if inputState == Enum.UserInputState.Begin then
  2360. Remote:FireServer("Attack")
  2361. end
  2362. end
  2363.  
  2364. function onEquipped()
  2365. --ensure unequip
  2366. onUnequipped()
  2367.  
  2368. --animate
  2369. HoldTrack = Human:LoadAnimation(Animations.Hold)
  2370. HoldTrack:Play(0.5)
  2371.  
  2372. --bind actions
  2373. CAS:BindActionToInputTypes(
  2374. ActionName,
  2375. onAction,
  2376. false,
  2377. Enum.UserInputType.MouseButton1,
  2378. Enum.UserInputType.Touch
  2379. )
  2380. end
  2381.  
  2382. function onUnequipped()
  2383. --unbind
  2384. CAS:UnbindAction(ActionName)
  2385.  
  2386. --stop animation
  2387. if HoldTrack then
  2388. HoldTrack:Stop()
  2389. end
  2390. end
  2391.  
  2392. function onRemote(func, ...)
  2393. if func == "PlayAnimation" then
  2394. playAnimation(...)
  2395. end
  2396. end
  2397.  
  2398. --set up events
  2399. Tool.Equipped:connect(onEquipped)
  2400. Tool.Unequipped:connect(onUnequipped)
  2401. Remote.OnClientEvent:connect(onRemote)
  2402. end))
  2403. Script154.Name = "Server"
  2404. Script154.Parent = Tool110
  2405. table.insert(cors,sandbox(Script154,function()
  2406. local Tool = script.Parent
  2407. local Remote = Tool:WaitForChild("Remote")
  2408. local Handle = Tool:WaitForChild("Handle")
  2409.  
  2410. local Motor
  2411.  
  2412. local AttackNumber = 1
  2413. local AttackDamage = 50
  2414. local AttackWindow = 0.6
  2415. local AttackRest = 0
  2416. local AttackAble = true
  2417. local AttackDamaging = true
  2418. local AttackHit = {}
  2419.  
  2420. function getPlayerChar()
  2421. local char = Tool.Parent
  2422. local player = game:GetService("Players"):GetPlayerFromCharacter(char)
  2423. return player, char
  2424. end
  2425.  
  2426. function convertWeldToMotor(weld)
  2427. local m = Instance.new("Motor6D")
  2428. m.Name = weld.Name
  2429. m.Part0 = weld.Part0
  2430. m.Part1 = weld.Part1
  2431. m.C0 = weld.C0
  2432. m.C1 = weld.C1
  2433.  
  2434. local parent = weld.Parent
  2435. weld:Destroy()
  2436. m.Parent = parent
  2437.  
  2438. Motor = m
  2439. end
  2440.  
  2441. function changeGrip()
  2442. local player, char = getPlayerChar()
  2443. while not char:FindFirstChild("Right Arm") do wait() end
  2444. while not char["Right Arm"]:FindFirstChild("RightGrip") do wait() end
  2445. convertWeldToMotor(char["Right Arm"].RightGrip)
  2446. end
  2447.  
  2448. function contains(t, v)
  2449. for _, val in pairs(t) do
  2450. if val == v then
  2451. return true
  2452. end
  2453. end
  2454. return false
  2455. end
  2456.  
  2457. function tagHuman(human)
  2458. local player, char = getPlayerChar()
  2459. local val = Instance.new("ObjectValue")
  2460. val.Name = "creator"
  2461. val.Value = player
  2462. val.Parent = human
  2463. game:GetService("Debris"):AddItem(val, 1)
  2464. end
  2465.  
  2466. function openAttackWindow()
  2467. AttackHit = {}
  2468.  
  2469. AttackDamaging = true
  2470. delay(AttackWindow, function()
  2471. AttackDamaging = false
  2472. end)
  2473. end
  2474.  
  2475. function onTouched(part)
  2476. if not AttackDamaging then return end
  2477.  
  2478. local player, char = getPlayerChar()
  2479.  
  2480. if part.Parent and part.Parent ~= char and part.Parent:FindFirstChild("Humanoid") then
  2481. local human = part.Parent.Humanoid
  2482. if not contains(AttackHit, human) then
  2483. table.insert(AttackHit, human)
  2484. tagHuman(human)
  2485. human:TakeDamage(AttackDamage)
  2486.  
  2487. local pitch = math.random(60, 80)/100
  2488. playSound("HitSound", pitch, 1)
  2489. playSound("HitSound2", pitch + 0.3, 1)
  2490. end
  2491. end
  2492. end
  2493.  
  2494. function onTouchedSpecial(part)
  2495. local player, char = getPlayerChar()
  2496.  
  2497. if part.Parent and part.Parent ~= char and part.Parent:FindFirstChild("Humanoid") then
  2498. local human = part.Parent.Humanoid
  2499. if not contains(AttackHit, human) then
  2500. table.insert(AttackHit, human)
  2501. tagHuman(human)
  2502. human:TakeDamage(AttackDamage)
  2503. end
  2504. end
  2505. end
  2506.  
  2507. function special()
  2508. local player, char = getPlayerChar()
  2509. local root = char:FindFirstChild("Zombie")
  2510. if root then
  2511. openAttackWindow()
  2512.  
  2513. local c = root.CFrame
  2514. local dz = -8
  2515. for t = 0, 1, 1/15 do
  2516. delay(t, function()
  2517. local pos = c:pointToWorldSpace(Vector3.new(0, -2.5, dz))
  2518.  
  2519. local e = Instance.new("Explosion")
  2520. e.BlastPressure = 0
  2521. e.Position = pos
  2522. e.Hit:connect(onTouchedSpecial)
  2523. e.Parent = workspace
  2524.  
  2525. dz = dz - 6
  2526. end)
  2527. end
  2528.  
  2529. playSound("Explosion", 0.9, 1)
  2530. end
  2531. end
  2532.  
  2533. function playSound(name, pitch, volume)
  2534. local sound = Handle:FindFirstChild(name)
  2535. if sound then
  2536. sound.Pitch = pitch or math.random(90, 110)/100
  2537. sound.Volume = volume or 0.5
  2538. sound:Play()
  2539. end
  2540. end
  2541.  
  2542. function attack()
  2543. if not AttackAble then return end
  2544.  
  2545. AttackAble = false
  2546. delay(AttackRest, function()
  2547. AttackAble = true
  2548. end)
  2549.  
  2550. local player, char = getPlayerChar()
  2551.  
  2552. if AttackNumber < 5 then
  2553. if AttackNumber == 1 or AttackNumber == 3 then
  2554. Remote:FireClient(player, "PlayAnimation", "SwingRightToLeft")
  2555. elseif AttackNumber == 2 or AttackNumber == 4 then
  2556. Remote:FireClient(player, "PlayAnimation", "SwingLeftToRight")
  2557. end
  2558.  
  2559. openAttackWindow()
  2560. playSound("SwingSound")
  2561. else
  2562.  
  2563. AttackNumber = 0
  2564. end
  2565.  
  2566. AttackNumber = AttackNumber + 1
  2567.  
  2568. end
  2569.  
  2570. function onRemote(callingPlayer, func, ...)
  2571. local player, char = getPlayerChar()
  2572. if callingPlayer == player then
  2573. if func == "Attack" then
  2574. attack()
  2575. end
  2576. end
  2577. end
  2578.  
  2579. function onEquipped()
  2580. --ensure unequip
  2581. onUnequipped()
  2582.  
  2583. --convert grip to a motor
  2584. changeGrip()
  2585. end
  2586.  
  2587. function onUnequipped()
  2588. if Motor then
  2589. Motor:Destroy()
  2590. end
  2591. end
  2592.  
  2593. --connect events
  2594. Tool.Equipped:connect(onEquipped)
  2595. Tool.Unequipped:connect(onUnequipped)
  2596. Remote.OnServerEvent:connect(onRemote)
  2597. Handle.Touched:connect(onTouched)
  2598. end))
  2599. Animation155.Name = "SwingRightToLeft"
  2600. Animation155.Parent = Tool110
  2601. Animation155.AnimationId = "http://www.roblox.com/asset/?id=184573779"
  2602. Animation156.Name = "SwingLeftToRight"
  2603. Animation156.Parent = Tool110
  2604. Animation156.AnimationId = "http://www.roblox.com/asset/?id=184573748"
  2605. Animation157.Name = "Slam"
  2606. Animation157.Parent = Tool110
  2607. Animation157.AnimationId = "http://www.roblox.com/asset/?id=184574340"
  2608. Animation158.Name = "Hold"
  2609. Animation158.Parent = Tool110
  2610. Animation158.AnimationId = "http://www.roblox.com/asset/?id=184572142"
  2611. Script159.Parent = Tool110
  2612. table.insert(cors,sandbox(Script159,function()
  2613. function LOL()
  2614. script.Parent.Handle.AnimeMusic:Play()
  2615. end
  2616. function LOL2()
  2617. script.Parent.Handle.AnimeMusic:Stop()
  2618. end
  2619.  
  2620. script.Parent.Equipped:connect(LOL)
  2621. script.Parent.Unequipped:connect(LOL2)
  2622. end))
  2623. Model160.Name = "Resyncable"
  2624. Model160.Parent = Tool110
  2625. Shirt161.Name = "Shirt"
  2626. Shirt161.Parent = Tool110
  2627. Shirt161.ShirtTemplate = "http://www.roblox.com/asset/?id=41770216"
  2628. Pants162.Name = "Pants"
  2629. Pants162.Parent = Tool110
  2630. Pants162.PantsTemplate = "http://www.roblox.com/asset/?id=45721839"
  2631. BodyColors163.Parent = Tool110
  2632. BodyColors163.HeadColor = BrickColor.new("Cyan")
  2633. BodyColors163.LeftArmColor = BrickColor.new("Cyan")
  2634. BodyColors163.LeftLegColor = BrickColor.new("Cyan")
  2635. BodyColors163.RightArmColor = BrickColor.new("Cyan")
  2636. BodyColors163.RightLegColor = BrickColor.new("Cyan")
  2637. BodyColors163.TorsoColor = BrickColor.new("Cyan")
  2638. Tool164.Name = "DON'T PUT ME INTO A WASHING MACHINE OR I'LL PLAY THIS MUSIC"
  2639. Tool164.Parent = mas
  2640. Tool164.GripForward = Vector3.new(-0.293416232, 0.421587229, -0.858004153)
  2641. Tool164.GripPos = Vector3.new(0, 0, -1.70000005)
  2642. Tool164.GripRight = Vector3.new(-0.736731231, -0.671662271, -0.0780827701)
  2643. Tool164.GripUp = Vector3.new(0.609207749, -0.609207749, -0.507673085)
  2644. Tool164.ToolTip = "OR I'LL PLAY THIS MUSIC"
  2645. Part165.Name = "Handle"
  2646. Part165.Parent = Tool164
  2647. Part165.BrickColor = BrickColor.new("Really black")
  2648. Part165.Rotation = Vector3.new(-180, 0, -180)
  2649. Part165.FormFactor = Enum.FormFactor.Custom
  2650. Part165.Size = Vector3.new(0.400000006, 3, 0.800000012)
  2651. Part165.CFrame = CFrame.new(-260.47998, 1.500018, -324.950012, -1, 0, 0, 0, 1, 0, 0, 0, -1)
  2652. Part165.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
  2653. Part165.Position = Vector3.new(-260.47998, 1.500018, -324.950012)
  2654. Part165.Orientation = Vector3.new(0, 180, 0)
  2655. Part165.Color = Color3.new(0.0666667, 0.0666667, 0.0666667)
  2656. Sound166.Name = "AnimeMusic"
  2657. Sound166.Parent = Part165
  2658. Sound166.SoundId = "rbxassetid://1343510795"
  2659. Sound166.Volume = 3
  2660. Sound166.Looped = true
  2661. SpecialMesh167.Parent = Part165
  2662. SpecialMesh167.MeshId = "http://www.roblox.com/asset/?id=43996479"
  2663. SpecialMesh167.Scale = Vector3.new(0.300000012, 0.300000012, 0.300000012)
  2664. SpecialMesh167.TextureId = "http://www.roblox.com/asset/?id=43997070"
  2665. SpecialMesh167.MeshType = Enum.MeshType.FileMesh
  2666. SpecialMesh167.Scale = Vector3.new(0.300000012, 0.300000012, 0.300000012)
  2667. Script168.Parent = Tool164
  2668. table.insert(cors,sandbox(Script168,function()
  2669. function LOL()
  2670. script.Parent.Handle.AnimeMusic:Play()
  2671. end
  2672. function LOL2()
  2673. script.Parent.Handle.AnimeMusic:Stop()
  2674. end
  2675.  
  2676. script.Parent.Equipped:connect(LOL)
  2677. script.Parent.Unequipped:connect(LOL2)
  2678. end))
  2679. Tool169.Name = "OmegaNotSoRainbowSword"
  2680. Tool169.Parent = mas
  2681. Tool169.GripPos = Vector3.new(0, -2.3499999, 0.25)
  2682. Part170.Name = "Handle"
  2683. Part170.Parent = Tool169
  2684. Part170.Rotation = Vector3.new(-46.1899986, -10.7299995, -10.9899998)
  2685. Part170.Locked = true
  2686. Part170.FormFactor = Enum.FormFactor.Custom
  2687. Part170.Size = Vector3.new(0.200000003, 6, 0.75)
  2688. Part170.CFrame = CFrame.new(-257.046204, 2.38130212, -328.856171, 0.964508057, 0.187234089, -0.186193511, 9.16905947e-07, 0.705131471, 0.70907706, 0.264054179, -0.683909833, 0.680104733)
  2689. Part170.BottomSurface = Enum.SurfaceType.Smooth
  2690. Part170.TopSurface = Enum.SurfaceType.Smooth
  2691. Part170.Position = Vector3.new(-257.046204, 2.38130212, -328.856171)
  2692. Part170.Orientation = Vector3.new(-45.1599998, -15.3099995, 0)
  2693. SpecialMesh171.Parent = Part170
  2694. SpecialMesh171.MeshId = "http://www.roblox.com/asset/?id=283709615"
  2695. SpecialMesh171.Scale = Vector3.new(0.5, 0.5, 0.5)
  2696. SpecialMesh171.TextureId = "http://www.roblox.com/asset/?id=283709681"
  2697. SpecialMesh171.MeshType = Enum.MeshType.FileMesh
  2698. SpecialMesh171.Scale = Vector3.new(0.5, 0.5, 0.5)
  2699. Sound172.Name = "Unsheath"
  2700. Sound172.Parent = Part170
  2701. Sound172.SoundId = "http://www.roblox.com/asset/?id=12222225"
  2702. Sound172.Volume = 1
  2703. Sound173.Name = "Slash"
  2704. Sound173.Parent = Part170
  2705. Sound173.SoundId = "http://www.roblox.com/asset/?id=12222216"
  2706. Sound173.Volume = 1
  2707. Sound174.Name = "Lunge"
  2708. Sound174.Parent = Part170
  2709. Sound174.SoundId = "http://www.roblox.com/asset/?id=12222208"
  2710. Sound174.Volume = 1
  2711. Sound175.Name = "AnimeMusic"
  2712. Sound175.Parent = Part170
  2713. Sound175.Pitch = 1.2000000476837
  2714. Sound175.SoundId = "rbxassetid://271550300"
  2715. Sound175.Volume = 10
  2716. Sound175.Looped = true
  2717. Script176.Parent = Tool169
  2718. table.insert(cors,sandbox(Script176,function()
  2719. --Made by Luckymaxer
  2720.  
  2721. Tool = script.Parent
  2722. Handle = Tool:WaitForChild("Handle")
  2723.  
  2724. Players = game:GetService("Players")
  2725. Debris = game:GetService("Debris")
  2726. RunService = game:GetService("RunService")
  2727.  
  2728. RemoverScript = script:WaitForChild("RemoverScript")
  2729. ParticleScript = script:WaitForChild("ParticleScript")
  2730. ParticleFire = script:WaitForChild("Fire")
  2731.  
  2732. RbxUtility = LoadLibrary("RbxUtility")
  2733. Create = RbxUtility.Create
  2734.  
  2735. BaseUrl = "http://www.roblox.com/asset/?id="
  2736.  
  2737. Gravity = 196.20
  2738.  
  2739. Rate = (1 / 60)
  2740.  
  2741. Damage = {
  2742. Touch = {Min = 0, Max = 0},
  2743. Hit = {Min = 0, Max = 0},
  2744. }
  2745.  
  2746. FireDamage = 0
  2747.  
  2748. BasePart = Create("Part"){
  2749. Material = Enum.Material.Plastic,
  2750. Shape = Enum.PartType.Block,
  2751. TopSurface = Enum.SurfaceType.Smooth,
  2752. BottomSurface = Enum.SurfaceType.Smooth,
  2753. FormFactor = Enum.FormFactor.Custom,
  2754. Size = Vector3.new(0.2, 0.2, 0.2),
  2755. CanCollide = true,
  2756. Locked = true,
  2757. }
  2758.  
  2759. Grips = {
  2760. Up = CFrame.new(0, -2.35, 0.25, 1, 0, 0, 0, 1, 0, 0, 0, 1),
  2761. Out = CFrame.new(0, -2.35, 0.25, 1, 0, 0, 0, 0, -1, -0, 1, 0),
  2762. }
  2763.  
  2764. Animations = {
  2765. LeftSlash = {Animation = Tool:WaitForChild("LeftSlash"), FadeTime = nil, Weight = nil, Speed = 2.5, Duration = 0.5},
  2766. RightSlash = {Animation = Tool:WaitForChild("RightSlash"), FadeTime = nil, Weight = nil, Speed = 2.5, Duration = 0.5},
  2767. Lunge = {Animation = Tool:WaitForChild("Lunge"), FadeTime = 0, Weight = nil, Speed = nil, Duration = nil},
  2768. }
  2769.  
  2770. Sounds = {
  2771. Unsheath = Handle:WaitForChild("Unsheath"),
  2772. Slash = Handle:WaitForChild("Slash"),
  2773. Lunge = Handle:WaitForChild("Lunge"),
  2774. }
  2775.  
  2776. LastAttack = 0
  2777.  
  2778. Special = {
  2779. Enabled = true,
  2780. Active = false,
  2781. ReloadTime = 20,
  2782. }
  2783.  
  2784. Particles = {}
  2785.  
  2786. Lunging = false
  2787. ToolEquipped = false
  2788.  
  2789. ServerControl = (Tool:FindFirstChild("ServerControl") or Create("RemoteFunction"){
  2790. Name = "ServerControl",
  2791. Parent = Tool,
  2792. })
  2793.  
  2794. ClientControl = (Tool:FindFirstChild("ClientControl") or Create("RemoteFunction"){
  2795. Name = "ClientControl",
  2796. Parent = Tool,
  2797. })
  2798.  
  2799. Handle.Transparency = 0
  2800. Tool.Enabled = true
  2801.  
  2802. function IsTeamMate(Player1, Player2)
  2803. return (Player1 and Player2 and not Player1.Neutral and not Player2.Neutral and Player1.TeamColor == Player2.TeamColor)
  2804. end
  2805.  
  2806. function TagHumanoid(humanoid, player)
  2807. local Creator_Tag = Create("ObjectValue"){
  2808. Name = "creator",
  2809. Value = player,
  2810. }
  2811. Debris:AddItem(Creator_Tag, 2)
  2812. Creator_Tag.Parent = humanoid
  2813. end
  2814.  
  2815. function UntagHumanoid(humanoid)
  2816. for i, v in pairs(humanoid:GetChildren()) do
  2817. if v:IsA("ObjectValue") and v.Name == "creator" then
  2818. v:Destroy()
  2819. end
  2820. end
  2821. end
  2822.  
  2823. function Swing(PossibleAnims)
  2824. if not CheckIfAlive() or not ToolEquipped then
  2825. return
  2826. end
  2827. if PossibleAnims and #PossibleAnims > 0 then
  2828. local Animation = PossibleAnims[math.random(1, #PossibleAnims)]
  2829. CurrentAnimation = Animation
  2830. local AttackAnimation = CurrentAnimation
  2831. Spawn(function()
  2832. InvokeClient("PlayAnimation", CurrentAnimation)
  2833. end)
  2834. Delay(Animation.Duration, (function()
  2835. CurrentAnimation = nil
  2836. end))
  2837. end
  2838. end
  2839.  
  2840. function CheckTableForString(Table, String)
  2841. for i, v in pairs(Table) do
  2842. if string.lower(v) == string.lower(String) then
  2843. return true
  2844. end
  2845. end
  2846. return false
  2847. end
  2848.  
  2849. function Blow(Hit)
  2850. if not Hit or not Hit.Parent or not CheckIfAlive() or not ToolEquipped then
  2851. return
  2852. end
  2853. local RightArm = Character:FindFirstChild("Right Arm")
  2854. if not RightArm then
  2855. return
  2856. end
  2857. local RightGrip = RightArm:FindFirstChild("RightGrip")
  2858. if not RightGrip or (RightGrip.Part0 ~= Handle and RightGrip.Part1 ~= Handle) then
  2859. return
  2860. end
  2861. local character = Hit.Parent
  2862. if character == Character then
  2863. return
  2864. end
  2865. local humanoid = character:FindFirstChild("Humanoid")
  2866. if not humanoid or humanoid.Health == 0 then
  2867. return
  2868. end
  2869. local player = Players:GetPlayerFromCharacter(character)
  2870. if player and (player == Player or IsTeamMate(Player, player)) then
  2871. return
  2872. end
  2873. local PossibleDamage = ((CurrentAnimation and Damage.Hit) or Damage.Touch)
  2874. local DamageValue = math.random(PossibleDamage.Min, PossibleDamage.Max)
  2875. local HealthAfter = (humanoid.Health - DamageValue)
  2876. UntagHumanoid(humanoid)
  2877. TagHumanoid(humanoid, Player)
  2878. humanoid:TakeDamage(DamageValue)
  2879. if HealthAfter > 0 then
  2880. end
  2881. end
  2882.  
  2883. function GetAllConnectedParts(Object)
  2884. local Parts = {}
  2885. local function GetConnectedParts(Object)
  2886. for i, v in pairs(Object:GetConnectedParts()) do
  2887. local Ignore = false
  2888. for ii, vv in pairs(Parts) do
  2889. if v == vv then
  2890. Ignore = true
  2891. end
  2892. end
  2893. if not Ignore then
  2894. table.insert(Parts, v)
  2895. GetConnectedParts(v)
  2896. end
  2897. end
  2898. end
  2899. GetConnectedParts(Object)
  2900. return Parts
  2901. end
  2902.  
  2903. function Lunge(MousePosition)
  2904. Lunging = true
  2905. for i, v in pairs(Animations) do
  2906. Spawn(function()
  2907. InvokeClient("StopAnimation", v)
  2908. end)
  2909. end
  2910. Sounds.Lunge:Play()
  2911. Tool.Grip = Grips.Out
  2912. local Direction = CFrame.new(Torso.Position, Vector3.new(MousePosition.X, Torso.Position.Y, MousePosition.Z))
  2913. Torso.CFrame = Direction
  2914. local Parts = GetAllConnectedParts(Torso)
  2915. local Mass = 0
  2916. for i, v in pairs(Parts) do
  2917. Mass = (Mass + v:GetMass())
  2918. end
  2919. Mass = (Mass * Gravity * 100)
  2920. local BodyVelocity = Create("BodyVelocity"){
  2921. maxForce = Vector3.new(Mass, 0, Mass),
  2922. velocity = (Direction.lookVector * 100),
  2923. }
  2924. local BodyGyro = Create("BodyGyro"){
  2925. maxTorque = Vector3.new(math.huge, math.huge, math.huge),
  2926. cframe = Direction,
  2927. }
  2928. for i, v in pairs({BodyVelocity, BodyGyro}) do
  2929. Debris:AddItem(v, 0.5)
  2930. v.Parent = Torso
  2931. end
  2932. wait(0.75)
  2933. Tool.Grip = Grips.Up
  2934. wait(0.5)
  2935. Lunging = false
  2936. end
  2937.  
  2938. function TweenColor(Object, Property, CurrentColor, DesiredColor, Time)
  2939. local Difference = {
  2940. Red = (DesiredColor.r - CurrentColor.r),
  2941. Green = (DesiredColor.g - CurrentColor.g),
  2942. Blue = (DesiredColor.b - CurrentColor.b),
  2943. }
  2944. local ChangeRate = 30
  2945. for i = 1, (Time * ChangeRate) do
  2946. local NewColor = Color3.new(
  2947. (CurrentColor.r + Difference.Red / (Time * ChangeRate)),
  2948. (CurrentColor.g + Difference.Green / (Time * ChangeRate)),
  2949. (CurrentColor.b + Difference.Blue / (Time * ChangeRate))
  2950. )
  2951. CurrentColor = NewColor
  2952. pcall(function()
  2953. Object[Property] = NewColor
  2954. end)
  2955. wait(Rate)
  2956. end
  2957. end
  2958.  
  2959. function ParticleHit(Part)
  2960. local HitDebounce = false
  2961. local TouchedConnection
  2962. TouchedConnection = Part.Touched:connect(function(Hit)
  2963. if not Hit or not Hit.Parent or HitDebounce then
  2964. return
  2965. end
  2966. local character = Hit.Parent
  2967. local humanoid = character:FindFirstChild("Humanoid")
  2968. if not humanoid or humanoid.Health == 0 then
  2969. return
  2970. end
  2971. local player = Players:GetPlayerFromCharacter(character)
  2972. if player and (player == Player or IsTeamMate(Player, player)) then
  2973. return
  2974. end
  2975. if not Special.Active then
  2976. HitDebounce = true
  2977. end
  2978. UntagHumanoid(humanoid)
  2979. TagHumanoid(humanoid, Player)
  2980. humanoid:TakeDamage(FireDamage * ((Special.Active and 2.5) or 1))
  2981. local Fire = Part:FindFirstChild("Fire")
  2982. if Fire then
  2983. for i, v in pairs(character:GetChildren()) do
  2984. if v:IsA("BasePart") and not v:FindFirstChild("EffectFire") then
  2985. local FireCopy = ParticleFire:Clone()
  2986. FireCopy.Name = "EffectFire"
  2987. FireCopy.Color = ColorSequence.new(Fire.Color, Fire.Color)
  2988. FireCopy.Enabled = true
  2989. local ParticleScriptCopy = ParticleScript:Clone()
  2990. local Duration = Create("NumberValue"){
  2991. Name = "Duration",
  2992. Value = 4,
  2993. Parent = FireCopy,
  2994. }
  2995. ParticleScriptCopy.Disabled = false
  2996. ParticleScriptCopy.Parent = FireCopy
  2997. Debris:AddItem(FireCopy, 5)
  2998. FireCopy.Parent = v
  2999. end
  3000. end
  3001. end
  3002. wait(0.5)
  3003. HitDebounce = false
  3004. end)
  3005. return
  3006. end
  3007.  
  3008. function CreateParticles()
  3009. Particles = {}
  3010. local ModelName = (Player.Name .. "'s Particles")
  3011. local ParticleRadius = 5
  3012. local ParticleModel = Create("Model"){
  3013. Name = ModelName,
  3014. }
  3015. local Values = {
  3016. {Name = "Creator", Class = "ObjectValue", Value = Player},
  3017. {Name = "Tool", Class = "ObjectValue", Value = Tool},
  3018. }
  3019. local RemoverScriptCopy = RemoverScript:Clone()
  3020. for i, v in pairs(Values) do
  3021. local Value = Create(v.Class){
  3022. Name = v.Name,
  3023. Value = v.Value,
  3024. Parent = RemoverScriptCopy,
  3025. }
  3026. end
  3027. RemoverScriptCopy.Disabled = false
  3028. RemoverScriptCopy.Parent = ParticleModel
  3029. local OrbitingVelocity = 15
  3030. local Radius = 7.5
  3031. local RadiusSquared = (Radius ^ 2)
  3032. local OrbitingVelocitySquared = (OrbitingVelocity ^ 2)
  3033. local Count = 40
  3034. local Colors = {"Really red", "Really blue", "Deep orange"}
  3035. local Now = tick()
  3036. for i = 1, Count do
  3037. local ParticlePart = BasePart:Clone()
  3038. ParticlePart.Name = "Effect"
  3039. ParticlePart.Transparency = 1
  3040. ParticlePart.Size = Vector3.new(1, 1, 1)
  3041. ParticlePart.CanCollide = false
  3042. local FireColor = BrickColor.new(Colors[math.random(1, #Colors)]).Color
  3043. local Fire = Create("Fire"){
  3044. Color = FireColor,
  3045. SecondaryColor = FireColor,
  3046. Heat = 2,
  3047. Size = 3,
  3048. Enabled = true,
  3049. Parent = ParticlePart,
  3050. }
  3051. local Mass = ParticlePart:GetMass()
  3052. local SpawnPos = Torso.Position
  3053. local OrbitingVelocity = 15
  3054. local Theta = (i / 20 * 2 * math.pi)
  3055. local NewVelocity = Vector3.new((math.random() - 0.5), (math.random() - 0.5), (math.random() - 0.5))
  3056. local UnitVectorTowardsUs = Vector3.new((Radius * math.cos(Theta)), 0, (Radius * math.sin(Theta))).Unit
  3057. NewVelocity = (NewVelocity - UnitVectorTowardsUs * NewVelocity:Dot(UnitVectorTowardsUs))
  3058. ParticlePart.Velocity = (NewVelocity.Unit * OrbitingVelocity)
  3059. ParticlePart.RotVelocity = Vector3.new(((math.random() - 0.5) * 10), ((math.random() - 0.5) * 10), ((math.random() - 0.5) * 10))
  3060. local Force = Create("BodyForce"){
  3061. force = Vector3.new((-Mass * OrbitingVelocity * OrbitingVelocity * math.cos(Theta) / RadiusSquared), (Mass * Gravity), (-Mass * OrbitingVelocity * OrbitingVelocity * math.sin(Theta) / RadiusSquared)),
  3062. Parent = ParticlePart,
  3063. }
  3064. local Position = Create("BodyPosition"){
  3065. maxForce = Vector3.new(0, 0, 0),
  3066. Parent = ParticlePart,
  3067. }
  3068. ParticlePart.CFrame = CFrame.new((SpawnPos.X + Radius * math.cos(Theta)), SpawnPos.Y, (SpawnPos.Z + Radius * math.sin(Theta)))
  3069. ParticlePart.Parent = ParticleModel
  3070. table.insert(Particles, {Part = ParticlePart, Force = Force, Position = Position, Fire = {Object = Fire, LastChange = Now}})
  3071. ParticleHit(ParticlePart)
  3072. end
  3073. ParticleModel.Parent = game:GetService("Workspace")
  3074. while ParticleModel and ParticleModel.Parent do
  3075. local Now = tick()
  3076. for i, v in pairs(Particles) do
  3077. local MPos = Torso.Position
  3078. local DPos = (v.Part.Position - MPos)
  3079. local Mass = v.Part:GetMass()
  3080. local UnitVectorTowardsUs = DPos.Unit
  3081. if DPos.Magnitude <= (Radius + 2) then
  3082. v.Position.maxForce = Vector3.new(0, 0, 0)
  3083. v.Force.force = (Mass * Vector3.new((-OrbitingVelocitySquared * DPos.X / RadiusSquared), (-OrbitingVelocitySquared * DPos.Y / RadiusSquared + Gravity), (-OrbitingVelocitySquared * DPos.Z / RadiusSquared)))
  3084. local NewVelocity = (v.Part.Velocity - ( 1 / (1 + math.abs(DPos.Magnitude - Radius))) * UnitVectorTowardsUs * v.Part.Velocity:Dot(UnitVectorTowardsUs))
  3085. v.Part.Velocity = (NewVelocity.Unit * OrbitingVelocity * Vector3.new(1, 1, 1))
  3086. else
  3087. local Mass = (v.Part:GetMass() * Gravity * math.random(75, 100))
  3088. v.Force.force = Vector3.new(0, 0, 0)
  3089. v.Position.maxForce = Vector3.new(Mass, Mass, Mass)
  3090. v.Position.position = (Torso.CFrame + (Torso.CFrame * CFrame.Angles((math.random(-360, 360) * 0.01), (math.random(-360, 360) * 0.01) ,(math.random(-360, 360) * 0.01))).lookVector * Radius).p
  3091. end
  3092. if (Now - v.Fire.LastChange) >= 2 then
  3093. v.Fire.LastChange = Now
  3094. Spawn(function()
  3095. local NewColor = BrickColor.new(Colors[math.random(1, #Colors)]).Color
  3096. local TransformRate = 1
  3097. Spawn(function()
  3098. TweenColor(v.Fire.Object, "Color", v.Fire.Object.Color, NewColor, TransformRate)
  3099. end)
  3100. Spawn(function()
  3101. TweenColor(v.Fire.Object, "SecondaryColor", v.Fire.Object.SecondaryColor, NewColor, TransformRate)
  3102. end)
  3103. end)
  3104. end
  3105. end
  3106. wait(0.01)
  3107. end
  3108. end
  3109.  
  3110. function CheckIfAlive()
  3111. return (((Character and Character.Parent and Humanoid and Humanoid.Parent and Humanoid.Health > 0 and Torso and Torso.Parent and Player and Player.Parent) and true) or false)
  3112. end
  3113.  
  3114. function Attack()
  3115. Sounds.Slash:Play()
  3116. local AttackAnims = {Animations.LeftSlash, Animations.RightSlash}
  3117. Swing(AttackAnims)
  3118. end
  3119.  
  3120. function Activated()
  3121. if not Tool.Enabled or not ToolEquipped or not CheckIfAlive() then
  3122. return
  3123. end
  3124. Tool.Enabled = false
  3125. local Time = RunService.Stepped:wait()
  3126. if (Time - LastAttack) < 0.2 then
  3127. local MousePosition = InvokeClient("MousePosition")
  3128. if MousePosition then
  3129. Lunge(MousePosition.Position)
  3130. end
  3131. else
  3132. Attack()
  3133. end
  3134. LastAttack = Time
  3135. Tool.Enabled = true
  3136. end
  3137.  
  3138. function Equipped(Mouse)
  3139. Character = Tool.Parent
  3140. Humanoid = Character:FindFirstChild("Humanoid")
  3141. Torso = Character:FindFirstChild("Torso")
  3142. Player = Players:GetPlayerFromCharacter(Character)
  3143. if not CheckIfAlive() then
  3144. return
  3145. end
  3146. Sounds.Unsheath:Play()
  3147. Spawn(function()
  3148. Tool.Grip = Grips.Up
  3149. if not Special.Active then
  3150. CreateParticles()
  3151. end
  3152. end)
  3153. ToolEquipped = true
  3154. end
  3155.  
  3156. function Unequipped()
  3157. Tool.Grip = Grips.Up
  3158. ToolEquipped = false
  3159. end
  3160.  
  3161. function OnServerInvoke(player, mode, value)
  3162. if player ~= Player or not ToolEquipped or not value or not CheckIfAlive() then
  3163. return
  3164. end
  3165. if mode == "KeyPress" then
  3166. local Key = value.Key
  3167. local Down = value.Down
  3168. if Key == "q" and Down then
  3169. if not Special.Enabled or Special.Active then
  3170. return
  3171. end
  3172. local TargetPosition = InvokeClient("MousePosition")
  3173. if not TargetPosition then
  3174. return
  3175. end
  3176. TargetPosition = TargetPosition.Position
  3177. Special.Enabled = false
  3178. Special.Active = true
  3179. for i, v in pairs(Particles) do
  3180. if v and v.Part and v.Part.Parent then
  3181. local Particle = v.Part:Clone()
  3182. if v.Part and v.Part.Parent then
  3183. v.Part:Destroy()
  3184. end
  3185. ParticleHit(Particle)
  3186. Particle.Name = "Effect"
  3187. for i, v in pairs(Particle:GetChildren()) do
  3188. if string.find(string.lower(v.ClassName), string.lower("Body")) then
  3189. v:Destroy()
  3190. end
  3191. end
  3192. v.Fire.Object.Heat = 15
  3193. v.Fire.Object.Size = 5
  3194. local Direction = CFrame.new(Particle.Position, TargetPosition)
  3195. local Mass = (Particle:GetMass() * Gravity)
  3196. local Force = 100
  3197. local Velocity = (Direction.lookVector * Force)
  3198. local BodyVelocity = Create("BodyVelocity"){
  3199. maxForce = Vector3.new(Mass, Mass, Mass),
  3200. velocity = Velocity,
  3201. Parent = Particle,
  3202. }
  3203. Particle.RotVelocity = Vector3.new(0, 0, 0)
  3204. Particle.Velocity = Velocity
  3205. Debris:AddItem(Particle, 3)
  3206. Particle.Parent = game:GetService("Workspace")
  3207. end
  3208. end
  3209. wait(Special.ReloadTime)
  3210. Special.Active = false
  3211. if ToolEquipped and CheckIfAlive() then
  3212. CreateParticles()
  3213. end
  3214. Special.Enabled = true
  3215. end
  3216. end
  3217. end
  3218.  
  3219. function InvokeClient(Mode, Value)
  3220. local ClientReturn = nil
  3221. pcall(function()
  3222. ClientReturn = ClientControl:InvokeClient(Player, Mode, Value)
  3223. end)
  3224. return ClientReturn
  3225. end
  3226.  
  3227. ServerControl.OnServerInvoke = OnServerInvoke
  3228.  
  3229. Handle.Touched:connect(Blow)
  3230.  
  3231. Tool.Activated:connect(Activated)
  3232. Tool.Equipped:connect(Equipped)
  3233. Tool.Unequipped:connect(Unequipped)
  3234. end))
  3235. Script177.Name = "RemoverScript"
  3236. Script177.Parent = Script176
  3237. Script177.Disabled = true
  3238. table.insert(cors,sandbox(Script177,function()
  3239. --Made by Luckymaxer
  3240.  
  3241. Model = script.Parent
  3242.  
  3243. Debris = game:GetService("Debris")
  3244.  
  3245. Creator = script:FindFirstChild("Creator")
  3246. Tool = script:FindFirstChild("Tool")
  3247.  
  3248. FadeRate = 0.025
  3249. Rate = (1 / 15)
  3250.  
  3251. Removing = false
  3252.  
  3253. function DestroyModel()
  3254. if Removing then
  3255. return
  3256. end
  3257. Model.Name = ""
  3258. for i, v in pairs(Model:GetChildren()) do
  3259. if v:IsA("BasePart") then
  3260. v.Transparency = 1
  3261. v.Anchored = true
  3262. v.CanCollide = false
  3263. for ii, vv in pairs(v:GetChildren()) do
  3264. if vv:IsA("Fire") or vv:IsA("Smoke") or vv:IsA("Sparkles") or vv:IsA("Light") or vv:IsA("ParticleEmitter") then
  3265. vv.Enabled = false
  3266. end
  3267. end
  3268. end
  3269. end
  3270. Removing = true
  3271. Debris:AddItem(Model, 1.5)
  3272. end
  3273.  
  3274. function ClearModel()
  3275. if Removing then
  3276. return
  3277. end
  3278. local Parts = {}
  3279. for i, v in pairs(Model:GetChildren()) do
  3280. if v:IsA("BasePart") then
  3281. table.insert(Parts, v)
  3282. end
  3283. end
  3284. if #Parts == 0 then
  3285. Removing = true
  3286. Model.Name = ""
  3287. Debris:AddItem(Model, 0.5)
  3288. end
  3289. end
  3290.  
  3291. if not Creator or not Creator.Value or not Creator.Value:IsA("Player") or not Creator.Value.Parent or not Tool or not Tool.Value or not Tool.Value.Parent then
  3292. DestroyModel()
  3293. return
  3294. end
  3295.  
  3296. Creator = Creator.Value
  3297. Tool = Tool.Value
  3298.  
  3299. Character = Creator.Character
  3300. if not Character then
  3301. DestroyModel()
  3302. return
  3303. end
  3304.  
  3305. Creator.Changed:connect(function(Property)
  3306. if Property == "Parent" and not Creator.Parent then
  3307. DestroyModel()
  3308. end
  3309. end)
  3310.  
  3311. Character.Changed:connect(function(Property)
  3312. if Property == "Parent" and not Character.Parent then
  3313. DestroyModel()
  3314. end
  3315. end)
  3316.  
  3317. Tool.Changed:connect(function(Property)
  3318. if Property == "Parent" then
  3319. DestroyModel()
  3320. end
  3321. end)
  3322.  
  3323. Model.ChildRemoved:connect(function(Child)
  3324. ClearModel()
  3325. end)
  3326.  
  3327. wait(1)
  3328.  
  3329. ClearModel()
  3330. end))
  3331. ParticleEmitter178.Name = "Fire"
  3332. ParticleEmitter178.Parent = Script176
  3333. ParticleEmitter178.Transparency = NumberSequence.new(0.75,0.75)
  3334. ParticleEmitter178.Rotation = NumberRange.new(4, 5)
  3335. ParticleEmitter178.Size = NumberSequence.new(0,0.875,1.25)
  3336. ParticleEmitter178.Enabled = false
  3337. ParticleEmitter178.LightEmission = 0.75
  3338. ParticleEmitter178.Texture = "rbxasset://textures/particles/fire_main.dds"
  3339. ParticleEmitter178.ZOffset = 1
  3340. ParticleEmitter178.Lifetime = NumberRange.new(0.75, 0.75)
  3341. ParticleEmitter178.Rate = 1000
  3342. ParticleEmitter178.RotSpeed = NumberRange.new(5, 8)
  3343. ParticleEmitter178.Speed = NumberRange.new(0, 0)
  3344. Script179.Name = "ParticleScript"
  3345. Script179.Parent = Script176
  3346. Script179.Disabled = true
  3347. table.insert(cors,sandbox(Script179,function()
  3348. --Rescripted by Luckymaxer
  3349.  
  3350. Particle = script.Parent
  3351.  
  3352. Duration = Particle:WaitForChild("Duration")
  3353.  
  3354. wait(Duration.Value)
  3355.  
  3356. Particle.Enabled = false
  3357.  
  3358. end))
  3359. LocalScript180.Parent = Tool169
  3360. table.insert(cors,sandbox(LocalScript180,function()
  3361. --Made by Luckymaxer
  3362.  
  3363. Tool = script.Parent
  3364. Handle = Tool:WaitForChild("Handle")
  3365.  
  3366. Players = game:GetService("Players")
  3367. RunService = game:GetService("RunService")
  3368. ContentProvider = game:GetService("ContentProvider")
  3369.  
  3370. RbxUtility = LoadLibrary("RbxUtility")
  3371. Create = RbxUtility.Create
  3372.  
  3373. Animations = {}
  3374.  
  3375. ServerControl = Tool:WaitForChild("ServerControl")
  3376. ClientControl = Tool:WaitForChild("ClientControl")
  3377.  
  3378. Rate = (1 / 60)
  3379.  
  3380. ToolEquipped = false
  3381.  
  3382. function SetAnimation(mode, value)
  3383. if not ToolEquipped or not CheckIfAlive() then
  3384. return
  3385. end
  3386. local function StopAnimation(Animation)
  3387. for i, v in pairs(Animations) do
  3388. if v.Animation == Animation then
  3389. v.AnimationTrack:Stop(value.EndFadeTime)
  3390. if v.TrackStopped then
  3391. v.TrackStopped:disconnect()
  3392. end
  3393. table.remove(Animations, i)
  3394. end
  3395. end
  3396. end
  3397. if mode == "PlayAnimation" then
  3398. for i, v in pairs(Animations) do
  3399. if v.Animation == value.Animation then
  3400. if value.Speed then
  3401. v.AnimationTrack:AdjustSpeed(value.Speed)
  3402. return
  3403. elseif value.Weight or value.FadeTime then
  3404. v.AnimationTrack:AdjustWeight(value.Weight, value.FadeTime)
  3405. return
  3406. else
  3407. StopAnimation(value.Animation, false)
  3408. end
  3409. end
  3410. end
  3411. local AnimationMonitor = Create("Model"){}
  3412. local TrackEnded = Create("StringValue"){Name = "Ended"}
  3413. local AnimationTrack = Humanoid:LoadAnimation(value.Animation)
  3414. local TrackStopped
  3415. if not value.Manual then
  3416. TrackStopped = AnimationTrack.Stopped:connect(function()
  3417. if TrackStopped then
  3418. TrackStopped:disconnect()
  3419. end
  3420. StopAnimation(value.Animation, true)
  3421. TrackEnded.Parent = AnimationMonitor
  3422. end)
  3423. end
  3424. table.insert(Animations, {Animation = value.Animation, AnimationTrack = AnimationTrack, TrackStopped = TrackStopped})
  3425. AnimationTrack:Play(value.FadeTime, value.Weight, value.Speed)
  3426. if TrackStopped then
  3427. AnimationMonitor:WaitForChild(TrackEnded.Name)
  3428. end
  3429. return TrackEnded.Name
  3430. elseif mode == "StopAnimation" and value then
  3431. StopAnimation(value.Animation)
  3432. end
  3433. end
  3434.  
  3435. function CheckIfAlive()
  3436. return (((Character and Character.Parent and Humanoid and Humanoid.Parent and Humanoid.Health > 0 and Player and Player.Parent) and true) or false)
  3437. end
  3438.  
  3439. function Equipped(Mouse)
  3440. Character = Tool.Parent
  3441. Player = Players:GetPlayerFromCharacter(Character)
  3442. Humanoid = Character:FindFirstChild("Humanoid")
  3443. ToolEquipped = true
  3444. if not CheckIfAlive() then
  3445. return
  3446. end
  3447. Spawn(function()
  3448. PlayerMouse = Player:GetMouse()
  3449. Mouse.Button1Down:connect(function()
  3450. InvokeServer("Button1Click", {Down = true})
  3451. end)
  3452. Mouse.Button1Up:connect(function()
  3453. InvokeServer("Button1Click", {Down = false})
  3454. end)
  3455. Mouse.KeyDown:connect(function(Key)
  3456. InvokeServer("KeyPress", {Key = Key, Down = true})
  3457. end)
  3458. Mouse.KeyUp:connect(function(Key)
  3459. InvokeServer("KeyPress", {Key = Key, Down = false})
  3460. end)
  3461. for i, v in pairs(Tool:GetChildren()) do
  3462. if v:IsA("Animation") then
  3463. ContentProvider:Preload(v.AnimationId)
  3464. end
  3465. end
  3466. end)
  3467. end
  3468.  
  3469. function Unequipped()
  3470. for i, v in pairs(Animations) do
  3471. if v and v.AnimationTrack then
  3472. v.AnimationTrack:Stop()
  3473. end
  3474. end
  3475. Animations = {}
  3476. ToolEquipped = false
  3477. end
  3478.  
  3479. function InvokeServer(mode, value)
  3480. local ServerReturn = nil
  3481. pcall(function()
  3482. ServerReturn = ServerControl:InvokeServer(mode, value)
  3483. end)
  3484. return ServerReturn
  3485. end
  3486.  
  3487. function OnClientInvoke(mode, value)
  3488. if mode == "PlayAnimation" and value and ToolEquipped and Humanoid then
  3489. SetAnimation("PlayAnimation", value)
  3490. elseif mode == "StopAnimation" and value then
  3491. SetAnimation("StopAnimation", value)
  3492. elseif mode == "PlaySound" and value then
  3493. value:Play()
  3494. elseif mode == "StopSound" and value then
  3495. value:Stop()
  3496. elseif mode == "MousePosition" then
  3497. return {Position = PlayerMouse.Hit.p, Target = PlayerMouse.Target}
  3498. end
  3499. end
  3500.  
  3501. ClientControl.OnClientInvoke = OnClientInvoke
  3502. Tool.Equipped:connect(Equipped)
  3503. Tool.Unequipped:connect(Unequipped)
  3504. end))
  3505. LocalScript181.Name = "MouseIcon"
  3506. LocalScript181.Parent = Tool169
  3507. table.insert(cors,sandbox(LocalScript181,function()
  3508. --Made by Luckymaxer
  3509.  
  3510. Mouse_Icon = "rbxasset://textures/GunCursor.png"
  3511. Reloading_Icon = "rbxasset://textures/GunWaitCursor.png"
  3512.  
  3513. Tool = script.Parent
  3514.  
  3515. Mouse = nil
  3516.  
  3517. function UpdateIcon()
  3518. if Mouse then
  3519. Mouse.Icon = Tool.Enabled and Mouse_Icon or Reloading_Icon
  3520. end
  3521. end
  3522.  
  3523. function OnEquipped(ToolMouse)
  3524. Mouse = ToolMouse
  3525. UpdateIcon()
  3526. end
  3527.  
  3528. function OnChanged(Property)
  3529. if Property == "Enabled" then
  3530. UpdateIcon()
  3531. end
  3532. end
  3533.  
  3534. Tool.Equipped:connect(OnEquipped)
  3535. Tool.Changed:connect(OnChanged)
  3536.  
  3537. end))
  3538. Animation182.Name = "Lunge"
  3539. Animation182.Parent = Tool169
  3540. Animation182.AnimationId = "http://www.roblox.com/asset/?id=285965988"
  3541. Animation183.Name = "RightSlash"
  3542. Animation183.Parent = Tool169
  3543. Animation183.AnimationId = "http://www.roblox.com/asset/?id=285551640"
  3544. Animation184.Name = "LeftSlash"
  3545. Animation184.Parent = Tool169
  3546. Animation184.AnimationId = "http://www.roblox.com/asset/?id=285552468"
  3547. Script185.Parent = Tool169
  3548. table.insert(cors,sandbox(Script185,function()
  3549. function LOL()
  3550. script.Parent.Handle.AnimeMusic:Play()
  3551. script.Parent.Handle.AnimeMusic.TimePosition = 0.65
  3552. end
  3553. function LOL2()
  3554. script.Parent.Handle.AnimeMusic:Stop()
  3555. end
  3556.  
  3557. script.Parent.Equipped:connect(LOL)
  3558. script.Parent.Unequipped:connect(LOL2)
  3559. end))
  3560. Tool186.Name = "Resyncable"
  3561. Tool186.Parent = mas
  3562. Tool186.GripForward = Vector3.new(-0, 1, -0)
  3563. Tool186.GripRight = Vector3.new(0, 0, 1)
  3564. Tool186.GripUp = Vector3.new(-1, 0, 0)
  3565. Tool186.ToolTip = "My friends head"
  3566. RemoteEvent187.Name = "Remote"
  3567. RemoteEvent187.Parent = Tool186
  3568. NumberValue188.Name = "Resistance"
  3569. NumberValue188.Parent = Tool186
  3570. NumberValue188.Value = 20
  3571. Model189.Parent = NumberValue188
  3572. Part190.Name = "Head"
  3573. Part190.Parent = Model189
  3574. Part190.BrickColor = BrickColor.new("Cyan")
  3575. Part190.Rotation = Vector3.new(0, 90, 0)
  3576. Part190.FormFactor = Enum.FormFactor.Symmetric
  3577. Part190.Size = Vector3.new(2, 1, 1)
  3578. Part190.CFrame = CFrame.new(37.6467857, -5.81796122, -459.375214, 0, 0, 1, 0, 1, -0, -1, 0, 0)
  3579. Part190.TopSurface = Enum.SurfaceType.Smooth
  3580. Part190.Color = Color3.new(0.0156863, 0.686275, 0.92549)
  3581. Part190.Position = Vector3.new(37.6467857, -5.81796122, -459.375214)
  3582. Part190.Orientation = Vector3.new(0, 90, 0)
  3583. Part190.Color = Color3.new(0.0156863, 0.686275, 0.92549)
  3584. SpecialMesh191.Parent = Part190
  3585. SpecialMesh191.Scale = Vector3.new(1.25, 1.25, 1.25)
  3586. SpecialMesh191.Scale = Vector3.new(1.25, 1.25, 1.25)
  3587. Attachment192.Name = "HatAttachment"
  3588. Attachment192.Parent = Part190
  3589. Attachment192.CFrame = CFrame.new(0, 0.600000024, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  3590. Attachment192.Position = Vector3.new(0, 0.600000024, 0)
  3591. Attachment193.Name = "HairAttachment"
  3592. Attachment193.Parent = Part190
  3593. Attachment193.CFrame = CFrame.new(0, 0.600000024, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  3594. Attachment193.Position = Vector3.new(0, 0.600000024, 0)
  3595. Attachment194.Name = "FaceFrontAttachment"
  3596. Attachment194.Parent = Part190
  3597. Attachment194.CFrame = CFrame.new(0, 0, -0.600000024, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  3598. Attachment194.Position = Vector3.new(0, 0, -0.600000024)
  3599. Attachment195.Name = "FaceCenterAttachment"
  3600. Attachment195.Parent = Part190
  3601. Decal196.Name = "face"
  3602. Decal196.Parent = Part190
  3603. Decal196.Texture = "http://www.roblox.com/asset/?id=19366214"
  3604. Weld197.Name = "HeadWeld"
  3605. Weld197.Parent = Part190
  3606. Weld197.C0 = CFrame.new(0, 0.5, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  3607. Weld197.C1 = CFrame.new(0.699999988, 0.75, -0.5, 0.957936287, -0, 0.286980897, 0, 1, 0, -0.286980897, 0, 0.957936287)
  3608. Weld197.Part0 = Part190
  3609. Weld197.Part1 = Part207
  3610. Sound198.Parent = Part190
  3611. Sound198.SoundId = "rbxassetid://681582832"
  3612. Sound198.Volume = 4
  3613. Humanoid199.Parent = Model189
  3614. Accessory200.Name = "MessySpikes"
  3615. Accessory200.Parent = Model189
  3616. Accessory200.AttachmentPos = Vector3.new(0.0500000007, 0.129999995, -0.200000003)
  3617. Part201.Name = "Handle"
  3618. Part201.Parent = Accessory200
  3619. Part201.Rotation = Vector3.new(0, 90, 0)
  3620. Part201.RotVelocity = Vector3.new(1, 1, 1)
  3621. Part201.CanCollide = false
  3622. Part201.FormFactor = Enum.FormFactor.Custom
  3623. Part201.Size = Vector3.new(1.4000001, 1.79999995, 1.60000014)
  3624. Part201.CFrame = CFrame.new(37.8470573, -5.44796133, -459.325226, -3.26223034e-24, -4.1444221e-16, 1, 7.87137555e-09, 1, 4.1444221e-16, -1, 7.87137555e-09, 0)
  3625. Part201.BottomSurface = Enum.SurfaceType.Smooth
  3626. Part201.TopSurface = Enum.SurfaceType.Smooth
  3627. Part201.Position = Vector3.new(37.8470573, -5.44796133, -459.325226)
  3628. Part201.Orientation = Vector3.new(0, 90, 0)
  3629. SpecialMesh202.Parent = Part201
  3630. SpecialMesh202.MeshId = "http://www.roblox.com/asset/?id=62246019"
  3631. SpecialMesh202.TextureId = "http://www.roblox.com/asset/?id=62246077"
  3632. SpecialMesh202.MeshType = Enum.MeshType.FileMesh
  3633. Attachment203.Name = "HairAttachment"
  3634. Attachment203.Parent = Part201
  3635. Attachment203.Rotation = Vector3.new(2.37457894e-14, -1.86912034e-22, -4.50996595e-07)
  3636. Attachment203.CFrame = CFrame.new(0.0500000082, 0.230000019, -0.200272247, 1, 7.87137555e-09, -3.26223034e-24, -7.87137555e-09, 1, -4.1444221e-16, 0, 4.1444221e-16, 1)
  3637. Attachment203.Position = Vector3.new(0.0500000082, 0.230000019, -0.200272247)
  3638. Attachment203.Axis = Vector3.new(1, -7.87137555e-09, 0)
  3639. Attachment203.Orientation = Vector3.new(2.37457894e-14, -1.86912034e-22, -4.50996595e-07)
  3640. Vector3Value204.Name = "OriginalSize"
  3641. Vector3Value204.Parent = Part201
  3642. Vector3Value204.Value = Vector3.new(1.4000001, 1.79999995, 1.60000014)
  3643. Weld205.Name = "AccessoryWeld"
  3644. Weld205.Parent = Part201
  3645. Weld205.C0 = CFrame.new(0.0500000082, 0.230000019, -0.200272247, 1, 7.87137555e-09, -3.26223034e-24, -7.87137555e-09, 1, -4.1444221e-16, 0, 4.1444221e-16, 1)
  3646. Weld205.C1 = CFrame.new(0, 0.600000024, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  3647. Weld205.Part0 = Part201
  3648. Weld205.Part1 = Part190
  3649. Accessory206.Name = "Parrot"
  3650. Accessory206.Parent = Model189
  3651. Accessory206.AttachmentForward = Vector3.new(-0.286980897, -0, -0.957936287)
  3652. Accessory206.AttachmentPos = Vector3.new(0.699999988, 0.75, -0.5)
  3653. Accessory206.AttachmentRight = Vector3.new(0.957936287, 0, -0.286980897)
  3654. Part207.Name = "Handle"
  3655. Part207.Parent = Accessory206
  3656. Part207.Rotation = Vector3.new(0, 73.3199997, 0)
  3657. Part207.RotVelocity = Vector3.new(1, 1, 1)
  3658. Part207.CanCollide = false
  3659. Part207.FormFactor = Enum.FormFactor.Symmetric
  3660. Part207.Size = Vector3.new(1, 1, 1)
  3661. Part207.CFrame = CFrame.new(37.9251404, -6.06796122, -458.561157, 0.286980897, 6.04542789e-30, 0.957936287, -2.38961469e-30, 1, -5.59500065e-30, -0.957936287, -6.83440315e-31, 0.286980897)
  3662. Part207.BottomSurface = Enum.SurfaceType.Smooth
  3663. Part207.TopSurface = Enum.SurfaceType.Smooth
  3664. Part207.Position = Vector3.new(37.9251404, -6.06796122, -458.561157)
  3665. Part207.Orientation = Vector3.new(0, 73.3199997, 0)
  3666. SpecialMesh208.Parent = Part207
  3667. SpecialMesh208.MeshId = "http://www.roblox.com/asset/?id=20708326"
  3668. SpecialMesh208.TextureId = "http://www.roblox.com/asset/?id=20708319"
  3669. SpecialMesh208.MeshType = Enum.MeshType.FileMesh
  3670. Attachment209.Name = "LeftCollarAttachment"
  3671. Attachment209.Parent = Part207
  3672. Attachment209.Rotation = Vector3.new(-3.61587208e-28, 16.6772938, 1.42926872e-28)
  3673. Attachment209.CFrame = CFrame.new(-0.258014262, -0.25, -0.213280112, 0.957936287, -2.38961469e-30, 0.286980897, 6.83440315e-31, 1, 6.04542789e-30, -0.286980897, -5.59500065e-30, 0.957936287)
  3674. Attachment209.Position = Vector3.new(-0.258014262, -0.25, -0.213280112)
  3675. Attachment209.Axis = Vector3.new(0.957936287, 6.83440315e-31, -0.286980897)
  3676. Attachment209.Orientation = Vector3.new(-3.46377513e-28, 16.6772938, 3.91582454e-29)
  3677. Vector3Value210.Name = "OriginalSize"
  3678. Vector3Value210.Parent = Part207
  3679. Vector3Value210.Value = Vector3.new(1, 1, 1)
  3680. Accessory211.Name = "Ultra-Fabulous Hair"
  3681. Accessory211.Parent = Model189
  3682. Part212.Name = "Handle"
  3683. Part212.Parent = Accessory211
  3684. Part212.Rotation = Vector3.new(0, 90, 0)
  3685. Part212.RotVelocity = Vector3.new(1, 1, 1)
  3686. Part212.CanCollide = false
  3687. Part212.FormFactor = Enum.FormFactor.Symmetric
  3688. Part212.Size = Vector3.new(2, 2, 2)
  3689. Part212.CFrame = CFrame.new(37.6470566, -5.31796122, -459.375214, -3.26223034e-24, -4.1444221e-16, 1, 7.87137555e-09, 1, 4.1444221e-16, -1, 7.87137555e-09, 0)
  3690. Part212.BottomSurface = Enum.SurfaceType.Smooth
  3691. Part212.TopSurface = Enum.SurfaceType.Smooth
  3692. Part212.Position = Vector3.new(37.6470566, -5.31796122, -459.375214)
  3693. Part212.Orientation = Vector3.new(0, 90, 0)
  3694. SpecialMesh213.Parent = Part212
  3695. SpecialMesh213.MeshId = "http://www.roblox.com/asset/?id=16627529"
  3696. SpecialMesh213.Scale = Vector3.new(1.04999995, 1.04999995, 1.04999995)
  3697. SpecialMesh213.TextureId = "http://www.roblox.com/asset/?id=17423956"
  3698. SpecialMesh213.MeshType = Enum.MeshType.FileMesh
  3699. SpecialMesh213.Scale = Vector3.new(1.04999995, 1.04999995, 1.04999995)
  3700. Attachment214.Name = "HairAttachment"
  3701. Attachment214.Parent = Part212
  3702. Attachment214.Rotation = Vector3.new(2.37457894e-14, -1.86912034e-22, -4.50996595e-07)
  3703. Attachment214.CFrame = CFrame.new(8.65838956e-09, 0.0999999046, -0.000272244215, 1, 7.87137555e-09, -3.26223034e-24, -7.87137555e-09, 1, -4.1444221e-16, 0, 4.1444221e-16, 1)
  3704. Attachment214.Position = Vector3.new(8.65838956e-09, 0.0999999046, -0.000272244215)
  3705. Attachment214.Axis = Vector3.new(1, -7.87137555e-09, 0)
  3706. Attachment214.Orientation = Vector3.new(2.37457894e-14, -1.86912034e-22, -4.50996595e-07)
  3707. Vector3Value215.Name = "OriginalSize"
  3708. Vector3Value215.Parent = Part212
  3709. Vector3Value215.Value = Vector3.new(2, 2, 2)
  3710. Weld216.Name = "AccessoryWeld"
  3711. Weld216.Parent = Part212
  3712. Weld216.C0 = CFrame.new(8.65838956e-09, 0.0999999046, -0.000272244215, 1, 7.87137555e-09, -3.26223034e-24, -7.87137555e-09, 1, -4.1444221e-16, 0, 4.1444221e-16, 1)
  3713. Weld216.C1 = CFrame.new(0, 0.600000024, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1)
  3714. Weld216.Part0 = Part212
  3715. Weld216.Part1 = Part190
  3716. Script217.Name = "qPerfectionWeld"
  3717. Script217.Parent = Tool186
  3718. table.insert(cors,sandbox(Script217,function()
  3719. -- Created by Quenty (@Quenty, follow me on twitter).
  3720. -- Should work with only ONE copy, seamlessly with weapons, trains, et cetera.
  3721. -- Parts should be ANCHORED before use. It will, however, store relatives values and so when tools are reparented, it'll fix them.
  3722.  
  3723. --[[ INSTRUCTIONS
  3724. - Place in the model
  3725. - Make sure model is anchored
  3726. - That's it. It will weld the model and all children.
  3727.  
  3728. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  3729. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  3730. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  3731. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  3732. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  3733. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  3734. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  3735. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  3736.  
  3737. This script is designed to be used is a regular script. In a local script it will weld, but it will not attempt to handle ancestory changes.
  3738. ]]
  3739.  
  3740. --[[ DOCUMENTATION
  3741. - Will work in tools. If ran more than once it will not create more than one weld. This is especially useful for tools that are dropped and then picked up again.
  3742. - Will work in PBS servers
  3743. - Will work as long as it starts out with the part anchored
  3744. - Stores the relative CFrame as a CFrame value
  3745. - Takes careful measure to reduce lag by not having a joint set off or affected by the parts offset from origin
  3746. - Utilizes a recursive algorith to find all parts in the model
  3747. - Will reweld on script reparent if the script is initially parented to a tool.
  3748. - Welds as fast as possible
  3749. ]]
  3750.  
  3751. -- qPerfectionWeld.lua
  3752. -- Created 10/6/2014
  3753. -- Author: Quenty
  3754. -- Version 1.0.3
  3755.  
  3756. -- Updated 10/14/2014 - Updated to 1.0.1
  3757. --- Bug fix with existing ROBLOX welds ? Repro by asimo3089
  3758.  
  3759. -- Updated 10/14/2014 - Updated to 1.0.2
  3760. --- Fixed bug fix.
  3761.  
  3762. -- Updated 10/14/2014 - Updated to 1.0.3
  3763. --- Now handles joints semi-acceptably. May be rather hacky with some joints. :/
  3764.  
  3765. local NEVER_BREAK_JOINTS = false -- If you set this to true it will never break joints (this can create some welding issues, but can save stuff like hinges).
  3766.  
  3767.  
  3768. local function CallOnChildren(Instance, FunctionToCall)
  3769. -- Calls a function on each of the children of a certain object, using recursion.
  3770.  
  3771. FunctionToCall(Instance)
  3772.  
  3773. for _, Child in next, Instance:GetChildren() do
  3774. CallOnChildren(Child, FunctionToCall)
  3775. end
  3776. end
  3777.  
  3778. local function GetNearestParent(Instance, ClassName)
  3779. -- Returns the nearest parent of a certain class, or returns nil
  3780.  
  3781. local Ancestor = Instance
  3782. repeat
  3783. Ancestor = Ancestor.Parent
  3784. if Ancestor == nil then
  3785. return nil
  3786. end
  3787. until Ancestor:IsA(ClassName)
  3788.  
  3789. return Ancestor
  3790. end
  3791.  
  3792. local function GetBricks(StartInstance)
  3793. local List = {}
  3794.  
  3795. -- if StartInstance:IsA("BasePart") then
  3796. -- List[#List+1] = StartInstance
  3797. -- end
  3798.  
  3799. CallOnChildren(StartInstance, function(Item)
  3800. if Item:IsA("BasePart") then
  3801. List[#List+1] = Item;
  3802. end
  3803. end)
  3804.  
  3805. return List
  3806. end
  3807.  
  3808. local function Modify(Instance, Values)
  3809. -- Modifies an Instance by using a table.
  3810.  
  3811. assert(type(Values) == "table", "Values is not a table");
  3812.  
  3813. for Index, Value in next, Values do
  3814. if type(Index) == "number" then
  3815. Value.Parent = Instance
  3816. else
  3817. Instance[Index] = Value
  3818. end
  3819. end
  3820. return Instance
  3821. end
  3822.  
  3823. local function Make(ClassType, Properties)
  3824. -- Using a syntax hack to create a nice way to Make new items.
  3825.  
  3826. return Modify(Instance.new(ClassType), Properties)
  3827. end
  3828.  
  3829. local Surfaces = {"TopSurface", "BottomSurface", "LeftSurface", "RightSurface", "FrontSurface", "BackSurface"}
  3830. local HingSurfaces = {"Hinge", "Motor", "SteppingMotor"}
  3831.  
  3832. local function HasWheelJoint(Part)
  3833. for _, SurfaceName in pairs(Surfaces) do
  3834. for _, HingSurfaceName in pairs(HingSurfaces) do
  3835. if Part[SurfaceName].Name == HingSurfaceName then
  3836. return true
  3837. end
  3838. end
  3839. end
  3840.  
  3841. return false
  3842. end
  3843.  
  3844. local function ShouldBreakJoints(Part)
  3845. --- We do not want to break joints of wheels/hinges. This takes the utmost care to not do this. There are
  3846. -- definitely some edge cases.
  3847.  
  3848. if NEVER_BREAK_JOINTS then
  3849. return false
  3850. end
  3851.  
  3852. if HasWheelJoint(Part) then
  3853. return false
  3854. end
  3855.  
  3856. local Connected = Part:GetConnectedParts()
  3857.  
  3858. if #Connected == 1 then
  3859. return false
  3860. end
  3861.  
  3862. for _, Item in pairs(Connected) do
  3863. if HasWheelJoint(Item) then
  3864. return false
  3865. elseif not Item:IsDescendantOf(script.Parent) then
  3866. return false
  3867. end
  3868. end
  3869.  
  3870. return true
  3871. end
  3872.  
  3873. local function WeldTogether(Part0, Part1, JointType, WeldParent)
  3874. --- Weld's 2 parts together
  3875. -- @param Part0 The first part
  3876. -- @param Part1 The second part (Dependent part most of the time).
  3877. -- @param [JointType] The type of joint. Defaults to weld.
  3878. -- @param [WeldParent] Parent of the weld, Defaults to Part0 (so GC is better).
  3879. -- @return The weld created.
  3880.  
  3881. JointType = JointType or "Weld"
  3882. local RelativeValue = Part1:FindFirstChild("qRelativeCFrameWeldValue")
  3883.  
  3884. local NewWeld = Part1:FindFirstChild("qCFrameWeldThingy") or Instance.new(JointType)
  3885. Modify(NewWeld, {
  3886. Name = "qCFrameWeldThingy";
  3887. Part0 = Part0;
  3888. Part1 = Part1;
  3889. C0 = CFrame.new();--Part0.CFrame:inverse();
  3890. C1 = RelativeValue and RelativeValue.Value or Part1.CFrame:toObjectSpace(Part0.CFrame); --Part1.CFrame:inverse() * Part0.CFrame;-- Part1.CFrame:inverse();
  3891. Parent = Part1;
  3892. })
  3893.  
  3894. if not RelativeValue then
  3895. RelativeValue = Make("CFrameValue", {
  3896. Parent = Part1;
  3897. Name = "qRelativeCFrameWeldValue";
  3898. Archivable = true;
  3899. Value = NewWeld.C1;
  3900. })
  3901. end
  3902.  
  3903. return NewWeld
  3904. end
  3905.  
  3906. local function WeldParts(Parts, MainPart, JointType, DoNotUnanchor)
  3907. -- @param Parts The Parts to weld. Should be anchored to prevent really horrible results.
  3908. -- @param MainPart The part to weld the model to (can be in the model).
  3909. -- @param [JointType] The type of joint. Defaults to weld.
  3910. -- @parm DoNotUnanchor Boolean, if true, will not unachor the model after cmopletion.
  3911.  
  3912. for _, Part in pairs(Parts) do
  3913. if ShouldBreakJoints(Part) then
  3914. Part:BreakJoints()
  3915. end
  3916. end
  3917.  
  3918. for _, Part in pairs(Parts) do
  3919. if Part ~= MainPart then
  3920. WeldTogether(MainPart, Part, JointType, MainPart)
  3921. end
  3922. end
  3923.  
  3924. if not DoNotUnanchor then
  3925. for _, Part in pairs(Parts) do
  3926. Part.Anchored = false
  3927. end
  3928. MainPart.Anchored = false
  3929. end
  3930. end
  3931.  
  3932. local function PerfectionWeld()
  3933. local Tool = GetNearestParent(script, "Tool")
  3934.  
  3935. local Parts = GetBricks(script.Parent)
  3936. local PrimaryPart = Tool and Tool:FindFirstChild("Handle") and Tool.Handle:IsA("BasePart") and Tool.Handle or script.Parent:IsA("Model") and script.Parent.PrimaryPart or Parts[1]
  3937.  
  3938. if PrimaryPart then
  3939. WeldParts(Parts, PrimaryPart, "Weld", false)
  3940. else
  3941. warn("qWeld - Unable to weld part")
  3942. end
  3943.  
  3944. return Tool
  3945. end
  3946.  
  3947. local Tool = PerfectionWeld()
  3948.  
  3949.  
  3950. if Tool and script.ClassName == "Script" then
  3951. --- Don't bother with local scripts
  3952.  
  3953. script.Parent.AncestryChanged:connect(function()
  3954. PerfectionWeld()
  3955. end)
  3956. end
  3957.  
  3958. -- Created by Quenty (@Quenty, follow me on twitter).
  3959.  
  3960. end))
  3961. Part218.Name = "Handle"
  3962. Part218.Parent = Tool186
  3963. Part218.Material = Enum.Material.Metal
  3964. Part218.BrickColor = BrickColor.new("Toothpaste")
  3965. Part218.Transparency = 1
  3966. Part218.Rotation = Vector3.new(-180, -2.25999999, 90)
  3967. Part218.Anchored = true
  3968. Part218.CanCollide = false
  3969. Part218.FormFactor = Enum.FormFactor.Custom
  3970. Part218.Size = Vector3.new(0.200000003, 0.573924482, 1)
  3971. Part218.CFrame = CFrame.new(37.5511932, -5.86179686, -459.379089, 0, -0.999221265, -0.039457012, -1, 0, 0, 0, 0.039457012, -0.999221265)
  3972. Part218.Color = Color3.new(0, 1, 1)
  3973. Part218.Position = Vector3.new(37.5511932, -5.86179686, -459.379089)
  3974. Part218.Orientation = Vector3.new(0, -177.73999, -90)
  3975. Part218.Color = Color3.new(0, 1, 1)
  3976. Sound219.Name = "AnimeMusic"
  3977. Sound219.Parent = Part218
  3978. Sound219.SoundId = "rbxassetid://857499889"
  3979. Sound219.Volume = 10
  3980. Sound219.Looped = true
  3981. LocalScript220.Name = "Client"
  3982. LocalScript220.Parent = Tool186
  3983. table.insert(cors,sandbox(LocalScript220,function()
  3984. local Player = game:GetService("Players").LocalPlayer
  3985. while not Player.Character do wait() end
  3986. local Character = Player.Character
  3987. local Human = Character:WaitForChild("Humanoid")
  3988.  
  3989. local CAS = game:GetService("ContextActionService")
  3990. local ActionName = "GiantAngelicSword"
  3991.  
  3992. local Tool = script.Parent
  3993. local Remote = Tool:WaitForChild("Remote")
  3994.  
  3995. local Animations = {
  3996. Hold = Tool:WaitForChild("Hold"),
  3997. Slam = Tool:WaitForChild("Slam"),
  3998. SwingRightToLeft = Tool:WaitForChild("SwingRightToLeft"),
  3999. SwingLeftToRight = Tool:WaitForChild("SwingLeftToRight"),
  4000. }
  4001. local HoldTrack
  4002.  
  4003. function playAnimation(name, fade, weight, speed)
  4004. if Animations[name] then
  4005. local track = Human:LoadAnimation(Animations[name])
  4006. track:Play(fade, weight, speed)
  4007. end
  4008. end
  4009.  
  4010. function onAction(actionName, inputState, inputObject)
  4011. if inputState == Enum.UserInputState.Begin then
  4012. Remote:FireServer("Attack")
  4013. end
  4014. end
  4015.  
  4016. function onEquipped()
  4017. --ensure unequip
  4018. onUnequipped()
  4019.  
  4020. --animate
  4021. HoldTrack = Human:LoadAnimation(Animations.Hold)
  4022. HoldTrack:Play(0.5)
  4023.  
  4024. --bind actions
  4025. CAS:BindActionToInputTypes(
  4026. ActionName,
  4027. onAction,
  4028. false,
  4029. Enum.UserInputType.MouseButton1,
  4030. Enum.UserInputType.Touch
  4031. )
  4032. end
  4033.  
  4034. function onUnequipped()
  4035. --unbind
  4036. CAS:UnbindAction(ActionName)
  4037.  
  4038. --stop animation
  4039. if HoldTrack then
  4040. HoldTrack:Stop()
  4041. end
  4042. end
  4043.  
  4044. function onRemote(func, ...)
  4045. if func == "PlayAnimation" then
  4046. playAnimation(...)
  4047. end
  4048. end
  4049.  
  4050. --set up events
  4051. Tool.Equipped:connect(onEquipped)
  4052. Tool.Unequipped:connect(onUnequipped)
  4053. Remote.OnClientEvent:connect(onRemote)
  4054. end))
  4055. Script221.Name = "Server"
  4056. Script221.Parent = Tool186
  4057. table.insert(cors,sandbox(Script221,function()
  4058. local Tool = script.Parent
  4059. local Remote = Tool:WaitForChild("Remote")
  4060. local Handle = Tool:WaitForChild("Handle")
  4061.  
  4062. local Motor
  4063.  
  4064. local AttackNumber = 1
  4065. local AttackDamage = 50
  4066. local AttackWindow = 0.6
  4067. local AttackRest = 0
  4068. local AttackAble = true
  4069. local AttackDamaging = true
  4070. local AttackHit = {}
  4071.  
  4072. function getPlayerChar()
  4073. local char = Tool.Parent
  4074. local player = game:GetService("Players"):GetPlayerFromCharacter(char)
  4075. return player, char
  4076. end
  4077.  
  4078. function convertWeldToMotor(weld)
  4079. local m = Instance.new("Motor6D")
  4080. m.Name = weld.Name
  4081. m.Part0 = weld.Part0
  4082. m.Part1 = weld.Part1
  4083. m.C0 = weld.C0
  4084. m.C1 = weld.C1
  4085.  
  4086. local parent = weld.Parent
  4087. weld:Destroy()
  4088. m.Parent = parent
  4089.  
  4090. Motor = m
  4091. end
  4092.  
  4093. function changeGrip()
  4094. local player, char = getPlayerChar()
  4095. while not char:FindFirstChild("Right Arm") do wait() end
  4096. while not char["Right Arm"]:FindFirstChild("RightGrip") do wait() end
  4097. convertWeldToMotor(char["Right Arm"].RightGrip)
  4098. end
  4099.  
  4100. function contains(t, v)
  4101. for _, val in pairs(t) do
  4102. if val == v then
  4103. return true
  4104. end
  4105. end
  4106. return false
  4107. end
  4108.  
  4109. function tagHuman(human)
  4110. local player, char = getPlayerChar()
  4111. local val = Instance.new("ObjectValue")
  4112. val.Name = "creator"
  4113. val.Value = player
  4114. val.Parent = human
  4115. game:GetService("Debris"):AddItem(val, 1)
  4116. end
  4117.  
  4118. function openAttackWindow()
  4119. AttackHit = {}
  4120.  
  4121. AttackDamaging = true
  4122. delay(AttackWindow, function()
  4123. AttackDamaging = false
  4124. end)
  4125. end
  4126.  
  4127. function onTouched(part)
  4128. if not AttackDamaging then return end
  4129.  
  4130. local player, char = getPlayerChar()
  4131.  
  4132. if part.Parent and part.Parent ~= char and part.Parent:FindFirstChild("Humanoid") then
  4133. local human = part.Parent.Humanoid
  4134. if not contains(AttackHit, human) then
  4135. table.insert(AttackHit, human)
  4136. tagHuman(human)
  4137. human:TakeDamage(AttackDamage)
  4138.  
  4139. local pitch = math.random(60, 80)/100
  4140. playSound("HitSound", pitch, 1)
  4141. playSound("HitSound2", pitch + 0.3, 1)
  4142. end
  4143. end
  4144. end
  4145.  
  4146. function onTouchedSpecial(part)
  4147. local player, char = getPlayerChar()
  4148.  
  4149. if part.Parent and part.Parent ~= char and part.Parent:FindFirstChild("Humanoid") then
  4150. local human = part.Parent.Humanoid
  4151. if not contains(AttackHit, human) then
  4152. table.insert(AttackHit, human)
  4153. tagHuman(human)
  4154. human:TakeDamage(AttackDamage)
  4155. end
  4156. end
  4157. end
  4158.  
  4159. function special()
  4160. local player, char = getPlayerChar()
  4161. local root = char:FindFirstChild("Zombie")
  4162. if root then
  4163. openAttackWindow()
  4164.  
  4165. local c = root.CFrame
  4166. local dz = -8
  4167. for t = 0, 1, 1/15 do
  4168. delay(t, function()
  4169. local pos = c:pointToWorldSpace(Vector3.new(0, -2.5, dz))
  4170.  
  4171. local e = Instance.new("Explosion")
  4172. e.BlastPressure = 0
  4173. e.Position = pos
  4174. e.Hit:connect(onTouchedSpecial)
  4175. e.Parent = workspace
  4176.  
  4177. dz = dz - 6
  4178. end)
  4179. end
  4180.  
  4181. playSound("Explosion", 0.9, 1)
  4182. end
  4183. end
  4184.  
  4185. function playSound(name, pitch, volume)
  4186. local sound = Handle:FindFirstChild(name)
  4187. if sound then
  4188. sound.Pitch = pitch or math.random(90, 110)/100
  4189. sound.Volume = volume or 0.5
  4190. sound:Play()
  4191. end
  4192. end
  4193.  
  4194. function attack()
  4195. if not AttackAble then return end
  4196.  
  4197. AttackAble = false
  4198. delay(AttackRest, function()
  4199. AttackAble = true
  4200. end)
  4201.  
  4202. local player, char = getPlayerChar()
  4203.  
  4204. if AttackNumber < 5 then
  4205. if AttackNumber == 1 or AttackNumber == 3 then
  4206. Remote:FireClient(player, "PlayAnimation", "SwingRightToLeft")
  4207. elseif AttackNumber == 2 or AttackNumber == 4 then
  4208. Remote:FireClient(player, "PlayAnimation", "SwingLeftToRight")
  4209. end
  4210.  
  4211. openAttackWindow()
  4212. playSound("SwingSound")
  4213. else
  4214.  
  4215. AttackNumber = 0
  4216. end
  4217.  
  4218. AttackNumber = AttackNumber + 1
  4219.  
  4220. end
  4221.  
  4222. function onRemote(callingPlayer, func, ...)
  4223. local player, char = getPlayerChar()
  4224. if callingPlayer == player then
  4225. if func == "Attack" then
  4226. attack()
  4227. end
  4228. end
  4229. end
  4230.  
  4231. function onEquipped()
  4232. --ensure unequip
  4233. onUnequipped()
  4234.  
  4235. --convert grip to a motor
  4236. changeGrip()
  4237. end
  4238.  
  4239. function onUnequipped()
  4240. if Motor then
  4241. Motor:Destroy()
  4242. end
  4243. end
  4244.  
  4245. --connect events
  4246. Tool.Equipped:connect(onEquipped)
  4247. Tool.Unequipped:connect(onUnequipped)
  4248. Remote.OnServerEvent:connect(onRemote)
  4249. Handle.Touched:connect(onTouched)
  4250. end))
  4251. Animation222.Name = "SwingRightToLeft"
  4252. Animation222.Parent = Tool186
  4253. Animation222.AnimationId = "http://www.roblox.com/asset/?id=184573779"
  4254. Animation223.Name = "SwingLeftToRight"
  4255. Animation223.Parent = Tool186
  4256. Animation223.AnimationId = "http://www.roblox.com/asset/?id=184573748"
  4257. Animation224.Name = "Slam"
  4258. Animation224.Parent = Tool186
  4259. Animation224.AnimationId = "http://www.roblox.com/asset/?id=184574340"
  4260. Animation225.Name = "Hold"
  4261. Animation225.Parent = Tool186
  4262. Animation225.AnimationId = "http://www.roblox.com/asset/?id=184572142"
  4263. Script226.Parent = Tool186
  4264. table.insert(cors,sandbox(Script226,function()
  4265. function LOL()
  4266. script.Parent.Handle.AnimeMusic:Play()
  4267. end
  4268. function LOL2()
  4269. script.Parent.Handle.AnimeMusic:Stop()
  4270. end
  4271.  
  4272. script.Parent.Equipped:connect(LOL)
  4273. script.Parent.Unequipped:connect(LOL2)
  4274. end))
  4275. Model227.Name = "Resyncable"
  4276. Model227.Parent = Tool186
  4277. Shirt228.Name = "Shirt"
  4278. Shirt228.Parent = Tool186
  4279. Shirt228.ShirtTemplate = "http://www.roblox.com/asset/?id=41770216"
  4280. Pants229.Name = "Pants"
  4281. Pants229.Parent = Tool186
  4282. Pants229.PantsTemplate = "http://www.roblox.com/asset/?id=45721839"
  4283. BodyColors230.Parent = Tool186
  4284. BodyColors230.HeadColor = BrickColor.new("Cyan")
  4285. BodyColors230.LeftArmColor = BrickColor.new("Cyan")
  4286. BodyColors230.LeftLegColor = BrickColor.new("Cyan")
  4287. BodyColors230.RightArmColor = BrickColor.new("Cyan")
  4288. BodyColors230.RightLegColor = BrickColor.new("Cyan")
  4289. BodyColors230.TorsoColor = BrickColor.new("Cyan")
  4290. Tool231.Name = "Tree"
  4291. Tool231.Parent = mas
  4292. Tool231.GripForward = Vector3.new(-0, 1, -0)
  4293. Tool231.GripRight = Vector3.new(0, 0, 1)
  4294. Tool231.GripUp = Vector3.new(-1, 0, 0)
  4295. Tool231.ToolTip = "Ultiment Destrution"
  4296. RemoteEvent232.Name = "Remote"
  4297. RemoteEvent232.Parent = Tool231
  4298. NumberValue233.Name = "Resistance"
  4299. NumberValue233.Parent = Tool231
  4300. NumberValue233.Value = 20
  4301. Part234.Parent = NumberValue233
  4302. Part234.Material = Enum.Material.Grass
  4303. Part234.BrickColor = BrickColor.new("Burnt Sienna")
  4304. Part234.Size = Vector3.new(0.234400958, 0.973359227, 0.224468648)
  4305. Part234.CFrame = CFrame.new(37.7221413, -9.27685452, -459.45874, 1.00000441, 0, 2.68220901e-07, 0, 1, 0, -2.68220901e-07, 0, 1.00000441)
  4306. Part234.BottomSurface = Enum.SurfaceType.Smooth
  4307. Part234.TopSurface = Enum.SurfaceType.Smooth
  4308. Part234.Color = Color3.new(0.415686, 0.223529, 0.0352941)
  4309. Part234.Position = Vector3.new(37.7221413, -9.27685452, -459.45874)
  4310. Part234.Color = Color3.new(0.415686, 0.223529, 0.0352941)
  4311. Script235.Name = "qPerfectionWeld"
  4312. Script235.Parent = Tool231
  4313. table.insert(cors,sandbox(Script235,function()
  4314. -- Created by Quenty (@Quenty, follow me on twitter).
  4315. -- Should work with only ONE copy, seamlessly with weapons, trains, et cetera.
  4316. -- Parts should be ANCHORED before use. It will, however, store relatives values and so when tools are reparented, it'll fix them.
  4317.  
  4318. --[[ INSTRUCTIONS
  4319. - Place in the model
  4320. - Make sure model is anchored
  4321. - That's it. It will weld the model and all children.
  4322.  
  4323. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  4324. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  4325. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  4326. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  4327. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  4328. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  4329. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  4330. THIS SCRIPT SHOULD BE USED ONLY BY ITSELF. THE MODEL SHOULD BE ANCHORED.
  4331.  
  4332. This script is designed to be used is a regular script. In a local script it will weld, but it will not attempt to handle ancestory changes.
  4333. ]]
  4334.  
  4335. --[[ DOCUMENTATION
  4336. - Will work in tools. If ran more than once it will not create more than one weld. This is especially useful for tools that are dropped and then picked up again.
  4337. - Will work in PBS servers
  4338. - Will work as long as it starts out with the part anchored
  4339. - Stores the relative CFrame as a CFrame value
  4340. - Takes careful measure to reduce lag by not having a joint set off or affected by the parts offset from origin
  4341. - Utilizes a recursive algorith to find all parts in the model
  4342. - Will reweld on script reparent if the script is initially parented to a tool.
  4343. - Welds as fast as possible
  4344. ]]
  4345.  
  4346. -- qPerfectionWeld.lua
  4347. -- Created 10/6/2014
  4348. -- Author: Quenty
  4349. -- Version 1.0.3
  4350.  
  4351. -- Updated 10/14/2014 - Updated to 1.0.1
  4352. --- Bug fix with existing ROBLOX welds ? Repro by asimo3089
  4353.  
  4354. -- Updated 10/14/2014 - Updated to 1.0.2
  4355. --- Fixed bug fix.
  4356.  
  4357. -- Updated 10/14/2014 - Updated to 1.0.3
  4358. --- Now handles joints semi-acceptably. May be rather hacky with some joints. :/
  4359.  
  4360. local NEVER_BREAK_JOINTS = false -- If you set this to true it will never break joints (this can create some welding issues, but can save stuff like hinges).
  4361.  
  4362.  
  4363. local function CallOnChildren(Instance, FunctionToCall)
  4364. -- Calls a function on each of the children of a certain object, using recursion.
  4365.  
  4366. FunctionToCall(Instance)
  4367.  
  4368. for _, Child in next, Instance:GetChildren() do
  4369. CallOnChildren(Child, FunctionToCall)
  4370. end
  4371. end
  4372.  
  4373. local function GetNearestParent(Instance, ClassName)
  4374. -- Returns the nearest parent of a certain class, or returns nil
  4375.  
  4376. local Ancestor = Instance
  4377. repeat
  4378. Ancestor = Ancestor.Parent
  4379. if Ancestor == nil then
  4380. return nil
  4381. end
  4382. until Ancestor:IsA(ClassName)
  4383.  
  4384. return Ancestor
  4385. end
  4386.  
  4387. local function GetBricks(StartInstance)
  4388. local List = {}
  4389.  
  4390. -- if StartInstance:IsA("BasePart") then
  4391. -- List[#List+1] = StartInstance
  4392. -- end
  4393.  
  4394. CallOnChildren(StartInstance, function(Item)
  4395. if Item:IsA("BasePart") then
  4396. List[#List+1] = Item;
  4397. end
  4398. end)
  4399.  
  4400. return List
  4401. end
  4402.  
  4403. local function Modify(Instance, Values)
  4404. -- Modifies an Instance by using a table.
  4405.  
  4406. assert(type(Values) == "table", "Values is not a table");
  4407.  
  4408. for Index, Value in next, Values do
  4409. if type(Index) == "number" then
  4410. Value.Parent = Instance
  4411. else
  4412. Instance[Index] = Value
  4413. end
  4414. end
  4415. return Instance
  4416. end
  4417.  
  4418. local function Make(ClassType, Properties)
  4419. -- Using a syntax hack to create a nice way to Make new items.
  4420.  
  4421. return Modify(Instance.new(ClassType), Properties)
  4422. end
  4423.  
  4424. local Surfaces = {"TopSurface", "BottomSurface", "LeftSurface", "RightSurface", "FrontSurface", "BackSurface"}
  4425. local HingSurfaces = {"Hinge", "Motor", "SteppingMotor"}
  4426.  
  4427. local function HasWheelJoint(Part)
  4428. for _, SurfaceName in pairs(Surfaces) do
  4429. for _, HingSurfaceName in pairs(HingSurfaces) do
  4430. if Part[SurfaceName].Name == HingSurfaceName then
  4431. return true
  4432. end
  4433. end
  4434. end
  4435.  
  4436. return false
  4437. end
  4438.  
  4439. local function ShouldBreakJoints(Part)
  4440. --- We do not want to break joints of wheels/hinges. This takes the utmost care to not do this. There are
  4441. -- definitely some edge cases.
  4442.  
  4443. if NEVER_BREAK_JOINTS then
  4444. return false
  4445. end
  4446.  
  4447. if HasWheelJoint(Part) then
  4448. return false
  4449. end
  4450.  
  4451. local Connected = Part:GetConnectedParts()
  4452.  
  4453. if #Connected == 1 then
  4454. return false
  4455. end
  4456.  
  4457. for _, Item in pairs(Connected) do
  4458. if HasWheelJoint(Item) then
  4459. return false
  4460. elseif not Item:IsDescendantOf(script.Parent) then
  4461. return false
  4462. end
  4463. end
  4464.  
  4465. return true
  4466. end
  4467.  
  4468. local function WeldTogether(Part0, Part1, JointType, WeldParent)
  4469. --- Weld's 2 parts together
  4470. -- @param Part0 The first part
  4471. -- @param Part1 The second part (Dependent part most of the time).
  4472. -- @param [JointType] The type of joint. Defaults to weld.
  4473. -- @param [WeldParent] Parent of the weld, Defaults to Part0 (so GC is better).
  4474. -- @return The weld created.
  4475.  
  4476. JointType = JointType or "Weld"
  4477. local RelativeValue = Part1:FindFirstChild("qRelativeCFrameWeldValue")
  4478.  
  4479. local NewWeld = Part1:FindFirstChild("qCFrameWeldThingy") or Instance.new(JointType)
  4480. Modify(NewWeld, {
  4481. Name = "qCFrameWeldThingy";
  4482. Part0 = Part0;
  4483. Part1 = Part1;
  4484. C0 = CFrame.new();--Part0.CFrame:inverse();
  4485. C1 = RelativeValue and RelativeValue.Value or Part1.CFrame:toObjectSpace(Part0.CFrame); --Part1.CFrame:inverse() * Part0.CFrame;-- Part1.CFrame:inverse();
  4486. Parent = Part1;
  4487. })
  4488.  
  4489. if not RelativeValue then
  4490. RelativeValue = Make("CFrameValue", {
  4491. Parent = Part1;
  4492. Name = "qRelativeCFrameWeldValue";
  4493. Archivable = true;
  4494. Value = NewWeld.C1;
  4495. })
  4496. end
  4497.  
  4498. return NewWeld
  4499. end
  4500.  
  4501. local function WeldParts(Parts, MainPart, JointType, DoNotUnanchor)
  4502. -- @param Parts The Parts to weld. Should be anchored to prevent really horrible results.
  4503. -- @param MainPart The part to weld the model to (can be in the model).
  4504. -- @param [JointType] The type of joint. Defaults to weld.
  4505. -- @parm DoNotUnanchor Boolean, if true, will not unachor the model after cmopletion.
  4506.  
  4507. for _, Part in pairs(Parts) do
  4508. if ShouldBreakJoints(Part) then
  4509. Part:BreakJoints()
  4510. end
  4511. end
  4512.  
  4513. for _, Part in pairs(Parts) do
  4514. if Part ~= MainPart then
  4515. WeldTogether(MainPart, Part, JointType, MainPart)
  4516. end
  4517. end
  4518.  
  4519. if not DoNotUnanchor then
  4520. for _, Part in pairs(Parts) do
  4521. Part.Anchored = false
  4522. end
  4523. MainPart.Anchored = false
  4524. end
  4525. end
  4526.  
  4527. local function PerfectionWeld()
  4528. local Tool = GetNearestParent(script, "Tool")
  4529.  
  4530. local Parts = GetBricks(script.Parent)
  4531. local PrimaryPart = Tool and Tool:FindFirstChild("Handle") and Tool.Handle:IsA("BasePart") and Tool.Handle or script.Parent:IsA("Model") and script.Parent.PrimaryPart or Parts[1]
  4532.  
  4533. if PrimaryPart then
  4534. WeldParts(Parts, PrimaryPart, "Weld", false)
  4535. else
  4536. warn("qWeld - Unable to weld part")
  4537. end
  4538.  
  4539. return Tool
  4540. end
  4541.  
  4542. local Tool = PerfectionWeld()
  4543.  
  4544.  
  4545. if Tool and script.ClassName == "Script" then
  4546. --- Don't bother with local scripts
  4547.  
  4548. script.Parent.AncestryChanged:connect(function()
  4549. PerfectionWeld()
  4550. end)
  4551. end
  4552.  
  4553. -- Created by Quenty (@Quenty, follow me on twitter).
  4554.  
  4555. end))
  4556. Part236.Name = "Handle"
  4557. Part236.Parent = Tool231
  4558. Part236.Material = Enum.Material.Metal
  4559. Part236.BrickColor = BrickColor.new("Toothpaste")
  4560. Part236.Transparency = 1
  4561. Part236.Rotation = Vector3.new(0, -89.9799957, 90)
  4562. Part236.Anchored = true
  4563. Part236.CanCollide = false
  4564. Part236.FormFactor = Enum.FormFactor.Custom
  4565. Part236.Size = Vector3.new(0.200000003, 0.573924482, 1)
  4566. Part236.CFrame = CFrame.new(37.5511932, -7.76688814, -459.496155, 0, -1.16422427e-10, -0.99999994, -1, 1.78813934e-07, 0, 8.94069672e-08, 1, 5.82076609e-11)
  4567. Part236.Color = Color3.new(0, 1, 1)
  4568. Part236.Position = Vector3.new(37.5511932, -7.76688814, -459.496155)
  4569. Part236.Orientation = Vector3.new(0, -90, -90)
  4570. Part236.Color = Color3.new(0, 1, 1)
  4571. Sound237.Name = "AnimeMusic"
  4572. Sound237.Parent = Part236
  4573. Sound237.SoundId = "rbxassetid://431432734"
  4574. Sound237.Volume = 10
  4575. Sound237.Looped = true
  4576. LocalScript238.Name = "Client"
  4577. LocalScript238.Parent = Tool231
  4578. table.insert(cors,sandbox(LocalScript238,function()
  4579. local Player = game:GetService("Players").LocalPlayer
  4580. while not Player.Character do wait() end
  4581. local Character = Player.Character
  4582. local Human = Character:WaitForChild("Humanoid")
  4583.  
  4584. local CAS = game:GetService("ContextActionService")
  4585. local ActionName = "GiantAngelicSword"
  4586.  
  4587. local Tool = script.Parent
  4588. local Remote = Tool:WaitForChild("Remote")
  4589.  
  4590. local Animations = {
  4591. Hold = Tool:WaitForChild("Hold"),
  4592. Slam = Tool:WaitForChild("Slam"),
  4593. SwingRightToLeft = Tool:WaitForChild("SwingRightToLeft"),
  4594. SwingLeftToRight = Tool:WaitForChild("SwingLeftToRight"),
  4595. }
  4596. local HoldTrack
  4597.  
  4598. function playAnimation(name, fade, weight, speed)
  4599. if Animations[name] then
  4600. local track = Human:LoadAnimation(Animations[name])
  4601. track:Play(fade, weight, speed)
  4602. end
  4603. end
  4604.  
  4605. function onAction(actionName, inputState, inputObject)
  4606. if inputState == Enum.UserInputState.Begin then
  4607. Remote:FireServer("Attack")
  4608. end
  4609. end
  4610.  
  4611. function onEquipped()
  4612. --ensure unequip
  4613. onUnequipped()
  4614.  
  4615. --animate
  4616. HoldTrack = Human:LoadAnimation(Animations.Hold)
  4617. HoldTrack:Play(0.5)
  4618.  
  4619. --bind actions
  4620. CAS:BindActionToInputTypes(
  4621. ActionName,
  4622. onAction,
  4623. false,
  4624. Enum.UserInputType.MouseButton1,
  4625. Enum.UserInputType.Touch
  4626. )
  4627. end
  4628.  
  4629. function onUnequipped()
  4630. --unbind
  4631. CAS:UnbindAction(ActionName)
  4632.  
  4633. --stop animation
  4634. if HoldTrack then
  4635. HoldTrack:Stop()
  4636. end
  4637. end
  4638.  
  4639. function onRemote(func, ...)
  4640. if func == "PlayAnimation" then
  4641. playAnimation(...)
  4642. end
  4643. end
  4644.  
  4645. --set up events
  4646. Tool.Equipped:connect(onEquipped)
  4647. Tool.Unequipped:connect(onUnequipped)
  4648. Remote.OnClientEvent:connect(onRemote)
  4649. end))
  4650. Script239.Name = "Server"
  4651. Script239.Parent = Tool231
  4652. table.insert(cors,sandbox(Script239,function()
  4653. local Tool = script.Parent
  4654. local Remote = Tool:WaitForChild("Remote")
  4655. local Handle = Tool:WaitForChild("Handle")
  4656.  
  4657. local Motor
  4658.  
  4659. local AttackNumber = 1
  4660. local AttackDamage = 50
  4661. local AttackWindow = 0.6
  4662. local AttackRest = 0
  4663. local AttackAble = true
  4664. local AttackDamaging = true
  4665. local AttackHit = {}
  4666.  
  4667. function getPlayerChar()
  4668. local char = Tool.Parent
  4669. local player = game:GetService("Players"):GetPlayerFromCharacter(char)
  4670. return player, char
  4671. end
  4672.  
  4673. function convertWeldToMotor(weld)
  4674. local m = Instance.new("Motor6D")
  4675. m.Name = weld.Name
  4676. m.Part0 = weld.Part0
  4677. m.Part1 = weld.Part1
  4678. m.C0 = weld.C0
  4679. m.C1 = weld.C1
  4680.  
  4681. local parent = weld.Parent
  4682. weld:Destroy()
  4683. m.Parent = parent
  4684.  
  4685. Motor = m
  4686. end
  4687.  
  4688. function changeGrip()
  4689. local player, char = getPlayerChar()
  4690. while not char:FindFirstChild("Right Arm") do wait() end
  4691. while not char["Right Arm"]:FindFirstChild("RightGrip") do wait() end
  4692. convertWeldToMotor(char["Right Arm"].RightGrip)
  4693. end
  4694.  
  4695. function contains(t, v)
  4696. for _, val in pairs(t) do
  4697. if val == v then
  4698. return true
  4699. end
  4700. end
  4701. return false
  4702. end
  4703.  
  4704. function tagHuman(human)
  4705. local player, char = getPlayerChar()
  4706. local val = Instance.new("ObjectValue")
  4707. val.Name = "creator"
  4708. val.Value = player
  4709. val.Parent = human
  4710. game:GetService("Debris"):AddItem(val, 1)
  4711. end
  4712.  
  4713. function openAttackWindow()
  4714. AttackHit = {}
  4715.  
  4716. AttackDamaging = true
  4717. delay(AttackWindow, function()
  4718. AttackDamaging = false
  4719. end)
  4720. end
  4721.  
  4722. function onTouched(part)
  4723. if not AttackDamaging then return end
  4724.  
  4725. local player, char = getPlayerChar()
  4726.  
  4727. if part.Parent and part.Parent ~= char and part.Parent:FindFirstChild("Humanoid") then
  4728. local human = part.Parent.Humanoid
  4729. if not contains(AttackHit, human) then
  4730. table.insert(AttackHit, human)
  4731. tagHuman(human)
  4732. human:TakeDamage(AttackDamage)
  4733.  
  4734. local pitch = math.random(60, 80)/100
  4735. playSound("HitSound", pitch, 1)
  4736. playSound("HitSound2", pitch + 0.3, 1)
  4737. end
  4738. end
  4739. end
  4740.  
  4741. function onTouchedSpecial(part)
  4742. local player, char = getPlayerChar()
  4743.  
  4744. if part.Parent and part.Parent ~= char and part.Parent:FindFirstChild("Humanoid") then
  4745. local human = part.Parent.Humanoid
  4746. if not contains(AttackHit, human) then
  4747. table.insert(AttackHit, human)
  4748. tagHuman(human)
  4749. human:TakeDamage(AttackDamage)
  4750. end
  4751. end
  4752. end
  4753.  
  4754. function special()
  4755. local player, char = getPlayerChar()
  4756. local root = char:FindFirstChild("Zombie")
  4757. if root then
  4758. openAttackWindow()
  4759.  
  4760. local c = root.CFrame
  4761. local dz = -8
  4762. for t = 0, 1, 1/15 do
  4763. delay(t, function()
  4764. local pos = c:pointToWorldSpace(Vector3.new(0, -2.5, dz))
  4765.  
  4766. local e = Instance.new("Explosion")
  4767. e.BlastPressure = 0
  4768. e.Position = pos
  4769. e.Hit:connect(onTouchedSpecial)
  4770. e.Parent = workspace
  4771.  
  4772. dz = dz - 6
  4773. end)
  4774. end
  4775.  
  4776. playSound("Explosion", 0.9, 1)
  4777. end
  4778. end
  4779.  
  4780. function playSound(name, pitch, volume)
  4781. local sound = Handle:FindFirstChild(name)
  4782. if sound then
  4783. sound.Pitch = pitch or math.random(90, 110)/100
  4784. sound.Volume = volume or 0.5
  4785. sound:Play()
  4786. end
  4787. end
  4788.  
  4789. function attack()
  4790. if not AttackAble then return end
  4791.  
  4792. AttackAble = false
  4793. delay(AttackRest, function()
  4794. AttackAble = true
  4795. end)
  4796.  
  4797. local player, char = getPlayerChar()
  4798.  
  4799. if AttackNumber < 5 then
  4800. if AttackNumber == 1 or AttackNumber == 3 then
  4801. Remote:FireClient(player, "PlayAnimation", "SwingRightToLeft")
  4802. elseif AttackNumber == 2 or AttackNumber == 4 then
  4803. Remote:FireClient(player, "PlayAnimation", "SwingLeftToRight")
  4804. end
  4805.  
  4806. openAttackWindow()
  4807. playSound("SwingSound")
  4808. else
  4809.  
  4810. AttackNumber = 0
  4811. end
  4812.  
  4813. AttackNumber = AttackNumber + 1
  4814.  
  4815. end
  4816.  
  4817. function onRemote(callingPlayer, func, ...)
  4818. local player, char = getPlayerChar()
  4819. if callingPlayer == player then
  4820. if func == "Attack" then
  4821. attack()
  4822. end
  4823. end
  4824. end
  4825.  
  4826. function onEquipped()
  4827. --ensure unequip
  4828. onUnequipped()
  4829.  
  4830. --convert grip to a motor
  4831. changeGrip()
  4832. end
  4833.  
  4834. function onUnequipped()
  4835. if Motor then
  4836. Motor:Destroy()
  4837. end
  4838. end
  4839.  
  4840. --connect events
  4841. Tool.Equipped:connect(onEquipped)
  4842. Tool.Unequipped:connect(onUnequipped)
  4843. Remote.OnServerEvent:connect(onRemote)
  4844. Handle.Touched:connect(onTouched)
  4845. end))
  4846. Animation240.Name = "SwingRightToLeft"
  4847. Animation240.Parent = Tool231
  4848. Animation240.AnimationId = "http://www.roblox.com/asset/?id=184573779"
  4849. Animation241.Name = "SwingLeftToRight"
  4850. Animation241.Parent = Tool231
  4851. Animation241.AnimationId = "http://www.roblox.com/asset/?id=184573748"
  4852. Animation242.Name = "Slam"
  4853. Animation242.Parent = Tool231
  4854. Animation242.AnimationId = "http://www.roblox.com/asset/?id=184574340"
  4855. Animation243.Name = "Hold"
  4856. Animation243.Parent = Tool231
  4857. Animation243.AnimationId = "http://www.roblox.com/asset/?id=184572142"
  4858. Script244.Parent = Tool231
  4859. table.insert(cors,sandbox(Script244,function()
  4860. function LOL()
  4861. script.Parent.Handle.AnimeMusic:Play()
  4862. end
  4863. function LOL2()
  4864. script.Parent.Handle.AnimeMusic:Stop()
  4865. end
  4866.  
  4867. script.Parent.Equipped:connect(LOL)
  4868. script.Parent.Unequipped:connect(LOL2)
  4869. end))
  4870. for i,v in pairs(mas:GetChildren()) do
  4871. v.Parent = game:GetService("Players").LocalPlayer.Backpack
  4872. pcall(function() v:MakeJoints() end)
  4873. end
  4874. mas:Destroy()
  4875. for i,v in pairs(cors) do
  4876. spawn(function()
  4877. pcall(v)
  4878. end)
  4879. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement