Topic: Order of missions in EAW single player campaign  (Read 3280 times)

0 Members and 1 Guest are viewing this topic.

Pi-R

  • Guest
Order of missions in EAW single player campaign
« on: February 25, 2003, 05:59:39 am »
How can you make sure in EAW that your user created missions for the single player campaign are offered in a specific order, so that mission B will only be offered when mission A has been played. In fact this comes down to how does EAW knows mission Mir_1Desecration, Mir_2Dance, Mir_3Tug, Mir_4PlayTime etc. should be played in this order?

Is this incorporated in the missions or in the campaign?  

NuclearWessels

  • Guest
Re: Order of missions in EAW single player campaign
« Reply #1 on: February 25, 2003, 08:25:14 am »
The scheduling for scripted sequences of missions is controlled in the scripts, in the .cpp file where you set up the team you'll find a schedule-next-mission method (for human playable teams at least).  In there you'll see  a line where you can include the title of the next mission.  E.g.:
Code:

void tAttackTeam::mScheduleNextMission( tVictoryCondition* VictoryCondition )
{
   fMissionScheduler.fVictoryLevel = VictoryCondition->mCalcVictoryStatus( mGetTeam() );
   fMissionScheduler.fPrestige = VictoryCondition->mGetPrestigePoints( fMissionScheduler.fVictoryLevel );
   fMissionScheduler.fBonusPrestige = VictoryCondition->mGetBonusPrestige();

   fMissionScheduler.fNextMissionScore = 0; // <== I'm rusty on what the score is
                      //    I think it's just a weighting with bigger numbers making it more likely
                      //   .... 300 seems to work :)

   fMissionScheduler.fNextMissionTitle = ""; // <== put the name of the next mission in the string here,
                     //     e.g. "Uni_mymission"
}



dave

     

FPF_TraceyG

  • Guest
Re: Order of missions in EAW single player campaign
« Reply #2 on: February 25, 2003, 12:13:17 pm »
Quote:

The scheduling for scripted sequences of missions is controlled in the scripts, in the .cpp file where you set up the team you'll find a schedule-next-mission method (for human playable teams at least).  In there you'll see  a line where you can include the title of the next mission.  E.g.:
Code:

void tAttackTeam::mScheduleNextMission( tVictoryCondition* VictoryCondition )
{
   fMissionScheduler.fVictoryLevel = VictoryCondition->mCalcVictoryStatus( mGetTeam() );
   fMissionScheduler.fPrestige = VictoryCondition->mGetPrestigePoints( fMissionScheduler.fVictoryLevel );
   fMissionScheduler.fBonusPrestige = VictoryCondition->mGetBonusPrestige();

   fMissionScheduler.fNextMissionScore = 0; // <== I'm rusty on what the score is
                      //    I think it's just a weighting with bigger numbers making it more likely
                      //   .... 300 seems to work :)

   fMissionScheduler.fNextMissionTitle = ""; // <== put the name of the next mission in the string here,
                     //     e.g. "Uni_mymission"
}



dave

       




according to the API itself, if you put 1000 for the NextMissionScore, it claims this will guarantee the next scheduled mission will be the one offered.
This method also has some other interesting features (which work) such as recommending medals as well