Is there any way to have a collision sensor activated, but delay activating the python script it is attached to?
Trigger a property actuator, which sets a timer property to 0.0.
Use a property sensor set to interval mode, enable Invert and set the minimum to 0.0, and the maximum to the delay time. This sensor triggers the python controller
I just make the collision add an empty instantly, which after the delay sends a message back to the original object with a subject like “Do” and when the message “Do” is received it does what you like. Simpler than that long sentence sounds but I do it all the time.
I add an empty to an inactive layer, then add the delay on the empty, with a message actuator to do whatever, (or property actuator ) and “add object” “end Object” actuator. Then I can spawn the empty with the delay on it, when I need it.
So on collision, or whatever, the empty is spawned, The delay counts down,
sends the message, (or changes a property) then removes itself.
A) If you need the hit object trigger a Python controller to extract it from the sensor and store it in a property.
B) Activate a state change after collision.
C) Use a delay sensor on the other state which triggers another Python controller that does whatever you wan it to do. It can access the stored hit object from the property set with A)