just in case you dont settle for z0dd hud
Code:
function Schedule::Add(%eval, %time, %tag) {
if (%tag == "")
%tag = %eval; // Use function as tag if none provided.
$Schedule::ID[%tag]++;
$Schedule::eval[%tag] = %eval;
schedule("Schedule::Exec(\""@escapestring(%tag)@"\", "@$Schedule::ID[%tag]@");", %time);
}
function Schedule::Exec(%tag, %id) {
if ($Schedule::ID[%tag] != %id)
return;
%eval = $Schedule::eval[%tag];
Schedule::Cancel(%tag);
eval(%eval);
}
function Schedule::Cancel(%tag) {
$Schedule::ID[%tag]++;
$Schedule::eval[%tag] = "";
}