Script needed
Hi all
I need a script for a small DF mission I have made. I have 4 triggers. There are 4 trigger names which are the same for trigger and action. 1. Ju87s spawn after 600 seconds 2. Blenheims spawn after 900 seconds 3. A Bf108 spawns after 1200 seconds 4. If the Bf108 is 50%+ destroyed some 109s spawn in. The best I can do is the following but it won't work in mission: 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) { base.OnTrigger(missionNumber, shortName, active); if ("Blenheims".Equals(shortName) && active) { AiAction action = GamePlay.gpGetAction("Blenheims"); //same as YourTriggerName GamePlay.gpLogServer(null, " RAF bomber group spawned ", new object[] { }); //Testmessage if (action != null) { action.Do(); } GamePlay.gpGetTrigger(shortName).Enable = false; } } } public override void OnTrigger(int missionNumber, string shortName, bool active) { base.OnTrigger(missionNumber, shortName, active); if ("Ju87s".Equals(shortName) && active) { AiAction action = GamePlay.gpGetAction("Ju87s"); //same as YourTriggerName GamePlay.gpLogServer(null, " German bomber group spawned ", new object[] { }); //Testmessage if (action != null) { action.Do(); } GamePlay.gpGetTrigger(shortName).Enable = false; } } } public override void OnTrigger(int missionNumber, string shortName, bool active) { base.OnTrigger(missionNumber, shortName, active); if ("Bf108".Equals(shortName) && active) { AiAction action = GamePlay.gpGetAction("Bf108"); //same as YourTriggerName GamePlay.gpLogServer(null, " German air group spawned ", new object[] { }); //Testmessage if (action != null) { action.Do(); } GamePlay.gpGetTrigger(shortName).Enable = false; } } } public override void OnTrigger(int missionNumber, string shortName, bool active) { base.OnTrigger(missionNumber, shortName, active); if ("Bf109s".Equals(shortName) && active) { AiAction action = GamePlay.gpGetAction("Bf109s"); //same as YourTriggerName GamePlay.gpLogServer(null, " Eeek - huns in the sun! ", new object[] { }); //Testmessage if (action != null) { action.Do(); } GamePlay.gpGetTrigger(shortName).Enable = false; } } } Any suggested changes? Hood |
you only need one instance of the "public overide void on trigger" with all four triggers contained within it.
am doing this from a phone so can't paste an example for you. should have computer/ internet access tomorrow if you haven't figured it out by then. |
Quote:
I'll need an example - I have a HUGE blind spot when it comes to coding. Thanks Hood |
ok, new modem and I have internet:grin:
you need to have something like this example with 4 triggers in Code:
I don't think I've made any errors:rolleyes: but I haven't tested this, just cut out a trigger section from one of my campaigns and plugged it into the structure you gave (Amission etc) good luck |
Thanks. I think I need one extra section but will copy and paste.
Thanks again Hood |
there are actually 4 triggers- just the last one
Code:
if (GamePlay.gpGetTrigger("mis").Active) { You using notepad++/visual studio? - these will help with 'bracket pairing' and finding line numbers for any errors generated |
Um just notepad or word pad.
I think I can work out the brackets. Too busy toasting marshmallows right now though. Will try it tomorrow and will report back. Hood |
All times are GMT. The time now is 08:02 AM. |
Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © 2007 Fulqrum Publishing. All rights reserved.