本帖最后由 维嘉WKEA 于 2023-1-23 01:08 编辑 
AttributePlus怎么在里面添加自己的自定义属性 我尝试在配置文件里添加 但是没有效果
我想添加 自定义攻击 和自定义防御
如果可以 请帮我写一个示例 wiki有点看不懂
AttributePlus怎么在里面添加自己的自定义属性 我尝试在配置文件里添加 但是没有效果
我想添加 自定义攻击 和自定义防御
如果可以 请帮我写一个示例 wiki有点看不懂
请参考wiki提供的案例。js放在script文件夹里
夜雨晨风丶 发表于 2023-1-22 17:43
请参考wiki提供的案例。js放在script文件夹里
如果可以 请帮我写一个示例 wiki有点看不懂,悬赏已提升至100金粒
- var priority = 666
 
- var combatPower = 5.0
 
- var attributeName = "自定义攻击"
 
- var attributeType = "ATTACK"
 
- var placeholder = "zdygj"
 
 
- function onLoad() {
 
-     Utils.registerOtherAttribute("自定义防御", 1.0, "zdyfy")
 
-     return Attr
 
- }
 
 
- function runAttack(attacker, entity) {
 
-         var a = Attr.getRandomValue(attacker, "自定义攻击")
 
-         var b = Attr.getRandomValue(entity, "自定义防御") 
 
-         var c = a-b
 
-         if(c>0) {
 
-                 Attr.addDamage(attacker, c.toFixed(2))
 
-                 attacker.sendMessage("造成"+c.toFixed(2)+"点自定义伤害")
 
-                 entity.sendMessage("受到"+c.toFixed(2)+"点自定义伤害")
 
-         }
 
-     return false
 
- }
2.0版本需使用AE
在3.0以上版本使用插件主体提供的js编写
js文件需放入script文件夹
详解:
属性分为RUNTIME,ATTACK,UPDATE
分别为按刻执行,攻击时执行,提升属性
而对象则为attacker,entity,分别是本次事件的发起者和承受者
现在来介绍下实际编写的内容
复制代码
这几个就是基础的参数,顾名思义。placeholder则为在placeholderapi中注册的api
function onLoad()就是当属性加载时执行的方法,在重启服务器时执行
多用于注册其他属性,这个方法必须返还 Attr 这个值("renturn Attr")
下一个方法则为 run(entity)(UPDATE,RUNTIME) runAttack(ATTACK)
这个方法内的语法就按js即可
然后介绍下几个方法:
Attr.getRandomValue(attacker/entity,"参数名") 获得一个参数
Attr.chance(value) 判断一个值 按照概率产生结果 T/F
Utils.registerOtherAttribute("属性名", 1.0, "对应papi的api") 注册属性
Attr.setMessages()发送消息 ()内使用Arrays.asList方法,将参数转换为list
js基础语法 https://www.runoob.com/js/js-tutorial.html
可以参考的脚本(站内): https://www.mcbbs.net/thread-1390701-1-1.html
希望采纳 祝你新年快乐
在3.0以上版本使用插件主体提供的js编写
js文件需放入script文件夹
详解:
属性分为RUNTIME,ATTACK,UPDATE
分别为按刻执行,攻击时执行,提升属性
而对象则为attacker,entity,分别是本次事件的发起者和承受者
现在来介绍下实际编写的内容
- var priority = 13
 
- var combatPower = 5.0
 
- var attributeName = "溟灭几率"
 
- var attributeType = "ATTACK"
 
- var placeholder = "testAttribute"
这几个就是基础的参数,顾名思义。placeholder则为在placeholderapi中注册的api
function onLoad()就是当属性加载时执行的方法,在重启服务器时执行
多用于注册其他属性,这个方法必须返还 Attr 这个值("renturn Attr")
下一个方法则为 run(entity)(UPDATE,RUNTIME) runAttack(ATTACK)
这个方法内的语法就按js即可
然后介绍下几个方法:
Attr.getRandomValue(attacker/entity,"参数名") 获得一个参数
Attr.chance(value) 判断一个值 按照概率产生结果 T/F
Utils.registerOtherAttribute("属性名", 1.0, "对应papi的api") 注册属性
Attr.setMessages()发送消息 ()内使用Arrays.asList方法,将参数转换为list
js基础语法 https://www.runoob.com/js/js-tutorial.html
可以参考的脚本(站内): https://www.mcbbs.net/thread-1390701-1-1.html
希望采纳 祝你新年快乐
防御属性需要怎么写