NTeleportation - 传送系统

汉化 NTeleportation - 传送系统 1.7.8

原地址
需要插件(可选)
本插件可选以下插件搭配使用:
现在所有功能都需要授权,例如/home、/tpr等。

玩家唯一ID​

现在,每名玩家在进入服务器后都会分配一个独特的4位数ID。
  • 此ID在每次插件重新加载/服务器重新启动时都会更改
  • 您只能在显示多个找到的玩家列表时找到玩家的ID
  • 示例:
  • 找到多个玩家:9910 - Ruptga, 8750 - GRYLLZ, 1133 - Roe Jogan
  • /tp 9910 - 会将您传送到Ruptga
  • /tp 9910 nivex - 会将Ruptga传送到nivex
  • /tpr 9910 - 会向Ruptga发送传送请求

配置文件​

  • UseFriends - 通过Friends API检查拥有者和玩家是否是朋友
  • UseClans - 通过Clans API检查拥有者和玩家是否在同一个战队 (仅支持Oxide的 Clans.cs或RustIO::Clans - 其他战队插件状态未知)
  • UseTeams - 通过Rust团队检查拥有者和玩家是否是队友
  • UseEconomics - 使用Economics插件支付传送或支付以绕过冷却
  • UseServerRewards - 使用ServerRewards插件支付传送或支付以绕过冷却
  • WipeOnUpgradeOrChange - 如果为true,在服务器检测到为新档时,删除HOME、小镇、岛屿、强盗营地和前哨站位置
  • UsableOutOfBuildingBlocked - 允许玩家从没有领地权限的区域传送出去(不是进入)
  • ForceOnTopOfFoundation - 如果为true,玩家必须在地基或地板上设置家。如果为false,玩家可以在任何其他配置未限制的地方设置家 (例如 nterruptTPOnMonument)
  • AllowAboveFoundation - 允许在拥有/共享地基(地板)上的建筑物的第几楼设置家。如果为false,玩家必须在地基(一楼)上使用home/sethome。
  • VIPCooldowns/VIPDailyLimits/VIPHomesLimits/VIPCountdowns:
  • TPT - 包含用于启用朋友、战队和队伍的即时TPA的设置。将这些设置为false以禁用。
