Jump to content

Untested [Client] [Development Branch] Minimap Plugin


Cheshire

Recommended Posts

Minimap Plugin

 

WARNING: This is currently NOT supported on the prerelease branch due to changes to the plugin API made that allow this to work!

Once this becomes available for the prerelease branch I will update this topic with the required version of Intersect!

You will need to be using the Development branch and potentially compile your own binaries for the time being!

 

 

aae56691d6aac5a2d29d79e79ab8bc04.gif

 

 

Description:

 

This plugin adds a very basic minimap to the client, allowing your players an overview of the surrounding area and entities.

Currently there's not a whole lot of customization available for the minimap, but I do intend to eventually return to it to add some more changes. :)

 

Features:

 

  • Add a minimap to your games!
  • Renders the lowest layers of your map by colour approximation to the minimap.
  • Renders entities such as players, events, npcs and resources to the minimap with configurable colours.
  • A configurable GUI element with its own json file and graphics files. (including an overlay graphic!)
  • Configuration options to decide which map layers get drawn to the minimap! (v1.0.2+)
  • Configurable images per entity type (v1.1.0+)
  • Configurable images per resource tool type (v1.1.1+)
  • Zooming in and out as well as configurable zoom levels (v1.1.0+)

 

Demo Configuration:

 

Spoiler
{
  "EntityUpdateTimer": 100,
  "TileSize": {
    "X": 8,
    "Y": 8
  },
  "MinimumZoom": 0,
  "MaximumZoom": 100,
  "DefaultZoom": 65,
  "ZoomStep": 5,
  "Images": {
    "Player": "minimap_player.png",
    "PartyMember": "minimap_partymember.png",
    "MyEntity": "minimap_me.png",
    "Npc": "minimap_npc.png",
    "Event": "minimap_event.png",
    "Resource": {
      "None": "minimap_resource_none.png",
      "Axe": "minimap_resource_axe.png",
      "Pickaxe": "minimap_resource_pickaxe.png",
      "Shovel": "minimap_resource_shovel.png",
      "Fishing Rod": "minimap_resource_fishingrod.png"
    },
    "Default": "minimap_npc.png"
  },
  "Colors": {
    "Player": {
      "A": 255,
      "R": 0,
      "G": 255,
      "B": 255
    },
    "PartyMember": {
      "A": 255,
      "R": 0,
      "G": 0,
      "B": 255
    },
    "MyEntity": {
      "A": 255,
      "R": 255,
      "G": 0,
      "B": 0
    },
    "Npc": {
      "A": 255,
      "R": 255,
      "G": 165,
      "B": 0
    },
    "Event": {
      "A": 255,
      "R": 0,
      "G": 0,
      "B": 255
    },
    "Resource": {
      "None": {
        "A": 255,
        "R": 255,
        "G": 255,
        "B": 255
      },
      "Axe": {
        "A": 255,
        "R": 34,
        "G": 139,
        "B": 34
      },
      "Pickaxe": {
        "A": 255,
        "R": 128,
        "G": 128,
        "B": 128
      },
      "Shovel": {
        "A": 255,
        "R": 139,
        "G": 69,
        "B": 19
      },
      "Fishing Rod": {
        "A": 255,
        "R": 0,
        "G": 0,
        "B": 255
      }
    },
    "Default": {
      "A": 255,
      "R": 255,
      "G": 0,
      "B": 255
    }
  },
  "RenderLayers": [
    "Ground",
    "Mask 1",
    "Mask 2",
  ],
  "IsEnabled": true
}

 

 

Downloads:

 

Version 1.1.1    [Download]     

Or view the Github repository over [Here]

 

Changelog:

Spoiler

Version 1.1.1:

[Download]

  • Added options to set colors and textures independently for resource types based on tool type.
  • Added an option to configure a timer for updating entity locations, rather than doing so every single update.
  • Fixed an issue that would not allow custom sized minimap windows.

 

Version 1.1.0:

[Download]     

  • Added a zoom in and out button.
  • Added configurable options regarding zooming, so minimum and maximum zoom as well as the zoom steps and default zoom level.
  • Added configurable options to display images for entities instead of coloured squares.
  • Added the ability to distinguish between players and party members.
  • Changed some default configuration options to better allow for rendering images. (ie minimap tile size)

 

Note: If you want to revert to the old block entity rendering, simply delete the new misc texture files or change the image strings to blank strings.

 

Version 1.0.2:

[Download]   

  • Added a configuration option that allows you to configure what map layers are rendered to the minimap.

 

Version 1.0.1:

[Download]

  • Fixed an issue where invisible entities were drawn to the minimap.

 

Version 1.0.0:

