Global Methods¶
void
add_expedition_lockout_all_clients(string expedition_name, string event_name, int seconds, string uuid = "")¶
Adds the specified lockout to all clients in the current zone. If a client already has the lockout it's replaced with this one. If a uuid is not supplied one is generated and applied to all clients.
eq.add_expedition_lockout_all_clients("Anguish, the Fallen Palace", "Ture", 300)
void
add_expedition_lockout_by_char_id(int character_id, string expedition_name, string event_name, int seconds, string uuid = "")¶
Adds the specified lockout to the character with an optional specified uuid. If the client already has the lockout it's replaced with this one. If a uuid is not supplied one is generated when the lockout is added to the character
-- 5 minute lockout
eq.add_expedition_lockout_by_char_id(e.other:CharacterID(), "Anguish, the Fallen Palace", "Ture", 300)
Expedition*
get_expedition()¶
Returns an Expedition object corresponding to current zone if it's a valid dynamic zone instance being used for an expedition, otherwise returns nullptr.
local dz = eq.get_expedition()
if dz.valid then
eq.debug("Current zone is an expedition's dz instance")
end
Expedition*
get_expedition_by_char_id(int character_id)¶
Returns the character's current Expedition if the character is in one, otherwise returns nullptr.
local dz = eq.get_expedition_by_char_id(e.other:CharacterID())
if dz.null then
eq.debug("Character is not in an expedition")
end
Expedition*
get_expedition_by_dz_id(int dz_id)¶
Returns the Expedition for the specified dynamic zone id if it's valid, otherwise returns nullptr.
local dz = eq.get_expedition_by_dz_id(dz_id)
if not dz.valid then
eq.debug("that dynamic zone id is not in use by an expedition")
end
Expedition*
get_expedition_by_zone_instance(int zone_id, int instance_id)¶
Returns the Expedition for the specified zone and instance id if it's a valid dynamic zone instance, otherwise returns nullptr.
local dz = eq.get_expedition_by_zone_instance(zone_id, instance_id)
if dz.valid then
eq.debug("that zone instance is an expedition dynamic zone")
end
LUA_TTABLE
get_expedition_lockout_by_char_id(int character_id, string expedition_name, string event_name)¶
Returns a Lua table containing lockout details.
The table contains two hash keys remaining
and uuid
. T["remaining"] is the seconds remaining on the lockout and T["uuid"] is the expedition uuid the lockout was originally assigned in.
If the character doesn't have a lockout for the specified expedition event an empty table is returned.
local lockout = eq.get_expedition_lockout_by_char_id(
e.other:CharacterID(), "Anguish, the Fallen Palace", "Ture")
if next(lockout) == nil then
eq.debug("Character does not have a Ture lockout")
else
eq.debug(string.format("Lockout remaining: (%s)s uuid: (%s)", lockout.remaining, lockout.uuid))
end
LUA_TTABLE
get_expedition_lockouts_by_char_id(int character_id, string expedition_name = "")¶
Returns a Lua table containing all of character's current lockouts keyed by expedition name. If an optional expedition_name
is passed in it returns a table of lockouts keyed by event name for that expedition.
Each character lockout contains a hash table with remaining
and uuid
keys
If the character has no lockouts, the table is empty
-- without filter on expedition name
local lockouts = eq.get_expedition_lockouts_by_char_id(e.other:CharacterID())
for expedition_name,event_lockouts in pairs(lockouts) do
for event_name,lockout in pairs(event_lockouts) do
eq.debug(string.format("expedition: (%s) event: (%s) remaining: (%s)s uuid: (%s)",
expedition_name, event_name, lockout.remaining, lockout.uuid))
end
end
-- with filter on expedition name
local lockouts = eq.get_expedition_lockouts_by_char_id(e.other:CharacterID(), "Anguish, the Fallen Palace")
for event_name,lockout in pairs(lockouts) do
eq.debug(string.format("event: (%s) remaining: (%s)s uuid: (%s)",
event_name, lockout.remaining, lockout.uuid))
end
void
remove_all_expedition_lockouts_by_char_id(int character_id, string expedition_name = "")¶
Removes all expedition lockouts from the character, optionally filtered on an expedition name
-- removes all lockouts
eq.remove_expedition_lockout_by_char_id(e.other:CharacterID())
-- removes all anguish lockouts
eq.remove_expedition_lockout_by_char_id(e.other:CharacterID(), "Anguish, the Fallen Palace")
void
remove_expedition_lockout_by_char_id(int character_id, string expedition_name, string event_name)¶
Removes the specified lockout from the character. No-op if the character doesn't have the lockout
eq.remove_expedition_lockout_by_char_id(e.other:CharacterID(), "Anguish, the Fallen Palace", "Ture")