Use dtime arg passed to on_step to track time elapsed from last shot
This commit is contained in:
parent
a4a1f56a9c
commit
b502dfa808
15
api.lua
15
api.lua
@ -169,9 +169,10 @@ local function on_lclick(stack, player)
|
|||||||
end
|
end
|
||||||
|
|
||||||
local name = player:get_player_name()
|
local name = player:get_player_name()
|
||||||
if interval[name] and os.time() < interval[name] then
|
if interval[name] and interval[name] < def.unit_time then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
interval[name] = 0
|
||||||
|
|
||||||
if def.mode == "automatic" and not automatic[name] then
|
if def.mode == "automatic" and not automatic[name] then
|
||||||
add_auto(name, def, stack)
|
add_auto(name, def, stack)
|
||||||
@ -199,8 +200,6 @@ local function on_lclick(stack, player)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
interval[name] = os.time() + def.unit_time
|
|
||||||
|
|
||||||
return stack
|
return stack
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -227,19 +226,23 @@ local function on_step(dtime)
|
|||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
if os.time() > interval[name] then
|
interval[name] = interval[name] + dtime
|
||||||
|
if interval[name] < info.def.unit_time then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
if player:get_player_control().LMB then
|
if player:get_player_control().LMB then
|
||||||
-- If LMB pressed, fire
|
-- If LMB pressed, fire
|
||||||
info.stack = fire(info.stack, player)
|
info.stack = fire(info.stack, player)
|
||||||
player:set_wielded_item(info.stack)
|
player:set_wielded_item(info.stack)
|
||||||
automatic[name].stack = info.stack
|
automatic[name].stack = info.stack
|
||||||
interval[name] = os.time() + info.def.unit_time
|
interval[name] = 0
|
||||||
else
|
else
|
||||||
-- If LMB not pressed, remove player from list
|
-- If LMB not pressed, remove player from list
|
||||||
automatic[name] = nil
|
automatic[name] = nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if not lite then
|
if not lite then
|
||||||
|
Loading…
x
Reference in New Issue
Block a user