Jump to content

OR in conditions: is it Boolean or linear? Also mission trigger help.


Recommended Posts

Posted

I have bugs in a mission I'm doing and I've narrowed it down to triggers with concatenated AND and OR conditions. I was wondering (since there are no parentheses in the conditions field) if AND and OR act as Boolean operands (i.e. AND = multiply, OR = add), or if they are linear (i.e. read it in sequence and OR links the conditions on either side). I have tried both methods and I still can't get the triggers to activate or time properly.

 

Here's a timing example: I want the mission success voice over to kick in 20 seconds after the message that the troops have taken the last objective. That part works fine. However, if the bad guys in the sector are killed 100% (85% is success, 100% is bonus), that triggers another voice file no earlier than 20 seconds after the 85% voice file (to prevent stepping on voice files).

 

So I added an OR command to delay the 100% message until after the mission success voice over is played. Yet no matter what, the 100% voice over and the mission success voice over always play at the same time.

 

Here's the routine (assuming linear OR), where Flag 99 is mission success, 114 is sector at 85%, and 214 is sector at 100%.

 

(ONCE) IF:
TIME SINCE FLAG(114,20)
GROUP DEAD(Insurgents_2)
FLAG IS FALSE(99)
[OR]
TIME SINCE FLAG(99,50)  //Note: this is to allow for the mission success message to play prior to 100% message

THEN:
MESSAGE TO COALITION
SOUND TO COALITION
FLAG ON(214)

 

 

I have also tried the following with no success (as a Boolean OR):

 

(ONCE) IF:
TIME SINCE FLAG(114,20)
GROUP DEAD(Insurgents_2)
FLAG IS FALSE(99)
[OR]
TIME SINCE FLAG(114,20)
GROUP DEAD(Insurgents_2)
TIME SINCE FLAG(99,50)  //Note: this is to allow for the mission success message to play prior to 100% message

THEN:
MESSAGE TO COALITION
SOUND TO COALITION
FLAG ON(214)

I guess the big question is how to use OR in these concatenated statements, and what am I doing wrong?

 

Thanks in advance,

Posted (edited)

I was doing some late night mission editing. Let me see if I can help.

 

Heres how I read block 1.

 

 

 

The trigger will check condition only (ONCE) IF:

TIME SINCE FLAG #114, was 20 seconds

And

GROUP DEAD(Insurgents_2) AKA this group is dead.

And

FLAG #99 IS FALSE

 

[OR]

 

TIME SINCE FLAG#99 has passed 50seconds) //Note: this is to allow for the mission success message to play prior to 100% message

 

THEN:

MESSAGE TO COALITION

and

SOUND TO COALITION

and

FLAG ON(214)

 

 

 

Now block 2

 

 

 

The trigger will check only (ONCE) IF:

 

TIME SINCE FLAG #114 has been 20seconds)

and

GROUP DEAD(Insurgents_2)

And

FLAG #99 IS FALSE

 

[OR]

 

TIME SINCE FLAG(114,20)

and

GROUP DEAD(Insurgents_2)

and

TIME SINCE FLAG #99 has been 50seconds) //Note: this is to allow for the mission success message to play prior to 100% message

 

THEN:

MESSAGE TO COALITION

SOUND TO COALITION

FLAG ON(214)

 

 

 

I dont know if that helps you with the mission. I have no idea what flags 99, 214, or 114 do. So it makes it hard to help with logic. Here is a link that may give you a better answer.

 

http://en.wiki.eagle.ru/wiki/Mission_Editor:_Trigger_Basics

 

I'm tired. I take no responsibly for mis information.

Edited by Krebs20

[sIGPIC][/sIGPIC]

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...