Make
void l04(true)
{
SetEnemyDisableTrigger("serv", true);
AddEnemyPatrolNode("serv", "PathNodeArea_1", 0, "");
AddEnemyPatrolNode("serv", "PathNodeArea_2", 0, "");
AddEnemyPatrolNode("serv", "PathNodeArea_3", 0, "");
AddEnemyPatrolNode("serv", "PathNodeArea_4", 0, "");
AddEnemyPatrolNode("serv", "PathNodeArea_5", 0, "");
AddEntityCollideCallback("serv", "show_1", "lo010");
}
into
void l04(bool abLit)
{
SetEnemyDisableTrigger("serv", true);
AddEnemyPatrolNode("serv", "PathNodeArea_1", 0, "");
AddEnemyPatrolNode("serv", "PathNodeArea_2", 0, "");
AddEnemyPatrolNode("serv", "PathNodeArea_3", 0, "");
AddEnemyPatrolNode("serv", "PathNodeArea_4", 0, "");
AddEnemyPatrolNode("serv", "PathNodeArea_5", 0, "");
AddEntityCollideCallback("serv", "show_1", "lo010");
}
abLit is a parameter, meaning it is a bool with the value of either true or false. When you turn the lantern on it will be true and when you turn it off it will be false. So you can then use this parameter to do different things, as you know if the lantern is on or off from it.
So if you want to trigger the enemy patrol only when turning the lantern on you would do something like:
void l04(true)
{
if(!abLit) return; //If abLit is false, do not continue. So only when abLit is true will it do the lines below this line.
SetEnemyDisableTrigger("serv", true);
AddEnemyPatrolNode("serv", "PathNodeArea_1", 0, "");
AddEnemyPatrolNode("serv", "PathNodeArea_2", 0, "");
AddEnemyPatrolNode("serv", "PathNodeArea_3", 0, "");
AddEnemyPatrolNode("serv", "PathNodeArea_4", 0, "");
AddEnemyPatrolNode("serv", "PathNodeArea_5", 0, "");
AddEntityCollideCallback("serv", "show_1", "lo010");
}