欢迎加入!

注册后,您将能够与我们社区的其他成员进行讨论、分享和私信。

无论您是想寻求帮助、分享经验,还是结识志同道合的朋友,我们都期待您的参与!一起探索更多精彩内容吧。

立即注册! 加入群聊
  • 所有的免费插件都是同步外网更新,所有都是最新版!
区域管理器

区域管理器 同步更新

没有下载权限
购买会员
Zone Manager 是用于创建游戏内区域的高级 Zone Manager。

权限

此插件使用权限系统。要分配权限,请使用 。要删除权限,请使用 。oxide.grant <user or group> <name or steam id> <permission>oxide.revoke <user or group> <name or steam id> <permission>
zonemanager.zone-- 允许访问聊天/控制台命令

zonemanager.ignoreflag.<flagtype>-- 允许玩家绕过区域上设置的任何标志。替换为您希望忽略的标志<flagtype

确保您没有盲目地授予玩家任何忽略标记!

如果您不确定授予 ignoreflag 的结果是什么,只需查看标志的作用,并通过授予 ignore 标志权限,该玩家将能够绕过标志影响

聊天命令

这些只有具有身份验证级别 2 或权限的玩家才能访问zonemanager.zone

/zone_add - 在您的位置创建新区域

/zone_edit <zone ID> - 编辑具有指定 ID 的区域

/zone_list - 列出所有区域及其相应的区域 ID

/zone_remove <zone ID> - 删除具有指定 ID 的区域

/zone_wipe - 删除所有区域

/zone_player <opt:player ID or name> - 显示有关指定玩家所在区域以及他们当前拥有的标志的信息

/zone_stats - 显示所有区域中各种实体的计数

/zone flags - 打开 UI 标志编辑器

/zone <flag> <value> - 设置指定的字段或标志

区域标志

区域标志是可应用于区域的条件。要设置区域标志,必须先编辑目标区域。然后,您可以通过键入 ./zone <option> <value>

您可以通过继续模式在一行中应用多个标志(例如 /zone eject true killsleepers true nobuild true)

或者,您可以键入以打开 GUI 菜单,您可以在其中轻松切换标志。/zone flags

标志类型

标志名称 — 值 — 描述

这些是所有可用的标志。首先是标志的名称,然后是它接受的值类型。

  • autolights - true/false - 根据时间自动打开和关闭灯(时间可以在配置中设置)
  • eject - true/false - 所有玩家在尝试进入该区域时都会被踢出该区域,除非他们在该区域白名单上,或者拥有与该区域关联的权限。(此标记不会影响管理员)
  • ejectsleepers - true/false - 玩家在进入睡眠状态时将被移出该区域(此标记不会影响管理员)
  • 无限陷阱弹药 - 对/错 - 火焰炮塔、枪械陷阱和自动炮塔不会消耗燃料
  • kill - true/false - 玩家进入区域时将被杀死
  • killsleepers - true/false - 玩家在睡觉时会被杀死(此标志不会影响管理员)
  • lootself - true/false - 玩家将能够掠夺自己的身体/包。仅当标志 NoPlayerLoot 在区域上处于活动状态时,此标志才适用
  • noapctargeting - true/false - APC 不会以区域中的玩家为目标
  • nobleed - true/false - 防止玩家流血
  • noboxloot - true/false - 阻止玩家抢劫箱子
  • nobuild - true/false - 阻止玩家建造(此标志不会影响管理员)
  • nochat - true/false - 阻止玩家使用聊天(此标记不会影响管理员)
  • nocollect - true/false - 阻止玩家拾取收藏品
  • nocorpse - true/false - 在玩家生成时移除玩家尸体
  • nocraft - true/false - 禁用区域中的制作
  • nocup - true/false - 阻止玩家放置工具柜
  • nodecay - true/false - 阻止可衰减的实体受到衰减伤害
  • nodeploy - true/false - 阻止玩家部署物品(此标志不会影响管理员)
  • nodooraccess - true/false - 阻止玩家开门
  • nodrop - true/false - 删除放置的项目
  • nodrown - true/false - 防止玩家溺水
  • noentitypickup - true/false - 阻止玩家捡起门、锁等实体
  • nofalldamage - true/false - 防止玩家受到坠落伤害
  • nogather - true/false - 阻止玩家收集资源
  • nohelitargeting - true/false - 阻止直升机瞄准玩家并将他们发送到新位置
  • nokits - true/false - 阻止玩家领取套件(套件插件)
  • nolootspawns - true/false - 防止战利品在该区域生成
  • nonpcspawns - true/false - 防止动物在该区域中生成
  • nonpctargeting - true/false - NPC 玩家不会以区域中的玩家为目标
  • nooventoggle - true/false - 阻止玩家打开/关闭烤箱/灯光/火焰等
  • nopickup - true/false - 阻止玩家捡起掉落的物品
  • noplayerloot - true/false - 防止玩家掠夺其他玩家
  • nopve - true/false - 动物将对玩家的攻击无敌
  • noremove - true/false - 阻止玩家使用删除工具(RemoveTool 插件)
  • nosignupdates - true/false - 阻止玩家更新告示牌
  • noshop - true/false - 阻止玩家使用商店 (GUIShop/ServerRewards)
  • nostability - true/false - 禁用结构稳定性
  • nostash - true/false - 阻止玩家隐藏藏匿处
  • nosuicide - true/false - 阻止玩家使用 suicide 命令
  • notp - true/false - 阻止玩家使用传送(传送插件)
  • notrade - true/false - 阻止玩家交易 (Trade 插件)
  • noturrettargeting - true/false - 阻止炮塔瞄准玩家 (autoturret/flameturret/guntrap)
  • noupgrade - true/false - 建筑物无法升级(此标志不会影响管理员)
  • novending - true/false - 阻止玩家使用自动售货机
  • novoice - true/false - 阻止玩家使用语音聊天(此标记不会影响管理员)
  • nowounded - true/false - 当玩家死亡时跳过 wounded 状态
  • keepvehiclesin - true/false - 将阻止区域内的车辆离开
  • keepvehiclesout - true/false - 将阻止车辆进入该区域
  • npcfreeze - true/false - 阻止动物四处移动
  • pvegod - true/false - 玩家将拥有 PVE 上帝模式
  • pvpgod - 对/错 - 玩家将拥有 PVP 之神模式
  • sleepgod - true/false - 睡觉的玩家将拥有上帝模式
  • undestr - true/false - 建筑物不会受到伤害

