Saturday, September 10, 2022
HomeGame Developmentai - How can I receive in-game knowledge from Warcraft 3 from...

ai – How can I receive in-game knowledge from Warcraft 3 from an exterior course of?


I see principally two methods you could possibly clear up this, however in each circumstances you may have to make the most of my SharpCraft challenge, which is a C# powerered means of injecting performance into Warcraft III made by me, with analysis from a bunch of different individuals. Do be aware that the readme is outdated, however I’ll do my finest that can assist you out with the present launch.

Use JASS

This means you’ve easy accessibility to the complete JASS API, which lets you fetch all the things simply. What you do right here is add some customized natives to the JASS API that assist bridge the hole between JASS and your utility. This may very well be natives that write to the laborious disk or natives that ship messages to your utility.

Use C#

This strategy has the benefit you could preserve it in all C#, which is way more versatile than JASS, however you’ll be able to’t use natives that use strings. You have full entry to the JASS API from C#, so you may not lose out on any options.

There’s a plugin included within the pack that exhibits the XML construction for plugins.
To use the library, you add a reference to SharpCraft.dll, after which create a category that implements the FullPluginBase class. From there you’ve entry to the completely different components of the API.

public class MyPlugin : FullPluginBase 
{
    public override void Initialize()
    {
        // This is a reasonably low cost strategy to get into any map with out the map needing to be coded for it.
        Script.PostMain = this.Script_PostMain;
    }

    non-public void Script_PostMain()
    {
        // Create a JASS set off.
        var set off = JassTrigger.Create();
        // Make the set off run each .01 seconds, repeatedly.
        set off.RegisterTimerEvent(0.01f, true);
        // Make the set off name our Tick perform when triggered.
        set off.AddAction(new DelegateAction(this.Tick));
    }

    non-public void Tick(JassTrigger set off)
    {
        // Do the stuff you wish to do, utilizing the JASS API or .NET API.
    }
}

I hope this offers you an thought of the way to use it.

RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments