Files
PlaneBuilding/scripts/modules/objects/Gun.lua
T

38 lines
794 B
Lua

local module = {}
local limit = 4
local bullet = require(_G.Modules.BulletModule)
function module.new(this,gun,context)
this.barrel = _G.GetInstance(gun,"Barrel")
this.binding = _G.GetInstance(gun,"Binding")
this.rate = _G.GetValue(gun,"Rate",0.15)
this.last = tick()
end
module.run = _G.Protect(function(this,gun,context)
if (this.control or context.controls[this.binding.Value] or 0) < 0.5 then return true end
if tick() - this.last < this.rate then return true end
-- Fire
bullet.fire(this.barrel)
this.last = tick()
this.barrel:ApplyImpulse(this.barrel.CFrame.RightVector * -500)
return true
end)
module.fire_rate = 0.05
module.messages = {
control = function(this,gun,context,value)
this.control = value
end,
}
module.manifest = {
"Gun",
"Cannon"
}
return module