Untitled
unknown
plain_text
2 years ago
2.0 kB
10
Indexable
-- Задаём адрес инструмента Tool в переменной Gun
local Gun = script.Parent
-- Адрес объекта Bomb внутри Tool
local Bomb = Gun:FindFirstChild('Bomb')
-- Подключаем сервис доступа к хранилищу реплик
local ReplicatedStorage = game:GetService("ReplicatedStorage")
-- переменная перезарядки
-- false если можно стрелять
-- true если выстрел был сделан недавно
reload = false
-- функция выстрела
function bam()
-- Проверка на перезарядку
if reload == false then
reload = true
-- Создание копии крайней детали-бомбы
local Bullet = Bomb:Clone()
Gun.Bomb.CanCollide = false
Gun.Bomb.Transparency = 1
Bullet.Position = Bomb.Position
Bullet.CanCollide = true
Bullet.Parent = Gun
Bullet.Name = "BombFired"
local Thrust = Instance.new('BodyThrust', Bullet)
-- Поправка значения силы под массу пули
local mass = Bullet.AssemblyMass
local randCoeff = math.random(100,300)
Thrust.Force = Vector3.new(mass*randCoeff,197,0)
-- Удаление WeldConstraint с проверкой
local WeldCon1 = Bullet:FindFirstChild('WeldConstraint')
if WeldCon1 ~= nil then
WeldCon1:Destroy()
end
-- добавляем эффект огня и случайный цвет
Instance.new('Fire',Bullet)
Bullet.BrickColor = BrickColor.Random()
-- Таймер на удаление через одну секунду
game:GetService("Debris"):AddItem(Bullet, 1)
-- ждём секунду и разрешаем сделать ещё один выстрел
wait(1)
Gun.Bomb.CanCollide = true
Gun.Bomb.Transparency = 0
reload = false
end
end
-- Связываем нажатие кнопки мыши и функции выстрела
Gun.Activated:Connect(bam)
Editor is loading...
Leave a Comment