GetTime() -- cooldown starts immediatelly (SetCooldown() uses your computer's uptime as 'now', not 0. Computer's Uptime is in ms and you can get it from GetTime().) GetTime()+4 -- cooldown will start after 4 seconds GetTime()-5 -- cooldown is in progress (if duration is 10 then it starts cd animation in the middle, as 5 seconds from 10sec cooldown already elapsed)
duration: duration of your cooldown in seconds (number)
To start cooldown in the middle set x/y = 1/2 or 0,5 (x=1, y=2 in the fist example), to start at 9/10 set x/y = 9/10 etc. z can be used to reduce or increase speed of animation (cooldown length). Logically z-(x/y) gets you the duration of cooldown. When the cooldown expires, its texture gets lost.