JSON:
{
  "Settings": {
    "Chat Command Color": "#FFFF00",
    "Chat Command Argument Color": "#FFA500",
    "Enable Popup Support": false,
    "Block All Teleporting From Inside Authorized Base": false,
    "TPB Available After X Seconds": 0.0,
    "Global Teleport Cooldown": 0.0,
    "Global VIP Teleport Cooldown": 0.0,
    "Play Sounds After Teleport": false,
    "Sounds To Play After Teleport": [
      "assets/prefabs/misc/xmas/presents/effects/unwrap.prefab",
      "assets/bundled/prefabs/fx/player/howl.prefab",
      "assets/content/vehicles/minicopter/debris_effect.prefab",
      "assets/prefabs/npc/patrol helicopter/damage_effect_debris.prefab",
      "assets/prefabs/npc/patrol helicopter/effects/rocket_fire.prefab"
    ],
    "Interrupt TP": {
      "Interrupt Teleport At Specific Monuments": [],
      "Above Water": true,
      "Balloon": true,
      "Boats": false,
      "Cargo Ship": true,
      "Cold": false,
      "Excavator": false,
      "Hot": false,
      "Hostile": false,
      "Hurt": true,
      "Junkpiles": false,
      "Lift": true,
      "Monument": false,
      "Ignore Monument Marker Prefab": false,
      "Mounted": true,
      "Oil Rig": false,
      "Safe Zone": true,
      "Swimming": false
    },
    "Block Teleport (NoEscape)": false,
    "Block Teleport (ZoneManager)": false,
    "Chat Name": "<color=red>Teleportation</color> \n\n",
    "Chat Steam64ID": 76561199056025689,
    "Check Boundaries On Teleport X Y Z": true,
    "Data File Directory (Blank = Default)": "",
    "Draw Sphere On Set Home": true,
    "Homes Enabled": true,
    "TPR Enabled": true,
    "Strict Foundation Check": false,
    "Cave Distance Small": 50.0,
    "Cave Distance Medium": 70.0,
    "Cave Distance Large": 110.0,
    "Default Monument Size": 50.0,
    "Minimum Temp": 0.0,
    "Maximum Temp": 40.0,
    "Blocked Items": {},
    "Bypass CMD": "pay",
    "Use Monument Topology Check": false,
    "Use Cave Topology Check": false,
    "Use Economics": false,
    "Use Server Rewards": false,
    "Wipe On Upgrade Or Change": true,
    "Auto Generate Outpost Location": true,
    "Auto Generate Bandit Location": true,
    "Show Time As Seconds Instead": false
  },
  "Admin": {
    "Announce Teleport To Target": false,
    "Usable By Admins": true,
    "Usable By Moderators": true,
    "Location Radius": 25,
    "Teleport Near Default Distance": 30
  },
  "Home": {
    "Homes Limit": 2,
    "VIP Homes Limits": {
      "nteleportation.vip": 5
    },
    "Allow Sethome At Specific Monuments": [
      "HQM Quarry",
      "Stone Quarry",
      "Sulfur Quarry",
      "Ice Lake"
    ],
    "Allow Sethome At All Monuments": false,
    "Allow TPB": true,
    "Cooldown": 600,
    "Countdown": 15,
    "Daily Limit": 5,
    "VIP Daily Limits": {
      "nteleportation.vip": 5
    },
    "VIP Cooldowns": {
      "nteleportation.vip": 5
    },
    "VIP Countdowns": {
      "nteleportation.vip": 5
    },
    "Location Radius": 25,
    "Force On Top Of Foundation": true,
    "Check Foundation For Owner": true,
    "Use Friends": true,
    "Use Clans": true,
    "Use Teams": true,
    "Usable Out Of Building Blocked": false,
    "Usable Into Building Blocked": false,
    "Usable From Safe Zone Only": false,
    "Allow Cupboard Owner When Building Blocked": true,
    "Allow Iceberg": false,
    "Allow Cave": false,
    "Allow Crafting": false,
    "Allow Above Foundation": true,
    "Check If Home Is Valid On Listhomes": false,
    "Pay": 0,
    "Bypass": 0
  },
  "TPT": {
    "Use Friends": false,
    "Use Clans": false,
    "Use Teams": false,
    "Allow Cave": false
  },
  "TPR": {
    "Require Player To Be Friend, Clan Mate, Or Team Mate": false,
    "Allow Cave": false,
    "Allow TPB": true,
    "Cooldown": 600,
    "Countdown": 15,
    "Daily Limit": 5,
    "VIP Daily Limits": {
      "nteleportation.vip": 5
    },
    "VIP Cooldowns": {
      "nteleportation.vip": 5
    },
    "VIP Countdowns": {
      "nteleportation.vip": 5
    },
    "Request Duration": 30,
    "Block TPA On Ceiling": true,
    "Usable Out Of Building Blocked": false,
    "Usable Into Building Blocked": false,
    "Allow Cupboard Owner When Building Blocked": true,
    "Allow Crafting": false,
    "Pay": 0,
    "Bypass": 0
  },
  "Dynamic Commands": {
    "Town": {
      "Command Enabled": true,
      "Allow TPB": true,
      "Allow Cave": false,
      "Cooldown": 600,
      "Countdown": 15,
      "Daily Limit": 5,
      "VIP Daily Limits": {
        "nteleportation.vip": 5
      },
      "VIP Cooldowns": {
        "nteleportation.vip": 5
      },
      "VIP Countdowns": {
        "nteleportation.vip": 5
      },
      "Location": "0 0 0",
      "Locations": [],
      "Teleport To Random Location": false,
      "Usable Out Of Building Blocked": false,
      "Allow Crafting": false,
      "Pay": 0,
      "Bypass": 0
    },
    "Island": {
      "Command Enabled": true,
      "Allow TPB": false,
      "Allow Cave": false,
      "Cooldown": 600,
      "Countdown": 15,
      "Daily Limit": 5,
      "VIP Daily Limits": {
        "nteleportation.vip": 5
      },
      "VIP Cooldowns": {
        "nteleportation.vip": 5
      },
      "VIP Countdowns": {
        "nteleportation.vip": 5
      },
      "Location": "0 0 0",
      "Locations": [],
      "Teleport To Random Location": true,
      "Usable Out Of Building Blocked": false,
      "Allow Crafting": false,
      "Pay": 0,
      "Bypass": 0
    },
    "Outpost": {
      "Command Enabled": true,
      "Allow TPB": true,
      "Allow Cave": false,
      "Cooldown": 600,
      "Countdown": 15,
      "Daily Limit": 5,
      "VIP Daily Limits": {
        "nteleportation.vip": 5
      },
      "VIP Cooldowns": {
        "nteleportation.vip": 5
      },
      "VIP Countdowns": {
        "nteleportation.vip": 5
      },
      "Location": "0 0 0",
      "Locations": [],
      "Teleport To Random Location": true,
      "Usable Out Of Building Blocked": false,
      "Allow Crafting": false,
      "Pay": 0,
      "Bypass": 0
    },
    "Bandit": {
      "Command Enabled": true,
      "Allow TPB": true,
      "Allow Cave": false,
      "Cooldown": 600,
      "Countdown": 15,
      "Daily Limit": 5,
      "VIP Daily Limits": {
        "nteleportation.vip": 5
      },
      "VIP Cooldowns": {
        "nteleportation.vip": 5
      },
      "VIP Countdowns": {
        "nteleportation.vip": 5
      },
      "Location": "0 0 0",
      "Locations": [],
      "Teleport To Random Location": true,
      "Usable Out Of Building Blocked": false,
      "Allow Crafting": false,
      "Pay": 0,
      "Bypass": 0
    }
  }
}
配置文件可以创建不同级别VIP的多个条目。默认和包含的条目是针对nteleportation.vip的。在这里添加的其他条目会导致插件在重新加载时为它们注册Oxide权限。权限创建后,可以根据需要将它们分配给oxide用户或组。
如果为/home、/tpr或/town设置了需要支付货币,且Economics或ServerRewards可用,则使用这些指令将从其余额中扣除配置的金额。
如果为/home、/tpr或/town|outpost|bandit设置了允许绕过,且Economics或ServerRewards可用,则在冷却期间使用这些指令时,将询问玩家是否要支付以绕过冷却。请注意,如果您选择通过支付费用来绕过/tpr的冷却,即使目标不接受/tpa,也会收取绕过费用。只有在成功的/tpa和传送之后,您才会支付Pay费用。
支付(pay)和(bypass)费用默认为0,这意味着将不收取费用。将其设置为-1以禁用它们。将其设置为大于0以收取费用。
这还需要全局设置绕过指令(Bypass CMD)(默认为“pay”)。这是用于绕过的关键字(设置为空可禁用绕过),例如:
  • /town pay
  • /home 1 pay
