#1
|
|||
|
|||
Grabbing the hWnd and keyboard etc
Have any of you guys played around with trying to have some sort of input into a running mission script, i.e. user key-presses or external window handle?
I'm thinking as a WPF app it should be possible to register for OnKey events or GetKeyState and the like but I've not yet tried it. It should be possible to get the window handle and then go from there as I imagine the AMission class wouldn't get any of that naturally. Anyone tried this or have any luck with this type of thing already? |
#2
|
|||
|
|||
I tried to read "command" (something like "!hello" typed in by a player) from the log file. However it seems like the log file is only written when the game is closed.
|
#3
|
|||
|
|||
As far as I know a log file is written with a very short delay at least on a dedi server.
Small_Bee or Geniok at sukhoi.ru mentioned that grabbing key presses is probably possible if a dll is downloaded from server to client together with a mission. No one did this yet as far as i know. Last edited by Ataros; 08-08-2011 at 07:45 AM. |
#4
|
|||
|
|||
Ok I will check this. Would make sense as the dedicated server is not supposed to be closed that often.
|
#5
|
|||
|
|||
Even if it is not written duing the mission, MG must have at least some pointer to the filebuffer in which is stored.. Most probably they should also have some LastLineAdded funtion.. You should ask Narvy on sukhoi forum.
|
#6
|
|||
|
|||
I managed to register a method to the Chat event of the GameDef class. However I don't think it's possible to access GameDef from the mission script.
I can do this however from within my addin. |
#7
|
|||
|
|||
Quote:
I see you implemented an Add-In interface in your campaign stuff Banks - does that also run while a mission is being played, i.e. I could hook into the Chat event while a mission is playing if I write an Add-in? Thanks for your comments/help btw |
#8
|
|||
|
|||
Yes the chat is captured during the mission.
http://code.google.com/p/il2dce/sour...IL2DCE/Core.cs Code:
public Core(GameDef game) { _game = game; Game.EventChat += new GameDef.Chat(Game_EventChat); Code:
void Game_EventChat(IPlayer from, string msg) { if(msg.Contains("!hello")) { Game.gpLogServer(new Player[] { from }, "Hello World!", null); } } http://code.google.com/p/il2dce/sour.../GameSingle.cs Code:
public GameSingle(GameSingleIterface game) : base(game) { core = new Core(this); } http://code.google.com/p/il2dce/sour...GameSingle.xml |
#9
|
|||
|
|||
Great - thank you!
|
#10
|
|||
|
|||
One related question to this is has anyone found out anything regarding an Add-in interface that works without having to define a single player mission or campaign setup pages?
Banks - it seems the GameDef reference is only passed down into the Add-In once a whole campaign set is defined, say a new 'Single Player' menu entry (i.e. an entry in the XML config to the right assembly etc). So if I wanted to let people just use my add-in then I have to either: - Define some custom pages to go pick quick missions that exist. Is there anyway to reuse what's been defined in Play.QuickMiss() as that seems to return ContentControls rather than a Page implementation? - Define a complete WPF custom page that allows a mission file to be picked and then loads the Mission? - Some other type of Client Add-In that gives me the GameDef reference but is included in all type so Campaign/Missions? Anyone got any ideas of this? Last edited by fearlessfrog; 08-14-2011 at 08:38 PM. |
|
|