特点
- 允许玩家生成,获取和取消个人直升机
- 支持小型直升机,报废运输直升机和攻击直升机
- 允许使用权限进行可配置的冷却时间
- 允许防止对个人直升机的腐烂损坏
- 允许产卵的个人直升机与可配置的燃料
- 允许个人直升机在没有燃料的情况下运行
- 允许个人直升机在生成或获取时自动安装
- 允许个人直升机立即起飞
- 允许配置多个spawn/fetch/despawn命令
- 使用spawn命令时,允许自动获取直升机,以及可选地修复它们,以简化玩家的体验
快速启动
允许所有玩家生成minicopter
- 要允许所有玩家生成Minicopter,请运行命令o.grant group default spawnheli.minicopter.spawn。
- 要允许所有玩家获取其现有的Minicopter,请运行命令o.grant group default spawnheli.minicopter.fetch。
- 要允许所有玩家取消现有的Minicopter,请运行命令o.grant group default spawnheli.minicopter.despawn。
- 为了使它如此/mymini命令自动获取玩家现有的Minicopter (如果有的话),设置Minicopter->Auto fetch至true在配置和重新加载插件。
- 要使其如此获取现有的Minicopter会自动修复它,请设置Minicopter->Repair on fetch至true在配置和重新加载插件。
从v2迁移到v3
这个插件最近被重新设计,以支持产卵多种类型的直升机。以前它只允许产卵的minicopter。以下是更新到v3应采取的步骤。- 删除插件/SpawnMini.cs
- 将config/SpawnMini.json复制到config/SpawnHeli.json
- 添加插件/SpawnHeli.cs
- 查看config/SpawnHeli.json以验证一切看起来正确,根据需要进行更改,并在进行更改时重新加载SpawnHeli
- 根据需要授予权限
- spawnmini.mini->spawnheli.minicopter.spawn
- spawnmini.nocd->spawnheli.minicopter.nocooldown
- spawnmini.nomini->spawnheli.minicopter.despawn
- spawnmini.nodecay->spawnheli.minicopter.nodecay
- spawnmini.unlimitedfuel->spawnheli.minicopter.unlimitedfuel
- spawnmini.fmini->spawnheli.minicopter.fetch
- spawnmini.fuel.<amount>->spawnheli.minicopter.fuel.<amount>(更换<amount>像这样的数字100)
- 产卵/获取冷却时间权限更复杂。以前,您可以定义任意权限,如spawnmini.<whatever>,现在将是spawnheli.minicopter.cooldown.spawn.<whatever>。或spawnheli.minicopter.cooldown.fetch.<whatever>。
注意:如果您使用系统或插件 (如定时权限) 将权限授予特定玩家(较少关注向组分配权限) 在有限的时间内,将新权限回填给临时分配了旧权限的玩家可能不是直截了当的。如果您担心这种情况,则应计划将v3迁移延迟到即将进行的服务器擦除 (假设擦除服务器时会撤消临时权限)。
权限
此插件使用权限系统。要分配权限,请使用oxide.grant <user or group> <name or steam id> <permission>。要删除权限,请使用oxide.revoke <user or group> <name or steam id> <permission>。基本权限
允许玩家生成一架直升机 (例如,/mymini,/myheli,/myattack):- spawnheli.all.spawn
- spawnheli.minicopter.spawn
- spawnheli.scraptransport.spawn
- spawnheli.attackhelicopter.spawn
- spawnheli.all.fetch
- spawnheli.minicopter.fetch
- spawnheli.scraptransport.fetch
- spawnheli.attackhelicopter.fetch
允许玩家取消其现有的直升机 (例如,/nomini,/noheli,/noattack):
- spawnheli.all.despawn
- spawnheli.minicopter.despawn
- spawnheli.scraptransport.despawn
- spawnheli.attackhelicopter.despawn
- spawnheli.all.unlimitedfuel
- spawnheli.minicopter.unlimitedfuel
- spawnheli.scraptransport.unlimitedfuel
- spawnheli.attackhelicopter.unlimitedfuel
- spawnheli.all.nodecay
- spawnheli.minicopter.nodecay
- spawnheli.scraptransport.nodecay
- spawnheli.attackhelicopter.nodecay
- spawnheli.all.nocooldown
- spawnheli.minicopter.nocooldown
- spawnheli.scraptransport.nocooldown
- spawnheli.attackhelicopter.nocooldown
允许玩家在产卵或获取直升机时自动安装直升机 (需要在配置中启用功能,并且只有在配置为需要权限时才需要权限):
- spawnheli.all.automount
- spawnheli.minicopter.automount
- spawnheli.scraptransport.automount
- spawnheli.attackhelicopter.automount
- spawnheli.all.instanttakeoff
- spawnheli.minicopter.instanttakeoff
- spawnheli.scraptransport.instanttakeoff
- spawnheli.attackhelicopter.instanttakeoff
燃油权限
以下权限随插件的默认配置一起提供。每个人都决定了直升机产生的燃料量。小型直升机:
- spawnheli.minicopter.fuel.100-- 100燃油。
- spawnheli.minicopter.fuel.500-- 500燃油。
- spawnheli.minicopter.fuel.1000-- 1000燃油。
- spawnheli.scraptransport.fuel.100-- 100燃油。
- spawnheli.scraptransport.fuel.500-- 500燃油。
- spawnheli.scraptransport.fuel.1000-- 1000燃油。
- spawnheli.attackhelicopter.fuel.100-- 100燃油。
- spawnheli.attackhelicopter.fuel.500-- 500燃油。
- spawnheli.attackhelicopter.fuel.1000-- 1000燃油。
注:如果玩家被授予给定直升机类型的多个燃料权限,则根据配置中的配置文件顺序,最后一个将适用。
注意:如果玩家被授予较低的产卵冷却时间,则允许直升机使用燃料产卵可能会被滥用以产生大量燃料。作为用燃料产卵直升机的替代方案,考虑授予spawnheli.minicopter.unlimitedfuel许可。
产卵冷却时间
以下权限随插件的默认配置一起提供。每一个决定玩家多久可以产生直升机。小型直升机:
- spawnheli.minicopter.cooldown.spawn.1hr-- 1小时。
- spawnheli.minicopter.cooldown.spawn.10m-- 10分钟。
- spawnheli.minicopter.cooldown.spawn.10s-- 10秒。
- spawnheli.scraptransport.cooldown.spawn.1hr-- 1小时。
- spawnheli.scraptransport.cooldown.spawn.10m-- 10分钟。
- spawnheli.scraptransport.cooldown.spawn.10s-- 10秒。
- spawnheli.attackhelicopter.cooldown.spawn.1hr-- 1小时。
- spawnheli.attackhelicopter.cooldown.spawn.10m-- 10分钟。
- spawnheli.attackhelicopter.cooldown.spawn.10s-- 10秒。
注:如果玩家被授予给定直升机类型的多个产卵冷却时间权限,则根据配置中的配置文件顺序,最后一个将适用。
注意:允许直升机过于频繁地重生可能会被玩家滥用,从而降低服务器性能。与其允许直升机频繁产生,不如考虑授予获取权限,设置合理的获取冷却时间,使"Auto fetch": true,并启用"Repair on fetch": true。
获取冷却时间
以下权限随插件的默认配置一起提供。每个人都决定了玩家可以多久取回他们现有的直升机。小型直升机:
- spawnheli.minicopter.cooldown.fetch.1hr-- 1小时。
- spawnheli.minicopter.cooldown.fetch.10m-- 10分钟。
- spawnheli.minicopter.cooldown.fetch.10s-- 10秒。
- spawnheli.scraptransport.cooldown.fetch.1hr-- 1小时。
- spawnheli.scraptransport.cooldown.fetch.10m-- 10分钟。
- spawnheli.scraptransport.cooldown.fetch.10s-- 10秒。
- spawnheli.attackhelicopter.cooldown.fetch.1hr-- 1小时。
- spawnheli.attackhelicopter.cooldown.fetch.10m-- 10分钟。
- spawnheli.attackhelicopter.cooldown.fetch.10s-- 10秒。
注:如果玩家被授予多个获取冷却时间权限,则将根据配置中的配置文件顺序应用最后一个权限。
命令
此插件使用相同的语法提供聊天和控制台命令。在聊天中使用命令时,请在其前面加上正斜杠: “/”。以下命令将生成您的直升机。如果Auto fetch为该直升机类型启用,则这些命令将获取您现有的直升机 (如果您有)。
- mymini-生成您的小型直升机。
- myheli-产生你的报废运输直升机。
- myattack-产卵你的攻击直升机。
- fmini-获取您的小型直升机。
- fheli-获取您的报废运输直升机。
- fattack-获取您的攻击直升机。
- nomini-取消您的小型直升机。
- noheli-取消您的废料运输直升机。
- noattack-Despawn你的攻击直升机。
服务器命令
以下服务器命令可用于使用其名称或64位Steam ID (推荐) 为特定玩家生成直升机。- spawnheli.minicopter.give <name or steamid>
- spawnheli.scraptransport.give <name or steamid>
- spawnheli.attackhelicopter.give <name or steamid>
- spawnheli.minicopter.give <name or steamid> <x> <y> <z>
- spawnheli.scraptransport.give <name or steamid> <x> <y> <z>
- spawnheli.attackhelicopter.give <name or steamid> <x> <y> <z>
注意:将这些命令与自定义商店集成可能会导致玩家浪费购买,如果他们已经产生了直升机,因为这个命令在这种情况下没有效果。您可以建议玩家在尝试购买直升机之前尝试获取直升机以避免此问题 (例如,如果他们忘记了他们目前有一个产卵)。
配置
设置和选项可以在SpawnHeli文件下的config目录。建议使用编辑器和验证程序,以避免格式问题和语法错误。默认配置:
代码:
{
"Admin debug bounds": false,
"Limit players to one helicopter type at a time": false,
"Try to auto despawn other helicopter types": false,
"Minicopter": {
"Spawn commands": [
"mymini"
],
"Fetch commands": [
"fmini"
],
"Despawn commands": [
"nomini"
],
"Can despawn while occupied": false,
"Can fetch while occupied": false,
"Can spawn while building blocked": false,
"Can fetch while building blocked": false,
"Auto fetch": false,
"Repair on fetch": false,
"Max spawn distance": 5.0,
"Max fetch distance": -1.0,
"Max despawn distance": -1.0,
"Fixed spawn distance": {
"Enabled": true,
"Distance from player": 3.0,
"Helicopter rotation angle": 90.0
},
"Auto mount": {
"Enabled": false,
"Require permission": false
},
"Instant takeoff": {
"Enabled": false,
"Require permission": false
},
"Only owner and team can mount": false,
"Spawn health": 750.0,
"Destroy on disconnect": false,
"Fuel": {
"Default fuel amount": 0,
"Fuel profiles requiring permission": [
{
"Fuel amount": 100,
"Permission suffix": "100"
},
{
"Fuel amount": 500,
"Permission suffix": "500"
},
{
"Fuel amount": 1000,
"Permission suffix": "1000"
}
]
},
"Spawn cooldowns": {
"Default cooldown (seconds)": 3600.0,
"Cooldown profiles requiring permission": [
{
"Cooldown (seconds)": 3600.0,
"Permission suffix": "1hr"
},
{
"Cooldown (seconds)": 600.0,
"Permission suffix": "10m"
},
{
"Cooldown (seconds)": 10.0,
"Permission suffix": "10s"
}
]
},
"Fetch cooldowns": {
"Default cooldown (seconds)": 10.0,
"Cooldown profiles requiring permission": [
{
"Cooldown (seconds)": 3600.0,
"Permission suffix": "1hr"
},
{
"Cooldown (seconds)": 600.0,
"Permission suffix": "10m"
},
{
"Cooldown (seconds)": 10.0,
"Permission suffix": "10s"
}
]
}
},
"ScrapTransportHelicopter": {
"Spawn commands": [
"myheli"
],
"Fetch commands": [
"fheli"
],
"Despawn commands": [
"noheli"
],
"Can despawn while occupied": false,
"Can fetch while occupied": false,
"Can spawn while building blocked": false,
"Can fetch while building blocked": false,
"Auto fetch": false,
"Repair on fetch": false,
"Max spawn distance": 5.0,
"Max fetch distance": -1.0,
"Max despawn distance": -1.0,
"Fixed spawn distance": {
"Enabled": true,
"Distance from player": 3.0,
"Helicopter rotation angle": 90.0
},
"Auto mount": {
"Enabled": false,
"Require permission": false
},
"Instant takeoff": {
"Enabled": false,
"Require permission": false
},
"Only owner and team can mount": false,
"Spawn health": 1000.0,
"Destroy on disconnect": false,
"Fuel": {
"Default fuel amount": 0,
"Fuel profiles requiring permission": [
{
"Fuel amount": 100,
"Permission suffix": "100"
},
{
"Fuel amount": 500,
"Permission suffix": "500"
},
{
"Fuel amount": 1000,
"Permission suffix": "1000"
}
]
},
"Spawn cooldowns": {
"Default cooldown (seconds)": 3600.0,
"Cooldown profiles requiring permission": [
{
"Cooldown (seconds)": 3600.0,
"Permission suffix": "1hr"
},
{
"Cooldown (seconds)": 600.0,
"Permission suffix": "10m"
},
{
"Cooldown (seconds)": 10.0,
"Permission suffix": "10s"
}
]
},
"Fetch cooldowns": {
"Default cooldown (seconds)": 10.0,
"Cooldown profiles requiring permission": [
{
"Cooldown (seconds)": 3600.0,
"Permission suffix": "1hr"
},
{
"Cooldown (seconds)": 600.0,
"Permission suffix": "10m"
},
{
"Cooldown (seconds)": 10.0,
"Permission suffix": "10s"
}
]
}
},
"AttackHelicopter": {
"Spawn commands": [
"myattack"
],
"Fetch commands": [
"fattack"
],
"Despawn commands": [
"noattack"
],
"Can despawn while occupied": false,
"Can fetch while occupied": false,
"Can spawn while building blocked": false,
"Can fetch while building blocked": false,
"Auto fetch": false,
"Repair on fetch": false,
"Max spawn distance": 5.0,
"Max fetch distance": -1.0,
"Max despawn distance": -1.0,
"Fixed spawn distance": {
"Enabled": true,
"Distance from player": 3.0,
"Helicopter rotation angle": 90.0
},
"Auto mount": {
"Enabled": false,
"Require permission": false
},
"Instant takeoff": {
"Enabled": false,
"Require permission": false
},
"Only owner and team can mount": false,
"Spawn health": 850.0,
"Destroy on disconnect": false,
"Fuel": {
"Default fuel amount": 0,
"Fuel profiles requiring permission": [
{
"Fuel amount": 100,
"Permission suffix": "100"
},
{
"Fuel amount": 500,
"Permission suffix": "500"
},
{
"Fuel amount": 1000,
"Permission suffix": "1000"
}
]
},
"Spawn cooldowns": {
"Default cooldown (seconds)": 3600.0,
"Cooldown profiles requiring permission": [
{
"Cooldown (seconds)": 3600.0,
"Permission suffix": "1hr"
},
{
"Cooldown (seconds)": 600.0,
"Permission suffix": "10m"
},
{
"Cooldown (seconds)": 10.0,
"Permission suffix": "10s"
}
]
},
"Fetch cooldowns": {
"Default cooldown (seconds)": 10.0,
"Cooldown profiles requiring permission": [
{
"Cooldown (seconds)": 3600.0,
"Permission suffix": "1hr"
},
{
"Cooldown (seconds)": 600.0,
"Permission suffix": "10m"
},
{
"Cooldown (seconds)": 10.0,
"Permission suffix": "10s"
}
]
}
}
}