Hasli4

RBLX. WeaponScript

May 12th, 2025 (edited)
402
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.96 KB | None | 0 0
  1. -- Задаём адрес инструмента Tool в переменной Gun
  2. local Gun = script.Parent
  3.  
  4. -- Адрес объекта Bomb внутри Tool
  5. local Bomb = Gun:FindFirstChild('Bomb')
  6.  
  7. -- Подключаем сервис доступа к хранилищу реплик
  8. local ReplicatedStorage = game:GetService("ReplicatedStorage")
  9.  
  10. -- переменная перезарядки
  11. -- false если можно стрелять
  12. -- true если выстрел был сделан недавно
  13. reload = false
  14.  
  15. -- функция выстрела
  16. function bam()
  17.     -- Проверка на перезарядку
  18.     if reload == false then
  19.         reload = true
  20.         -- Создание копии крайней детали-бомбы
  21.         local Bullet = Bomb:Clone()
  22.         Gun.Bomb.CanCollide = false
  23.         Gun.Bomb.Transparency = 1
  24.         Bullet.Position = Bomb.Position
  25.         Bullet.CanCollide = true
  26.         Bullet.Parent = Gun
  27.         Bullet.Name = "BombFired"
  28.  
  29.         local Thrust = Instance.new('BodyThrust', Bullet)
  30.         -- Поправка значения силы под массу пули
  31.         local mass = Bullet.AssemblyMass
  32.         local randCoeff = math.random(100,300)
  33.         Thrust.Force = Vector3.new(mass*randCoeff,197,0)
  34.  
  35.         -- Удаление WeldConstraint с проверкой
  36.         local WeldCon1 = Bullet:FindFirstChild('WeldConstraint')
  37.         if WeldCon1 ~= nil then
  38.             WeldCon1:Destroy()
  39.         end
  40.  
  41.         -- добавляем эффект огня и случайный цвет
  42.         Instance.new('Fire',Bullet)
  43.         Bullet.BrickColor = BrickColor.Random()
  44.         -- Таймер на удаление через одну секунду
  45.         game:GetService("Debris"):AddItem(Bullet, 1)
  46.         -- ждём секунду и разрешаем сделать ещё один выстрел
  47.         wait(1)
  48.         Gun.Bomb.CanCollide = true
  49.         Gun.Bomb.Transparency = 0
  50.         reload = false
  51.     end
  52. end
  53.  
  54. -- Связываем нажатие кнопки мыши и функции выстрела
  55. Gun.Activated:Connect(bam)
  56.  
Add Comment
Please, Sign In to add comment