Lonewolfi
本帖最后由 Lonewolfi 于 2021-8-22 23:35 编辑

AP3.x-JS属性-攻击速度与攻击间隔

#属性介绍
攻击速度: %ap_custom_attack_speed%

AP触发更新属性事件时,会改变玩家默认的攻击速度(若没有该词条,则保持默认攻速)

会直接加快攻击蓄力的速度,而不是AP2.x的那种攻击间隔!

攻击间隔属性 , 请往下滑

攻击速度的计算方式(例):

蓄力时间 = (1 / 攻击速度) 秒
攻击速度: 1 (蓄力满需要1秒  1条/秒)
攻击速度: 2 (蓄力满需要0.5秒  2条/秒)
攻击速度: 3 (蓄力满需要0.333...秒  3条/秒)

攻击间隔: %ap_custom_attack_time%

普攻后 , 在一段时间内无法再次造成伤害,应该会不兼容其它插件伤害(猜测)


攻击速度的计算方式(例):

攻击间隔: 2 (造成伤害后,2秒内无法再造成伤害)



#JS脚本使用方法
攻击速度

1.在plugins\AttributePlus\script.yml中添加

"Attribute": "org.bukkit.attribute.Attribute"

2.将"攻击速度.js"放入plugins\AttributePlus\script文件夹

3.重启服务器(必须重启,"/ap reload" script.yml不会重载)

攻击间隔

1.在plugins\AttributePlus\script.yml中添加

  "HoloAPI": "com.gmail.filoghost.holograms.api.HolographicDisplaysAPI"
  "HumanEntity": "org.bukkit.entity.HumanEntity"
  "Material": "org.bukkit.Material"
  "Timer": "java.util.Timer"
  "Math": "java.lang.Math"

2.将"攻击间隔.js"放入plugins\AttributePlus\script文件夹

3.attribute.yml中hologramMessage: true改为false
(需要关闭ap自带的全息显示,攻击间隔JS脚本内带有全息)
(JS脚本的全息代码可以手动删除)


4.重启服务器(必须重启,"/ap reload" script.yml不会重载)



#下载
攻击速度.zip (535 Bytes, 下载次数: 307)
攻击间隔.zip (1.35 KB, 下载次数: 270)


(小白一枚,不会写东西(代码),看到楠木群有些人问有没有3.x的攻速,就随便尝试写了一下)
感谢:
贺兰兰 (MCBBS)
磨砺 (MCBBS)(排版来源)



#更新
2021年8月18日 UPDATE异步会导致报错,已修改(把Attr.setAsync设置为false)



#效果图









矢量工作室
额,需要的是攻击CD内无法攻击的类型,这个加减蓄力好像使用范围不大?

Lonewolfi
矢量工作室 发表于 2021-8-21 22:58
额,需要的是攻击CD内无法攻击的类型,这个加减蓄力好像使用范围不大?

那个只用AP的JS应该没办法"完美"做到 在JS里面好像只能设置不计算本次伤害 但是AP的全息还是会显示造成0伤害

矢量工作室
Lonewolfi 发表于 2021-8-22 02:23
那个只用AP的JS应该没办法"完美"做到 在JS里面好像只能设置不计算本次伤害 但是AP的全息还是会显示造成0 ...

这样也不错了,比没有好

Lonewolfi
矢量工作室 发表于 2021-8-22 17:31
这样也不错了,比没有好

那我简单写一个发上来吧,用bukkit自带的物品冷却
不过需要关闭ap自带的全息显示,我会在js里面添加一个全息显示(可以自己选择删除我写的全息)

Lonewolfi
矢量工作室 发表于 2021-8-22 17:31
这样也不错了,比没有好

好了 可能会不兼容其他插件的伤害,例如玩家使用MM插件造成伤害
skillapi伤害在帖子内有方法兼容,添加两行代码就好了

矢量工作室
Lonewolfi 发表于 2021-8-22 23:24
好了 可能会不兼容其他插件的伤害,例如玩家使用MM插件造成伤害
skillapi伤害在帖子内有方法兼容, ...

这样这两个是配合使用的么,
还是只需要添加攻击间隔Lore来修改.
另外攻击间隔可以使用百分比修改么

Lonewolfi
矢量工作室 发表于 2021-8-22 23:46
这样这两个是配合使用的么,
还是只需要添加攻击间隔Lore来修改.
另外攻击间隔可以使用百分比修改么 ...

并不是配合使用,是单独的
比如攻击间隔: 1 造成伤害后1秒内 无法再造成伤害

如果添加百分比的话 最终攻击间隔算法应该是
最终攻击间隔 = 攻击间隔 * (1 + 攻击间隔百分比)

我没有测试过使用百分比增加,可以试试 应该可以

Lonewolfi
矢量工作室 发表于 2021-8-22 17:31
这样也不错了,比没有好

我没有用过2.X的攻击间隔 如果写的不对 可以说一下 我修改一下

矢量工作室
Lonewolfi 发表于 2021-8-23 00:16
并不是配合使用,是单独的
比如攻击间隔: 1 造成伤害后1秒内 无法再造成伤害

初始攻击间隔会根据原版武器的类型而改变么,比如铲子,斧头

Lonewolfi
矢量工作室 发表于 2021-8-23 00:46
初始攻击间隔会根据原版武器的类型而改变么,比如铲子,斧头

emmm 我没有设置默认攻击间隔
如果没有攻击间隔词条 就是没有攻击间隔

3462464344
感谢大佬热情制作分享

871980112
感谢大佬的制作

123783615
剛好有用 謝了大老

corny
确实牛,现在我可以开一个超级厉害的多远服务器;额

Spark_nano
66666666666666666

华离
感谢楼主的分享

000214075
MCBBS有你更精彩~

000214075
神乎其技!6的飞起!

982842216
MCBBS有你更精彩了属于是,一直在找怎么完美搞定1.9+的攻速问题,谢谢大佬

1614436934
版主你好请问ap有可以改变实体受伤间隔的办法吗?攻击间隔短但是实体会有十帧左右的无敌时间

飛飛飛飛
MCBBS有你更精彩~

Diamondstars
感谢大佬的制作

sun7738549
太好了这个东西解决了我问题

1507788278
大佬1.16.5的攻击间隔怎么写

华离
在1.16.5中攻击间隔已经失效了
因为org.bukkit.Material已经过时

ZzhangaAo1z_
请问能不能把攻击速度改成,攻击速度=原版攻击速度*(1+攻击速度属性%)

Insulator
冲着这个攻击间隔!我给你顶了一楼帖子