PDA

View Full Version : EventChat


41Sqn_Banks
10-07-2012, 12:11 AM
Sometimes it would be useful to react on chat messages in your mission script (e.g. to list the remaining targets). I found the solution at sukhoi.ru, there is a hidden flag in the conf.ini that enables this.

IMPORTANT:
You have to add the following line to your conf.ini or confs.ini file:

[rts]
scriptAppDomain=0


Without that you get a System.Runtime.Serialization.SerializationExceptio n.

This is the code for the mission:


public override void OnBattleStarted()
{
base.OnBattleStarted();

if (GamePlay is GameDef)
{
(GamePlay as GameDef).EventChat += new GameDef.Chat(Mission_EventChat);
}
}

void Mission_EventChat(IPlayer from, string msg)
{
// msg contains the chat message.

// Example: This code causes the server to repeat the message from the player.
if (GamePlay is GameDef)
{
(GamePlay as GameDef).gameInterface.CmdExec("chat " + msg);
}
}


Happy coding :)

FG28_Kodiak
10-07-2012, 07:24 AM
Nice find, thanks. Sometimes i wish my russian would be better. But only with "Dawei Dawei" :rolleyes:

41Sqn_Banks
10-07-2012, 09:36 AM
Now I only need a way to write a chat message to a player (which is shown in the dogfight menu chat window).

Any ideas?

salmo
10-07-2012, 10:05 AM
Nice find Banks. Makes you wonder what other functionality is hidden.

41Sqn_Banks
10-07-2012, 11:00 AM
This allows the server to write chat messages:

string msg = "Hello World!";
if (GamePlay is GameDef)
{
(GamePlay as GameDef).gameInterface.CmdExec("chat " + msg);
}


Is there a way to send a chat message only to a specific player?