您还必须将UseEconomics设置为true以启用Economics插件的支持。您也可以将UseServerRewards设置为true以启用ServerRewards插件的支持。如果两者都设置为true,则首先检查Economics。
对于InterruptTPOnCold/Hot设置,小心调整MinimumTemp和MaximumTemp的默认值。用户只会在0-40°之间显示冷/热。否则他们可能会感到困惑。但是,MinimumTemp的支持负值。注意:如果您想实际更改默认值,您需要将InterruptTPOnCold/Hot设置为true。然后设置最小/最大温度。即使您不想在冷/热时中断,这也是正确的 - 在这种情况下,将温度设置为不太可能遇到的一些极值,如-30和100。
如果InterruptTPOnHostile为true,并且玩家为敌对状态,则会阻止使用/outpost和/bandit
如果InterruptTpOnHurt为true,即使InterruptTPOnCold/Hot为false,当温度过热/过冷时,传送仍可能被中断。这是因为玩家在温度过高或过低时会受到伤害。
当AllowCave为false时,CaveDistance{Small/Medium/Large}设置可用于调整Home/Town/TPR配置部分中需要的距洞穴的距离。玩家范围内的任何内容(从玩家)都应该被阻止。

StrictFoundationCheck:默认为false。如果设置为true,会执行一个额外的检查以确保玩家至少在地基或地板的中心附近。这不会在tpa/tpr上运行,但在sethome/home上运行。
DefaultMonumentSize:如果InterruptTPOnMonument设置为true,则需要设置此选项。许多遗迹在查询时不会呈现它们的大小 - 至少我们目前这样做。对于那些不这样做的,这将是使用/home等所需的默认距离。

权限

  • nteleportation.home - /home, /sethome, /removehome
  • nteleportation.deletehome - /home delete & /deletehome
  • nteleportation.homehomes - /home homes & /homehomes
  • nteleportation.importhomes - teleport.importhomes
  • nteleportation.radiushome - /home radius & /radiushome
  • nteleportation.tp - /tp - 不要授权给玩家,也不要授权给默认组!
  • nteleportation.tpb - /tpb
  • nteleportation.tpr - /tpr
  • nteleportation.tpconsole - teleport.topos & teleport.toplayer
  • nteleportation.tphome - /home tp and /tphome
  • nteleportation.tptown - /town
  • nteleportation.tpoutpost - /outpost
  • nteleportation.tpbandit - /bandit
  • nteleportation.tpn - /tpn
  • nteleportation.tpl - /tpl
  • nteleportation.tpremove - /tpremove
  • nteleportation.tpsave - /tpsave
  • nteleportation.wipehomes - /wipehomes
  • nteleportation.crafthome - 允许玩家在制作时使用/home
  • nteleportation.crafttown - 允许玩家在制作时使用/town
  • nteleportation.craftoutpost - 允许玩家在制作时使用/outpost
  • nteleportation.craftbandit - 允许玩家在制作时使用/bandit
  • nteleportation.crafttpr - 允许玩家在制作时使用/tpr
  • nteleportation.tpt - 允许立即tpa
  • nteleportation.tpisland - 允许使用/island 和/town island
  • nteleportation.craftisland - 允许玩家在制作时使用 /island 或 /town island
  • nteleportation.bypassfoundationcheck
  • nteleportation.exemptfrominterruptcountdown - 玩家在传送倒计时期间不会被打断
  • nteleportation.globalcooldownvip - vip用户的全局冷却时间
  • nteleportation.tpmarker - 允许玩家标记传送

