Jump to content

Multiple Objective Completion Conditions


JustSomeGuy

Recommended Posts

I've come to modding GR late in the game, and I've hit a wall.

How to I set up a counter to track the completion of the objectives in question?

The little bit of a manual I have is less than helpful; can anyone suggest a source where I can "teach myself to fish"?

Thanks,

JustSomeGuy

Link to comment
Share on other sites

Check out a RSE mission, that's the best way to learn. Here's a quick example for what you want, with extracting as the last objective:

Trigger: Whatever objective is done

responses:

Mark objective done (ObjectiveMarkComplete)

Increment Objective Completed Counter (CounterIncrement)

Do this for each objective.

Trigger: A member of player platoon is within 10m of extraction zone (ProximityPlatoon)

Responses:

BlockPreserve

Continue executing responses if (The value of ((Objective Completed Counter (((Is equal to <how ever many objectives have to be done before you can finish>)

Mark extraction objective done

DeclareMissionComplete

Or you could replace the trigger for the end block with 1 second has elapsed, so once all objectives are done it instantly ends.

Link to comment
Share on other sites

How do you prefer? I don't remember how Rockall required you to extract. It is realistic though, because anyone who isn't there is going to be left behind. I actually considered doing this for a mission; somehow making it where if you didn't reach the EZ (this is for singleplayer only), you would be killed using a loop, so you would lose any soldiers who didn't arrive in time or whatever.

Link to comment
Share on other sites

I was never a fan of the "you must complete the objective to extract" notion. All of our later tournament extraction blocks basically look like:


Group: <Default>

Comment:

   Extraction

Trigger Event:

   An actor in PlayerCompany is within 0 meter(s) of Extraction.

Responses:

   Allow this block to be reactivated.

   Continue executing responses if ((The number of members of PlayerCompany within 0 meter(s) of Extraction) is equal to (The number of active actors on PlayerCompany)).

   Prevent this block from being reactivated.

   Enable the (SCORE) script blocks.

Combine that with a guard for all the players being killed:

Group: <Default>

Comment:

   All players dead

Trigger Event:

   All actors in PlayerCompany have been killed.

Responses:

   Display "** All Players KIA **" to all players.

   Enable the (SCORE) script blocks.

and then write a "scoring" system into the (SCORE) script blocks. Simple time elapsed triggers are a simple way to do that, e.g.

Group: (SCORE)

Comment:

   Start scoring

Trigger Event:

   0 second(s) elapsed.

Responses:

   Set (SCR)FinalPlayers to (The number of members of PlayerCompany within 25 meter(s) of Extraction).

   Set (SCR)Final to 0.

   Disable the Time script blocks.

   Play "a_tstatic.wav" at volume 0.75.

   Display "Scoring initiated." to all players for 5 second(s).


Group: (SCORE)

Comment:

   Intel

Trigger Event:

   7 second(s) elapsed.

Responses:

   Continue executing responses if (The state of (SCR)IntelGot).

   Set (SCR)Final to (The result of (The value of (SCR)Final) plus 10).

   Mark Intel complete in the objective list.


Group: (SCORE)

Comment:

   Intel failed

Trigger Event:

   7 second(s) elapsed.

Responses:

   Skip the remaining responses if (The state of (SCR)IntelGot).

   Remove Intel from the objective list.

   Add Intel fail to the objective list.

   Mark Intel fail failed in the objective list.


Group: (SCORE)

Comment:

   Intel Extract

Trigger Event:

   14 second(s) elapsed.

Responses:

   Continue executing responses if (The state of (SCR)IntelGot).

   Continue executing responses if ((The distance between ACT:Intel and Extraction) is less than 25).

   Set (SCR)Final to (The result of (The value of (SCR)Final) plus 20).

   Mark Intel Extract complete in the objective list.


Group: (SCORE)

Comment:

   Intel Extract Fail - not close

Trigger Event:

   14 second(s) elapsed.

Responses:

   Continue executing responses if (The state of (SCR)IntelGot).

   Skip the remaining responses if ((The distance between ACT:Intel and Extraction) is less than 25).

   Remove Intel Extract from the objective list.

   Add Intel Extract fail to the objective list.

   Mark Intel Extract fail failed in the objective list.

...

and finally at the end of all your scoring/objective checks...

Group: (SCORE)

Comment:

   Total score

Trigger Event:

   49 second(s) elapsed.

Responses:

   Display ("Final Score: " + ((The value of (SCR)Final) as text)) and register mission completion.

Granted this was designed for tournament missions, but I really think you will benefit from not doing the "RSE" way. Just use "flag" variables to keep track of what objectives are completed, then check the flags as your run through the extraction sequence.

The above examples are from the team version of "A Cold welcome" from the (I think) 2006 community coop tournament -- the entire mission is attached below.

Good luck and enjoy.

as_a_cold_welcome_teams1.1.mis.zip

Link to comment
Share on other sites

You will have to think about what your target audience is going to prefer I suppose. We play every Sunday still, sometimes have a full room of 9 players. I always ask for feedback and suggestions every week and try to fit any reasonable suggestions into future missions. Obviously I am only talking about coop though. We like the fact that you insert as a team and you reach a pick-up point as a team for extraction, but it is just our play style.

Another method RSE use is, all objectives auto complete and mission ends just because all enemy on the map have been killed. Not fond of this at all. Players could miss out on actually searching for intel, avoiding booby traps etc.

I tend to check if all objectives are completed, then activate green smoke at extraction. Trying to allow people to still extract if objectives are not complete also, as in only 1 player left and a shed loads of enemy to take on. Allow them to get out while they can.

As posted above by Buehgler_AS, the AS scripts are very good for learning, spent a lot of time reading them myself.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...