区域选项

还有一些区域选项可以像设置标志一样进行设置/调整。

选项 — 值 — 描述

  • name - “区域名称” - 设置区域名称
  • id - “ID 号” - 设置区域 ID
  • 位置 - “here” 或 “x y z” - 通过使用值 “here” ,区域位置将移动到您的位置,否则通过键入坐标 (x, y z) 手动设置位置
  • radius - Number amount - 设置区域的半径(如果使用球形区域)
  • size - “width, height length” - 设置区域的大小(用于创建矩形区域。请务必将 width、height 和 length 键入为表示您希望区域大小的数字
  • rotation - “y 旋转”或无值 - 将矩形区域旋转到指定的 Y 值,或者如果未给出值,则为面向的方向
  • radiation - Number amount - 向此区域添加辐射
  • 安全区 - true/false - 将区域设置为与复合体相同的安全区,在该区域不能拔出武器,也不能对玩家造成伤害
  • enter_message - “引号中的任何消息” - 设置在玩家进入区域时向玩家显示的消息
  • leave_message - “引号中的任何消息” - 设置在玩家离开区域时向玩家显示的消息
  • ejectspawns - “Spawnfile name(生成文件名)” - 指定一个生成文件,用于将玩家驱逐到该区域之外,作为将玩家传送到区域外的替代方法
  • permission - “权限名称” - 为此区域分配权限,以防止没有权限的玩家进入该区域
  • enabled - true/false - 启用或禁用此区域
  • parentid - “区域 ID” - 设置父区域
管理员房屋的区域创建示例:

/zone_add
/zone nobuild true nodeploy true name "Admin House" undestr true

在这里,你可以看到我们已经创建了一个新区域,将其命名为 “Admin House”,并将 nobuild、nodeploy 和 undest 标志设置为 true。这将阻止玩家在该区域建造、部署物品和损坏建筑物。

父/子区域

默认情况下,其他区域内的较小区域会继承较大区域的标志,以及分配给较小区域的标志。

要解决此问题,您可以使用命令“/zone parentid <zoneid>”为较小的区域分配父区域 ID。

该插件仍会将玩家注册为在两个区域内,但当该玩家进入子区域(外部区域内的较小区域)时,父区域(较大的外部区域)中的所有标志都将被禁用。

如果您正在使用此功能,并且仍然希望将父区域中的某些标志应用于播放器,请简单地将这些标志也应用于子区域。

配置

设置和选项可以在目录下的文件中进行配置。建议使用编辑器和验证器,以避免格式问题和语法错误。ZoneManagerconfig
{
"Autolight Options": {
"Time to turn lights on": 18.0,
"Time to turn lights off": 6.0,
"Lights require fuel to activate automatically": true
},
"Notification Options": {
"Display notifications via PopupNotifications": false,
"Chat prefix": "[Zone Manager] :",
"Chat color (hex)": "#d85540"
},
"NPC players can deal player damage in zones with PvpGod flag": false,
"Allow decay damage in zones with Undestr flag": false,
"Version": {
"Major": 3,
"Minor": 0,
"Patch": 0
}
}

开发人员 API

(bool) CreateOrUpdateZone(string ZoneID, string[] args, Vector3 position = default(Vector3)) // Create or Update a Zone from an external plugin
// Parameter 1: is the Zone ID that you want (can be a name)
// Parameter 2: are the options as you would put them in /zone ex:
// args[0] = "name"
// args[1] = "Jail"
// args[2] = "eject"
// args[3] = "true"
// args[4] = "enter_message"
// args[5] = "Welcome to the jail"
// args[6] = "radius"
// args[7] = "120"
// Parameter 3 (optional): is to set or edit the location of the zone
// Returns true if the zone is valid, else returns false if it was saved but not created (only reason would be that no position for the zone was set)
(bool) EraseZone(string ZoneID) // Erase a zone by ZoneID or name.
// Returns true if the zone was deleted or false if the zone doesn't exist
(List<BasePlayer>) GetPlayersInZone(string ZoneID) // Get the list of players in the specified zone
(List<BaseEntity>) GetEntitiesInZone(string ZoneID) // Get the list of entities in the specified zone
(bool) IsPlayerInZone(string ZoneID, BasePlayer player) // Returns true if the player is in the specified zone, else returns false
(bool) IsEntityInZone(string ZoneID, BaseEntity entity) // Returns true if the entity is in the specified zone, else returns false
(bool) AddPlayerToZoneKeepinlist(string ZoneID, BasePlayer player) // Will "jail" the player to the specified zone and keep them from leaving. If the player is not already in the zone they will automatically be teleported to the zone.
// Make sure that if you have the zone flag "eject" set to true that you add the player to the zone whitelist before forcing them inside!
// Returns true if all went accordingly or false if the zone does not exist
(bool) RemovePlayerFromZoneKeepinlist(string ZoneID, BasePlayer player) // Will allow previously "jailed" players to leave the zone. This will not teleport the player out of the zone.
// Returns true if all went accordingly or false if the zone does not exist
(void) SetZoneStatus(string zoneID, bool active) // Set the zone with the specified ID as enabled or disabled
(object) GetZoneRadius(string zoneID) // Returns the radius (float), or null if the zone does not exist.
(object) GetZoneSize(string zoneID) // Returns the size (Vector3), or null if the zone does not exist.
(object) GetZoneName(string zoneID) // Returns the zone name (string), or null if the zone does not exist.
(object) CheckZoneID(string zoneID) // Returns the zone ID (string) if it exists, or null if the zone does not exist.
(object) GetZoneIDs() // Returns the a string[] or zone ID's, or null if no zones exist.
(Vector3) GetZoneLocation(string zoneID) // Returns the position of the specified zone, or Vector3.zero if the zone does not exist.
(Dictionary<string, string>) ZoneFieldList(string zoneID) // Returns the zone with the specified ID's zone definition. This includes all the fields and data that make the zone what it is
(bool) HasFlag(string zoneId, string flagString) // Returns true if the zone with the specified ID has the specified flag, else returns false
(void) AddFlag(string zoneId, string flagString) // Adds the specified flag to the zone with the specified ID
(void) RemoveFlag(string zoneId, string flagString) // Removes the specified flag from the zone with specified ID
// Disabled flags are temporary. They do not persist through reloads
(bool) HasDisabledFlag(string zoneId, string flagString) // Returns true if the zone with the specified ID has the specified flag disabled, else returns false
(void) AddDisabledFlag(string zoneId, string flagString) // Adds the specified disabled flag to the zone with the specified ID
(void) RemoveDisabledFlag(string zoneId, string flagString) // Removes the specified disabled flag from the zone with specified ID
(bool) EntityHasFlag(BaseEntity entity, string flagString) // Returns true if the entity is in any zone with the specified flag, else returns false
(bool) PlayerHasFlag(BasePlayer player, string flagString) // Returns true if the player is in any zone with the specified flag, else returns false
(string[]) GetPlayerZoneIDs(BasePlayer player) // Returns a string[] of IDs for zones the specified player is currently in, or null if none found
(string[]) GetEntityZoneIDs(BaseEntity entity) // Returns a string[] of IDs for zones the specified entity is currently in, or null if none found

void OnEnterZone(string ZoneID, BasePlayer player) // Called when a player enters a zone
{
}
void OnExitZone(string ZoneID, BasePlayer player) // Called when a player leaves a zone
{
}
void OnEntityEnterZone(string ZoneID, BaseEntity entity) // Called when a entity enters a zone
{
}
void OnEntityExitZone(string ZoneID, BaseEntity entity) // Called when a entity leaves a zone
{
}
作者
xiaoguan
下载
0
查看
12
首次发布
最后更新

评分

0.00 星 0 星

来自xiaoguan的更多资源

后退
顶部