![]() |
|
#1
|
|||
|
|||
![]() Quote:
After that, create an action that will spawn the airgroup you just created. You could even make the action spawn the original airgroup if you want the second attack force to be exactly the same as the first. Just remember to uncheck "script spawn only" so that the airgroup spawns at the start of the mission like normal. The script will look like this: Code:
using System; using maddox.game; using maddox.game.world; using System.Collections.Generic; public class Mission : AMission { public override void OnTrigger(int missionNumber, string shortName, bool active) { //call base classes OnTrigger method. base.OnTrigger(missionNumber, shortName, active); //if the trigger that was called is the trigger that we're looking for if (shortName.Equals("attackConvoyDelay") && active) { AiAction action = GamePlay.gpGetAction("attackConvoy")); if (action != null) action.Do(); } } Note that I've named the trigger "attackConvoyDelay" and the action "attackConvoy". You can change them to whatever you want, just make sure they are the same in both the mission and the script. I hope this helps. ![]() |
#2
|
||||
|
||||
![]() Quote:
![]() I've set up the Trigger, Action and Script, just got to add the rest of the waypoints. I'll finish it tonight and try it out. Cheers
__________________
klem 56 Squadron RAF "Firebirds" http://firebirds.2ndtaf.org.uk/ ASUS Sabertooth X58 /i7 950 @ 4GHz / 6Gb DDR3 1600 CAS8 / EVGA GTX570 GPU 1.28Gb superclocked / Crucial 128Gb SSD SATA III 6Gb/s, 355Mb-215Mb Read-Write / 850W PSU Windows 7 64 bit Home Premium / Samsung 22" 226BW @ 1680 x 1050 / TrackIR4 with TrackIR5 software / Saitek X52 Pro & Rudders |
#3
|
|||
|
|||
![]()
I have just had a thought about scripts that start submissions.... can the submissions themselves have scripts? I think they can: when first testing the submission script i accidentally left a script in one of the submissions and it took ages for me to work out what the hell was going on!
Im at work so I can't test this but here is an idea to allow a mission to repeat every 2 hours or so. A few posts up I related how im having trouble doing this with the repeat part of the script but an alternative method might be this: MAIN MISSION SCRIPT: Spawn bombergroup1 submission after 15 mins server time. NO repeats 15 mins main server time > bombergroup1 submission starts. It has a script itself which says: Spawn bombergroup 1 after 2 hours (i.e. it starts itself again) 2hr 15 min main server time> bombergroup1 submission starts again... If this works correctly then so long as the server is running every two hours the bombergroup1 submission will spawn. the bombergroup1 submission will last approx 90 mins plus however long it takes to despawn the landed/crashed planes (using Atatos et als script..which works well!). In other words it should finish and the aircraft despawn BEFORE it starts again. Questions: 1) has anyone tried this? (I will later... damn I hate work!!) 2) when the submission starts, does it start its own tickcount from its creation, or does it 'read' the master mission tick count? This is important because if it starts its own tickcount then the second time the bomber group spawns it will be 2 hours after the first. If however it uses the master mission tickcount it might start after 2 hours server time, but this is only 1 hr 45 after the first submission starts. This might mean that the next subsequent submission will not start at all. 3) Am i making any sense whatsoever? PS I know that the tickcount isn't truly accurate with regards to time, but its close enough for my needs. |
#4
|
||||
|
||||
![]() Quote:
Quote:
Depends on what you want to do. ![]() Last edited by ZaltysZ; 05-20-2011 at 10:30 AM. |
#5
|
||||
|
||||
![]() Quote:
public override void OnTrigger(int missionNumber, string shortName, bool active) { //call base classes OnTrigger method. base.OnTrigger(missionNumber, shortName, active); GamePlay.gpHUDLogCenter("shortname = " + shortName); //if the trigger that was called is the trigger that we're looking for if (shortName.Equals("AttackConvoy2Delay1")) { AiAction action = GamePlay.gpGetAction("AttackConvoy2_1") ; if (action != null) { action.Do(); } } } The '&& active' didn't work because: 1. It seems it should be + not && 2. You can see I tested for the shortname and of course ("AttackConvoy2Delay1" + active) isn't equal to "AttackConvoy2Delay1". I don't know what 'active' comes back as but it would make the strings unequal. Also, I put { } around the if(action != null) output as { action.Do(); } although that may not havebeen necessary. Anyway it works ! Thanks for the help TheEnlightenedFlorist.
__________________
klem 56 Squadron RAF "Firebirds" http://firebirds.2ndtaf.org.uk/ ASUS Sabertooth X58 /i7 950 @ 4GHz / 6Gb DDR3 1600 CAS8 / EVGA GTX570 GPU 1.28Gb superclocked / Crucial 128Gb SSD SATA III 6Gb/s, 355Mb-215Mb Read-Write / 850W PSU Windows 7 64 bit Home Premium / Samsung 22" 226BW @ 1680 x 1050 / TrackIR4 with TrackIR5 software / Saitek X52 Pro & Rudders |
#6
|
||||
|
||||
![]()
"active" is boolean (logical true or false). You should check "active" to see if trigger is active.
Code:
if (shortName.Equals("attackConvoyDelay") && active) |
#7
|
||||
|
||||
![]()
Aaahh! Got it. Thanks
__________________
klem 56 Squadron RAF "Firebirds" http://firebirds.2ndtaf.org.uk/ ASUS Sabertooth X58 /i7 950 @ 4GHz / 6Gb DDR3 1600 CAS8 / EVGA GTX570 GPU 1.28Gb superclocked / Crucial 128Gb SSD SATA III 6Gb/s, 355Mb-215Mb Read-Write / 850W PSU Windows 7 64 bit Home Premium / Samsung 22" 226BW @ 1680 x 1050 / TrackIR4 with TrackIR5 software / Saitek X52 Pro & Rudders |
![]() |
Thread Tools | |
Display Modes | |
|
|