![]() |
#1
|
|||
|
|||
![]()
Hi, we have a trigger setup that functions in player hosted servers, but will not function when run on "server" host
The basic operation is trigger "name" covers region which operates a timer switch which intern operates a triggered random mission set. The timer halts reactivation of trigger until time runs out then resets trigger. (random timer and defined timer period). As noted this works well in player hosted server. However in "server" hosted setup it fails. I note that I tried defining as per action.do trying triggers etc, but cannot find syntax or work around to force the trigger to work. hoping the advanced codies can help, thanks. heres the trigger operation code Code:
//example of side specific overflight trigger response, message indicator public override void OnTrigger(int missionNumber, string shortName, bool active) { base.OnTrigger(missionNumber, shortName, active); int Chkarmy; /*===================de triggered mis=====================*/ if ("de1".Equals(shortName) && active) { /* //GamePlay.gpGetTrigger(shortName).Enable = true; OnTrigger trigger = GamePlay.gpGetTrigger("de1"); if (trigger != null) trigger.Do(); */ ScreenMsg(-1, shortName + " trigger stage 1");// rem out once checks complete Chkarmy = 1; if (GamePlay.gpPlayer() != null && GamePlay.gpPlayer().Army() == Chkarmy) { switch (de1S) { case 1: ScreenMsg(-1, shortName + " trigger switch stage 2");// rem out once checks complete de1M();//trigger for map load break; case 2: ScreenMsg(-1, shortName + " trigger already in action");// rem out once checks complete break; } } } if ("de2".Equals(shortName) && active) { Chkarmy = 1; if (GamePlay.gpPlayer() != null && GamePlay.gpPlayer().Army() == Chkarmy) { switch (de2S) { case 1: ScreenMsg(-1, shortName + " trigger switch stage 2");// rem out once checks complete de2M();//trigger for map load break; case 2: ScreenMsg(-1, shortName + " trigger already in action");// rem out once checks complete break; } } } /*===================uk triggered mis=====================*/ if ("uk1".Equals(shortName) && active)//uk team trigger, create new if statement for each new trigger { Chkarmy = 2; if (GamePlay.gpPlayer() != null && GamePlay.gpPlayer().Army() == Chkarmy) { switch (uk1S) { case 1: ScreenMsg(-1, shortName + " trigger switch stage 2");// rem out once checks complete uk1M();//trigger for map load break; case 2: ScreenMsg(-1, shortName + " trigger already in action");// rem out once checks complete break; } } } if ("uk2".Equals(shortName) && active)//uk team trigger, create new if statement for each new trigger { Chkarmy = 2; if (GamePlay.gpPlayer() != null && GamePlay.gpPlayer().Army() == Chkarmy) { switch (uk2S) { case 1: ScreenMsg(-1, shortName + " trigger switch stage 2");// rem out once checks complete uk2M();//trigger for map load break; case 2: ScreenMsg(-1, shortName + " trigger already in action");// rem out once checks complete break; } } } } /* // triggered mission loader cascading type private void deM() { de1S = 2;//on off switch for trigger operation Timeout(resetde1S, () => { de1S = 1; });//switch delay stops multible trigger loading, resets by set time period switch (derM) { case 1: derM = 2;//cascading map load GamePlay.gpPostMissionLoad(MissionPath + Mis9); Timeout(2.0, () => { ScreenMsg(-1, Msg9); }); Timeout(4.0, () => { ScreenMsg(1, Msg9r); ScreenMsg(2, Msg9b); }); break; case 2: derM = 1;//cascading map load GamePlay.gpPostMissionLoad(MissionPath + Mis10); Timeout(2.0, () => { ScreenMsg(-1, Msg10); }); Timeout(4.0, () => { ScreenMsg(1, Msg10r); ScreenMsg(2, Msg10b); }); break; } } */ // triggered mission loader random selection type private void uk1M() { switch (uk1S) { case 1: uk1S = 2;//on off switch for trigger operation Timeout(resetuk1S.Next(100, 900), () => { uk1S = 1; });//random timer reset function break; case 2: break; } Timeout(1, () => { ScreenMsg(1, Msg100r); ScreenMsg(2, Msg100b); }); switch (ukrM.Next(1, 4)) { case 1: GamePlay.gpPostMissionLoad(MissionPath + Mis100); Timeout(2.0, () => { ScreenMsg(-1, Msg100); }); break; case 2: GamePlay.gpPostMissionLoad(MissionPath + Mis101); Timeout(2.0, () => { ScreenMsg(-1, Msg101); }); break; case 3: GamePlay.gpPostMissionLoad(MissionPath + Mis102); Timeout(2.0, () => { ScreenMsg(-1, Msg102); }); break; case 4: GamePlay.gpPostMissionLoad(MissionPath + Mis103); Timeout(2.0, () => { ScreenMsg(-1, Msg103); }); break; } } private void uk2M() { switch (uk2S) { case 1: uk2S = 2;//on off switch for trigger operation Timeout(resetuk2S.Next(100, 900), () => { uk2S = 1; });//random timer reset function break; case 2: break; } Timeout(1, () => { ScreenMsg(1, Msg100r); ScreenMsg(2, Msg100b); }); switch (ukrM.Next(1, 4)) { case 1: GamePlay.gpPostMissionLoad(MissionPath + Mis100); Timeout(2.0, () => { ScreenMsg(-1, Msg100); }); break; case 2: GamePlay.gpPostMissionLoad(MissionPath + Mis101); Timeout(2.0, () => { ScreenMsg(-1, Msg101); }); break; case 3: GamePlay.gpPostMissionLoad(MissionPath + Mis102); Timeout(2.0, () => { ScreenMsg(-1, Msg102); }); break; case 4: GamePlay.gpPostMissionLoad(MissionPath + Mis103); Timeout(2.0, () => { ScreenMsg(-1, Msg103); }); break; } } private void de1M() { switch (de1S) { case 1: de1S = 2;//on off switch for trigger operation Timeout(resetde1S.Next(100, 900), () => { de1S = 1; });//random timer reset function break; case 2: break; } Timeout(1, () => { ScreenMsg(1, Msg200r); ScreenMsg(2, Msg200b); }); switch (derM.Next(1, 4)) { case 1: GamePlay.gpPostMissionLoad(MissionPath + Mis200); Timeout(2.0, () => { ScreenMsg(-1, Msg200); }); break; case 2: GamePlay.gpPostMissionLoad(MissionPath + Mis201); Timeout(2.0, () => { ScreenMsg(-1, Msg201); }); break; case 3: GamePlay.gpPostMissionLoad(MissionPath + Mis202); Timeout(2.0, () => { ScreenMsg(-1, Msg202); }); break; case 4: GamePlay.gpPostMissionLoad(MissionPath + Mis203); Timeout(2.0, () => { ScreenMsg(-1, Msg203); }); break; } } private void de2M() { switch (de2S) { case 1: de2S = 2;//on off switch for trigger operation Timeout(resetde2S.Next(100, 900), () => { de2S = 1; });//random timer reset function break; case 2: break; } Timeout(1, () => { ScreenMsg(1, Msg200r); ScreenMsg(2, Msg200b); }); switch (derM.Next(1, 4)) { case 1: GamePlay.gpPostMissionLoad(MissionPath + Mis200); Timeout(2.0, () => { ScreenMsg(-1, Msg200); }); break; case 2: GamePlay.gpPostMissionLoad(MissionPath + Mis201); Timeout(2.0, () => { ScreenMsg(-1, Msg201); }); break; case 3: GamePlay.gpPostMissionLoad(MissionPath + Mis202); Timeout(2.0, () => { ScreenMsg(-1, Msg202); }); break; case 4: GamePlay.gpPostMissionLoad(MissionPath + Mis203); Timeout(2.0, () => { ScreenMsg(-1, Msg203); }); break; } } #endregion |
|
|