Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2017
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- Local Script : Just run it no need to put name in it
  2.  
  3. -------------------------------------------------------------------------------------
  4.  
  5. Players = game:GetService("Players")
  6. Me = Players.LocalPlayer
  7. Char = Me.Character
  8. necko = CFrame.new(0, 1, 0, -1, -0, -0, 0, 0, 1, 0, 1, 0)
  9. ShootColors = {"Bright yellow", "New Yeller", "Bright orange", "Neon orange", "Really red", "Bright red"}
  10. PlaceId = game.PlaceId
  11.  
  12. Selected = false
  13. Attacking = false
  14. Accuracy = 500
  15. Debounce = true
  16. Hurt = false
  17. Damage = {15,42}
  18.  
  19. ContentProvider = game:GetService("ContentProvider")
  20.  
  21. V3 = Vector3.new
  22. C3 = Color3.new
  23. BN = BrickColor.new
  24. CN = CFrame.new
  25. CA = CFrame.Angles
  26. MR = math.rad
  27. MRA = math.random
  28. MP = math.pi
  29. MH = math.huge
  30. UD = UDim2.new
  31.  
  32. function RC(Pos, Dir, Max, Ignore)
  33. return workspace:FindPartOnRay(Ray.new(Pos, Dir.unit * (Max or 999)), Ignore)
  34. end
  35.  
  36. function RayC(Start, En, MaxDist, Ignore)
  37. return RC(Start, (En - Start), MaxDist, Ignore)
  38. end
  39.  
  40. function ComputePos(pos1, pos2)
  41. return CN(pos1, V3(pos2.x, pos1.y, pos2.z))
  42. end
  43.  
  44. function DetectSurface(pos, part)
  45. local surface = nil
  46. local pospos = part.CFrame
  47. local pos2 = pospos:pointToObjectSpace(pos)
  48. local siz = part.Size
  49. local shaep = part.Shape
  50. if shaep == Enum.PartType.Ball or shaep == Enum.PartType.Cylinder then
  51. surface = {"Anything", CN(pospos.p, pos)*CN(0, 0, -(pospos.p - pos).magnitude)*CA(MR(-90), 0, 0)}
  52. else
  53. if pos2.Y > ((siz.Y/2)-0.04) then
  54. surface = {"Top", CA(0, 0, 0)}
  55. elseif pos2.Y < -((siz.Y/2)-0.04) then
  56. surface = {"Bottom", CA(-MP, 0, 0)}
  57. elseif pos2.X > ((siz.X/2)-0.04) then
  58. surface = {"Right", CA(0, 0, MR(-90))}
  59. elseif pos2.X < -((siz.X/2)-0.04) then
  60. surface = {"Left", CA(0, 0, MR(90))}
  61. elseif pos2.Z > ((siz.Z/2)-0.04) then
  62. surface = {"Back", CA(MR(90), 0, 0)}
  63. elseif pos2.Z < -((siz.Z/2)-0.04) then
  64. surface = {"Front", CA(MR(-90), 0, 0)}
  65. end
  66. end
  67. return surface
  68. end
  69.  
  70. function Compute(pos1, pos2)
  71. local pos3 = Vector3.new(pos2.x, pos1.y, pos2.z)
  72. return CN(pos1, pos3)
  73. end
  74.  
  75. function waitChild(n, p)
  76. local c = p:findFirstChild(n)
  77. if c then return c end
  78. while true do
  79. c = p.ChildAdded:wait()
  80. if c.Name == n then return c end
  81. end
  82. end
  83.  
  84. function Notime(func)
  85. coroutine.resume(coroutine.create(function()
  86. func()
  87. end))
  88. end
  89.  
  90. Torso = waitChild("Torso", Char)
  91. Head = waitChild("Head", Char)
  92. Rarm = waitChild("Right Arm", Char)
  93. Larm = waitChild("Left Arm", Char)
  94. Rleg = waitChild("Right Leg", Char)
  95. Lleg = waitChild("Left Leg", Char)
  96. Neck = waitChild("Neck", Torso)
  97. Hum = waitChild("Humanoid", Char)
  98.  
  99. RSH = waitChild("Right Shoulder", Torso)
  100. LSH = waitChild("Left Shoulder", Torso)
  101. RH = waitChild("Right Hip", Torso)
  102. LH = waitChild("Left Hip", Torso)
  103.  
  104. RSH.Part0 = Torso
  105. LSH.Part0 = Torso
  106. RH.Part0 = Torso
  107. LH.Part0 = Torso
  108.  
  109. Add = {
  110. Mesh = function(P, ID, Scale, Tex)
  111. local m = Instance.new("SpecialMesh")
  112. m.MeshType = "FileMesh"
  113. m.MeshId = ID or ""
  114. m.Scale = Scale or V3(1, 1, 1)
  115. m.TextureId = Tex or ""
  116. m.Parent = P
  117. return m
  118. end,
  119. Sphere = function(P, Scale)
  120. local m = Instance.new("SpecialMesh")
  121. m.MeshType = "Sphere"
  122. m.Scale = Scale or V3(1, 1, 1)
  123. m.Parent = P
  124. return m
  125. end
  126. }
  127.  
  128. Sounds = {
  129. Shoot = {Id = "http://www.roblox.com/asset/?id=2697431", Pitch = 0.3, Volume = 0.5},
  130. Boom = {Id = "http://www.roblox.com/asset/?id=2692806", Pitch = 0.55, Volume = 0.4},
  131. Slash = {Id = "rbxasset://sounds//swordslash.wav", Pitch = 0.5, Volume = 0.5},
  132. Hit = {Id = "http://www.roblox.com/asset/?id=2801263", Pitch = 0.85, Volume = 0.35},
  133. Reload = {Id = "rbxasset://sounds\\metal.ogg", Pitch = 1, Volume = 0.45},
  134. }
  135.  
  136. for _,v in pairs(Sounds) do
  137. ContentProvider:Preload(v.Id)
  138. end
  139.  
  140. function PlaySound(Sound, bool)
  141. local s = Instance.new("Sound")
  142. s.Looped = false
  143. s.Volume = Sound.Volume
  144. s.SoundId = Sound.Id
  145. if bool then
  146. s.Pitch = MRA((Sound.Pitch*0.75)*1000, (Sound.Pitch*1.15)*1000)/1000
  147. else
  148. s.Pitch = Sound.Pitch
  149. end
  150. s.PlayOnRemove = true
  151. s.Parent = Torso
  152. Notime(function()
  153. wait(0)
  154. s.Parent = nil
  155. end)
  156. end
  157.  
  158. function GetParts(pos, dist)
  159. local parts = {}
  160. local function o(p)
  161. for _,v in pairs(p:children()) do
  162. if v:IsA("BasePart") then
  163. if (pos - v.Position).magnitude <= dist then
  164. table.insert(parts, {v, (pos - v.Position).magnitude, v.Anchored})
  165. end
  166. end
  167. o(v)
  168. end
  169. end
  170. o(workspace)
  171. return parts
  172. end
  173.  
  174. function GetHum(P)
  175. for _,v in pairs(P:children()) do
  176. if v:IsA("Humanoid") then
  177. if v.Health > 0 then
  178. return v
  179. end
  180. end
  181. end
  182. end
  183.  
  184. function GetGroup(Pos, Distance, Hit)
  185. local tab = {}
  186. for _,v in pairs(workspace:children()) do
  187. local h = GetHum(v)
  188. local t = v:findFirstChild("Torso")
  189. if h and t and v ~= Hit.Parent then
  190. if (t.Position - Pos).magnitude <= Distance then
  191. table.insert(tab, {h, v, (t.Position - Pos).magnitude})
  192. end
  193. end
  194. end
  195. if Hit then
  196. local h = GetHum(Hit.Parent)
  197. if h then
  198. table.insert(tab, {h, Hit.Parent, 0})
  199. end
  200. end
  201. return tab
  202. end
  203.  
  204. function Tag(hum)
  205. if PlaceId == 48513881 then
  206. local tag = Instance.new("ObjectValue")
  207. tag.Name = "creator"
  208. tag.Value = Me
  209. tag.Parent = hum
  210. end
  211. end
  212.  
  213. function Part(Par, Anc, Colli, Tran, Ref, Col, Siz)
  214. local p = Instance.new("Part")
  215. p.formFactor = "Custom"
  216. p.TopSurface = 0
  217. p.BottomSurface = 0
  218. p.Transparency = Tran
  219. p.Reflectance = Ref
  220. p.Anchored = Anc
  221. p.CanCollide = Colli
  222. p.BrickColor = Col
  223. p.Size = Siz
  224. p.Locked = true
  225. p.Parent = Par
  226. p:BreakJoints()
  227. return p
  228. end
  229.  
  230. function Weld(P0, P1, C0, C1)
  231. local w = Instance.new("Weld")
  232. w.Part0 = P0
  233. w.Part1 = P1
  234. if C0 then
  235. w.C0 = C0
  236. end
  237. if C1 then
  238. w.C1 = C1
  239. end
  240. w.Parent = P0
  241. return w
  242. end
  243.  
  244. for _,v in pairs(Char:children()) do
  245. if v.Name == "Hand Cannon" then
  246. v:remove()
  247. end
  248. end
  249.  
  250. Model = Instance.new("Model")
  251. Model.Name = "Hand Cannon"
  252.  
  253. FTorso = Part(Model, false, false, 1, 0, Torso.BrickColor, V3(2, 2, 1))
  254. FW = Weld(Torso, FTorso)
  255.  
  256. RAB = Part(Model, false, false, 1, 0, BN("White"), V3(0.2, 0.2, 0.2))
  257. LAB = Part(Model, false, false, 1, 0, BN("White"), V3(0.2, 0.2, 0.2))
  258. RLB = Part(Model, false, false, 1, 0, BN("White"), V3(0.2, 0.2, 0.2))
  259. LLB = Part(Model, false, false, 1, 0, BN("White"), V3(0.2, 0.2, 0.2))
  260.  
  261. RABW = Weld(Torso, RAB, CN(), CN(-1.5, -0.5, 0))
  262. LABW = Weld(Torso, LAB, CN(), CN(1.5, -0.5, 0))
  263. RLBW = Weld(Torso, RLB, CN(), CN(-0.5, 1, 0))
  264. LLBW = Weld(Torso, LLB, CN(), CN(0.5, 1, 0))
  265.  
  266. RAW = Weld(RAB, nil, CN(), CN(0, 0.5, 0))
  267. LAW = Weld(LAB, nil, CN(), CN(0, 0.5, 0))
  268. RLW = Weld(RLB, nil, CN(), CN(0, 1, 0))
  269. LLW = Weld(LLB, nil, CN(), CN(0, 1, 0))
  270.  
  271. TW = Weld(Torso, nil, CN(0.7, 0.8, 1.2), CA(0, MR(180), MR(55)))
  272.  
  273. Weapon = Instance.new("Model")
  274. Weapon.Name = "Cannon"
  275.  
  276. HB = Part(Weapon, false, false, 1, 0, BN("White"), V3(0.2, 0.2, 0.2))
  277. HBW = Weld(Rarm, HB, CN(0, -0.7, 0), CA(0, MR(90), MR(90)))
  278. HW = Weld(HB, nil)
  279.  
  280. Handle = Part(Weapon, false, false, 0, 0, BN("Dark grey"), V3(0.5, 0.5, 0.3))
  281. Add.Mesh(Handle, "http://www.roblox.com/asset/?id=3270017", V3(1, 0.7, 2.2), "")
  282. TW.Part1 = Handle
  283.  
  284. Main = Part(Weapon, false, false, 0, 0, BN("Dark grey"), V3(1.5, 1.5, 2.5))
  285. Add.Mesh(Main, "http://www.roblox.com/asset/?id=3270017", V3(1.6, 1.6, 15), "")
  286. Weld(Handle, Main, CA(0, MR(90), MR(90)), CN(1, 0, 0.2))
  287.  
  288. Main2 = Part(Weapon, false, false, 0, 0, BN("Gun metallic"), V3(1, 1, 1.5))
  289. Add.Mesh(Main2, "http://www.roblox.com/asset/?id=3270017", V3(1.2, 1.2, 8), "")
  290. Weld(Main, Main2, CN(), CN(0, 0, 1.7))
  291.  
  292. Handle2 = Part(Weapon, false, false, 0, 0, BN("Dark grey"), V3(0.5, 0.5, 0.3))
  293. Add.Mesh(Handle2, "http://www.roblox.com/asset/?id=3270017", V3(0.7, 0.8, 2.2), "")
  294. Weld(Main2, Handle2, CA(0, MR(90), MR(90)), CN(-0.65, 0, 0))
  295.  
  296. Tip = Part(Weapon, false, false, 0, 0, BN("Earth yellow"), V3(1.6, 1.6, 0.6))
  297. Add.Sphere(Tip, V3(1.05, 1.05, 1))
  298. Weld(Main, Tip, CN(), CN(0, 0, -1.15))
  299.  
  300. Tip4 = Part(Weapon, false, false, 0, 0, BN("Black"), V3(1.2, 1.2, 0.3))
  301. Add.Mesh(Tip4, "http://www.roblox.com/asset/?id=3270017", V3(1.7, 1.7, 10), "")
  302. Weld(Main, Tip4, CN(), CN(0, 0, -0.15))
  303.  
  304. for i = 1.3, 1.45, 0.1 do
  305. local Tip3 = Part(Weapon, false, false, 0, 0, BN("Dark grey"), V3(1.2, 1.2, 0.3))
  306. Add.Mesh(Tip3, "http://www.roblox.com/asset/?id=3270017", V3(i, i, 2), "")
  307. Weld(Main2, Tip3, CN(), CN(0, 0, 0.6))
  308. end
  309.  
  310. for i = -0.95, 0.66, 1.55 do
  311. local Tip3 = Part(Weapon, false, false, 0, 0, BN("Dark Curry"), V3(1.2, 1.2, 0.3))
  312. Add.Mesh(Tip3, "http://www.roblox.com/asset/?id=3270017", V3(1.65, 1.65, 3), "")
  313. Weld(Main, Tip3, CN(), CN(0, 0, i))
  314. end
  315.  
  316. for i = 1.3, 1.5, 0.1 do
  317. local Tip2 = Part(Weapon, false, false, 0, 0, BN("Earth yellow"), V3(1.6, 1.6, 0.6))
  318. Add.Mesh(Tip2, "http://www.roblox.com/asset/?id=3270017", V3(i, i, 2), "")
  319. Weld(Main, Tip2, CN(), CN(0, 0, 1.1))
  320. end
  321.  
  322. for i = -0.3, 1, 0.15 do
  323. local p = Part(Weapon, false, false, 0.7, 0, BN("Black"), V3(0.2, 0.2, 0.2))
  324. Add.Sphere(p, V3(6, 6, 2))
  325. Weld(Main2, p, CN(0, 0, i))
  326. end
  327.  
  328. function Show_Damage(P, D)
  329. local mo = Instance.new("Model")
  330. mo.Name = "- "..D
  331. local p = Part(mo, false, false, 0, 0, BN("Bright red"), V3(0.2, 0.2, 0.2))
  332. p.Name = "Head"
  333. local m = Instance.new("SpecialMesh")
  334. m.MeshType = "Brick"
  335. m.Scale = Vector3.new(4.5, 2.3, 4.5)
  336. m.Parent = p
  337. local bp = Instance.new("BodyPosition", p)
  338. bp.maxForce = V3(MH, MH, MH)
  339. bp.P = 9001
  340. bp.position = CN(P) * CN(0, 1.5, 0).p
  341. local h = Instance.new("Humanoid")
  342. h.Health = 0
  343. h.MaxHealth = 0
  344. h.Name = "asd"
  345. h.Parent = mo
  346. local nah = true
  347. mo.Parent = workspace
  348. p.CFrame = CN(P)
  349. Notime(function()
  350. wait(0)
  351. for i = 0, 1, 0.05 do
  352. p.Transparency = i
  353. if nah then mo.Name = "" nah = false else mo.Name = "- "..D nah = true end
  354. wait(0)
  355. end
  356. mo:remove()
  357. end)
  358. end
  359.  
  360. function Kill(hit)
  361. if Debounce and Hurt then
  362. local Hu = GetHum(hit.Parent)
  363. if Hu then
  364. Debounce = false
  365. local Dmg = MRA(Damage[1], Damage[2])
  366. Hu.Health = Hu.Health - Dmg
  367. Show_Damage(Tip.Position, Dmg)
  368. PlaySound(Sounds.Hit, true)
  369. Tag(Hu)
  370. local chance = MRA(1, 10)
  371. if chance >=5 then
  372. Hu.PlatformStand = true
  373. wait(0)
  374. hit.Velocity = (CN(Torso.CFrame * CN(0, 0.5, 0).p, hit.Position).lookVector * 45)
  375. hit.RotVelocity = V3(MRA(-10, 10), MRA(-10, 10), MRA(-10, 10))
  376. wait(0)
  377. Hu.PlatformStand = false
  378. end
  379. end
  380. end
  381. end
  382.  
  383. Main.Touched:connect(Kill)
  384.  
  385. Weapon.Parent = Model
  386. Model.Parent = Char
  387.  
  388. if script.Parent.className ~= "HopperBin" then
  389. h = Instance.new("HopperBin", Me.Backpack)
  390. h.Name = "Hand Cannon"
  391. script.Parent = h
  392. end
  393.  
  394. bin = script.Parent
  395.  
  396. function Attach(t)
  397. RSH.Part0 = t
  398. LSH.Part0 = t
  399. RH.Part0 = t
  400. LH.Part0 = t
  401. RABW.Part0 = t
  402. LABW.Part0 = t
  403. LLBW.Part0 = t
  404. RLBW.Part0 = t
  405. if t == Torso then
  406. FTorso.Transparency = 1
  407. else
  408. Torso.Transparency = 1
  409. end
  410. t.Transparency = 0
  411. end
  412.  
  413. function SelectAnim()
  414. RAW.Part1 = Rarm
  415. for i = 0.25, 1, 0.25 do
  416. RAW.C0 = CA(MR(-10*i), 0, MR(-5*i))
  417. wait(0)
  418. end
  419. for i = 0.1, 1, 0.1 do
  420. RAW.C0 = CA(MR(-10-90*i), 0, MR(-5-30*i))
  421. wait(0)
  422. end
  423. for i = 0.5, 1, 0.5 do
  424. RAW.C0 = CA(MR(-100-5*i), 0, MR(-35))
  425. wait(0)
  426. end
  427. HW.Part1 = Handle
  428. HW.C0 = CA(MR(50), 0, MR(-37))
  429. TW.Part1 = nil
  430. Attach(FTorso)
  431. LAW.Part1 = Larm
  432. for i = 0.25, 1, 0.25 do
  433. RAW.C0 = CA(MR(-105+10*i), 0, MR(-35+5*i))
  434. LAW.C0 = CA(MR(15*i), 0, MR(5*i))
  435. FW.C0 = CA(0, MR(-5*i), 0)
  436. HW.C0 = CA(MR(50-5*i), 0, MR(-37))
  437. wait(0)
  438. end
  439. for i = 0.06, 1, 0.06 do
  440. RAW.C0 = CA(MR(-95+95*i), MR(35*i), MR(-30+50*i))
  441. LAW.C0 = CA(MR(15+25*i), 0, MR(5+15*i)) * CN(0, -0.4*i, 0)
  442. FW.C0 = CA(0, MR(-5-30*i), 0)
  443. HW.C0 = CA(MR(45), 0, MR(-37+15*i))
  444. wait(0)
  445. end
  446. Hum.WalkSpeed = 10
  447. for i = 0.1, 1, 0.1 do
  448. RAW.C0 = CA(MR(15*i), MR(35+10*i), MR(20+8*i))
  449. LAW.C0 = CA(MR(40+7*i), 0, MR(20+6*i)) * CN(0, -0.4-0.2*i, 0)
  450. FW.C0 = CA(0, MR(-35-10*i), 0)
  451. HW.C0 = CA(MR(45-11*i), 0, MR(-22+15*i))
  452. wait(0)
  453. end
  454. for i = 0.25, 1, 0.25 do
  455. RAW.C0 = CA(MR(15+5*i), MR(45+5*i), MR(28+2*i))
  456. LAW.C0 = CA(MR(47+3*i), 0, MR(26+4*i)) * CN(0, -0.6, 0)
  457. FW.C0 = CA(0, MR(-45-5*i), 0)
  458. HW.C0 = CA(MR(34-4*i), 0, MR(-7+7*i))
  459. wait(0)
  460. end
  461. end
  462.  
  463. function DeselAnim()
  464. for i = 0.25, 1, 0.25 do
  465. RAW.C0 = CA(MR(20-5*i), MR(50-5*i), MR(30-5*i))
  466. LAW.C0 = CA(MR(50-5*i), 0, MR(30-5*i)) * CN(0, -0.6+0.1*i, 0)
  467. FW.C0 = CA(0, MR(-50+5*i), 0)
  468. HW.C0 = CA(MR(30+5*i), 0, MR(-10*i))
  469. wait(0)
  470. end
  471. for i = 0.15, 1, 0.15 do
  472. RAW.C0 = CA(MR(15-30*i), MR(45-10*i), MR(25-5*i))
  473. LAW.C0 = CA(MR(45-20*i), 0, MR(25-15*i)) * CN(0, -0.5+0.2*i, 0)
  474. FW.C0 = CA(0, MR(-45+10*i), 0)
  475. HW.C0 = CA(MR(35+10*i), 0, MR(-10-15*i))
  476. wait(0)
  477. end
  478. for i = 0.12, 1, 0.12 do
  479. RAW.C0 = CA(MR(-15-70*i), MR(35-30*i), MR(20-30*i))
  480. LAW.C0 = CA(MR(25-25*i), 0, MR(10-10*i)) * CN(0, -0.3+0.3*i, 0)
  481. FW.C0 = CA(0, MR(-35+20*i), 0)
  482. HW.C0 = CA(MR(45+5*i), 0, MR(-25-12*i))
  483. wait(0)
  484. end
  485. LAW.Part1 = nil
  486. HW.C0 = CA(MR(50), 0, MR(-37))
  487. for i = 0.25, 1, 0.25 do
  488. RAW.C0 = CA(MR(-85-20*i), MR(5-5*i), MR(-10-25*i))
  489. FW.C0 = CA(0, MR(-15+15*i), 0)
  490. wait(0)
  491. end
  492. Attach(Torso)
  493. HW.Part1 = nil
  494. TW.Part1 = Handle
  495. Hum.WalkSpeed = 16
  496. for i = 0.15, 1, 0.15 do
  497. RAW.C0 = CA(MR(-105+95*i), 0, MR(-35+30*i))
  498. wait(0)
  499. end
  500. for i = 0.33, 1, 0.33 do
  501. RAW.C0 = CA(MR(-10+10*i), 0, MR(-5+5*i))
  502. wait(0)
  503. end
  504. RAW.Part1 = nil
  505. end
  506.  
  507. --Norms:
  508. --RAW.C0 = CA(MR(20), MR(50), MR(30))
  509. --LAW.C0 = CA(MR(50), 0, MR(30)) * CN(0, -0.6, 0)
  510. --FW.C0 = CA(0, MR(-50), 0)
  511. --HW.C0 = CA(MR(30), 0, 0)
  512. --
  513. --
  514.  
  515. function Explode(Par, Pos, surface)
  516. Notime(function()
  517. local cf = CN(Pos) * CA(Par.CFrame:toEulerAnglesXYZ()) * surface[2] * CN(0, 1, 0)
  518. if surface[1] == "Anything" then
  519. cf = surface[2]
  520. end
  521. local col = Par.BrickColor.Color
  522. local r, g, b = col.r, col.g, col.b
  523. local col1, col2, col3 = C3(MRA(r*60, r*100)/100, MRA(g*60, g*100)/100, MRA(b*60, b*100)/100), C3(MRA(r*60, r*100)/100, MRA(g*60, g*100)/100, MRA(b*60, b*100)/100), C3(MRA(r*60, r*100)/100, MRA(g*60, g*100)/100, MRA(b*60, b*100)/100)
  524. local p = Part(workspace, true, false, 0, 0, BN(col1.r, col1.g, col1.b), V3(0.2, 0.2, 0.2))
  525. local p2 = Part(workspace, true, false, 0, 0, BN(col2.r, col2.g, col2.b), V3(0.2, 0.2, 0.2))
  526. local p3 = Part(workspace, true, false, 0, 0, BN(col3.r, col3.g, col3.b), V3(0.2, 0.2, 0.2))
  527. p.CFrame = cf
  528. p2.CFrame = cf
  529. p3.CFrame = cf
  530. local m = Add.Mesh(p, "http://www.roblox.com/asset/?id=20329976", V3(1, 1, 1))
  531. local m2 = Add.Mesh(p2, "http://www.roblox.com/asset/?id=20329976", V3(1, 1, 1))
  532. local m3 = Add.Mesh(p3, "http://www.roblox.com/asset/?id=20329976", V3(1, 1, 1))
  533. for i = -0.2, 1, 0.12 do
  534. p2.Transparency = i+0.1
  535. p.Transparency = i
  536. p3.Transparency = i+0.2
  537. m.Scale = V3(1+2.5*i, 1.4+1*i, 1+2.5*i)
  538. m2.Scale = V3(0.8+2*i, 1.2+1*i, 0.8+2*i)
  539. m3.Scale = V3(0.5+1*i, 1+1*i, 0.5+1*i)
  540. wait(0)
  541. end
  542. p2:remove()
  543. p3:remove()
  544. p:remove()
  545. end)
  546. end
  547.  
  548. function Shoot(Pos)
  549. coroutine.resume(coroutine.create(function()
  550. local acc = Accuracy*100
  551. local Start = Main2.CFrame * CN(0, 0, -0.5).p
  552. local Face = CN(Start, Pos) * CA(MR(MRA(-acc, acc))/100, MR(MRA(-acc, acc))/100, MR(MRA(-acc, acc))/100)
  553. local Cannonball = Part(Model, true, false, 0, 0, BN("Black"), V3(1.3, 1.3, 1.3))
  554. Add.Sphere(Cannonball)
  555. Cannonball.CFrame = Face
  556. local Go = 3
  557. local Drop = 0.55/(Go*3)
  558. local Dist = 500
  559. local lastP = Start
  560. local omg = 0
  561. for i = Go, Dist, Go do
  562. Drop = Drop + 1/(Go*3)
  563. omg = omg + Drop
  564. local dropping = CA(MR(-Drop), 0, 0)
  565. if omg > 130 then
  566. dropping = CN()
  567. end
  568. Face = Face * dropping * CN(0, 0, -Go)
  569. Cannonball.CFrame = Face
  570. local Magn = (Face.p - lastP).magnitude
  571. local T = Part(Model, true, false, 0.1, 0, BN("Mid gray"), V3(0.2, 1, 0.2))
  572. local M = Instance.new("SpecialMesh",T)
  573. M.MeshType = "Head"
  574. M.Scale = V3(5, Magn, 5)
  575. T.CFrame = CN(lastP, Face.p) * CA(MR(-90), 0, 0) * CN(0, Magn/2, 0)
  576. Notime(function()
  577. wait(0)
  578. for i = 0.1, 1, 0.1 do
  579. T.Transparency = i+0.1
  580. M.Scale = V3(5-5*i, Magn+0.5, 5-5*i)
  581. wait(0)
  582. end
  583. T:remove()
  584. end)
  585. local Hit, Hitpos = RayC(lastP, Face.p, Go*2, Char)
  586. lastP = Face.p
  587. if Hit then
  588. PlaySound(Sounds.Boom, true)
  589. local s = DetectSurface(Hitpos, Hit)
  590. Explode(Hit, Hitpos, s)
  591. Cannonball.CFrame = CN(Hitpos)
  592. local hu = GetHum(Hit.Parent)
  593. if hu == nil and Hit.Parent.className ~= "Hat" and Hit.Anchored then
  594. coroutine.resume(coroutine.create(function()
  595. wait(0)
  596. for i = 0, 1, 0.04 do
  597. Cannonball.Transparency = i
  598. wait(0)
  599. end
  600. Cannonball:remove()
  601. end))
  602. else
  603. Cannonball:remove()
  604. end
  605. local Noobs = GetGroup(Hitpos, 5, Hit)
  606. for _,v in pairs(Noobs) do
  607. local dm = 60/((v[3]+3)/3)
  608. dm = MRA(dm*0.9, dm*1.04)
  609. v[1].Health = v[1].Health - dm
  610. local t = v[2]:findFirstChild("Head")
  611. if t then
  612. Show_Damage(t.Position, dm)
  613. end
  614. pcall(function()
  615. Tag(v[1])
  616. end)
  617. end
  618. local Parts = GetParts(Hitpos, 7)
  619. for _,v in pairs(Parts) do
  620. if v[3] == false then
  621. Notime(function()
  622. if v[1].Name == "Brick wall" then
  623. v[1]:BreakJoints()
  624. v[1].Velocity = (CN(Hitpos, v[1].Position).lookVector * (110/((v[2]+2)/3)))
  625. wait(0)
  626. v[1].Velocity = (CN(Hitpos, v[1].Position).lookVector * (110/((v[2]+2)/3)))
  627. else
  628. v[1].Velocity = (CN(Hitpos, v[1].Position).lookVector * (80/((v[2]+2)/3)))
  629. end
  630. end)
  631. end
  632. end
  633. break
  634. end
  635. wait(0)
  636. end
  637. end))
  638. end
  639.  
  640. function ShootAnim(pos)
  641. RLW.Part1 = Rleg
  642. LLW.Part1 = Lleg
  643. local cf = ComputePos(Torso.Position, pos)
  644. local bp = Instance.new("BodyPosition",Torso)
  645. bp.maxForce = V3(MH, 0, MH)
  646. bp.P = 10000
  647. PlaySound(Sounds.Shoot, true)
  648. local effect = Part(Model, false, false, 0, 0, BN(ShootColors[MRA(1,#ShootColors)]), V3(0.2, 0.2, 0.2))
  649. local effect2 = Part(Model, false, false, 0, 0, BN(ShootColors[MRA(1,#ShootColors)]), V3(0.2, 0.2, 0.2))
  650. local m1 = Add.Mesh(effect, "http://www.roblox.com/asset/?id=20329976", V3(1,1,1))
  651. local m2 = Add.Mesh(effect2, "http://www.roblox.com/asset/?id=20329976", V3(1,1,1))
  652. local w1 = Weld(Main2, effect, CA(MR(-90), 0, 0), CN(0, -1, 0))
  653. local w2 = Weld(Main2, effect2, CA(MR(-90), 0, 0), CN(0, -1, 0))
  654. for i = 0, 1, 0.5 do
  655. RAW.C0 = CA(MR(20-50*i), MR(50-25*i), MR(30+45*i))
  656. LAW.C0 = CA(MR(50-10*i), 0, MR(30+20*i)) * CN(0, -0.6-0.3*i, 0)
  657. RLW.C0 = CA(MR(30*i), 0, MR(-15*i))
  658. LLW.C0 = CA(MR(10*i), 0, MR(-35*i))
  659. FW.C0 = CA(MR(5*i), MR(-50-15*i), 0)
  660. HW.C0 = CA(MR(30), MR(35*i), MR(-25*i))
  661. Neck.C0 = necko * CA(MR(10*i), 0, 0)
  662. bp.position = cf * CN(0, 0, 3*i).p
  663. m1.Scale = V3(0.5+0.6*i, 0.4+0.2*i, 0.5+0.6*i)
  664. m2.Scale = V3(0.3+0.5*i, 0.5+1*i, 0.3+0.5*i)
  665. w1.C1 = CN(0, -1-0.2*i, 0)
  666. w2.C1 = CN(0, -1-0.5*i, 0)
  667. effect.Transparency = 0.2*i
  668. effect2.Transparency = 0.2*i
  669. wait(0)
  670. end
  671. for i = 0.2, 1, 0.2 do
  672. RAW.C0 = CA(MR(-30-10*i), MR(25-5*i), MR(75+5*i))
  673. LAW.C0 = CA(MR(40-5*i), 0, MR(50+5*i)) * CN(0, -0.9-0.05*i, 0)
  674. RLW.C0 = CA(MR(30+5*i), 0, MR(-15))
  675. LLW.C0 = CA(MR(10+5*i), 0, MR(-35-5*i))
  676. FW.C0 = CA(MR(5+5*i), MR(-65-5*i), 0)
  677. HW.C0 = CA(MR(30), MR(35+5*i), MR(-25-5*i))
  678. Neck.C0 = necko * CA(MR(10+5*i), 0, 0)
  679. bp.position = cf * CN(0, 0, 3+1*i).p
  680. m1.Scale = V3(1+1*i, 0.7+0.9*i, 1+1*i)
  681. m2.Scale = V3(0.8+0.6*i, 1.5+1.6*i, 0.8+0.6*i)
  682. w1.C1 = CN(0, -1.2-0.6*i, 0)
  683. w2.C1 = CN(0, -1.5-1.8*i, 0)
  684. effect.Transparency = 0.2+0.9*i
  685. effect2.Transparency = 0.2+0.9*i
  686. wait(0)
  687. end
  688. effect:remove()
  689. effect2:remove()
  690. for i = 0.2, 1, 0.2 do
  691. bp.position = cf * CN(0, 0, 4+0.8*i).p
  692. wait(0)
  693. end
  694. for i = 0.08, 1, 0.06 do
  695. RAW.C0 = CA(MR(-40+50*i), MR(20+15*i), MR(80-35*i))
  696. LAW.C0 = CA(MR(35-30*i), 0, MR(55-45*i)) * CN(0, -0.95+0.5*i, 0)
  697. RLW.C0 = CA(MR(35-35*i), 0, MR(-15+25*i))
  698. LLW.C0 = CA(MR(15-15*i), 0, MR(-40+30*i))
  699. FW.C0 = CA(MR(10-7*i), MR(-70+40*i), 0)
  700. HW.C0 = CA(MR(30), MR(40-40*i), MR(-30-10*i))
  701. Neck.C0 = necko * CA(MR(15+5*i), 0, MR(20*i))
  702. bp.position = cf * CN(0, 0, 4.8+0.8*i).p
  703. wait(0)
  704. end
  705. bp:remove()
  706. for i = 0.33, 1, 0.33 do
  707. RAW.C0 = CA(MR(10+10*i), MR(35+5*i), MR(45-5*i))
  708. LAW.C0 = CA(MR(5), 0, MR(10)) * CN(0, -0.45+0.1*i, 0)
  709. FW.C0 = CA(MR(3-3*i), MR(-30+5*i), 0)
  710. HW.C0 = CA(MR(30), 0, MR(-40-10*i))
  711. wait(0)
  712. end
  713. for i = 0.12, 1, 0.12 do
  714. RAW.C0 = CA(MR(20+5*i), MR(40+5*i), MR(40+5*i))
  715. LAW.C0 = CA(MR(5), 0, MR(10)) * CN(0, -0.35-0.3*i, 0)
  716. FW.C0 = CA(0, MR(-25+5*i), 0)
  717. HW.C0 = CA(MR(30), 0, MR(-50-5*i))
  718. wait(0)
  719. end
  720. local b = Part(Model, false, false, 0, 0, BN("Black"), V3(1.1, 1.1, 1.1))
  721. local m = Add.Sphere(b)
  722. local w = Weld(Larm, b, CN(), CN(0, 1.4, 0))
  723. for i = 0.16, 1, 0.16 do
  724. LAW.C0 = CA(MR(5+30*i), 0, MR(10+10*i)) * CN(0, -0.65+0.65*i, 0)
  725. RAW.C0 = CA(MR(25), MR(45+3*i), MR(40))
  726. m.Scale = V3(0.5+0.5*i, 0.5+0.5*i, 0.5+0.5*i)
  727. Neck.C0 = necko * CA(MR(20-10*i), 0, MR(20-15*i))
  728. wait(0)
  729. end
  730. for i = 0.1, 1, 0.1 do
  731. LAW.C0 = CA(MR(35+105*i), 0, MR(20+20*i)) * CN(0, -0.9*i, 0)
  732. RAW.C0 = CA(MR(25), MR(48+6*i), MR(40))
  733. Neck.C0 = necko * CA(MR(10-10*i), 0, MR(5-35*i))
  734. wait(0)
  735. end
  736. for i = 0.16, 1, 0.16 do
  737. LAW.C0 = CA(MR(140-10*i), 0, MR(40-15*i)) * CN(0, -0.9-0.2*i, 0)
  738. RAW.C0 = CA(MR(25), MR(54), MR(40))
  739. Neck.C0 = necko * CA(MR(5*i), 0, MR(-30))
  740. w.C0 = CN(1.5*i, 0.55*i, 1.1*i)
  741. wait(0)
  742. end
  743. PlaySound(Sounds.Reload, true)
  744. b:remove()
  745. w:remove()
  746. for i = 0.2, 1, 0.2 do
  747. LAW.C0 = CA(MR(130-10*i), 0, MR(25-15*i)) * CN(0, -1.1+0.2*i, 0)
  748. RAW.C0 = CA(MR(25-10*i), MR(54), MR(40))
  749. Neck.C0 = necko * CA(MR(5-3*i), 0, MR(-30+5*i))
  750. HW.C0 = CA(MR(30), 0, MR(-55+10*i))
  751. FW.C0 = CA(0, MR(-20-5*i), 0)
  752. wait(0)
  753. end
  754. for i = 0.11, 1, 0.11 do
  755. LAW.C0 = CA(MR(120-60*i), 0, MR(10+15*i)) * CN(0, -0.9+0.3*i, 0)
  756. RAW.C0 = CA(MR(15+5*i), MR(54-4*i), MR(40-10*i))
  757. Neck.C0 = necko * CA(MR(2-2*i), 0, MR(-25+25*i))
  758. HW.C0 = CA(MR(30), 0, MR(-45+45*i))
  759. FW.C0 = CA(0, MR(-25-20*i), 0)
  760. RLW.C0 = CA(0, 0, MR(10-8*i))
  761. LLW.C0 = CA(0, 0, MR(-10+8*i))
  762. wait(0)
  763. end
  764. Neck.C0 = necko
  765. for i = 0.25, 1, 0.25 do
  766. LAW.C0 = CA(MR(60-10*i), 0, MR(25+5*i)) * CN(0, -0.6, 0)
  767. RAW.C0 = CA(MR(20), MR(50), MR(30))
  768. HW.C0 = CA(MR(30), 0, 0)
  769. FW.C0 = CA(0, MR(-45-5*i), 0)
  770. RLW.C0 = CA(0, 0, MR(2-2*i))
  771. LLW.C0 = CA(0, 0, MR(-2+2*i))
  772. wait(0)
  773. end
  774. RLW.Part1 = nil
  775. LLW.Part1 = nil
  776. RAW.C0 = CA(MR(20), MR(50), MR(30))
  777. LAW.C0 = CA(MR(50), 0, MR(30)) * CN(0, -0.6, 0)
  778. FW.C0 = CA(0, MR(-50), 0)
  779. HW.C0 = CA(MR(30), 0, 0)
  780. Neck.C0 = necko
  781. end
  782.  
  783. function Melee()
  784. PlaySound(Sounds.Slash, true)
  785. for i = 0.25, 1, 0.25 do
  786. RAW.C0 = CA(MR(20+5*i), MR(50-5*i), MR(30+3*i))
  787. LAW.C0 = CA(MR(50), 0, MR(30+4*i)) * CN(0, -0.6-0.05*i, 0)
  788. HW.C0 = CA(MR(30), MR(5*i), 0)
  789. FW.C0 = CA(0, MR(-50-5*i), 0)
  790. wait(0)
  791. end
  792. for i = 0.12, 1, 0.12 do
  793. RAW.C0 = CA(MR(25+25*i), MR(45-30*i), MR(33+7*i))
  794. LAW.C0 = CA(MR(50), 0, MR(34+11*i)) * CN(0, -0.65-0.25*i, 0)
  795. HW.C0 = CA(MR(30), MR(5+25*i), 0)
  796. FW.C0 = CA(0, MR(-55-25*i), 0)
  797. wait(0)
  798. end
  799. for i = 0.33, 1, 0.33 do
  800. RAW.C0 = CA(MR(50+15*i), MR(15-5*i), MR(40-10*i)) * CN(0, -0.2*i, 0)
  801. LAW.C0 = CA(MR(50+10*i), 0, MR(45-5*i)) * CN(0, -0.9+0.15*i, 0)
  802. HW.C0 = CA(MR(30+2*i), MR(30+5*i), 0)
  803. FW.C0 = CA(0, MR(-80+10*i), MR(-5*i))
  804. wait(0)
  805. end
  806. Hurt = true
  807. Debounce = true
  808. for i = 0.07, 1, 0.07 do
  809. RAW.C0 = CA(MR(65+55*i), MR(10), MR(30-70*i)) * CN(0, -0.2-1.1*i, 0)
  810. LAW.C0 = CA(MR(60+120*i), 0, MR(40-70*i)) * CN(0, -0.75+0.7*i, 0)
  811. HW.C0 = CA(MR(32+6*i), MR(35+20*i), MR(-4*i))
  812. FW.C0 = CA(0, MR(-70+110*i), 0)
  813. wait(0)
  814. end
  815. for i = 0.16, 1, 0.16 do
  816. RAW.C0 = CA(MR(120+10*i), MR(10), MR(-40-5*i)) * CN(0, -1.3-0.1*i, 0)
  817. LAW.C0 = CA(MR(180+15*i), 0, MR(-30-20*i)) * CN(0, -0.05+0.1*i, 0)
  818. HW.C0 = CA(MR(38+2*i), MR(55-6*i), MR(-4-1*i))
  819. FW.C0 = CA(0, MR(40+10*i), 0)
  820. wait(0)
  821. end
  822. Hurt = false
  823. for i = 0.2, 1, 0.2 do
  824. RAW.C0 = CA(MR(130+5*i), MR(10), MR(-45-2*i)) * CN(0, -1.4-0.05*i, 0)
  825. LAW.C0 = CA(MR(195+5*i), 0, MR(-50-8*i)) * CN(0, 0.05+0.05*i, 0)
  826. HW.C0 = CA(MR(40), MR(49-2*i), MR(-5))
  827. FW.C0 = CA(0, MR(50+3*i), 0)
  828. wait(0)
  829. end
  830. wait(0)
  831. for i = 0.2, 1, 0.2 do
  832. RAW.C0 = CA(MR(135-10*i), MR(10+5*i), MR(-47+10*i)) * CN(0, -1.45+0.25*i, 0)
  833. LAW.C0 = CA(MR(200-10*i), 0, MR(-58+10*i)) * CN(0, 0.1-0.1*i, 0)
  834. HW.C0 = CA(MR(40), MR(47-5*i), MR(-5+5*i))
  835. FW.C0 = CA(0, MR(53-10*i), 0)
  836. wait(0)
  837. end
  838. for i = 0.08, 1, 0.08 do
  839. RAW.C0 = CA(MR(125-90*i), MR(15+30*i), MR(-37+57*i)) * CN(0, -1.2+1.1*i, 0)
  840. LAW.C0 = CA(MR(190-125*i), 0, MR(-48+68*i)) * CN(0, -0.5*i, 0)
  841. HW.C0 = CA(MR(40-7*i), MR(42-37*i), 0)
  842. FW.C0 = CA(0, MR(43-82*i), 0)
  843. wait(0)
  844. end
  845. for i = 0.2, 1, 0.2 do
  846. RAW.C0 = CA(MR(35-15*i), MR(45+5*i), MR(20+10*i)) * CN(0, -0.1+0.1*i, 0)
  847. LAW.C0 = CA(MR(65-15*i), 0, MR(20+10*i)) * CN(0, -0.5-0.1*i, 0)
  848. HW.C0 = CA(MR(33-3*i), MR(5-5*i), 0)
  849. FW.C0 = CA(0, MR(-41-9*i), 0)
  850. wait(0)
  851. end
  852. RLW.Part1 = nil
  853. LLW.Part1 = nil
  854. RAW.C0 = CA(MR(20), MR(50), MR(30))
  855. LAW.C0 = CA(MR(50), 0, MR(30)) * CN(0, -0.6, 0)
  856. FW.C0 = CA(0, MR(-50), 0)
  857. HW.C0 = CA(MR(30), 0, 0)
  858. Neck.C0 = necko
  859. end
  860.  
  861. function onSelected(mouse)
  862. SelectAnim()
  863. Selected = true
  864. mouse.Button1Down:connect(function()
  865. if Attacking == false then
  866. Attacking = true
  867. mouse.Button1Up:wait(0)
  868. Shoot(mouse.Hit.p)
  869. ShootAnim(mouse.Hit.p)
  870. Attacking = false
  871. end
  872. end)
  873. mouse.KeyDown:connect(function(key)
  874. key = key:lower()
  875. if key == "q" then
  876. if Attacking == false then
  877. Attacking = true
  878. Melee()
  879. Attacking = false
  880. end
  881. end
  882. end)
  883. end
  884.  
  885. function onDeselected(mouse)
  886. Selected = false
  887. DeselAnim()
  888. end
  889.  
  890. bin.Selected:connect(onSelected)
  891. bin.Deselected:connect(onDeselected)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement