![]() |
|
#2
|
|||
|
|||
|
Code:
using System;
using maddox.game;
using maddox.game.world;
using System.Collections.Generic;
public class Mission : AMission
{
double initTime = 0.0;
public override void OnTickGame()
{
if (Time.tickCounter() % 108000 == 18000) // 108000 = 60 min repeat. 18000 = 10 min delay.
{
GamePlay.gpPostMissionLoad("missions/channelv6/BM1/Practice.mis");
GamePlay.gpHUDLogCenter("The Battle of Britain is about to begin");
Timeout(initTime += 600, () =>
{
GamePlay.gpHUDLogCenter("Intell German Bomber Raids Heading For Hawkinge");
});
}
if (Time.tickCounter() % 108000 == 54000) // 108000 = 60 min repeat, 54000 = 30 min delay.
{
GamePlay.gpPostMissionLoad("missions/channelv6/BM1/Practice1.mis");
GamePlay.gpHUDLogCenter("Intell German Bomber Raids Heading For Lympne");
}
if (Time.tickCounter() % 108000 == 90000) // 60 min repeat, 50 min delay
{
GamePlay.gpPostMissionLoad("missions/channelv6/BM1/Practice2.mis");
GamePlay.gpHUDLogCenter("Intell German Bomber Raids Heading For Manston/Ramsgate");
}
}
}
double initTime = 0.0; Timeout(initTime += 600, () => made not much sense in OnTickGame. Every time the if clause is true initTime is reset to 0, and the message is send after 600 seconds. initTime +=600 means initTime = initTime + 600; if you like to send a message 600sec a mission is loaded you can use "Timeout(600, () =>" only if you like to send a message 600sec a mission is loaded and then after the second time 1200sec then 1800sec you should place the double initTime = 0.0; outside to make it global in the class. btw this makes more sense: double initTime = 0.0; Timeout(initTime, () => { GamePlay.gpHUDLogCenter("Attention Reds"); }); Timeout(initTime += 5, () => { GamePlay.gpHUDLogCenter("Intell German Bomber Raids Heading For Hawkinge"); }); Timeout(initTime += 5, () => { GamePlay.gpHUDLogCenter("Intercept them"); }); the first message is send directly the second 5 second later and the third 10 seconds, this is nessesary if you try for example these GamePlay.gpHUDLogCenter("Attention Reds"); GamePlay.gpHUDLogCenter("Intell German Bomber Raids Heading For Hawkinge"); GamePlay.gpHUDLogCenter("Intercept them"); only the last message "Intercept them" is shown. and there was a GamePlay.gpHUDLogCenter("Intell German Bomber Raids Heading For Manston/Ramsgate"); }); <======= this is an error } Last edited by FG28_Kodiak; 01-12-2012 at 03:01 PM. |
| Thread Tools | |
| Display Modes | |
|
|