聊天指令​

  • home add NAME - 将当前位置保存为位置NAME。(别名sethome)
  • home list - 显示您保存的所有位置的列表。(别名listhomes)
  • home remove NAME - 从您保存的主页中删除位置NAME。(别名removehome)
  • home NAME - 将您传送到主页位置。
  • home NAME pay - 将您传送到主页位置NAME,通过从您的Economics余额支付来绕过冷却。
  • tpr - 向玩家发送传送请求。
  • tpa - 接受传入的传送请求。
  • tpc - 取消传送或请求。
  • town - 将自己传送到城镇(如果设置)。
  • outpost - 将自己传送到哨站(如果设置)。
  • bandit - 将自己传送到强盗城镇(如果设置)。
  • town/outpost/bandit pay - 将你传送到town/outpost/bandit,通过从你的Economics余额支付来绕过冷却。例如/town pay
  • tpinfo - 显示限制和冷却时间。
  • tphelp - 显示帮助。
  • island <number> - 将你传送到指定的岛屿
  • island add - 在管理员当前位置添加一个出生点(不要添加玩家可以建造的位置)
  • tpat - 为特定玩家切换自动tpa开/关

管理员指令​

  • tp - 将自己传送到目标玩家。
  • tp - 将玩家传送到目标玩家。
  • tp - 将你传送到一组坐标。
  • tpl - 显示保存位置的列表。
  • tpl 名称 - 将您传送到保存的位置。
  • tpsave - 将您当前的位置保存为位置名称。
  • tpremove - 从您保存的列表中删除该位置。
  • tpb - 将您传送回在传送之前的地方。
  • home radius - 查找所有位于半径内的家。
  • home delete - 从玩家中删除一个家。
  • home tp - 将您传送到玩家的HOME位置,名称为'name'。
  • home homes - 显示玩家的所有家的列表。
  • home wipe - 删除所有家。
  • town set - 将当前位置保存为小镇。
  • outpost set - 将当前位置保存为前哨站。
  • bandit set - 将当前位置保存为强盗营地。
  • wipehomes - 删除所有家。
现在可以通过配置添加通用指令:
  • 重新实现默认值中的前哨站、强盗营地、小镇和岛屿指令,因此它们的设置已重置
  • 重新实现所有相关的语言消息 - 由MoNaH提供俄语翻译
  • 添加了通用命令:
  • ntp add/remove/list <名称> - 需要权限 nteleportation.admin
  • 例子:
  • ntp add farm - 添加farm指令,需要权限:
    • nteleportation.tpfarm - 使用此指令进行传送
    • nteleportation.craftfarm - 在使用此指令时制作
  • ntp remove farm - 移除farm指令
  • ntp list - 列出所有指令(与tpinfo相同)
  • o.grant group default nteleportation.tpfarm - 允许所有玩家使用此指令
  • o.grant user nivex nteleportation.tpfarm - 允许nivex使用此指令
  • 指令会被添加到配置文件中,可以根据您的喜好进行配置

控制台指令​

  • teleport.topos - 将玩家传送到指定位置
  • teleport.toplayer - 将玩家传送到目标玩家
  • teleport.importhomes - 从m-Teleportation导入Home点

对于开发者​

C#:
Dictionary GetHomes(object playerObj) // param playerObj string/ulong playerId

int GetLimitRemaining(BasePlayer player, string type) // param type: home, tpr, town

int GetCooldownRemaining(BasePlayer player, string type) // param type: home, tpr, town

int GetCountdownRemaining(BasePlayer player, string type) // param type: home, tpr, town
作者
对味儿
下载
96
查看
1376
文件类型
cs
文件大小
401.3 KB
文件Hash
ab43651acb72433a2fd56e9d73aa5c03
首次发布
最后更新
评分
0.00 星 0评价

来自对味儿的更多资源

分享资源

最新更新

  1. 1.7.8

    修复了 allow icebergs 选项。 修复了城镇(Town)的打断设置。 添加了 Require nteleportation.tpa to accept TPR requests...
  2. 1.7.7

    (请在Rust发布更新后再更新) 提前修复Rust更新。 修复了 ErrorTPR 消息。 修复了允许冰山(Allow Iceberg)的问题。 修复了当Interrupt => Safe...
  3. 1.7.6

    修复了BlockedTeleportTarget消息和BlockUsers API. 修复了IsInsideEntity.NullReferenceException 修复了Force On...
标签
传送