I really don't know how about doing this.
This is the scenario, after you have spoken to a taxi driver he asks for a cigarette. This sets of GlobalInt 4 and then when you walk back into another room, an object after say 20 seconds displays onto the screen and animates which has a cigarette. Then after the animation is complete it disappears again. How do I do this?
In the "player enters room (...whichever one you see it fit...)" event start a timer:
if (GetGlobalInt(4)==1) SetTimer(1, 800); //Under default settings 20 s = 800 gameloops
In rep_ex event of the room:
if (IsTimerExpired(1)) {
oCigar.Visible=true;
oCigar.Animate(0, 0, eOnce, eBlock);
oCigar.Visible=false;
}