From a97ddfd942208249ce3c4df06154b1fad41f71f7 Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Thu, 17 Jul 2014 18:36:06 +0200 Subject: [PATCH] Add API functions to get the current effect time --- README.md | 18 ++++++++++++++++++ init.lua | 20 ++++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/README.md b/README.md index 4d6a575..086b792 100644 --- a/README.md +++ b/README.md @@ -170,6 +170,24 @@ Careful! This function has *not* been tested yet! ##### Return value Always `nil`. +#### `playereffects.get_remaining_effect_time(effect_id)` +Returns the remaining time of an effect. + +##### Parameter +* `effect_id`: The effect identifier of the effect in question + +##### Return value +Iff the effect exists, the remaining effect time is returned in full seconds. Iff the effect does not exist, `nil` is returned. + +#### `playereffects.get_passed_effect_time(effect_id)` +Returns the time an effect was in place. + +##### Parameter +* `effect_id`: The effect identifier of the effect in question + +##### Return value +Iff the effect exists, the number of seconds the effect is in place is returned. Iff the effect does not exist, `nil` is returned. + #### `playereffects.get_player_effects(playername)` Returns all active effects of a player. diff --git a/init.lua b/init.lua index 42eefdf..d78b644 100644 --- a/init.lua +++ b/init.lua @@ -199,6 +199,26 @@ function playereffects.cancel_effect_group(groupname, playername) end end +function playereffects.get_remaining_effect_time(effect_id) + local now = os.time() + local effect = playereffects.effects[effect_id] + if(effect ~= nil) then + return (effect.time_left - os.difftime(now, effect.start_time)) + else + return nil + end +end + +function playereffects.get_passed_effect_time(effect_id) + local now = os.time() + local effect = playereffects.effects[effect_id] + if(effect ~= nil) then + return os.difftime(now, effect.start_time) + else + return nil + end +end + function playereffects.cancel_effect(effect_id) local effect = playereffects.effects[effect_id] if(effect ~= nil) then