berry64
本帖最后由 1582952890 于 2018-8-17 09:12 编辑

Sign CrowdControl

原名SignClickLimiter



介绍:
通过判断一个区域内的玩家数量来决定是否允许一个玩家使用牌子传送进此区域 (可以当作小游戏/副本大厅使用)

如果你看到这里没看懂很正常,因为我自己也没懂,不过没关系,接着看

指令&权限:
/scd set [名称] [半径] [最大人数]
在当前位置创建一个新的监测点
/scd del [名称]
删除一个已有监测点
/scd list
列出所有监测点
并没有权限,指令都是必须op


使用介绍&截图:

首先我们使用指令/scd set 创建一个合适的传送(监测)点,为了方便我在传送点周围造了一个3格的参考边框

这时候插件提示我们右键牌子,所以先放一个牌子(插件不会更改第一行&第四行所以可以随意写)

绑定成功!可以看到牌子已经变了,这时候我们右键牌子可以传送到刚刚输入指令的位置(也就是检测范围中央)

这时候我们尝试加入。。。传送了!

那么再试试圈内有人的情况下右键牌子?
大概就酱紫~

配置文件:

  1. autoRefresh:         #自动刷新
  2.   enabled: false         #是否开启(会定时检测所有玩家位置有可能对性能造成一定影响)
  3.   interval: 180           #检测间隔(秒)
  4. heightIncrement: 1.3    #传送时给y轴增加的高度,用于解决延迟导致玩家卡到地里
  5. saves: {}       #储存信息,这里不碰都可以
复制代码


一些提示:
本插件的工作原理是服务器内玩家受否在范围内,并不会阻止玩家自行进入或者离开范围,并且不会储存有多少玩家通过牌子进入或者离开区域,也就是说如果玩家自己走进区域的话那么人数可以超过上限。当然,这也会对性能多少造成一些影响。

牌子被op破坏时会移除传送点

更新日志=w=:


下载在这里:听说给人气不会花费任何东西哦,下载之前考虑给下人气不? SignCrowdControl - 2.0.3.jar (10.62 KB, 下载次数: 32)
历史版本:

P.S. 求人帮我重新组织帖子语言

本插件所用所有代码均为原创,不存在借用/抄袭等行为

余枫
哇,失踪人口回归  支持

1419488686
ANSI和UTF8的1.7.10CK版本都支持吗?

berry64
1419488686 发表于 2018-6-25 21:05
ANSI和UTF8的1.7.10CK版本都支持吗?

并不存在ANSI和utf8的问题, CK如果是KCauldron的话是支持的

@TGL
如何具体的观察区域的大小范围

1419488686
版本你这个插件有个问题
如果在X点设置了5范围的人数显著侦查点
把牌子放在Y点那么右键过去,牌子的人数标明没有变动
这又是个什么问题,(X,Y只是比喻地点)
而且每次传送过去有时候会从空中落下,有时候不会

@TGL
希望能加个冷却时间, 有些副本限制一天打一次

小兵gk
我的天,找了很久啊,这个可以做团本啊

8QQTUDOU
有BUG啊
楼主咋办啊

8QQTUDOU
牌子传送 自己过一段时间就会自动失效OP可以玩家就不能传送了

berry64
@TGL 发表于 2018-6-26 20:38
如何具体的观察区域的大小范围

插件算法是 ((玩家x坐标-目的x)^2 + (玩家z-目的z)^2)^0.5如果小于设置半径就代表在范围内,具体观察嘛。。。。自己画个圈圈?

berry64
1419488686 发表于 2018-6-26 21:58
版本你这个插件有个问题
如果在X点设置了5范围的人数显著侦查点
把牌子放在Y点那么右键过去,牌子的人数标 ...

有时会从空中落下有时不会是因为网络延迟,正常0延迟应该会传送到位置Y+2的地方这样有延迟的玩家可以稍微掉落一点没关系延迟稍微高一点的时候就不会掉落

感谢提供更新人数的bug我下个版本修复

berry64
@TGL 发表于 2018-6-27 08:24
希望能加个冷却时间, 有些副本限制一天打一次

谢谢建议,可以考虑
(全程在看雷姆)

berry64
8QQTUDOU 发表于 2018-6-27 11:29
牌子传送 自己过一段时间就会自动失效OP可以玩家就不能传送了

请具体一点,大约多久有没有什么其他触发条件

@TGL
我还有个建议,可以选择和领地插件联用,直接检测领地内是否有玩家存在

烟雨郎君
能不能和领地插件联动?

检测传送完毕后该区域boss击杀后多少秒之后自动把所有人传送回主城

1419488686
版主,还有个BUG,就是左键破坏牌子的时候,就会移除传送点,但是并没有移除完全,传送点scd list依然能够查到传送点的名称,必须需要scd del 名称再次删除才能重新创建这个传送点(我不知道算不算是个BUG,但是如果想重复创建时候以这种方式进行的时候,不知道会不会给一些人造成麻烦)

