About Personal NPC
The plugin adds personal bots to your server, which players can spawn with a command and give them various instructions.
At the moment, the bot can:
- Attack various targets (bots, players, various buildings, barrels and many other objects)
-
Gather resources
- Stones, sulfur stones, metal stones
- Trees
- Gather and pickup resources in 50 meters from the start point (/pnpc auto-farm, /pnpc auto-pickup)
- Pickup resources
- Pickup dropped items
- Follow the player, stand in position
- Protect the owner or yourself if any of them is attacked
- Attack an object that is attacked by the owner (/pnpc combat)
- Loot crates
-
Travel with the player on
- Minicopter
- Car
- Boat
- And other transport
- Recover the owner if he is in a wounded state
- Be an AI driver of helicopter (additional addon required, check out in the profile)
- Be an AI driver of car (additional addon required, check out in the profile)
- Raid with rocket/grenade launchers (additional addon required, check out in the profile)
You can customize:
- Bot spawn delay
-
Controls
- Choose which button will be assigned tasks to the bot
- Range of the task assignment button
- Display of 3D arrow and its duration
-
GUI Interface
- Once in how many seconds the menu will be refreshed
- Adjust the panel layer (Hud, Overlay, etc.)
- Adjust menu position
- Customize colors
- Add or change shortcuts to the menu
-
Set up bots by permission
- Select bot name
- Set max. health
- Choose a bot appearance
- Adjust bot speed
- Enable bot endless ammo
- Enable display of the bot on the map
- Make a start kit for the bot
-
Customize capabilities
- Can a bot loot crates
- Can a bot gather trees and stones
- Can a bot pick up resources
- Should the bot protect the owner
- Should a bot defend itself
- Can a bot travel with a player in a transport?
- Can a bot pick up dropped items
-
Recover the owner from a wounded state
- Can a bot recover its owner from a wounded state?
- Recover time
- Can a bot attack other people's buildings
- Can a bot attack its owner's buildings
- Can a bot collect resources within a radius of 50 meters (/ pnpc auto-pickup)
- Can a bot farm resources within a radius of 50 meters (/ pnpc auto-farm)
-
Customize gather options
- Shortname of items that can gather trees
- Shortname of items that can gather stones and ore
- Customize gather rates for specific items
-
Customize damage and interaction
- Adjust the bot damage rate
- Adjust the bot receive damage rate
- Can players damage the bot
- Can a bot damage players
- Can turrets target and kill a bot
- Can bot owner turrets target and kill bot
- Set up a black list of items that cannot be put into the inventory of the bot
Video:
Also there are available some cool addons for this plugin:
By default, the plugin has 2 localization files, for Russian and English
Commands:
/pnpc - spawns or despawns the bot
/pnpc where - displays in the chat where the bot is
/pnpc health - displays the current health of the bot in the chat
/pnpc follow - instructs the bot to follow the owner
/pnpc combat - the bot begins to attack those who are attacked by the owner
/pnpc ignore - the bot ignores those who attack it and the owner
/pnpc auto-pickup - displays information about the auto-pickup function
/pnpc auto-pickup (wood, metal, sulfur, stone, all) - selection of resources for pickup, if you need to remove a resource from the list, you need to re-enter it
/pnpc auto-pickup enable - enable auto-pickup of resources
/pnpc auto-pickup disable - disable auto-pickup of resources
/pnpc auto-farm - displays information about the auto-farm function
/pnpc auto-farm (wood, metal, sulfur, stone, all) - selection of resources for farm, if you need to remove a resource from the list, you need to re-enter it
/pnpc auto-farm enable - enable auto-farm resources
/pnpc auto-farm disable - disable auto-farm resources
pnpc.item {STEAM_ID} {skin_id} - gives the player an item to install the bot
Configuration:
{ "Control setup": { "Which button will assign tasks to the bot, kill/get/collect, etc. (MIDDLE_MOUSE, SECOND_MOUSE, E, RELOAD, SPRINT)": "MIDDLE_MOUSE", "Range of the task assignment button": 25.0, "Display 3D arrows over a target?": true, "Arrow display duration": 2 }, "GUI customization": { "How many seconds to update the GUI?": 6.0, "Panel layer (Hud, Overlay, Overall, Hud.Menu, Under)": "Overlay", "Panel position adjustment": { "type": "RectTransform", "anchormin": "1 1", "anchormax": "1 1", "offsetmin": "-170 -104", "offsetmax": "-10 -10" }, "1 panel color": "#7f8c8d", "2 panel color": "#bdc3c7", "Health bar color": "#2ecc71", "Shortcut buttons": [ { "Text on button": "Auto-Farm: Wood", "Executable chat commands": [ "pnpc auto-farm wood", "pnpc auto-farm enable" ] }, { "Text on button": "Auto-Farm: Stone", "Executable chat commands": [ "pnpc auto-farm stone", "pnpc auto-farm enable" ] }, { "Text on button": "Auto-Pickup: Wood", "Executable chat commands": [ "pnpc auto-pickup wood", "pnpc auto-pickup enable" ] }, { "Text on button": "Auto-Pickup: Stone", "Executable chat commands": [ "pnpc auto-pickup stone", "pnpc auto-pickup enable" ] } ] }, "Bot settings by permission": { "personalnpc.bot1": { "Bot spawn delay": 300.0, "The name of the bot to be selected through the command when spawning": "bot1", "Bot name": "Personal bot of player %OWNER_NAME%", "Bot appearance (0 - random)": 0, "Maximum health": 150.0, "Bot speed (slowest, slow, normal, fast)": "normal", "Enable infinite ammo for the bot?": true, "Enable display of the bot on the map? (frankenstein icon)": true, "Start kit": [ { "Item name": "", "Item shortname": "shoes.boots", "Item skin": 0, "Item amount": 1, "In which container to place? (belt, main, wear)": "wear" }, { "Item name": "", "Item shortname": "pants", "Item skin": 0, "Item amount": 1, "In which container to place? (belt, main, wear)": "wear" }, { "Item name": "", "Item shortname": "hoodie", "Item skin": 0, "Item amount": 1, "In which container to place? (belt, main, wear)": "wear" }, { "Item name": "", "Item shortname": "mask.bandana", "Item skin": 0, "Item amount": 1, "In which container to place? (belt, main, wear)": "wear" }, { "Item name": "", "Item shortname": "hat.boonie", "Item skin": 0, "Item amount": 1, "In which container to place? (belt, main, wear)": "wear" }, { "Item name": "", "Item shortname": "sunglasses", "Item skin": 0, "Item amount": 1, "In which container to place? (belt, main, wear)": "wear" } ], "Functions setup": { "Can a bot loot crates?": true, "Can the bot mine trees and stones?": true, "Can the bot pick up resources? (wood, sulfur and metal ore, stones)": true, "Should the bot protect the owner?": true, "Should the bot defend itself?": true, "Can the bot travel by car/copter and other vehicles?": true, "Can the bot pick up dropped items?": true, "Recover the owner from a wounded state": { "Can the bot recover the owner if he is in a wounded state?": true, "Recover time": 6.0 }, "Can the bot attack other people's buildings?": true, "Can a bot attack its owner's buildings?": false, "Can the bot collect resources within a radius of 50 meters? (/pnpc auto-pickup)": true, "Can the bot farm resources within a radius of 50 meters? (/pnpc auto-farm)": true }, "Gather setup": { "Shortname of items that can harvest trees": [ "hatchet", "chainsaw", "hammer.salvaged", "stonehatchet", "axe.salvaged" ], "Shortname of items that can mine stones and ore": [ "pickaxe", "stone.pickaxe", "hammer.salvaged", "jackhammer", "icepick.salvaged" ], "Setting up mining rates": { "stones": 2.0, "wood": 5.0 } }, "Damage and interactions setup": { "Bot damage rate": 2.0, "Bot recive damage rate": 0.5, "Can players damage the bot?": true, "Can the bot damage players?": true, "Can turrets target and kill a bot? (all turrets will not be able to damage the bot)": false, "Prevent bot owner turrets from aiming and killing the bot? (bot owner's turrets will not be able to damage the bot)": true, "Blacklist of objects that the bot will ignore when owner selecting a target (short prefab name)": [ "barricade.sandbags" ] }, "Black list of items that cannot be put into the inventory of the bot": [ "rocket.launcher" ] } }, "Bot install by item": [ { "Item name": "PersonalNPC", "Item shortname": "furnace", "Item skin": 2741314889, "Bot info": { "Bot spawn delay": 300.0, "The name of the bot to be selected through the command when spawning": "bot1", "Bot name": "Personal bot of player %OWNER_NAME%", "Bot appearance (0 - random)": 0, "Maximum health": 150.0, "Bot speed (slowest, slow, normal, fast)": "normal", "Enable infinite ammo for the bot?": true, "Enable display of the bot on the map? (frankenstein icon)": true, "Start kit": [ { "Item name": "", "Item shortname": "shoes.boots", "Item skin": 0, "Item amount": 1, "In which container to place? (belt, main, wear)": "wear" }, { "Item name": "", "Item shortname": "pants", "Item skin": 0, "Item amount": 1, "In which container to place? (belt, main, wear)": "wear" }, { "Item name": "", "Item shortname": "hoodie", "Item skin": 0, "Item amount": 1, "In which container to place? (belt, main, wear)": "wear" }, { "Item name": "", "Item shortname": "mask.bandana", "Item skin": 0, "Item amount": 1, "In which container to place? (belt, main, wear)": "wear" }, { "Item name": "", "Item shortname": "hat.boonie", "Item skin": 0, "Item amount": 1, "In which container to place? (belt, main, wear)": "wear" }, { "Item name": "", "Item shortname": "sunglasses", "Item skin": 0, "Item amount": 1, "In which container to place? (belt, main, wear)": "wear" } ], "Functions setup": { "Can a bot loot crates?": true, "Can the bot mine trees and stones?": true, "Can the bot pick up resources? (wood, sulfur and metal ore, stones)": true, "Should the bot protect the owner?": true, "Should the bot defend itself?": true, "Can the bot travel by car/copter and other vehicles?": true, "Can the bot pick up dropped items?": true, "Recover the owner from a wounded state": { "Can the bot recover the owner if he is in a wounded state?": true, "Recover time": 6.0 }, "Can the bot attack other people's buildings?": true, "Can a bot attack its owner's buildings?": false, "Can the bot collect resources within a radius of 50 meters? (/pnpc auto-pickup)": true, "Can the bot farm resources within a radius of 50 meters? (/pnpc auto-farm)": true }, "Gather setup": { "Shortname of items that can harvest trees": [ "hatchet", "chainsaw", "hammer.salvaged", "stonehatchet", "axe.salvaged" ], "Shortname of items that can mine stones and ore": [ "pickaxe", "stone.pickaxe", "hammer.salvaged", "jackhammer", "icepick.salvaged" ], "Setting up mining rates": { "stones": 2.0, "wood": 5.0 } }, "Damage and interactions setup": { "Bot damage rate": 2.0, "Bot recive damage rate": 0.5, "Can players damage the bot?": true, "Can the bot damage players?": true, "Can turrets target and kill a bot? (all turrets will not be able to damage the bot)": false, "Prevent bot owner turrets from aiming and killing the bot? (bot owner's turrets will not be able to damage the bot)": true, "Blacklist of objects that the bot will ignore when owner selecting a target (short prefab name)": [ "barricade.sandbags" ] }, "Black list of items that cannot be put into the inventory of the bot": [ "rocket.launcher" ] } } ], "How many seconds will the bot update the information? (affects the performance and operation of the bot)": 0.01, "Spawn a backpack with his items when a bot dies? (otherwise his corpse will spawn)": false, "List of prefabs that the bot can loot (useful if the bot attacks loot instead of looting it)": [ "vehicle_parts" ] }