维嘉WKEA
本帖最后由 维嘉WKEA 于 2023-1-23 01:08 编辑

AttributePlus怎么在里面添加自己的自定义属性  我尝试在配置文件里添加 但是没有效果

我想添加 自定义攻击 和自定义防御
如果可以 请帮我写一个示例 wiki有点看不懂


夜雨晨风丶
请参考wiki提供的案例。js放在script文件夹里

维嘉WKEA
夜雨晨风丶 发表于 2023-1-22 17:43
请参考wiki提供的案例。js放在script文件夹里

如果可以 请帮我写一个示例 wiki有点看不懂,悬赏已提升至100金粒

夜雨晨风丶
  1. var priority = 666
  2. var combatPower = 5.0
  3. var attributeName = "自定义攻击"
  4. var attributeType = "ATTACK"
  5. var placeholder = "zdygj"

  6. function onLoad() {
  7.     Utils.registerOtherAttribute("自定义防御", 1.0, "zdyfy")
  8.     return Attr
  9. }

  10. function runAttack(attacker, entity) {
  11.         var a = Attr.getRandomValue(attacker, "自定义攻击")
  12.         var b = Attr.getRandomValue(entity, "自定义防御")
  13.         var c = a-b
  14.         if(c>0) {
  15.                 Attr.addDamage(attacker, c.toFixed(2))
  16.                 attacker.sendMessage("造成"+c.toFixed(2)+"点自定义伤害")
  17.                 entity.sendMessage("受到"+c.toFixed(2)+"点自定义伤害")
  18.         }
  19.     return false
  20. }
复制代码



华离
2.0版本需使用AE
在3.0以上版本使用插件主体提供的js编写
js文件需放入script文件夹

详解:
属性分为RUNTIME,ATTACK,UPDATE
分别为按刻执行,攻击时执行,提升属性
而对象则为attacker,entity,分别是本次事件的发起者和承受者
现在来介绍下实际编写的内容
  1. var priority = 13
  2. var combatPower = 5.0
  3. var attributeName = "溟灭几率"
  4. var attributeType = "ATTACK"
  5. 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

希望采纳 祝你新年快乐


维嘉WKEA

防御属性需要怎么写