Mryeetmemes

Nuke Gun Server Launcher

Dec 9th, 2021
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 2.58 KB | None | 0 0
  1. local Rocket = Instance.new("Part")
  2.  
  3.  
  4. local Tool = script.Parent
  5.  
  6.  
  7.  
  8.  
  9.  
  10. Rocket.Locked = true
  11.  
  12.  
  13. Rocket.BackSurface = 0
  14.  
  15.  
  16. Rocket.BottomSurface = 0
  17.  
  18.  
  19. Rocket.FrontSurface = 0
  20.  
  21.  
  22. Rocket.LeftSurface = 0
  23.  
  24.  
  25. Rocket.RightSurface = 0
  26.  
  27.  
  28. Rocket.TopSurface = 0
  29.  
  30.  
  31. Rocket.FormFactor=0
  32.  
  33.  
  34. Rocket.Size = Vector3.new(1,1,4)
  35.  
  36. Rocket.CanCollide=true
  37.  
  38.  
  39. Rocket.BrickColor = BrickColor.new(24)
  40.  
  41.  
  42.  
  43.  
  44.  
  45. Tool.RocketScript:clone().Parent = Rocket
  46. Tool.Mesh:clone().Parent = Rocket
  47.  
  48.  
  49. Tool.Explosion:clone().Parent = Rocket
  50.  
  51.  
  52. Tool.Swoosh:clone().Parent = Rocket
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61. function fire(vTarget)
  62.  
  63.  
  64.  
  65.  
  66.  
  67.     local vCharacter = Tool.Parent;
  68.  
  69.  
  70.    
  71.  
  72.  
  73.     local vHandle = Tool:findFirstChild("Handle")
  74.  
  75.  
  76.     if vHandle == nil then
  77.  
  78.  
  79.         print("Handle not found")
  80.  
  81.  
  82.         return
  83.  
  84.  
  85.     end
  86.  
  87.  
  88.  
  89.  
  90.  
  91.     local dir = vTarget - vHandle.Position
  92.  
  93.  
  94.  
  95.  
  96.  
  97.     dir = computeDirection(dir)
  98.  
  99.  
  100.  
  101.  
  102.  
  103.     local missile = Rocket:clone()
  104.  
  105.  
  106.  
  107.  
  108.  
  109.     local pos = script.Parent.Shoot.Position + (dir * 20)
  110.  
  111.  
  112.    
  113.  
  114.  
  115.     --missile.Position = pos
  116.  
  117.  
  118.     missile.CFrame = CFrame.new(pos,  pos + dir)
  119.  
  120.  
  121.  
  122.  
  123.  
  124.     local creator_tag = Instance.new("ObjectValue")
  125.  
  126.  
  127.  
  128.  
  129.  
  130.     local vPlayer = game.Players:playerFromCharacter(vCharacter)
  131.  
  132.  
  133.  
  134.  
  135.  
  136.     if vPlayer == nil then
  137.  
  138.  
  139.         print("Player not found")
  140.  
  141.  
  142.     else
  143.  
  144.  
  145.         if (vPlayer.Neutral == false) then -- nice touch
  146.  
  147.  
  148.             missile.BrickColor = vPlayer.TeamColor
  149.  
  150.  
  151.         end
  152.  
  153.  
  154.     end
  155.  
  156.  
  157.  
  158.  
  159.  
  160.     creator_tag.Value =vPlayer
  161.  
  162.  
  163.     creator_tag.Name = "creator"
  164.  
  165.  
  166.     creator_tag.Parent = missile
  167.  
  168.  
  169.    
  170.  
  171.  
  172.     missile.RocketScript.Disabled = false
  173.  
  174.  
  175.  
  176. script.Smoke:Clone().Parent = missile
  177. script.ExplosionParticles:Clone().Parent = missile
  178. gg = script.Fire:Clone()
  179. gg.Enabled = true
  180. gg.Parent = missile
  181.  
  182.     missile.Parent = game.Workspace
  183.  
  184.  
  185. end
  186.  
  187.  
  188.  
  189.  
  190.  
  191. function computeDirection(vec)
  192.  
  193.  
  194.     local lenSquared = vec.magnitude * vec.magnitude
  195.  
  196.  
  197.     local invSqrt = 1 / math.sqrt(lenSquared)
  198.  
  199.  
  200.     return Vector3.new(vec.x * invSqrt, vec.y * invSqrt, vec.z * invSqrt)
  201.  
  202.  
  203. end
  204.  
  205.  
  206.  
  207.  
  208.  
  209. Tool.Enabled = true
  210.  
  211.  
  212. function onActivated()
  213.  
  214.  
  215.     if not Tool.Enabled then
  216.  
  217.  
  218.         return
  219.  
  220.  
  221.     end
  222.  
  223.  
  224.  
  225.  
  226.  
  227.     Tool.Enabled = false
  228.  
  229.  
  230.  
  231.  
  232.  
  233.     local character = Tool.Parent;
  234.  
  235.  
  236.     local humanoid = character.Humanoid
  237.  
  238.  
  239.     if humanoid == nil then
  240.  
  241.  
  242.         print("Humanoid not found")
  243.  
  244.  
  245.         return
  246.  
  247.  
  248.     end
  249.  
  250.  
  251.  
  252.  
  253.  
  254.     local targetPos = humanoid.TargetPoint
  255.  
  256.  
  257.  
  258.  
  259.  
  260.     fire(targetPos)
  261.  script.Parent.Rocket.Transparency = 1
  262.  
  263.  
  264.  
  265.  
  266.     wait(35)
  267.  
  268.  
  269.  script.Parent.Rocket.Transparency = 0
  270.  
  271.  
  272.     Tool.Enabled = true
  273.  
  274.  
  275. end
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282.  
  283.  
  284. script.Parent.Activated:connect(onActivated)
  285.  
  286.  
  287.  
  288.  
  289.  
  290.  
Advertisement
Add Comment
Please, Sign In to add comment