关于 PveMode

此插件没有自己的功能
此插件仅用作其他插件
的 API 从兼容的事件和插件中创建可配置的 PVE 模式

 

支持的插件

 

应用程序接口

void EventAddPveMode(string shortname, JObject configJson, Vector3 position, float radius, HashSet<uint> crates, HashSet<uint> scientists, HashSet<uint> tanks, HashSet<ulong> owner, BasePlayer owner)
创建 PVE 事件模式

  • shortname – 事件名称
  • configJson – PVE 模式配置(更多详细信息见下面的描述)
  • position – 事件在地图上的位置
  • radius – 事件区域的半径
  • crates – 所有事件 crate (包括锁定的 crate) 的列表
  • scientists – 活动期间所有活跃的 NPC 的列表
  • tanks – 所有 Bradley 事件的列表
  • owners – 所有事件所有者的列表(如果您需要多次创建事件区域,则此参数是必需的)
  • owner – 事件所有者(如果您需要与所有者一起运行事件,则此参数是必需的)

void EventRemovePveMode(string shortname, bool addCooldownOwners)
删除事件的 PVE 模式

  • shortname – 事件名称
  • addCooldownOwners – 如果此参数在 PVE 模式配置中处于活动状态,是否应该为所有事件所有者设置冷却时间?(如果您需要多次创建 Event Zone 并仅在最后一次迭代中发出 cooldown,则此参数是必需的)

void EventAddCrates(string shortname, HashSet<uint> crates)
如果在 PVE 模式下处于活动状态,则向事件添加 crate

  • shortname – 事件名称
  • crates – 要添加的事件 crate 列表(包括锁定的 crate)

void EventAddScientists(string shortname, HashSet<uint> scientists)
如果在 PVE 模式下处于活动状态,则向事件中添加 NPC

  • shortname – 事件名称
  • scientists – 要添加的事件 NPC 列表

void EventAddTanks(string shortname, HashSet<uint> tanks)
如果在 PVE 模式下处于活动状态,则将 Bradley 添加到事件中

  • shortname – 事件名称
  • tanks – 要添加的 Bradleys 事件列表

HashSet<ulong> GetEventOwners(string shortname)
返回活动运行期间所有活动所有者的 SteamID 列表

  • shortname – 事件名称

ulong GetEventOwner(string shortname)
返回当前活动所有者的 SteamID(如果没有活动所有者,则返回 0)

  • shortname – 事件名称

void SetEventOwner(string shortname, ulong owner)
设置当前 Event Owner

  • shortname – 事件名称
  • owner – 玩家的 SteamID

HashSet<string> GetEventsPlayer(ulong id)
返回玩家所在的事件区域列表

  • id – 玩家的 SteamID

Dictionary<string, double> GetTimesPlayer(ulong id)
返回事件列表以及玩家上次参与事件的时间

  • id – 玩家的 SteamID

 

PVE 模式配置

  • float Damage (浮点伤害) – 玩家成为事件所有者所必须造成的伤害量
  • HashSet<ScaleDamageConfig> ScaleDamage – 用于计算成为 Event Owner 的伤害系数
  • bool LootCrate – 如果不是活动所有者或他们的团队,其他玩家和团队可以掠夺箱子吗?[对/错]
  • bool HackCrate – 如果不是活动所有者或他们的团队,其他玩家和团队可以破解上锁的箱子吗?[对/错]
  • bool LootNpc – 如果不是活动所有者或他们的团队,其他玩家和团队可以掠夺 NPC 尸体吗?[对/错]
  • bool DamageNpc – 如果不是活动所有者或他们的团队,其他玩家和团队可以对 NPC 造成伤害吗?[对/错]
  • bool DamageTank – 如果不是活动所有者或他们的团队,其他玩家和团队可以对 Bradley 造成伤害吗?[对/错]
  • bool TargetNpc – 如果不是活动所有者或他们的团队,Npc 可以攻击其他玩家和团队吗?[对/错]
  • bool TargetTank – 如果不是 Event Owner 或他们的团队,Bradley 可以攻击其他玩家和团队吗?[对/错]
  • bool CanEnter – 如果不是 Event Owner 或其团队,则允许其他玩家和团队进入 Event Zone?[对/错]
  • bool CanEnterCooldownPlayer – 允许作为事件所有者具有有效冷却时间的玩家进入事件区域?[对/错]
  • int TimeExitOwner – 事件所有者可以离开事件区域并保留所有权的时间 [秒]
  • int AlertTime – 事件所有者状态结束之前的警告时间 [秒]
  • bool RestoreUponDeath – 阻止 RestoreUponDeath 插件在事件区域中运行?(玩家在活动区时会掉落枪支和物品栏)[对/错]
  • double CooldownOwner – 事件所有者的冷却计时器,直到他们可以再次获得头衔,在玩家是其所有者的事件结束后 [秒]
  • int Darkening – 圆顶变暗 (0 – 禁用圆顶)

例:

JObject config = new JObject
{
	["Damage"] = 500f,
	["ScaleDamage"] = new JArray
	{
		new JObject { ["Type"] = "NPC", ["Scale"] = 1f },
		new JObject { ["Type"] = "Bradley", ["Scale"] = 2f }
	},
	["LootCrate"] = false,
	["HackCrate"] = false,
	["LootNpc"] = false,
	["DamageNpc"] = false,
	["DamageTank"] = false,
	["TargetNpc"] = false,
	["TargetTank"] = false,
	["CanEnter"] = false,
	["CanEnterCooldownPlayer"] = true,
	["TimeExitOwner"] = 300,
	["AlertTime"] = 60,
	["RestoreUponDeath"] = true,
	["CooldownOwner"] = 86400,
	["Darkening"] = 12
};

 

聊天命令

EventsTime – 向玩家显示自上次参与事件以来经过的时间列表

 

控制台命令(仅限 RCON)

ClearTimePveMode {steamid} – 清除 SteamID 为 ({steamid}) 的玩家上次参与活动的时间列表

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。