berry64
1419488686 发表于 2018-6-29 16:58
版主,还有个BUG,就是左键破坏牌子的时候,就会移除传送点,但是并没有移除完全,传送点scd list依然能够查 ...

感谢提出,这个是bug不过问题不大而且懒得修复就算了

berry64
烟雨郎君 发表于 2018-6-29 15:04
能不能和领地插件联动?

检测传送完毕后该区域boss击杀后多少秒之后自动把所有人传送回主城 ...

emmmmmmmmmm  想法不错可惜我太懒

ttc_V
楼主可不可以更新一个固定的传送位置和限制每个玩家的进入时间?不然弄副本都要传送到正中央??玩家可以挂机在里面其他玩家就进不来副本了

1419488686
楼主,我又发现一个BUG,这个BUG非常严重,那就是如果你tpXXX离开这个区域
或者走出这个区域,那么牌子的数量依然不会变动,也就是你进去这个区域,就算退出服务器,或者离开tp离开这个区域,这个牌子只会显示进入后玩家的数量




berry64
1419488686 发表于 2018-7-2 00:26
楼主,我又发现一个BUG,这个BUG非常严重,那就是如果你tpXXX离开这个区域
或者走出这个区域,那么牌子的数 ...

这个只是牌子没有更新而已,点一下牌子就更新了

asdf1234
發現bug
告示牌點越多次傳送進去區域的地點會越來越高(曾經一直點到高度200xd)
這插件真的很棒希望樓主可以更新它

8QQTUDOU
就是你创建个牌子传送人数限制 他自己过一段时间就会失效进不去了

_幻_
插件很好 好评 特别好用

berry64
asdf1234 发表于 2018-7-2 17:22
發現bug
告示牌點越多次傳送進去區域的地點會越來越高(曾經一直點到高度200xd)
這插件真的很棒希望樓主可以 ...

怕不是传送位置有bug,谢谢反馈马上修复

1419488686
楼主说明一下,2.0.3版本更新了什么内容

什么约
楼主请问可以转载吗@berry64

帅锅做的鱼
太好了,一直都想要这个插件

红人丶云浩
bug提交:

服务器版本 1.11.2 pr

刚开始弄的中文传送点名字,重启服务器后传送点会消失
我还以为是中文的原因,设置了英文传送点
但是重启服务器后传送点又会自动删除!
希望楼主修复下!emmmm~

红人丶云浩
本帖最后由 红人丶云浩 于 2018-8-27 11:03 编辑