[Download]

  • Release version

 

Installation:

 

  1. Download the above file.
  2. Extract the folder into your Intersect Client\resources\plugins directory.
  3. Modify the config.json file as desired!
  4. Modify the included resources as desired!
  5. Run the client and witness your newly added minimap.
Link to comment
Share on other sites

On 8/5/2021 at 4:46 PM, Cheshire said:

Just added a quick hotfix, version 1.0.1 that hides entities that are invisible on the minimap. :)

 

[Download]

how is this minimap installed? I already tried to put the folder and put the files inside in their corresponding sites and it does not work

Link to comment
Share on other sites

  • 2 weeks later...


I have this error, which seems to happen randomly, and also when I'm logged into the player and try to go back to the character selection menu

 

2021-08-16 01:39:55.833 [Error] 
  Message: Referência de objeto não definida para uma instância de um objeto.
    Stack:    em Intersect.Client.General.Globals.OnGameUpdate(TimeSpan deltaTime)
   em Intersect.Client.Core.Main.Update(TimeSpan deltaTime)
   em Intersect.Client.MonoGame.IntersectGame.Update(GameTime gameTime)
   em Microsoft.Xna.Framework.Game.DoUpdate(GameTime gameTime)
   em Microsoft.Xna.Framework.Game.Tick()
   em Microsoft.Xna.Framework.SdlGamePlatform.RunLoop()
   em Microsoft.Xna.Framework.Game.Run(GameRunBehavior runBehavior)
   em Intersect.Client.MonoGame.IntersectGame.MonoGameRunner.Start(IClientContext context, Action postStartupAction)
   em Intersect.Client.Core.ClientContext.InternalStart()
   em Intersect.Core.ApplicationContext`2.Start(Boolean lockUntilShutdown) na E:\Greem\Intersect-Engine-development\Intersect (Core)\Core\ApplicationContext`2.cs:linha 221

 

Link to comment
Share on other sites

On 8/15/2021 at 9:43 PM, HelenaToDev said:


I have this error, which seems to happen randomly, and also when I'm logged into the player and try to go back to the character selection menu

 

2021-08-16 01:39:55.833 [Error] 
  Message: Referência de objeto não definida para uma instância de um objeto.
    Stack:    em Intersect.Client.General.Globals.OnGameUpdate(TimeSpan deltaTime)
   em Intersect.Client.Core.Main.Update(TimeSpan deltaTime)
   em Intersect.Client.MonoGame.IntersectGame.Update(GameTime gameTime)
   em Microsoft.Xna.Framework.Game.DoUpdate(GameTime gameTime)
   em Microsoft.Xna.Framework.Game.Tick()
   em Microsoft.Xna.Framework.SdlGamePlatform.RunLoop()
   em Microsoft.Xna.Framework.Game.Run(GameRunBehavior runBehavior)
   em Intersect.Client.MonoGame.IntersectGame.MonoGameRunner.Start(IClientContext context, Action postStartupAction)
   em Intersect.Client.Core.ClientContext.InternalStart()
   em Intersect.Core.ApplicationContext`2.Start(Boolean lockUntilShutdown) na E:\Greem\Intersect-Engine-development\Intersect (Core)\Core\ApplicationContext`2.cs:linha 221

 


i can confirm this issue, logging out / going back to character select menu does crashes the client. happens with this plugin, also happens with some tests i've done by following @gooby guide.

Link to comment
Share on other sites

1 hour ago, Cheshire said:

Found the issue, although not related to this particular plugin..

Submitted a PR to fix the issue at the Engine level: https://github.com/AscensionGameDev/Intersect-Engine/pull/918

Yeah you are right, tried last night again, without a single plugin on, and the crash still happened in the same scenario. Thanks for this !

Link to comment
Share on other sites

aae56691d6aac5a2d29d79e79ab8bc04.gif

 

 

Version 1.1.0:

[Download]

  • Added a zoom in and out button.
  • Added configurable options regarding zooming, so minimum and maximum zoom as well as the zoom steps and default zoom level.
  • Added configurable options to display images for entities instead of coloured squares.
  • Added the ability to distinguish between players and party members.
  • Changed some default configuration options to better allow for rendering images. (ie minimap tile size)
Link to comment
Share on other sites

261a75a99aa1cc08c679e253174473a8.png

 

Version 1.1.1:

[Download]

  • Added options to set colors and textures independently for resource types based on tool type.
  • Added an option to configure a timer for updating entity locations, rather than doing so every single update.
  • Fixed an issue that would not allow custom sized minimap windows.

Note: this version requires an (currently) unmerged pull request!

 

Link to comment
Share on other sites

  • 3 months later...
  • 5 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...