<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.returnofreckoning.com/index.php?action=history&amp;feed=atom&amp;title=API%3AActionButtonGroupSetTimer</id>
	<title>API:ActionButtonGroupSetTimer - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.returnofreckoning.com/index.php?action=history&amp;feed=atom&amp;title=API%3AActionButtonGroupSetTimer"/>
	<link rel="alternate" type="text/html" href="https://wiki.returnofreckoning.com/index.php?title=API:ActionButtonGroupSetTimer&amp;action=history"/>
	<updated>2026-10-17T11:51:15Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://wiki.returnofreckoning.com/index.php?title=API:ActionButtonGroupSetTimer&amp;diff=30161&amp;oldid=prev</id>
		<title>Maintenance script: UI Lua API import (WAR 1.4.8)</title>
		<link rel="alternate" type="text/html" href="https://wiki.returnofreckoning.com/index.php?title=API:ActionButtonGroupSetTimer&amp;diff=30161&amp;oldid=prev"/>
		<updated>2026-10-16T19:40:13Z</updated>

		<summary type="html">&lt;p&gt;UI Lua API import (WAR 1.4.8)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{LuaApi|group=ActionButtonGroup}}&lt;br /&gt;
Starts or clears the cooldown timer on one button of an ActionButtonGroup.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ActionButtonGroupSetTimer(groupName, buttonIndex, total, remaining)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Arguments ==&lt;br /&gt;
;groupName : &amp;lt;code&amp;gt;string&amp;lt;/code&amp;gt; – Name of an ActionButtonGroup window.&lt;br /&gt;
;buttonIndex : &amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; – Button number, starting at 1.&lt;br /&gt;
;total : &amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; – Full length of the cooldown in seconds.&lt;br /&gt;
;remaining : &amp;lt;code&amp;gt;number&amp;lt;/code&amp;gt; – Seconds of cooldown left.&lt;br /&gt;
&lt;br /&gt;
== Returns ==&lt;br /&gt;
Nothing.&lt;br /&gt;
&lt;br /&gt;
== Details ==&lt;br /&gt;
* The client stores &amp;lt;code&amp;gt;total&amp;lt;/code&amp;gt; and the time at which the cooldown ends (now + &amp;lt;code&amp;gt;remaining&amp;lt;/code&amp;gt;) and updates the button&amp;#039;s countdown text at once.&lt;br /&gt;
* If &amp;lt;code&amp;gt;total&amp;lt;/code&amp;gt; or the time left is 0 or less, the timer is cleared and the countdown text is emptied. The stock UI passes &amp;lt;code&amp;gt;0, 0&amp;lt;/code&amp;gt; to clear a timer.&lt;br /&gt;
* The countdown text shows:&lt;br /&gt;
** under 2.5 seconds left: the seconds with one decimal;&lt;br /&gt;
** up to 90 seconds left: whole seconds;&lt;br /&gt;
** more than 90 seconds left: whole minutes.&lt;br /&gt;
: It is followed by the seconds or minutes abbreviation set with [[API:ActionButtonGroupSetTimeAbbreviations|ActionButtonGroupSetTimeAbbreviations]], if one is set.&lt;br /&gt;
* &amp;lt;code&amp;gt;buttonIndex&amp;lt;/code&amp;gt; must be between 1 and the number of buttons; otherwise the &amp;#039;&amp;#039;not a valid ButtonIndex&amp;#039;&amp;#039; error is raised. Fractions are dropped.&lt;br /&gt;
&lt;br /&gt;
== Errors ==&lt;br /&gt;
* &amp;lt;code&amp;gt;Error in function call &amp;#039;ActionButtonGroupSetTimer&amp;#039;: Window %s does not exist&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;Error in function call &amp;#039;ActionButtonGroupSetTimer&amp;#039;: Window %s is not a ActionButtonGroup&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;Error in function call &amp;#039;ActionButtonGroupSetTimer&amp;#039;: &amp;#039;%d&amp;#039; is not a valid ButtonIndex. (NumButtons = &amp;#039;%d&amp;#039;)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
An item cooldown, from &amp;lt;code&amp;gt;ea_backpackwindow/source/backpackiconview.lua&amp;lt;/code&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
local cooldownTimeLeft, totalCooldownTime = EA_Window_Backpack.GetItemCooldownTimers( itemData )&lt;br /&gt;
if( cooldownTimeLeft ~= nil )&lt;br /&gt;
then&lt;br /&gt;
    ActionButtonGroupSetTimer( buttonGroupName, buttonIndex, totalCooldownTime, cooldownTimeLeft )&lt;br /&gt;
else&lt;br /&gt;
    ActionButtonGroupSetTimer( buttonGroupName, buttonIndex, 0, 0 )&lt;br /&gt;
end&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[API:ActionButtonGroupSetTimeAbbreviations|ActionButtonGroupSetTimeAbbreviations]]&lt;br /&gt;
* [[API:ActionButtonGroupSetTimeFormat|ActionButtonGroupSetTimeFormat]]&lt;br /&gt;
* [[API:CooldownDisplaySetCooldown|CooldownDisplaySetCooldown]]&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
</feed>