此插件需要 ChaosNPC 扩展
创建成群结队的僵尸,它们成群结队地在您的服务器周围漫游。
特点
– 独立于任何其他 NPC 行为的自定义僵尸 AI 和部落系统
– 部落成员会团结在一起,他们会在地图上徘徊并作为一个群体
瞄准敌人 – 部落可以在附近合并在一起,形成一个更大的部落
– 部落成员可以装备豆罐或手榴弹,并将它们扔向他们无法到达
的目标- 在插件加载时生成指定数量的部落,并在他们被杀死
时重新生成他们 – 使部落随着时间的推移获得成员的选项
– 使部落在杀死玩家
时获得成员的选项 – 爆头即时杀死的选项
– 部落成员感知附近声音的选项,例如爆炸、枪声、 树倒下等并跑去调查
– 选择仅在特定时间生成成群结队,并在该时间
之外消失 – 当成群结队失去目标时,他们会尝试通过前往他们最后一次看到目标的位置来找到该目标,如果他们没有,他们将继续徘徊
– 可定制至关重要, 使用装备的部落成员的感官和运动统计数据
– 使用装备的部落成员的可定制装备和武器
– 使用套件插件
中制作的工具包创建自定义装备 – 可定制的战利品表或让成员放弃他们当前的库存
TruePVE
如果您使用的是 TruePVE,这些 NPC 的排除类型是 ZombieNPC
聊天命令
/horde info – 显示有关服务器上
当前部落的信息 /horde destroy <number> – 摧毁指定的部落
/horde create – 在离您的位置最近的有效点创建一个新部落。使用聊天或控制台命令创建僵尸群将绕过配置
中设置的僵尸群限制 /horde createloadout – 将当前库存复制到配置
中的新僵尸装备 权限 zombiehorde.admin –
需要使用聊天命令
zombiehorde.ignore – 僵尸不会以具有此权限
的玩家为目标 控制台命令
horde info – 显示有关服务器上
当前部落的信息 horde destroy <number> – 摧毁指定的部落
create <opt:distance> – 在随机位置创建一个新的部落。使用聊天或控制台命令创建部落将绕过在配置
中设置的部落限制 horde addloadout <kitname> <opt:kitname> <opt:kitname> – 将指定的套件转换为配置定义并将其添加到您的配置中。您可以在同一命令中添加任意数量的工具包,名称
之间有一个空格 生成系统
有 2 个生成系统可供选择,以确定随机部落将生成的位置。这不包括纪念碑生成
随机 – 选择在地图上的随机点
SpawnsDatabase – 从您创建的 spawnfile 中获取随机生成点。这需要您在配置中指定 spawnfile。
在任何给定时间可以生成的部落数量由 “Maximum number of hordes at any given time” 配置选项控制。
纪念碑生成
纪念碑生成优先于随机生成,但仍受部落限制。如果你的部落限制为 5 个,并且你试图在 10 个纪念碑处生成部落,那将不起作用。部落限制适用于所有自动生成的部落
战利品系统
如果你不想掉落随机战利品,而只掉落 NPC 的当前物品栏,你可以将配置选项“死亡时掉落物品栏而不是随机战利品”切换为 true
随机战利品系统是一个预定义的物品列表,这些物品有可能作为战利品生成。要生成的物品数量是在配置中设置的最小值和最大值之间随机选择的。
每个物品都有一个分配的概率(0 到 1 之间的数字),当战利品被填充时,会产生随机概率,并且只有概率大于或等于随机数的物品才会被选择来填充随机战利品。
与高概率的物品相比,概率较低的物品生成频率较低。
所有物品都是随机选择的,只有在概率大于随机生成的
概率时才会生成 您还可以分配一个总是与另一个物品一起生成的物品。例如,如果你想用一些低等级的燃料生成链锯,你可以将低等级的燃料添加到“生成”槽中,然后如果选择生成链锯,它也将生成低等级的燃料。
{
"Shortname": "chainsaw",
"Minimum": 1,
"Maximum": 1,
"SkinID": 0,
"Spawn as blueprint": false,
"Probability (0.0 - 1.0)": 1.0,
"Spawn with":
{
"Shortname": "lowgradefuel",
"Minimum": 20,
"Maximum": 40,
"SkinID": 0,
"Spawn as blueprint": false,
"Probability (0.0 - 1.0)": 1.0,
"Spawn with": null
}
},
配装
装备就像 NPC 的工具包,具有额外的统计数据,可以按僵尸进行修改。
这些会在插件首次加载
时自动填充杀人犯 NPC 的默认装备 当僵尸生成时,会选择随机装备(除非通过部落配置文件指定)
一个装备包含;
一个可能的名称列表,以便您可以选择适合该特定僵尸的名称 将应用于僵尸
的各种可自定义统计数据 要在其腰带
上生成的物品列表 要在主库存容器中生成的物品列表。如果您有使用电锯的僵尸,您将需要为这个容器添加燃料。否则,如果您打算在被杀死
时将物品的装载作为战利品丢弃,则只应将物品添加到此容器中。磨损物品清单(僵尸服装)
{
"LoadoutID": "loadout-1",
"Potential names for zombies using this loadout (chosen at random)": [
"Zombie"
],
"Damage multiplier": 1.0,
"Aim cone scale (for projectile weapons)": 2.0,
"Vitals": {
"Health": 200.0
},
"Movement": {
"Speed": 6.2,
"Acceleration": 12.0,
"Turn speed": 120.0,
"Speed multiplier - Slowest": 0.16,
"Speed multiplier - Slow": 0.3,
"Speed multiplier - Normal": 0.5,
"Speed multiplier - Fast": 1.0,
"Speed multiplier - Low health": 0.5
},
"Sensory": {
"Attack range multiplier": 1.5,
"Sense range": 30.0,
"Listen range": 20.0,
"Target lost range": 40.0,
"Ignore sneaking outside of vision range": true,
"Vision cone (0 - 180 degrees)": 135.0,
"Ignore players in safe zone": true
},
"BeltItems": [
{
"Shortname": "chainsaw",
"SkinID": 0,
"Amount": 1
},
{
"Shortname": "grenade.beancan",
"SkinID": 0,
"Amount": 2
}
],
"MainItems": [
{
"Shortname": "lowgradefuel",
"SkinID": 0,
"Amount": 1
}
],
"WearItems": [
{
"Shortname": "scarecrow.suit",
"SkinID": 0,
"Amount": 1
},
{
"Shortname": "jacket",
"SkinID": 0,
"Amount": 1
}
]
},
向 Loadout Weapons 添加附件您可以通过
在配置中的项目添加 attachments 部分来向 Loadout 武器添加附件。attachments 部分中的必需数据与任何其他项目相同。
默认情况下,此部分是隐藏的,因为它不用于默认配置,因此如果您想添加附件,请使用下面的 JSON 作为示例。
"BeltItems":
[
{
"Shortname": "rifle.ak",
"SkinID": 0,
"Amount": 1,
"Attachments": [
{
"Shortname": "weapon.mod.flashlight",
"SkinID": 0,
"Amount": 1
},
{
"Shortname": "weapon.mod.lasersight",
"SkinID": 0,
"Amount": 1
},
]
},
{
"Shortname": "grenade.beancan",
"SkinID": 0,
"Amount": 2
}
],
部落档案
您可以在配置中创建 horde 配置文件。部落档案是部落将使用的装备 ID 的集合。这允许您为特定部落指定特定的装备。
该配置中填充了几个示例配置文件。
您可以通过在配置中将配置文件键添加到该纪念碑的“Horde Profile”条目中,将这些配置文件分配给任何纪念碑生成点。
您可以使用提供的命令创建新的 horde 并为其分配 horde 配置文件。
您还可以启用配置选项“对随机生成的部落使用部落配置文件”,这将为该部落分配一个随机的部落配置文件,以便该部落的所有成员都将使用配置文件中指定的装备。
"Horde Profiles (profile name, list of applicable loadouts)": {
"Profile1": [
"loadout-1",
"loadout-2",
"loadout-3"
],
"Profile2": [
"loadout-2",
"loadout-3",
"loadout-4"
]
},
建议使用编辑器和验证器以避免格式问题
{
"Horde Options": {
"Amount of zombies to spawn when a new horde is created": 3,
"Maximum amount of spawned zombies per horde": 10,
"Maximum amount of hordes at any given time": 5,
"Amount of time from when a horde is destroyed until a new horde is created (seconds)": 900,
"Amount of time before a horde grows in size": 300,
"Add a zombie to the horde when a horde member kills a player": true,
"Merge hordes together if they collide": true,
"Spawn system (SpawnsDatabase, Random)": "Random",
"Spawn file (only required when using SpawnsDatabase)": "",
"Amount of time a player needs to be outside of a zombies vision before it forgets about them": 10.0,
"Default roam speed (Slowest, Slow, Normal, Fast)": "Slow",
"Force all hordes to roam locally": false,
"Local roam distance": 150.0,
"Restrict chase distance for local hordes (1.5x the maximum roam distance for that horde)": false,
"Use horde profiles for randomly spawned hordes": false,
"Sense nearby gunshots and explosions": true
},
"Horde Member Options": {
"Can target animals": true,
"Can be targeted by turrets": false,
"Can be targeted by peacekeeper turrets and NPC turrets": false,
"Can be targeted by Bradley APC": false,
"Can be targeted by other NPCs": true,
"Can target other NPCs": true,
"Can target NPCs from HumanNPC": false,
"Ignore sleeping players": false,
"Give all zombies glowing eyes": true,
"Headshots instantly kill zombie": true,
"Kill NPCs that are under water": true,
"Enable NPC dormant system. This will put NPCs to sleep when no players are nearby to improve performance": true,
"Loadouts": [
{
"LoadoutID": "loadout-0",
"Potential names for zombies using this loadout (chosen at random)": [
"Zombie"
],
"Damage multiplier": 1.0,
"Aim cone scale (for projectile weapons)": 2.0,
"Vitals": {
"Health": 200.0
},
"Movement": {
"Speed": 6.2,
"Acceleration": 12.0,
"Turn speed": 120.0,
"Speed multiplier - Slowest": 0.16,
"Speed multiplier - Slow": 0.3,
"Speed multiplier - Normal": 0.5,
"Speed multiplier - Fast": 1.0,
"Speed multiplier - Low health": 0.5
},
"Sensory": {
"Attack range multiplier": 1.5,
"Sense range": 30.0,
"Listen range": 20.0,
"Target lost range": 40.0,
"Ignore sneaking outside of vision range": true,
"Vision cone (0 - 180 degrees)": 135.0,
"Ignore players in safe zone": true
},
"BeltItems": [
{
"Shortname": "knife.butcher",
"SkinID": 0,
"Amount": 1
},
{
"Shortname": "grenade.beancan",
"SkinID": 0,
"Amount": 2
}
],
"MainItems": [],
"WearItems": [
{
"Shortname": "halloween.mummysuit",
"SkinID": 0,
"Amount": 1
}
]
},
{
"LoadoutID": "loadout-1",
"Potential names for zombies using this loadout (chosen at random)": [
"Zombie"
],
"Damage multiplier": 1.0,
"Aim cone scale (for projectile weapons)": 2.0,
"Vitals": {
"Health": 200.0
},
"Movement": {
"Speed": 6.2,
"Acceleration": 12.0,
"Turn speed": 120.0,
"Speed multiplier - Slowest": 0.16,
"Speed multiplier - Slow": 0.3,
"Speed multiplier - Normal": 0.5,
"Speed multiplier - Fast": 1.0,
"Speed multiplier - Low health": 0.5
},
"Sensory": {
"Attack range multiplier": 1.5,
"Sense range": 30.0,
"Listen range": 20.0,
"Target lost range": 40.0,
"Ignore sneaking outside of vision range": true,
"Vision cone (0 - 180 degrees)": 135.0,
"Ignore players in safe zone": true
},
"BeltItems": [
{
"Shortname": "chainsaw",
"SkinID": 0,
"Amount": 1
},
{
"Shortname": "grenade.beancan",
"SkinID": 0,
"Amount": 2
}
],
"MainItems": [
{
"Shortname": "lowgradefuel",
"SkinID": 0,
"Amount": 1
}
],
"WearItems": [
{
"Shortname": "scarecrow.suit",
"SkinID": 0,
"Amount": 1
},
{
"Shortname": "jacket",
"SkinID": 0,
"Amount": 1
}
]
},
{
"LoadoutID": "loadout-2",
"Potential names for zombies using this loadout (chosen at random)": [
"Zombie"
],
"Damage multiplier": 1.0,
"Aim cone scale (for projectile weapons)": 2.0,
"Vitals": {
"Health": 200.0
},
"Movement": {
"Speed": 6.2,
"Acceleration": 12.0,
"Turn speed": 120.0,
"Speed multiplier - Slowest": 0.16,
"Speed multiplier - Slow": 0.3,
"Speed multiplier - Normal": 0.5,
"Speed multiplier - Fast": 1.0,
"Speed multiplier - Low health": 0.5
},
"Sensory": {
"Attack range multiplier": 1.5,
"Sense range": 30.0,
"Listen range": 20.0,
"Target lost range": 40.0,
"Ignore sneaking outside of vision range": true,
"Vision cone (0 - 180 degrees)": 135.0,
"Ignore players in safe zone": true
},
"BeltItems": [
{
"Shortname": "pitchfork",
"SkinID": 0,
"Amount": 1
},
{
"Shortname": "grenade.beancan",
"SkinID": 0,
"Amount": 2
}
],
"MainItems": [],
"WearItems": [
{
"Shortname": "halloween.mummysuit",
"SkinID": 0,
"Amount": 1
}
]
},
{
"LoadoutID": "loadout-3",
"Potential names for zombies using this loadout (chosen at random)": [
"Zombie"
],
"Damage multiplier": 1.0,
"Aim cone scale (for projectile weapons)": 2.0,
"Vitals": {
"Health": 200.0
},
"Movement": {
"Speed": 6.2,
"Acceleration": 12.0,
"Turn speed": 120.0,
"Speed multiplier - Slowest": 0.16,
"Speed multiplier - Slow": 0.3,
"Speed multiplier - Normal": 0.5,
"Speed multiplier - Fast": 1.0,
"Speed multiplier - Low health": 0.5
},
"Sensory": {
"Attack range multiplier": 1.5,
"Sense range": 30.0,
"Listen range": 20.0,
"Target lost range": 40.0,
"Ignore sneaking outside of vision range": true,
"Vision cone (0 - 180 degrees)": 135.0,
"Ignore players in safe zone": true
},
"BeltItems": [
{
"Shortname": "sickle",
"SkinID": 0,
"Amount": 1
},
{
"Shortname": "grenade.beancan",
"SkinID": 0,
"Amount": 2
}
],
"MainItems": [],
"WearItems": [
{
"Shortname": "halloween.mummysuit",
"SkinID": 0,
"Amount": 1
}
]
}
]
},
"Loot Table": {
"Drop inventory on death instead of random loot": false,
"Random loot table": {
"Minimum amount of items to spawn": 3,
"Maximum amount of items to spawn": 9,
"List": [
{
"Shortname": "hazmatsuit",
"Minimum": 1,
"Maximum": 1,
"SkinID": 0,
"Spawn as blueprint": false,
"Probability (0.0 - 1.0)": 0.5,
"Spawn with": null
},
{
"Shortname": "sickle",
"Minimum": 1,
"Maximum": -1,
"SkinID": 0,
"Spawn as blueprint": false,
"Probability (0.0 - 1.0)": 1.0,
"Spawn with": null
},
{
"Shortname": "knife.butcher",
"Minimum": 1,
"Maximum": 1,
"SkinID": 0,
"Spawn as blueprint": false,
"Probability (0.0 - 1.0)": 1.0,
"Spawn with": null
},
{
"Shortname": "pitchfork",
"Minimum": 1,
"Maximum": 1,
"SkinID": 0,
"Spawn as blueprint": false,
"Probability (0.0 - 1.0)": 1.0,
"Spawn with": null
},
{
"Shortname": "chainsaw",
"Minimum": 1,
"Maximum": 1,
"SkinID": 0,
"Spawn as blueprint": false,
"Probability (0.0 - 1.0)": 1.0,
"Spawn with": null
},
{
"Shortname": "lowgradefuel",
"Minimum": 20,
"Maximum": 40,
"SkinID": 0,
"Spawn as blueprint": false,
"Probability (0.0 - 1.0)": 1.0,
"Spawn with": null
},
{
"Shortname": "chocholate",
"Minimum": 3,
"Maximum": 5,
"SkinID": 0,
"Spawn as blueprint": false,
"Probability (0.0 - 1.0)": 1.0,
"Spawn with": null
},
{
"Shortname": "corn",
"Minimum": 3,
"Maximum": 5,
"SkinID": 0,
"Spawn as blueprint": false,
"Probability (0.0 - 1.0)": 1.0,
"Spawn with": null
},
{
"Shortname": "wall.graveyard.fence",
"Minimum": 1,
"Maximum": 3,
"SkinID": 0,
"Spawn as blueprint": false,
"Probability (0.0 - 1.0)": 0.25,
"Spawn with": null
},
{
"Shortname": "spiderweb",
"Minimum": 1,
"Maximum": 2,
"SkinID": 0,
"Spawn as blueprint": false,
"Probability (0.0 - 1.0)": 0.25,
"Spawn with": null
},
{
"Shortname": "coffin.storage",
"Minimum": 1,
"Maximum": 1,
"SkinID": 0,
"Spawn as blueprint": false,
"Probability (0.0 - 1.0)": 0.25,
"Spawn with": null
},
{
"Shortname": "barrelcostume",
"Minimum": 1,
"Maximum": 1,
"SkinID": 0,
"Spawn as blueprint": false,
"Probability (0.0 - 1.0)": 0.5,
"Spawn with": null
},
{
"Shortname": "gravestone",
"Minimum": 1,
"Maximum": 1,
"SkinID": 0,
"Spawn as blueprint": false,
"Probability (0.0 - 1.0)": 0.5,
"Spawn with": null
},
{
"Shortname": "woodcross",
"Minimum": 1,
"Maximum": 1,
"SkinID": 0,
"Spawn as blueprint": false,
"Probability (0.0 - 1.0)": 0.5,
"Spawn with": null
},
{
"Shortname": "scarecrowhead",
"Minimum": 1,
"Maximum": 1,
"SkinID": 0,
"Spawn as blueprint": false,
"Probability (0.0 - 1.0)": 0.5,
"Spawn with": null
},
{
"Shortname": "metal.refined",
"Minimum": 15,
"Maximum": 25,
"SkinID": 0,
"Spawn as blueprint": false,
"Probability (0.0 - 1.0)": 0.5,
"Spawn with": null
},
{
"Shortname": "shotgun.double",
"Minimum": 1,
"Maximum": 0,
"SkinID": 0,
"Spawn as blueprint": false,
"Probability (0.0 - 1.0)": 0.5,
"Spawn with": null
},
{
"Shortname": "ammo.shotgun",
"Minimum": 5,
"Maximum": 0,
"SkinID": 0,
"Spawn as blueprint": false,
"Probability (0.0 - 1.0)": 0.5,
"Spawn with": null
},
{
"Shortname": "grenade.f1",
"Minimum": 2,
"Maximum": 4,
"SkinID": 0,
"Spawn as blueprint": false,
"Probability (0.0 - 1.0)": 0.5,
"Spawn with": null
},
{
"Shortname": "cratecostume",
"Minimum": 1,
"Maximum": 1,
"SkinID": 0,
"Spawn as blueprint": false,
"Probability (0.0 - 1.0)": 0.5,
"Spawn with": null
},
{
"Shortname": "ghostsheet",
"Minimum": 1,
"Maximum": 1,
"SkinID": 0,
"Spawn as blueprint": false,
"Probability (0.0 - 1.0)": 0.5,
"Spawn with": null
}
]
},
"Dropped inventory item blacklist (shortnames)": [
"exampleitem.shortname1",
"exampleitem.shortname2"
]
},
"Monument Spawn Options": {
"Airfield": {
"Enable spawns at this monument": false,
"Distance that this horde can roam from their initial spawn point": 85.0,
"Maximum amount of members in this horde": 10,
"Horde profile": ""
},
"Dome": {
"Enable spawns at this monument": false,
"Distance that this horde can roam from their initial spawn point": 50.0,
"Maximum amount of members in this horde": 10,
"Horde profile": null
},
"Junkyard": {
"Enable spawns at this monument": false,
"Distance that this horde can roam from their initial spawn point": 100.0,
"Maximum amount of members in this horde": 10,
"Horde profile": ""
},
"LargeHarbor": {
"Enable spawns at this monument": false,
"Distance that this horde can roam from their initial spawn point": 120.0,
"Maximum amount of members in this horde": 10,
"Horde profile": ""
},
"GasStation": {
"Enable spawns at this monument": false,
"Distance that this horde can roam from their initial spawn point": 40.0,
"Maximum amount of members in this horde": 10,
"Horde profile": ""
},
"Powerplant": {
"Enable spawns at this monument": false,
"Distance that this horde can roam from their initial spawn point": 120.0,
"Maximum amount of members in this horde": 10,
"Horde profile": ""
},
"StoneQuarry": {
"Enable spawns at this monument": false,
"Distance that this horde can roam from their initial spawn point": 40.0,
"Maximum amount of members in this horde": 10,
"Horde profile": ""
},
"SulfurQuarry": {
"Enable spawns at this monument": false,
"Distance that this horde can roam from their initial spawn point": 40.0,
"Maximum amount of members in this horde": 10,
"Horde profile": ""
},
"HQMQuarry": {
"Enable spawns at this monument": false,
"Distance that this horde can roam from their initial spawn point": 40.0,
"Maximum amount of members in this horde": 10,
"Horde profile": ""
},
"Radtown": {
"Enable spawns at this monument": false,
"Distance that this horde can roam from their initial spawn point": 85.0,
"Maximum amount of members in this horde": 10,
"Horde profile": ""
},
"LaunchSite": {
"Enable spawns at this monument": false,
"Distance that this horde can roam from their initial spawn point": 140.0,
"Maximum amount of members in this horde": 10,
"Horde profile": ""
},
"Satellite": {
"Enable spawns at this monument": false,
"Distance that this horde can roam from their initial spawn point": 60.0,
"Maximum amount of members in this horde": 10,
"Horde profile": ""
},
"SmallHarbor": {
"Enable spawns at this monument": false,
"Distance that this horde can roam from their initial spawn point": 85.0,
"Maximum amount of members in this horde": 10,
"Horde profile": ""
},
"Supermarket": {
"Enable spawns at this monument": false,
"Distance that this horde can roam from their initial spawn point": 20.0,
"Maximum amount of members in this horde": 10,
"Horde profile": ""
},
"Trainyard": {
"Enable spawns at this monument": false,
"Distance that this horde can roam from their initial spawn point": 100.0,
"Maximum amount of members in this horde": 10,
"Horde profile": ""
},
"Tunnels": {
"Enable spawns at this monument": false,
"Distance that this horde can roam from their initial spawn point": 90.0,
"Maximum amount of members in this horde": 10,
"Horde profile": ""
},
"Warehouse": {
"Enable spawns at this monument": false,
"Distance that this horde can roam from their initial spawn point": 40.0,
"Maximum amount of members in this horde": 10,
"Horde profile": ""
},
"WaterTreatment": {
"Enable spawns at this monument": false,
"Distance that this horde can roam from their initial spawn point": 120.0,
"Maximum amount of members in this horde": 10,
"Horde profile": ""
}
},
"Timed Spawn Options": {
"Only allows spawns during the set time period": false,
"Despawn hordes outside of the set time period": true,
"Start time (0.0 - 24.0)": 18.0,
"End time (0.0 - 24.0)": 6.0
},
"Horde Profiles (profile name, list of applicable loadouts)": {
"Profile1": [
"loadout-1",
"loadout-2",
"loadout-3"
],
"Profile2": [
"loadout-2",
"loadout-3"
]
},
"Version": {
"Major": 0,
"Minor": 4,
"Patch": 0
}
}