FMScoutFramework

A Real-Time Football Manager scout tool framework written in .NET/Mono for Windows/Linux/OS X

FMScoutFramework

Build Status

FMScoutFramework is a C#.NET/Mono Framework that enables you to create your own assistant tools / editors for Football Manager. It supports FM2014, FM2015 and FM2016

Project Setup

Clone the project in your favourite github client You will need MonoDevelop or Xamarin 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 Xamarin / MonoDevelop, or the .NET Framework for Visual Studio apps.

Xamarin / Monodevelop Settings

  1. Create your new Xamarin / MonoDevelop Solution
  2. You can clone this repository and add it as a submodule in your own git tree, or just checkout the latest.
  3. Add the FMScoutFramework project to your solution.
  4. Expand your own project, and right click on References
  5. Select Edit References
  6. Click the Projects tab and tick the checkbox next to FMScoutFramework
  7. Click OK
  8. Right click on the FMScoutFramework Project
  9. Click on Options
  10. Select Compiler from the Menu
  11. In the Define Symbols entry, enter MAC for OS X, LINUX for Linux or WINDOWS for windows.
  12. You are now ready to start developing your app. Look further down for code

Microsoft Visual Studio Settings

  1. Create your new Visual Studio Solution
  2. You can clone this repository and add it as a submodule in your own git tree, or just checkout the latest.
  3. Add the FMScoutFramework project to your solution.
  4. Expand your own project and right click on References
  5. Click Add Reference
  6. Click the Projects tab, under Solution and tick the checkbox next to FMScoutFramework
  7. Click OK
  8. Right click on the FMScoutFramework Project
  9. Click on Properties
  10. Select Build from the menu on the left
  11. In the Conditional Compilation Symbols textbox, enter WINDOWS;
  12. 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 Offsets for FM2016 OS X
  • 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!

License

FMScoutFramework is released under the GNU General Public License v2.0 Please read the LICENSE file for a full version of the License

Related Repositories

FMScoutFramework

FMScoutFramework

A Real-Time Football Manager scout tool framework written in .NET/Mono for Windows/Linux/OS X ...


Top Contributors

ThanosSiopoudis liberostelios LazyTarget tthordarson joshlatimer craigbrad jamesmcc