Official Fulqrum Publishing forum

Official Fulqrum Publishing forum (http://forum.fulqrumpublishing.com/index.php)
-   FMB, Mission & Campaign builder Discussions (http://forum.fulqrumpublishing.com/forumdisplay.php?f=203)
-   -   Grabbing the hWnd and keyboard etc (http://forum.fulqrumpublishing.com/showthread.php?t=25263)

fearlessfrog 08-08-2011 05:39 AM

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?

41Sqn_Banks 08-08-2011 07:28 AM

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.

Ataros 08-08-2011 07:39 AM

As far as I know a log file is written with a very short delay at least on a dedi server.

Quote:

Originally Posted by fearlessfrog (Post 321098)
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?

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.

41Sqn_Banks 08-08-2011 08:52 AM

Quote:

Originally Posted by Ataros (Post 321111)
As far as I know a log file is written with a very short delay at least on a dedi server.

Ok I will check this. Would make sense as the dedicated server is not supposed to be closed that often.

adonys 08-08-2011 09:01 AM

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.

41Sqn_Banks 08-08-2011 04:50 PM

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.

fearlessfrog 08-08-2011 05:17 PM

Quote:

Originally Posted by 41Sqn_Banks (Post 321305)
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.

Hmm, perhaps I should be doing an add-in then. My original question was really for just single player functionality, and I thought putting it in a mission script would be the way to go.

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 :)

41Sqn_Banks 08-08-2011 06:33 PM

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);
            }
        }

Here is how the GameDef is given to the Core. This is also the entry point for the addin.
http://code.google.com/p/il2dce/sour.../GameSingle.cs
Code:

public GameSingle(GameSingleIterface game)
                : base(game)
            {
                core = new Core(this);
            }

To load the addin you need to have a .xml file:
http://code.google.com/p/il2dce/sour...GameSingle.xml

fearlessfrog 08-08-2011 06:59 PM

Great - thank you!

fearlessfrog 08-14-2011 08:12 PM

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?


All times are GMT. The time now is 11:58 AM.

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