Garry's Mod
591 ψήφοι
Nodegraph Editor+
2
   
Βραβείο
Αγαπημένο
Αγαπημένο
Μη αγαπημένο
Content Type: Addon
Addon Type: Tool
Addon Tags: Build
Μέγεθος αρχείου
Αναρτήθηκε
Ενημερώθηκε
146.688 KB
18 Δεκ 2024, 23:08
23 Νοε, 20:21
17 σημειώσεις αλλαγών ( προβολή )

Συνδρομή για λήψη
Nodegraph Editor+

ΠΕΡΙΓΡΑΦΗ
A comprehensive tool to modify a map's nodegraph.

Overview
Nodegraph Editor+ is a fork of Exbo's Nodegraph Editor. It is a tool for modifying a map's nodegraph without recompiling the map. It includes all the features you need to create a nodegraph from scratch or to modify an existing one. The tool also includes various utilities to help you create nodegraphs faster and efficient.

If you are not familiar with nodegraphs, they are networks of path points that NPCs (not NextBots) use to navigate the map. For more information, read the Valve Developer Community article about them.

Features
  • Supports four node types: ground, air, climb, and hint.
  • Supports four link types: ground, air, climb, and jump.
  • Accurate nodegraph data (map version, zones, offsets, WC node IDs, etc).
  • Automatically generate ground nodes, air nodes, and jump links.
  • Export nodegraph as AIN, or ENT (for use with tools such as BSPEntSpy[github.com]), or directly into the map's VMF.
  • Remove multiple nodes within a specified radius.
  • Detect unnodeable maps with embedded .ain files and automatically generate a nodeable map.
  • Adjust link hulls either automatically or manually.
  • Automatically set yaw for climb nodes.
  • Recreate a nodegraph from TXT file so you can update your nodegraph.
  • Step-height and slope checks to check if the generated links are walkable by NPCs.
  • Node projection for non-overlapping generated link results.
  • Node height offset.
  • Snap nodes to ground surfaces.
And so much more.

Instructions
  1. Create a folder for your nodegraph files in your addons directory (for example, "garrysmod/addons/My Custom Nodegraphs"). You can name the folder anything you like, it doesn't matter. This will prevent your nodegraph files from being overwritten by map addons. If you already have an existing nodegraph folder, skip this step.
  2. Check if the map supports custom nodegraphs. A pop-up saying the map is unnodeable should appear when you first deploy the tool, or by going to "Nodeable Map Creation" in the tool's menu. If the map doesn't support custom nodegraphs, use the "Create Nodeable Map" feature. This will modify the map automatically. The modified map will be saved to your "garrysmod/data/nodegraph" directory. Remove the ".dat" extension and move the map BSP file to the "maps" directory in your nodegraph folder (for example, "garrysmod/addons/My Custom Nodegraphs/maps/mapname.bsp").
  3. Create a nodegraph for the map. If you don't know how to node, this guide will teach you the basics of noding. Once you are on the saving part, come back to this step. Take a look at Half-Life 2 campaign maps' nodegraph or gm_construct's nodegraph if you need an example of a good nodegraph. Detailed tool instructions are at the top in the tool's menu. After you finished noding the map, save it as AIN, then exit the map.
  4. Go to your "garrysmod\data\nodegraph" directory, and you should see your saved nodegraph file in TXT extension that includes the map's name. Rename the nodegraph file extension from ".txt" to ".ain" (for example, "cs_office.txt" becomes "cs_office.ain"). Do NOT open the nodegraph text file in a text editor and export it, as doing so will corrupt the nodegraph! Use your file explorer's rename option instead.
  5. Copy the nodegraph file to the "maps/graphs" directory in your nodegraph folder (for example, "garrysmod/addons/My Custom Nodegraphs/maps/graphs/mapname.ain").
  6. If you created hint nodes, a hint nodes file named "mapname.hint.json" should be present on your "garrysmod\data\nodegraph" directory. Remove the ".hint" part so it becomes "mapname.json", then copy the hint nodes file to the "data_static/map_hints" directory in your nodegraph folder (for example, "garrysmod/addons/My Custom Nodegraphs/data_static/map_hints/mapname.json"). Make sure you are subscribed to the HintNode Loader addon. Then, enter these console commands in-game: "sv_enable_init_hint_hook 1" and "sv_enable_hint_json_load 1".
  7. Restart your game (ONLY if you just created the nodegraph folder in step one; otherwise, just reload the map to save time), load the map, and verify the nodegraph works by using these console commands: "ai_nodes" and "ai_show_connect".

