Home   Help Search Login Register  

Author Topic: multiple endings 2 sides  (Read 1195 times)

0 Members and 1 Guest are viewing this topic.

Commando

  • Guest
multiple endings 2 sides
« on: 11 May 2005, 22:40:34 »
I got the mission done, but im making a special team objective version where some players can be west delta team and some players can be a east motorized hunter force team sort of  ;D but the thing is i don't know how to give them 3 endings each side.
For an example the west team has end#1 and end#2 end1 for win and end2 for loose if the get killed, and then east needs a end 1 if they win by killing the west team and a end 2 when their east squad gets wiped out and a end 3 if one or more of the west players escape the islands or when they target the last objective wich is to extract  ;D
so east 3 endings ,
west 2 endings  :P anyone got a solution for this because i checked out the official sources for this on the flashpoint1985 site and there where mentioned about details around mutiple sided briefing but not about the endings part that i needed to know.  :P

Offline Terox

  • Former Staff
  • ****
  • Follow the Sappers!
    • zeus-community.net
Re:multiple endings 2 sides
« Reply #1 on: 15 May 2005, 09:54:51 »
seeing as nobody has replied, i will offer my template end mission system


MISSION EDITOR
(Side failure to complete mission)
Trigger 1

Axis: [0,0]
Activation: None / Once
Type: None
Condition: (tx_Efail) OR (tx_Rfail) OR (tx_Wfail) OR (tx_timeout)
On Activation: [] exec "outro.sqs"

Trigger 2
(Timelimit trigger)

Axis: [0,0]
Activation: None / Once
Type: None
Condition: (time >= tx_timelimit)
On Activation: tx_timeout = true

Trigger 3
(End mission trigger)

Axis: [0,0]
Activation: None / Once
Type: #End1
Condition: (tx_missionend)
On Activation: Forcend

*******************************************************
INIT.SQS

tx_Wfail = false
tx_Efail = false
tx_Rfail = false
tx_timeout = false
tx_missionend = false
;;; following is missiontime limit (set to 30 minutes in the example
;; if you want a time that is unlimited set it to some massive number
tx_timelimit = 1800


*******************************************************
OUTRO.SQS

Quote
~3
?(tx_Wfail): goto "W_Fails"
?(tx_Efail): goto "E_Fails"
?(tx_Rfail): goto "R_Fails"
;; edit the tx_timeout goto so that it points to the Lose scenario for the given side when the mission times out
?(tx_timeout): goto "R_Fails"

;; WEST FAILS
   #W_Fails
;; add specific code to enable an outro for a given Res loses scenario's
;; see notes below

exit

;; EAST FAILS
   #E_Fails
;; add specific code to enable an outro for a given Res loses scenario's
;; see notes below

exit

;; RES FAILS
   #R_Fails
;; add specific code to enable an outro for a given Res loses scenario's
;; see notes below

exit

******************************************************
******************************************************
******************************************************



NOTES

The outro is triggered by a boolean being declared
this boolean can either be
tx_Wfail, tx_Efail, tx_Rfail or tx_timeout

If you just needed 1 win (or fail) scenario per given side then these are the only booleans you need to be working with

however if you have various win / lose scenario's then you simply need to create additional booleans so that when the outro trigger is run, it kniows what to do

for instance

RES WIN / LOSE Scenario's when playing against east
a) They win if they destroy an EAST communications tower

b) they lose if they suffer 80% casualty rates

c) they lose if they  fail to stop Enemy convoy reaching its objective

Lets take instance (a) first
_____________________________________________________________________
a) They fail to destroy a communications tower
(a script or trigger or eventhandler is monitoring the dammage on the comms tower
when the comms tower is destroyed, the following code is run
Quote
?(condition):goto "Commsdestroyed"
#Commsdestroyed
 tx_commsdestroyed = true; tx_Efail = true
{PublicVariable _x;}foreach[" tx_commsdestroyed ","tx_Efail"]
exit

_____________________________________________________________________
b) they lose if they suffer 80% casualty rates
Quote
your monitoring system (trigger / script) declares the following variables when the Resistance guys suiffer 80% casualty rates or more

tx_RcasrateHigh = true
tx_Rfail = true
{PublicVariable _x;}foreach[" tx_RcasrateHigh ","tx_Rfail"]

_____________________________________________________________________
c) they lose if they  fail to stop Enemy convoy reaching its objective
when the convoy reaches either a waypoint or trigger area, the following booleans are declared
Quote
tx_convoyArrived = true
tx_Rfail = true
{PublicVariable _x;}foreach["tx_convoyArrived ","tx_Rfail "]

_____________________________________________________________________
You now have 3 win / lose scenario's for Resistance
Each time Res wins or loses one of the following variables is transmitted
tx_Efail or tx_Rfail

this kicks in the outro.sqs

and then it jumps to either #E_fail 0r #R_fail labels

All you need to do then is put your specific failure booleans in as a condition query under that label nand then run some code after that condition query, eg run a specific outro cutscene script

eg

*******************************************************
OUTRO.SQS

Quote
~3
?(tx_Wfail): goto "W_Fails"
?(tx_Efail): goto "E_Fails"
?(tx_Rfail): goto "R_Fails"
;; edit the tx_timeout goto so that it points to the Lose scenario for the given side when the mission times out
?(tx_timeout): goto "R_Fails"

;; WEST FAILS
   #W_Fails
exit

;; EAST FAILS
   #E_Fails
?(tx_commsdestroyed): [] exec "Commsdestroyed.sqs"

exit

;; RES FAILS
   #R_Fails
?(tx_convoyArrived): [] exec "ConvoyArrivesOutro.sqs"
?(tx_RcasrateHigh): [] exec "RcasrateHighOutro.sqs"


exit

AT THE END OF YOUR FINAL OUTRO CUTSCENES ADD THE LINE

tx_missionend = true

this will activate the endmission trigger and forcend the mission

eg

ConvoyArrivesOutro.sqs"
Quote
;; do your cam stuff etc
;; at end of this script use line
tx_missionend = true
« Last Edit: 15 May 2005, 10:03:45 by Terox »
Zeus ARMA2 server IP = 77.74.193.124 :2302
Teamspeak IP = 77.74.193.123

Commando

  • Guest
Re:multiple endings 2 sides
« Reply #2 on: 15 May 2005, 11:36:22 »
thx i'll try if this works tonight !  :)