Voici une fonction qui active le flag 103 puis appelle une autre fonction resetFlag 2 secondes plus tard.
Sauf que si la fonction resetFlag appelée par scheduleFunction génère une erreur, elle restera au mieux silencieux, au pire affichera une fenêtre d'erreur en pleine mission.
function cargo_fusee(GroupName) trigger.action.setUserFlag( 103 , 1) timer.scheduleFunction(resetFlag, 103, timer.getTime() + 2) end
Sur les conseils de Migow, la même fonction, mais cette fois les erreurs silencieux deviennent visibles et la fonction est protégée en passant par le "pcall" et le "if result == false" évitant ainsi les erreurs bloquantes au cours d'une mission. (Corrige moi Migow si j'ai dis une connerie)
Debug = true function cargo_fusee(GroupName) local function Internal_cargo_fusee(GroupName) trigger.action.setUserFlag( 103 , 1) --Flag 103 timer.scheduleFunction(resetFlag, 103, timer.getTime() + 2) end local result local error result , error = pcall(Internal_cargo_fusee,GroupName) if result == false then env.error(error,Debug) end endPour ne plus afficher les messages et mettre la mission en "production", il faut passer la variable Degug à false.