Fulqrum Publishing Home   |   Register   |   Today Posts   |   Members   |   UserCP   |   Calendar   |   Search   |   FAQ

Go Back   Official Fulqrum Publishing forum > Fulqrum Publishing > IL-2 Sturmovik: Cliffs of Dover > FMB, Mission & Campaign builder Discussions

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #1  
Old 01-10-2012, 07:30 AM
Smokeynz Smokeynz is offline
Approved Member
 
Join Date: Apr 2011
Posts: 106
Default Help with triggers please

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
Reply With Quote
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 06:46 PM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright © 2007 Fulqrum Publishing. All rights reserved.