SB Advanced Nextbots (Nextbot Base + Soldiers Nextbots Base)

If you liked this item, please rate it up on Steam Workshop page.

Authors: Shadow Bonnie (RUS), Säd Föx

Last revision: 6 Jul, 2024 at 15:46 UTC (1)

File size: 772.48 KB

On Steam Workshop

Description:

This base created to update default nextbot base primarily to easily create nextbots alike players.

Features of advanced nextbots

– They can hold weapons that have npc support. Also can hold few engine weapons (pistol, revolver, smg1, ar2, shotgun, crossbow). But you should understand that nextbots is not npc, some weapons that works with npcs can not work with that nextbots. This depends on how the weapon are programmed by the creator.

– You can control bot with third person camera. Start control using Context menu (Default button is C), press Right Mouse Button on bot and select "Drive". To stop control, press Suit Zoom button (By default its not binded! Look in settings to bind button).

– 3 default soldier nextbots: Follower, Friendly and Hostile. Soldier nextbots uses Soldier Base that based on Advanced Nextbots base.
Follower nextbot: friendly to you and friendly npcs, will shoot at hostile npcs, always trying follows you.
Friendly nextbot: Neutral to players, friendly to friendly npcs, hostile to hostile npcs and Hostile Soldier Nextbots.
Hostile nextbot: Neutral to players, hostile to friendly npcs and Friendly Soldier Nextbots, friendly to hostile npcs.

Other features (for developers)

– Activities (animations) based on player activities. That means you should use player models for bots, not npc models. Also activities will automatically change depending on the state of the bot (staying, crouching, running, jumping). Using task hooks you can change desired activity.

– Bots can use nodegraph navigation system if you set appropriate variable. Nodegraph pathfinding uses Capabilities, so you should change capabilities depending on what your bot should do.

– Behaviour of bots based on tasks. You can create list of tasks that can be started, completed, failed. Each task have callbacks. See Soldier Nextbot Base as example. Tasks allows you to make some actions at same time, like movement, shooting, enemy handling, etc.

– Every function in base is commented. To know what you should use you can see source code of base. This help you to create your bots.

Default console commands
Command
Default (min-max)
Realm
Description

sb_anb_drawpath
0 (0-1)
Server
Draws active bot path.

Default console commands (Soldier nextbots)
Command
Default (min-max)
Realm
Description

sb_advanced_nextbot_soldier_playerdisposition
0 (0-4)
Server
Defines player disposition for friendly/hostile bots: 0 – Neutral; 1 – Like; 2 – Hate; 3 – Like for friendly, hate for hostile; 4 – Hate for friendly, like for hostile.

sb_advanced_nextbot_soldier_usenodegraph
0 (0-1)
Server
Should bots use nodegraph or navmesh when finding path.

Nodegraph module console commands
Command
Default (min-max)
Realm
Description

sb_anb_nodegraph_accurategetnearestnode
0 (0-1)
Server
Defines GetNearestNode function behaviour. if 0, compares distances to nodes; if 1, uses DistanceToLine (line is link between two nodes), this is more expensive.

sb_anb_nodegraph_drawnodes
0 (0-2)
Server
Draws nodes and links ("developer" console command shouldn’t equal to 0).

sb_anb_nodegraph_drawnodes_hull
HULL_HUMAN (HULL_HUMAN-NUM_HULLS)
Server
Changes links colors depending on the hull type.

sb_anb_nodegraph_pathdebug
0 (0-1)
Server
Like "nb_debug PATH", but for nodegraph PathFollower.

sb_anb_nodegraph_trivialcheck
1 (0-1)
Server
Allows to cut the route, simplifying the movement of the bot. This may reduce performance.

sb_anb_nodegraph_trivialcheck_debug
0 (0-1)
Server
Displays traces that performed for trivial path check.

sb_anb_nodegraph_getnearestnodevischeck
0 (0-1)
Server
Defines GetNearestNode function behaviour. If 1, then all nodes that not pass visible check will be skipped. Very big performance hit on maps with a large number of nodes.

Github page

After releasing nodegraph module as regular Lua script, addon was added to github. You can see source code, write about issues and pull requests here[github.com].

Download
Revisions:

Old revisions of this mod are available below. Click the link to download.