Advertisement
Team_Alex

Untitled

Mar 12th, 2016
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.49 KB | None | 0 0
  1. - > CREATED BY WULFBUG9 2014
  2. -- > Seriously, I made this. (wulfbug9)
  3. -- > I'm releasing a ton of my other scripts on this pastebin, too. So go check them out.
  4. function rand(a)return (math.random()-.5)*2*a end
  5. function q(f,arg)return coroutine.resume(coroutine.create(f),unpack(arg or {}))end
  6. function fade(p,s)q(function(part,start)for i=start,1,.05 do part.Transparency = part.Transparency+0.05 wait(1/30)end end,{p,s})end
  7. function appear(p,s)q(function(part,start)for i=start,0,-.05 do part.Transparency = part.Transparency-0.05 wait(1/30)end end,{p,s})end
  8. function Part(Name,Parent,Size,CFrame,Color,Trans,Anch,Can,Mat,Ref)
  9. local p = Instance.new("Part",Parent)p.Name = Name
  10. p.FormFactor = "Custom"p.Size = Size
  11. p.Anchored = Anch p.CFrame = CFrame
  12. p.BrickColor = BrickColor.new(Color)p.Transparency = Trans
  13. p.TopSurface = 0 p.CanCollide = Can
  14. p.BottomSurface = 0 p.Material = Mat
  15. p.Reflectance = Ref or 0;p:BreakJoints()
  16. p.Locked = true;return p
  17. end
  18. function WedgePart(Name,Parent,Size,CFrame,Color,Trans,Anch,Can,Mat,Ref)
  19. local p = Instance.new("WedgePart",Parent)p.Name = Name
  20. p.FormFactor = "Custom"p.Size = Size
  21. p.Anchored = Anch p.CFrame = CFrame
  22. p.BrickColor = BrickColor.new(Color)p.Transparency = Trans
  23. p.TopSurface = 0 p.CanCollide = Can
  24. p.BottomSurface = 0 p.Material = Mat
  25. p.Reflectance = Ref or 0;p:BreakJoints()
  26. p.Locked = true;return p
  27. end
  28. function CornerWedgePart(Name,Parent,Size,CFrame,Color,Trans,Anch,Can,Mat,Ref)
  29. local p = Instance.new("CornerWedgePart",Parent)p.Name = Name;p.Size = Size
  30. p.Anchored = Anch p.CFrame = CFrame
  31. p.BrickColor = BrickColor.new(Color)p.Transparency = Trans
  32. p.TopSurface = 0 p.CanCollide = Can
  33. p.BottomSurface = 0 p.Material = Mat
  34. p.Reflectance = Ref or 0;p:BreakJoints()
  35. p.Locked = true;return p
  36. end
  37. function Mesh(Parent,Type,Scale,ID,TID)
  38. local m = Instance.new("SpecialMesh",Parent)m.MeshType = Type
  39. m.Scale = Scale or Vector3.new(1,1,1)
  40. if ID then m.MeshId = ID end if TID then m.TextureId = TID end
  41. return m
  42. end
  43. function Weld(p1,p2,c0,c1)
  44. local w = Instance.new("Weld",p1)w.Part0 = p1;w.Part1 = p2
  45. w.C0,w.C1 = c0 or CFrame.new(),c1 or CFrame.new()
  46. return w
  47. end
  48. function cslerp(c1,c2,t)
  49. local function s(a,b,c)return (1-c)*a+(c*b)end
  50. local com1 = {c1.X,c1.Y,c1.Z,c1:toEulerAnglesXYZ()}
  51. local com2 = {c2.X,c2.Y,c2.Z,c2:toEulerAnglesXYZ()}
  52. for i,v in pairs(com1)do com1[i] = s(v,com2[i],t)end
  53. return CFrame.new(com1[1],com1[2],com1[3])*CFrame.Angles(select(4,unpack(com1)))
  54. end
  55. local char
  56. ---------------------------------------------
  57. player = game:service("Players").LocalPlayer
  58. repeat wait() char = player.Character until char
  59. pcall(function()char:FindFirstChild("Animate"):Destroy()end)
  60. root = char:WaitForChild("HumanoidRootPart")
  61. torso = char:WaitForChild("Torso")
  62. humanoid = char:WaitForChild("Humanoid")
  63. mouse = player:GetMouse()
  64. step = game:service("RunService").Stepped
  65. asset = "http://www.roblox.com/asset/?id="
  66. meshes = {["blast"] = 20329976,["ring"] = 3270017,["spike"] = 1033714,["cone"] = 1082802,["crown"] = 20329976,["cloud"] = 1095708,["diamond"] = 9756362}
  67. sounds = {["explode"] = 130792180;}
  68. colour = "White"
  69. scolour = tostring(BrickColor.random())--"Lime green"
  70. Attacking = false
  71. local bv,bp,bg
  72. hover = 10
  73. carspeed = 60
  74. keysdown = {}
  75. c0ls = CFrame.new(-1,0.5,0)*CFrame.Angles(math.pi/6,0,0)
  76. c0rs = CFrame.new(1,0.5,0)*CFrame.Angles(math.pi/6,0,0)
  77. c1ls = CFrame.new(0.5,0.5,0)
  78. c1rs = CFrame.new(-0.5,0.5,0)
  79. c0tw = CFrame.new(0,0,0)
  80. c1tw = CFrame.new(0,0,0)
  81. rs = Weld(torso,char:WaitForChild("Right Arm"),c0rs,c1rs)
  82. ls = Weld(torso,char:WaitForChild("Left Arm"),c0ls,c1ls)
  83. tw = Weld(root,torso,c0tw,c1tw)
  84. ---------------------------------------------
  85. function Smoke(origin,color)
  86. local p = Part("Effect",workspace,Vector3.new(2,2,2),origin*CFrame.new(rand(10),-1,rand(10)),color or "Black",.1,false,false,"SmoothPlastic")
  87. local m = Mesh(p,"Sphere",Vector3.new(1.25,1.25,1.25))
  88. local bp = Instance.new("BodyPosition",p)bp.D = 100 bp.P = 100 bp.position = p.Position+Vector3.new(0,7,0)
  89. q(function(pa,me)
  90. fade(pa,.1)
  91. for i=25,100 do
  92. me.Scale = me.Scale+Vector3.new(0.15,0.1,0.15)
  93. wait(1/30)
  94. end
  95. pa:Destroy()
  96. end,{p,m})
  97. end
  98. function crownExplode(origin,color,size)
  99. local p = Part("Effect",workspace,Vector3.new(size,size,size),origin,color,.2,true,false,"SmoothPlastic")
  100. local m = Mesh(p,"FileMesh",Vector3.new(size/2,size/2,size/2),asset..meshes["crown"])
  101. q(function(pa,me)
  102. for i=.2,1,.025 do
  103. me.Scale = me.Scale+Vector3.new(0.75,0.75,0.75)
  104. pa.Transparency = i
  105. wait(1/30)
  106. end
  107. pa:Destroy()
  108. end,{p,m})
  109. end
  110. function quickSound(id,v)
  111. local s = Instance.new("Sound",workspace)
  112. s.SoundId = id
  113. s.PlayOnRemove = true
  114. s.Volume = v or 1
  115. delay(0.025,function()s:remove()end)
  116. end
  117. function checkDmgArea(origin,dmg,d)
  118. for i,v in pairs(workspace:children())do
  119. if v~=char and v:FindFirstChild("Torso") then
  120. local h;
  121. for _,k in pairs(v:children())do if k:IsA("Humanoid") then h = k end end
  122. local dist = (origin.p - v:FindFirstChild("Torso").CFrame.p).magnitude
  123. if dist < d and h~=nil then
  124. h.Health = h.Health - dmg
  125. end
  126. end
  127. end
  128. end
  129. function Shoot(start,dmg)
  130. dmg = dmg or 15
  131. local vel = start.lookVector
  132. local p = Part("Bullet",workspace,Vector3.new(4,4,4),start,"Black",0,true,false,"SmoothPlastic")
  133. local m = Mesh(p,"Sphere")
  134. local num = 0
  135. local ign = char:children()
  136. local connect
  137. connect = step:connect(function()
  138. num = num + 1
  139. local pp = p.Position
  140. local h,po
  141. vel = vel - Vector3.new(0,math.min(999.5,vel.magnitude/50),0)
  142. repeat
  143. local r = Ray.new(pp,vel.unit*math.min(999.5,vel.magnitude/100+4))
  144. h,po = workspace:FindPartOnRayWithIgnoreList(r,ign)
  145. if h then
  146. if h.CanCollide then break
  147. else table.insert(ign,h)h = nil
  148. end
  149. else break
  150. end
  151. until false
  152. p.CFrame = CFrame.new(po,po+vel)
  153. q(function(b)
  154. local a = b:Clone()
  155. a.Parent = workspace
  156. for i=1,-.05,-.05 do
  157. wait()
  158. a:FindFirstChild("Mesh").Scale = Vector3.new(i,i,i)
  159. a.Transparency = a.Transparency + .05
  160. end
  161. a:Destroy()
  162. end,{p})
  163. if h or num > 300 then
  164. local cf = p.CFrame
  165. for i=1,3 do Smoke(cf*CFrame.new(0,4,0),"Black")end
  166. crownExplode(CFrame.new(cf.x,cf.y,cf.z),"Black",2)
  167. quickSound(asset..sounds["explode"],2)
  168. checkDmgArea(cf,dmg,10)
  169. p:Destroy()
  170. connect:disconnect()
  171. end
  172. end)
  173. end
  174. function Fire()
  175. Attacking = true
  176. for i=1,10 do
  177. wait(1/30)
  178. local speed = i/10
  179. rs.C0 = cslerp(rs.C0,c0rs*CFrame.Angles(-math.pi/2.5,0,0),speed)
  180. ls.C0 = cslerp(ls.C0,c0ls*CFrame.Angles(-math.pi/2.5,0,0),speed)
  181. tw.C0 = cslerp(tw.C0,c0tw*CFrame.Angles(0,math.pi/2,0),speed)
  182. end
  183. local b = Part("Bullet",char,Vector3.new(4,4,4),torso.CFrame,"Black",0,false,false,"SmoothPlastic")
  184. Mesh(b,"Sphere")
  185. local w = Weld(torso,b,CFrame.new(0,0,-.5))
  186. for i=1,5 do
  187. wait(1/30)
  188. local speed = i/5
  189. rs.C0 = cslerp(rs.C0,c0rs*CFrame.Angles(math.pi/2.5,0,0),speed)
  190. ls.C0 = cslerp(ls.C0,c0ls*CFrame.Angles(math.pi/2.5,0,0),speed)
  191. tw.C0 = cslerp(tw.C0,c0tw,speed)
  192. w.C0 = cslerp(w.C0,CFrame.new(0,5,-3),speed)
  193. end
  194. Shoot(b.CFrame,52.5)
  195. b:Destroy()
  196. for i=1,10 do
  197. wait(1/30)
  198. local speed = i/20
  199. rs.C0 = cslerp(rs.C0,c0rs,speed)
  200. ls.C0 = cslerp(ls.C0,c0ls,speed)
  201. tw.C0 = cslerp(tw.C0,c0tw,speed)
  202. end
  203. Attacking = false
  204. end
  205. ---------------------------------------------
  206. pcall(function()char:FindFirstChild("CAR"):Destroy()end)
  207. model = Instance.new("Model",char)
  208. model.Name = "CAR"
  209. base = Part("P",model,Vector3.new(6,6,6),torso.CFrame*CFrame.new(6,6,0),colour,0,false,false,"Plastic")
  210. torso.CFrame = base.CFrame
  211. basem = Mesh(base,"Sphere",Vector3.new(1,.5,1))
  212. side = Part("P",model,Vector3.new(6,2,6),torso.CFrame*CFrame.new(6,6,0),colour,0,false,false,"Plastic")
  213. sidem = Mesh(side,"FileMesh",Vector3.new(5.375,5.375,20),asset..meshes["ring"])
  214. sidew = Weld(base,side,CFrame.new(0,1,0)*CFrame.Angles(math.pi/2,0,0))
  215. side2 = Part("P",model,Vector3.new(6,2,6),torso.CFrame*CFrame.new(6,6,0),scolour,0,false,false,"Plastic")
  216. side2m = Mesh(side2,"FileMesh",Vector3.new(5.375,5.375,5),asset..meshes["ring"])
  217. side2w = Weld(side,side2,CFrame.new(0,0,-1.25))
  218. under = Part("P",model,Vector3.new(2,6,2),torso.CFrame*CFrame.new(6,6,0),scolour,0,false,false,"Plastic")
  219. underm = Mesh(under,"FileMesh",Vector3.new(2,6,2),asset..meshes["spike"])
  220. underw = Weld(base,under,CFrame.new(0,-1,0)*CFrame.Angles(math.pi,0,0))
  221. prop = Part("P",model,Vector3.new(0.5,0,4),torso.CFrame*CFrame.new(6,6,0),scolour,0,false,false,"Plastic")
  222. propm = Mesh(prop,"Sphere")
  223. propw = Weld(under,prop,CFrame.new(0,2.25,0))
  224. torweld = Weld(base,root,CFrame.new(0,3,-1))
  225. bp = Instance.new("BodyPosition")
  226. bp.maxForce = Vector3.new(0,1/0,0)
  227. bv = Instance.new("BodyVelocity")
  228. bv.maxForce = Vector3.new(1/0,0,1/0)
  229. bg = Instance.new("BodyGyro")
  230. bg.maxTorque = Vector3.new(1/0,1/0,1/0)
  231. humanoid.WalkSpeed = 0
  232. ---------------------------------------------
  233. mouse.KeyDown:connect(function(key)
  234. key:lower()
  235. keysdown[key] = true
  236. end)
  237. mouse.KeyUp:connect(function(key)
  238. key:lower()
  239. keysdown[key] = false
  240. end)
  241. mouse.Button1Down:connect(function()
  242. if not Attacking then
  243. Fire()
  244. end
  245. end)
  246. local function bn(key) return keysdown[key]and 1 or 0 end
  247. ---------------------------------------------
  248. step:connect(function()
  249. hover = hover-bn("e")+bn("q")
  250. bp.Parent,bg.Parent,bv.Parent = base,base,base
  251. bp.position = Vector3.new(0,math.sin(tick())+hover,0)
  252. bg.cframe = workspace.CurrentCamera.CoordinateFrame
  253. local vel = workspace.CurrentCamera.CoordinateFrame:vectorToWorldSpace(Vector3.new(0-bn("a")+bn("d"),0,0-bn("w")+bn("s")))*Vector3.new(1,0,1)
  254. bv.velocity = (vel.magnitude > 0 and vel.unit*carspeed)or Vector3.new(0,0,0)
  255. propw.C0 = propw.C0*CFrame.Angles(0,.2,0)
  256. end)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement