Garry's Mod

Garry's Mod

551 ratings
Nodegraph Editor+
2
   
Award
Favorite
Favorited
Unfavorite
Content Type: Addon
Addon Type: Tool
Addon Tags: Build
File Size
Posted
Updated
119.706 KB
18 Dec, 2024 @ 11:08pm
5 Aug @ 2:49am
13 Change Notes ( view )

Subscribe to download
Nodegraph Editor+

Description
The most comprehensive Nodegraph Editor to date.

Overview
Nodegraph Editor+ is a fork of Exbo's Nodegraph Editor. It is a tool to modify a map's nodegraph without the need to recompile the map. It introduces many new features to help users creating nodegraph for their map more faster and efficient.

If you're not familiar with nodegraph, they're networks of path points that NPCs (not NextBots) use to navigate throughout the map. For more information, see the Valve Developer Community article on them.

Features
  • 4 Node Types (Ground, Air, Climb, and Hint)
  • 4 Link Types (Ground, Air, Climb, and Jump. The first three are selected automatically according to the node's type)
  • Hint Nodes Support (only can be exported as JSON, they need to be loaded with HintNode Loader)
  • Almost Accurate Nodegraph Information (Zones, and WC Node IDs)
  • Comprehensive Nodegraph Generation (Ground Nodes, Air Nodes, and Jump Links)
  • Mass Remove Nodes in a Radius
  • Can Automatically Create a "Nodeable Map" (for maps that have embedded .ain files)
  • Recreate Outdated Nodegraph
  • Adjustable Link NPC Hulls
  • Automatic Yaw Adjustment for Climb Nodes
  • Step Check
  • Node Projection
  • Node Height Offset
  • Snap Nodes to the Ground
  • Bounding Box for Link Tracing
And so much more.

Usage
Here's a brief yet messy step-by-step guide on how to use this tool:
  1. Check if the map supports custom nodegraphs (maps without embedded .ain files). You can verify this through the tool's notification or check the tool's menu. If the tool indicates that the map cannot use custom nodegraphs, click the "Create Nodeable Map" button in the tool menu. This will automatically modify the map to support custom nodegraphs. The modified map will be exported to your "garrysmod\data\nodegraph" directory. Remove the ".dat" extension and place the map BSP file in your "garrysmod\maps" directory.
  2. Create a nodegraph for the map. You can either generate it or manually create one. After finishing, make sure to save your nodegraph.
  3. Go to your "garrysmod\data\nodegraph" directory and change the map's nodegraph file extension from ".txt" to ".ain". For example, rename "cs_office.txt" to "cs_office.ain". If you created hint nodes, there will also be a .json file with the map's name and a ".hint" suffix (e.g., "cs_office.hint.json").
  4. Copy the nodegraph file (and the hint.json file if you made hint nodes) and paste them into your "garrysmod\maps\graphs" directory. If you plan to upload the nodegraph to the workshop, place the hint.json file in the "garrysmod\data_static\map_hints" folder instead, and remove the ".hint" suffix from the filename.
  5. If you created hint nodes, ensure you are subscribed to the HintNode Loader addon and enter these commands in your console while in-game, then reload the map: "sv_enable_init_hint_hook 1" and "sv_enable_hint_json_load 1".
  6. Load the map and verify that the nodegraph is working by using the commands "ai_nodes" and "ai_show_connect".
Note: If your custom nodegraph doesn't work, the game has likely replaced your custom nodegraph with the map's built-in one. Fix this by entering the command "ai_norebuildgraph 1" in your console before loading the map. If it still doesn't work, it probably means that your nodegraph file got overwritten by the map addon. Fix this by putting your nodegraph file inside your addons folder. For example: "garrysmod/addons/My Custom Nodegraphs/maps/graphs/cs_office.ain". Same goes for the generated nodeable map if it's also got overwritten by the map addon, except you put it inside the maps folder, not graphs.

Incompatibilities
This addon is incompatible with:
  • Any other Nodegraph Editor addons.
  • Addons that are clearing CLuaEffects (they are fine if not being used while you are using the tool).

Known Issues
  • Ground node generation is not perfect and mostly follow the map's navigation mesh structure.
  • The tool is quite unoptimized and may cause performance issues.
  • If you are having performance issues, increasing the think delay and disabling features with "(Slow)" suffix might help.
  • If you are having "too many Lua Effects!" error, try reducing the Draw Distance.

Credits
Special thanks to these awesome people below. This addon wouldn't exist without them.
Popular Discussions View All (4)
47
8 hours ago
PINNED: Bug Reports
TheBlackVoid
2
14 Mar @ 2:07am
Making an AI Node workshop addon for a map that isn't nodeable?
Bio-Mechanoid
1
5 May @ 7:20pm
How do you make vanilla NPCs jump up?
Hosterle
161 Comments
Ligma 2 hours ago 
hello again! the next time i loaded the map, it somehow worked without problem, leaving me kind of embarrassed. i can only guess that maybe starting the game from the start might have helped, but since i had already tried that, i'm at a loss... thanks again for your help!
TheBlackVoid  [author] 3 hours ago 
No problem at all. I recently tested out the map, and the custom nodegraph I've made works correctly without problem. After you created your custom nodegraph and installed it correctly, the game shouldn't rebuild the nodegraph. You can try recreating your nodes from txt and resave, as the tool will attempt to update the nodegraph with the latest map version which prevents nodegraph rebuilding.
Ligma 5 hours ago 
thank you for the fast reply! i forgot to mention it, but i did try that as well with the same file path format in it and having norebuildgraph enabled (otherwise it does just that). just in case, i tried again, but to no avail. i noticed that the tool shows the error "the nodegraph file in data/nodegraph differs from the map's nodegraph", which i guess means that the map keeps replacing it with its own. sorry for the trouble!
TheBlackVoid  [author] 8 hours ago 
@Ligma The tool did correctly detect that the map is nodeable. I've checked the map's bsp myself and there is no embedded nodegraph file inside. This is probably another case of custom nodegraph files being replaced by the map's addon files as there is an empty nodegraph file uploaded alongside the map. If you read the Usage section in the description, you can fix this issue by placing your custom nodegraph file inside addons folder instead of directly in the maps/graphs folder. If it still doesn't work, let me know.
Ligma 30 Aug @ 7:12am 
hello, i've been having problems with a particular map, https://gtm.steamproxy.vip/sharedfiles/filedetails/?id=797619787 . the map's description says that it is already ai noded, but checking in game it seems to not have any nodes, node-using addons don't work (e.g. zombie/npc invasion+), and the tool says it is already nodeable. however, when i generate a nodegraph for it, rename it and put it in the graphs folder, and reload the map, it always has the empty nav mesh. i've also noticed in my various attempts that it often says that it's rebuilding the mesh, and even if i put the no rebuild command or make the navmesh read-only it still doesn't have any nodes. uninstalling and reinstalling the map didn't help, either.
other than perhaps some help with this, i would like to ask, could you make it so you can make a nodeable version of the map regardless of if the tool detects it as nodeable or not? thanks!
Skidrow 27 Aug @ 6:16pm 
Nvm, I just found out that the nodes were saving in another hard drive that my GMod files used to be.
benmulcahy 21 Aug @ 12:14am 
now
benmulcahy 21 Aug @ 12:14am 
strider work ?:steamhappy:
Skidrow 19 Aug @ 10:10pm 
Saving a nodegraph on maps (at least for me) isn't possible anymore. It worked fine at first, but now whenever I save, it says it successfully saved, but there's nothing in the nodegraph folder. The map I was trying to save is already nodeable. Even trying it on other nodeable maps won't save the txt file. It could be an addon conflict but I don't know if any of the addons I installed conflict with this one.
Райдер 5 Aug @ 11:17pm 
@TheBlackVoid Thank you, everything started to work.