January 3, 2018 at 16:53 #2375
Code examples above were generated by N.I.L.E.! Bad code and poor examples, no offense.
First example is not how you set up a mission zone at all! Players are free to go anywhere – except within 5 metres of ssn_object1! No good!
Assume player starts at X heading for Alpha PSP. Use for example the ssn for alpha as follows to set up your first mission zone if you do not want players to move too far away from objective Alpha:
if eq(v1,0) then //use conditions, no need to fire PLOOP every second throughout the entire mission!
if !ssnnearssn(player,133519,560) then //if not within 560 metres of alpha player will INEXPLICABLY(!) loose health
consol(“<cFF0000>*** STAY IN THE MISSION ZONE ***<-co>”) //and get a WARNING!!! IMPORTANT DETAIL!
wave(“alarm1.wav”) //and maybe a sound to trigger player attention
Now let the player complete an objective to unlock the next zone. Something like if ssndead(target) ENTER set(v1,1) endif. Now you can use v1,1 to set up the next mission zone while the first mission zone is deactivated! Much better. Apart from the inexplicable part. I don’t like mission zones much. No creativity! The only good part is setting up a variable to monitor mission progress. I don’t think soldiers start bleeding spontaneously if they are too far from Berlin.
Second example immediately restores all health. Players will also be virtually immortal within 10 meter radius of PSP!! Not good at all!
Why not create a MASH or a MESS? You can use beds or chairs respectively for players to heal themselves. It should be VERY OBVIOUS to use objects this way!!!
//MESS wac by Shemihazah
if !ssnride(134058) and !ssnride(134059) enter //ssn of beds or chairs
if ssnride(134058) then //ensure following ploop only fires if a player is on the bed or chair!
if ssnonssn(player,134058) then
if ssnride(134059) then
if ssnonssn(player,134059) then
if eq(v7,1) enter
Last but not least:
Do not punish players for your lack of creativity! Think of a solution, mission zones are a work around – at best!