Action: Ifmapped(target, alarm ID, delay)

Related Actions: timer, randomtimer, lettimer, iffixed, ifmoved, ifnotfixed, ifnotmapped, ifnotmoved, exitevent, map, unmap, altmap, letmapped
Related Events: alarm
See also: FKiSS, Events, Actions

ifmapped(target, alarm ID, delay)

First defined in: FKiSS2.1
If any cel specified by target is currently mapped, the ifmapped action sets the timer for an alarm. If a timer for that alarm is already counting down, the new delay time will replace it, resetting the alarm's timer.
Setting delay to zero cancels the timer for that alarm, preventing the alarm from being activated.

target

In FKiSS2.1 to FKiSS3, target must be the name of a cel file.
In FKiSS4, target may also be an object number, group, or a variable representing an object number or group. In this case, if any cel is mapped, the entire object or group is considered mapped.

alarm ID

In FKiSS2.1, alarm ID must be an alarm ID number.
In FKiSS3, alarm ID may be an alarm ID number or a variable representing an alarm ID number.
In FKiSS4, alarm ID may also be a symbolic name representing an alarm or a variable representing an alarm ID number.

delay

In FKiSS2.1, delay must be a number representing the delay time in milliseconds.
In FKiSS3, delay may also be a variable representing the delay time in milliseconds.

Example:

;@ ifmapped("doll3.cel", 10, 1000)     ; if doll3.cel is visible, set alarm 10 to 1000 milliseconds
;@ ifmapped(#5, 10, 1000)              ; If any cel in object 5 is visible, set alarm 1o to 1000 milliseconds
;@ ifmapped(!MyGroup, 10, 1000)        ; If any cel in group !MyGroup is visible, set alarm 10 to 1000 milliseconds
;@ ifmapped(VarObj, MyAlarm, VarDelay) ; If any cel in group or object VarObj is visible, set alarm MyAlarm to VarDelay milliseconds