如果能giu显示就比较牛逼了emmmm
牌子点着麻烦
1.11.2 pr 报错
之前无法传送的问题可能是这个

  1. [11:00:19 ERROR]: Could not pass event PlayerTeleportEvent to Multiverse-Core v2.5.0-b727
  2. org.bukkit.event.EventException
  3.         at org.bukkit.plugin.EventExecutor$1.execute(EventExecutor.java:46) ~[patched_1.11.2.jar:git-Paper-1011]
  4.         at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78) ~[patched_1.11.2.jar:git-Paper-1011]
  5.         at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[patched_1.11.2.jar:git-Paper-1011]
  6.         at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:517) [patched_1.11.2.jar:git-Paper-1011]
  7.         at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:502) [patched_1.11.2.jar:git-Paper-1011]
  8.         at org.bukkit.craftbukkit.v1_11_R1.entity.CraftPlayer.teleport(CraftPlayer.java:569) [patched_1.11.2.jar:git-Paper-1011]
  9.         at org.bukkit.craftbukkit.v1_11_R1.entity.CraftEntity.teleport(CraftEntity.java:254) [patched_1.11.2.jar:git-Paper-1011]
  10.         at net.berry64.mccity.mod.SCL.SCL.onSignClick(Unknown Source) [%5B限制传送区域人数%5DSignCrowdControl%20-%202.0.3.jar:?]
  11.         at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor39.execute(Unknown Source) [?:?]
  12.         at org.bukkit.plugin.EventExecutor$1.execute(EventExecutor.java:44) [patched_1.11.2.jar:git-Paper-1011]
  13.         at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78) [patched_1.11.2.jar:git-Paper-1011]
  14.         at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [patched_1.11.2.jar:git-Paper-1011]
  15.         at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:517) [patched_1.11.2.jar:git-Paper-1011]
  16.         at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:502) [patched_1.11.2.jar:git-Paper-1011]
  17.         at org.bukkit.craftbukkit.v1_11_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:233) [patched_1.11.2.jar:git-Paper-1011]
  18.         at net.minecraft.server.v1_11_R1.PlayerInteractManager.a(PlayerInteractManager.java:444) [patched_1.11.2.jar:git-Paper-1011]
  19.         at net.minecraft.server.v1_11_R1.PlayerConnection.a(PlayerConnection.java:907) [patched_1.11.2.jar:git-Paper-1011]
  20.         at net.minecraft.server.v1_11_R1.PacketPlayInUseItem.a(PacketPlayInUseItem.java:37) [patched_1.11.2.jar:git-Paper-1011]
  21.         at net.minecraft.server.v1_11_R1.PacketPlayInUseItem.a(PacketPlayInUseItem.java:5) [patched_1.11.2.jar:git-Paper-1011]
  22.         at net.minecraft.server.v1_11_R1.PlayerConnectionUtils$1.run(SourceFile:13) [patched_1.11.2.jar:git-Paper-1011]
  23.         at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_181]
  24.         at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_181]
  25.         at net.minecraft.server.v1_11_R1.SystemUtils.a(SourceFile:46) [patched_1.11.2.jar:git-Paper-1011]
  26.         at net.minecraft.server.v1_11_R1.MinecraftServer.D(MinecraftServer.java:821) [patched_1.11.2.jar:git-Paper-1011]
  27.         at net.minecraft.server.v1_11_R1.DedicatedServer.D(DedicatedServer.java:403) [patched_1.11.2.jar:git-Paper-1011]
  28.         at net.minecraft.server.v1_11_R1.MinecraftServer.C(MinecraftServer.java:749) [patched_1.11.2.jar:git-Paper-1011]
  29.         at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:648) [patched_1.11.2.jar:git-Paper-1011]
  30.         at java.lang.Thread.run(Unknown Source) [?:1.8.0_181]
  31. Caused by: java.lang.NullPointerException
  32.         at com.onarandombox.MultiverseCore.listeners.MVPlayerListener.playerTeleport(MVPlayerListener.java:178) ~[?:?]
  33.         at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor144.execute(Unknown Source) ~[?:?]
  34.         at org.bukkit.plugin.EventExecutor$1.execute(EventExecutor.java:44) ~[patched_1.11.2.jar:git-Paper-1011]
  35.         ... 27 more
  36. [11:00:19 ERROR]: Could not pass event PlayerInteractEvent to SignCrowdController v2.0.3-PUBLICobf
  37. org.bukkit.event.EventException
  38.         at org.bukkit.plugin.EventExecutor$1.execute(EventExecutor.java:46) ~[patched_1.11.2.jar:git-Paper-1011]
  39.         at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:78) ~[patched_1.11.2.jar:git-Paper-1011]
  40.         at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[patched_1.11.2.jar:git-Paper-1011]
  41.         at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:517) [patched_1.11.2.jar:git-Paper-1011]
  42.         at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:502) [patched_1.11.2.jar:git-Paper-1011]
  43.         at org.bukkit.craftbukkit.v1_11_R1.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:233) [patched_1.11.2.jar:git-Paper-1011]
  44.         at net.minecraft.server.v1_11_R1.PlayerInteractManager.a(PlayerInteractManager.java:444) [patched_1.11.2.jar:git-Paper-1011]
  45.         at net.minecraft.server.v1_11_R1.PlayerConnection.a(PlayerConnection.java:907) [patched_1.11.2.jar:git-Paper-1011]
  46.         at net.minecraft.server.v1_11_R1.PacketPlayInUseItem.a(PacketPlayInUseItem.java:37) [patched_1.11.2.jar:git-Paper-1011]
  47.         at net.minecraft.server.v1_11_R1.PacketPlayInUseItem.a(PacketPlayInUseItem.java:5) [patched_1.11.2.jar:git-Paper-1011]
  48.         at net.minecraft.server.v1_11_R1.PlayerConnectionUtils$1.run(SourceFile:13) [patched_1.11.2.jar:git-Paper-1011]
  49.         at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_181]
  50.         at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_181]
  51.         at net.minecraft.server.v1_11_R1.SystemUtils.a(SourceFile:46) [patched_1.11.2.jar:git-Paper-1011]
  52.         at net.minecraft.server.v1_11_R1.MinecraftServer.D(MinecraftServer.java:821) [patched_1.11.2.jar:git-Paper-1011]
  53.         at net.minecraft.server.v1_11_R1.DedicatedServer.D(DedicatedServer.java:403) [patched_1.11.2.jar:git-Paper-1011]
  54.         at net.minecraft.server.v1_11_R1.MinecraftServer.C(MinecraftServer.java:749) [patched_1.11.2.jar:git-Paper-1011]
  55.         at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:648) [patched_1.11.2.jar:git-Paper-1011]
  56.         at java.lang.Thread.run(Unknown Source) [?:1.8.0_181]
  57. Caused by: java.lang.NullPointerException
  58.         at org.bukkit.craftbukkit.v1_11_R1.entity.CraftPlayer.teleport(CraftPlayer.java:585) ~[patched_1.11.2.jar:git-Paper-1011]
  59.         at org.bukkit.craftbukkit.v1_11_R1.entity.CraftEntity.teleport(CraftEntity.java:254) ~[patched_1.11.2.jar:git-Paper-1011]
  60.         at net.berry64.mccity.mod.SCL.SCL.onSignClick(Unknown Source) ~[?:?]
  61.         at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor39.execute(Unknown Source) ~[?:?]
  62.         at org.bukkit.plugin.EventExecutor$1.execute(EventExecutor.java:44) ~[patched_1.11.2.jar:git-Paper-1011]
  63.         ... 18 more
复制代码



大琪琪
推荐弄领地的,两个一起