Notes & Tips
  • Nodegraph not working: If your custom nodegraph doesn't work, the game may have replaced it with the map's built-in one. Fix this by updating your nodegraph (read the next entry). If that still doesn't work, enter the command "ai_norebuildgraph 1" in the console before loading the map. You may want to disable this command before playing on other maps, as it will prevent nodegraph (re)building.
  • Updating your nodegraph: When the map is updated, the game will consider your custom nodegraph obsolete. This automatically triggers a nodegraph rebuild that overrides your nodegraph. You can manually update your nodegraph by using the "Recreate Nodes" button. The tool will then look for your old custom nodegraph from the TXT file that has the map's name in the "garrysmod/data/nodegraph" directory. This nodegraph file is then imported into the current editing session, allowing you to make additional tweaks before saving. This will save a lot of time compared to creating a nodegraph from scratch for the same map.
  • Porting your nodegraph to different versions of the map: Sometimes, there are maps that provide different versions such as day or night. If there are not many geometry changes, you can port your nodegraph to the other version, by renaming the nodegraph TXT file (for example, "mapname_day.txt" to "mapname_night.txt"). Then you can use the "Recreate Nodes" button to import the nodegraph into the current editing session while in the other version of the map, make additional tweaks if necessary, and then save.

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

Known Issues
  • Ground node generator is not perfect and mostly follow the map's navigation mesh.
  • If you are having performance issues, increasing the think delay, reducing the draw distance, 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.
Δημοφιλείς συζητήσεις ΠΡΟΒΟΛΗ ΟΛΩΝ (4)
69
6 Δεκ, 5:54
ΕΠΙΣΗΜΑΣΜΕΝΟ: Bug Reports
TheBlackVoid
2
14 Μαρ, 2:07
Making an AI Node workshop addon for a map that isn't nodeable?
bio-mechanoid
2
22 Δεκ 2024, 10:02
This is a revolutionary mod.
Gordon - Morgan
185 σχόλια
H3bskeuᴱᴸᴵᵀᴱ☆ 3 Δεκ, 6:10 
ts not work
deded6750 3 Δεκ, 3:40 
only in City 17
StrawWagen 2 Δεκ, 10:56 
STRIIIIDERS
TheBlackVoid  [Δημιουργός] 25 Νοε, 7:15 
Yeah, I can do that. I'll consider it for the next update.
deded6750 25 Νοε, 4:23 
Could you add an option to always place air nodes at a specific set height? this would make it way easier to create manual nodegraphs for aerial npcs and striders
TheBlackVoid  [Δημιουργός] 23 Νοε, 20:22 
Should be fixed in the latest update.
UlτrαΤwο 23 Νοε, 18:20 
After some testing I have determined that the error is caused when "Only Keep Largest Zone" is toggled on.
UlτrαΤwο 23 Νοε, 18:05 
Getting this error when I click the "Generate Ground Nodes" button:

[Nodegraph Editor+] lua/weapons/gmod_tool/stools/nodegrapheditor.lua:1339: attempt to perform arithmetic on global 'klzResult' (a nil value)
1. func - lua/weapons/gmod_tool/stools/nodegrapheditor.lua:1339
2. unknown - lua/includes/extensions/net.lua:34
TheBlackVoid  [Δημιουργός] 2 Νοε, 14:48 
Nope.
Hexon_Boi 2 Νοε, 9:50 
do i need the required addon if im not going to make hint nodes?