![]() |
|
#1
|
|||
|
|||
![]()
Hi guys, hope you would be on reading this.
Yes I forgot to add MissionNumberListener = -1 to this smaller script for testing but it is in the larger one. I do not import a new mission on trigger it is all run from the one mission and .cs file. Also I want the syntax for 'AND' not 'OR' cause I want it to say that objective is complete if Target 1 & Target 2 are triggered. So the Syntax for 'AND' is && or something else? So it registers that both triggers destroy and so both triggers are active as i changed Target1_1 TGroupDestroyed 11_Chief 100 But this is not correct also. So I think I wil have go to with two separate Chiefs and not a respawn of the first as both Trigger 1 and two refer to the same group and the groups are dont individually designed like 10Cheif and 11_Cheif will read the link now. Thanks guys
__________________
__________________ Win7, 64bit Ultra Asus P8P67Pro MB Intel i7-2600K Coursair 16GB (4x 4GB), DDR3-1600MHz Gainward Nvidia 580GTX 3GB DDR5 850-Watt Modular Power Supply WIN7 and COD on Gskill SSD 240GB 40" Panasonic LCD TrackIR5 + Thrustmaster Warthog stick, throttle & pedals |
#2
|
|||
|
|||
![]()
Ah ok a little misinterpretion
first if (("Target1".Equals(shortName) && active) && ("Target1_1".Equals(shortName) && active)) couldnt work there is only one shortName it could be Target1 or Target1_1 but never both. So you can create a global bool variable. Example bool Target1triggered = false; bool Target1_1triggered = false; then in Ontrigger you can set if ("Target1".Equals(shortName) && active) { Target1triggered = true; } if ("Target1_1".Equals(shortName) && active) { Target1_1triggered = true; } if (Target1triggered && Target1_1triggered) { // Your code } Or you check if the Trigger is enabled, normaly the trigger will be disabled (not the PassThru-Trigger) after activation. if (GamePlay.gpGetTrigger("Trigger1").Enable == false && GamePlay.gpGetTrigger("Target1_1").Enable == false) should became true |
#3
|
|||
|
|||
![]()
You Wizzards of Code! Ok will put this together and test. let you know in a little while
__________________
__________________ Win7, 64bit Ultra Asus P8P67Pro MB Intel i7-2600K Coursair 16GB (4x 4GB), DDR3-1600MHz Gainward Nvidia 580GTX 3GB DDR5 850-Watt Modular Power Supply WIN7 and COD on Gskill SSD 240GB 40" Panasonic LCD TrackIR5 + Thrustmaster Warthog stick, throttle & pedals |
#4
|
|||
|
|||
![]()
Isnt he sneaky
![]() |
#5
|
|||
|
|||
![]() Quote:
0:BoB_LW_StG77_Stab.000 after you land/crash/etc and create a new plane this one will be named: 1:BoB_LW_StG77_Stab.000 then next time 2:BoB_LW_StG77_Stab.000 etc. This also occurs with AI planes created using sub missions. WildWillie |
#6
|
|||
|
|||
![]()
I thought about this a bit more, I think you can solve this by creating a separate void
The trick is keep the 2 triggers separate, but instead of calling the action or text from the trigger call a void You need a bool or interger count in the trigger to act as a reference that the condition has been met then call the void within the void have conditional if statement or switch, in the case of each bool or interger count being this state or value then call the result if it hasnt had both triggers call yet nothing happens, or you could call a text message "half the column destroyed" . the following might work, it is something I use for other things, but no real reason this wont work here for this. code itself may require tweaking a little, but you get the idea Code:
private int column; public override void OnTrigger(int missionNumber, string shortName, bool active) { base.OnTrigger(missionNumber, shortName, active); if ("Target1".Equals(shortName) && active) { column = column + 1; callcolumn(); GamePlay.gpGetTrigger(shortName).Enable = false; } if ("Target1_1".Equals(shortName) && active) { column = column + 1; callcolumn(); GamePlay.gpGetTrigger(shortName).Enable = false; } } private void callcolumn() { switch (column) { case 1 GamePlay.gpHUDLogCenter(" Half the Column destroyed!!!"); break; case 2 column = 0; GamePlay.gpHUDLogCenter("Column destroyed!!!"); break; } } Last edited by Smokeynz; 03-15-2012 at 06:12 AM. |
#7
|
|||
|
|||
![]()
Hey Smokeynz,
I got the full script working based on Kodiak's script above with a little tweaking, but was only working if the chiefs spawned from the beginning of the battle. If the Chiefs were flagged to 'spawn on sctipt' the triggers would not activate. So I have it all working great with the "bool Target1_1triggered = false;" script above. Kodiak came back to me with a possible fix to make the triggers activate if chiefs 'Spawn from script'. I gave it a quick go this morning before work but did not activate triggers, will test properly tonight. I will also give yours a shot as it is a different approach and would be interesting to see if "on the whole" it is a neater script or not. Will keep you both informed and send you the test mission tonight if I am stuck.
__________________
__________________ Win7, 64bit Ultra Asus P8P67Pro MB Intel i7-2600K Coursair 16GB (4x 4GB), DDR3-1600MHz Gainward Nvidia 580GTX 3GB DDR5 850-Watt Modular Power Supply WIN7 and COD on Gskill SSD 240GB 40" Panasonic LCD TrackIR5 + Thrustmaster Warthog stick, throttle & pedals |
![]() |
Thread Tools | |
Display Modes | |
|
|