Problem solved. I was extending my submarine class from B_SDV_01_F an when i decided to extend it from Ship_F instead, everything started working. I think i was inheriting bad stuffs. Lesson of the month: do not extend a new vehicle class from a final class !
My bad, broken link - updated to a working one in the previous post and added some comments to the mission.
Take a look in there and it should make more sense.
On editor variable names recently explained this perfectly in another thread:
For us the important bit is the 2nd part.
The object in our case is the area trigger, give it a variable name, e.g. trigger1, which you can then use to access that particular trigger from anywhere in the mission.
In the execution example you replace myTrigger with the name you have selected e.g. trigger1:
// Replace myTrigger
[this, myTrigger, -1] execVM "cleanup_script.sqf";
// with your name, here I also changed the mode.
[this, trigger1, -1] execVM "cleanup_script.sqf";
It's good practice (for your own sanity) to use verbose names such as 'cleanupTrigger1' but not required.
For full rules and recommendations see this link, variable names given in the editor are considered global variables.
You can also define the coordinates of the spawns on small hidden objects and set the probability of the object's appearance. If the object does not appear, they do not spawn.