
Project Setup
Clone the project in your favourite github client. You will need MonoDevelop if you develop your application for all platforms (Windows, OS X, Linux) or Microsoft Visual Studio if you develop just for windows. The client requirements will be the Mono framework for apps developed in MonoDevelop, or the .NET Framework for Visual Studio apps.Monodevelop Settings
- Create your new MonoDevelop Solution
- You can clone this repository and add it as a submodule in your own git tree, or just checkout the latest.
- Add the FMScoutFramework project to your solution.
- Expand your own project, and right click on References
- Select Edit References
- Click the Projects tab and tick the checkbox next to FMScoutFramework
- Click OK
- Right click on the FMScoutFramework Project
- Click on Options
- Select Compiler from the Menu
- In the Define Symbols entry, enter MAC for OS X, LINUX for Linux or WINDOWS for windows.
- You are now ready to start developing your app. Look further down for code
Microsoft Visual Studio Settings
- Create your new Visual Studio Solution
- You can clone this repository and add it as a submodule in your own git tree, or just checkout the latest.
- Add the FMScoutFramework project to your solution.
- Expand your own project and right click on References
- Click Add Reference
- Click the Projects tab, under Solution and tick the checkbox next to FMScoutFramework
- Click OK
- Right click on the FMScoutFramework Project
- Click on Properties
- Select Build from the menu on the left
- In the Conditional Compilation Symbols textbox, enter WINDOWS;
- You are now ready to start developing your app. Look further down for code.
Example Code
The following code is an example for a simple Windows Forms application and another for Mono First, include the necessary framework headers:
using System.Collections.Generic; using System.Linq; using System.Threading; using FMScoutFramework.Core; using FMScoutFramework.Core.Entities.InGame;
In your class, create a new public variable:
public FMCore fmCore = new FMCore (FMScoutFramework.Core.Entities.DatabaseModeEnum.Realtime);
First, create a new method that will be asynchronously called by the framework when loading is finished:
public void GameLoaded() { Debug.WriteLine("Loading Finished"); }
Then, in your action callback method (from a button, or a menu for example) use the following code:
fmcore.GameLoaded += new Action(GameLoaded); new Action(() => fmCore.LoadData()).BeginInvoke((s) => { }, null);
That's it! You can now query the data, with simple Linq queries! Amazing, eh? Here's an example, to look for "Bar":
var clubs = (from c in fmCore.Clubs where c.Name.Contains ("Bar") select c).Take (100).ToList ();
Currently pending
- Add/Verify entity offsets for 15.3.2 Windows
- Add support for 15.3.2 Mac
- Add support for 15.3.2 Linux
- Add a bunch of properties for the entities already implemented
- Add a LOT of entities and properties for objects we have their main addresses for (look in 15.3.2 Windows version file)
Contributing changes
We need more devs and support! Imagine all the tools you could create for FM2014/FM2015/FM2016(??) if everything was already implemented!- Fork the project, make/test your changes and send a Pull Request!
- Alternatively, bug reporting is vital! Use the Github's Issues page to do that!
Discussion: FMScout Framework
4 comments have been posted so far.
Please also note, that if you download the source code from here, you will also need to get the submodules for mac and linux from the github page!
Happy coding