搜索
查看: 71|回复: 5

[已处理] 能否对actor对象新增几个方法

 关闭 [复制链接]
发表于 前天 15:56 | 显示全部楼层 |阅读模式
建议反馈
建议描述: actor:getActiveBuffs() --获取当前对象所有生效buff
actor:getBuffCD(buffId) --获取当前对象指定的BUFF 是否在CD中 返回 剩余CD时长。
实现具体思路: actor:getActiveBuffs() --获取当前对象所有生效buff
actor:getBuffCD(buffId) --获取当前对象指定的BUFF 是否在CD中 返回 剩余CD时长。
联系QQ: 隐藏内容
buff 进入CD  没有状态校验。。


补充内容 (2025-8-18 19:57):
actor:getBuffEx
功能:获取生效buff的属性(att1-10)属性  动态自定义属性
发表于 昨天 22:22 | 显示全部楼层
actor:getActiveBuffs() --获取当前对象所有生效buff

是想返回对像的所有BUFF 编号?
 楼主| 发表于 昨天 23:20 | 显示全部楼层
1580 发表于 2025-8-19 22:22
actor:getActiveBuffs() --获取当前对象所有生效buff

是想返回对像的所有BUFF 编号? ...

是的。返回所有生效的ID即可
发表于 9 小时前 | 显示全部楼层
actor:getBuffCD(buffId) --获取当前对象指定的BUFF 是否在CD中 返回 剩余CD时长。

--------------------------
你这需求是不是想实现像常规脚本的CheckBuffCd 命令功能??

功能:检查指定Buff的CD间隔
格式:CheckBuffCd Buff编号 HERO
注意:查找不到或CD时间到时返回T;存在BUFF状态或CD时间未到时返回F
发表于 7 小时前 | 显示全部楼层
下版将支持以下三个方法:

  local obj_tbl = actor:getAllBuffs()--获取所有Buff编号
  if obj_tbl ~= nil then--列表存在       
    for k, v in pairs(obj_tbl) do
      print("序号:"..tostring(k).."  Buff编号:"..tostring(v))
    end
  end


  if actor:checkBuffCd(9) == 1 then--检查指定Buff的CD间隔
    print("9编号BUFF:查找不到或CD时间到时")       
  else   
    print("9编号BUFF:存在BUFF状态或CD时间未到")
  end


  local attrs_tbl = actor:getBuffEx(9)--获取指定BUFF的属性(att编号[AttId],属性点[Value])
  if attrs_tbl ~= nil then--属性列表存在
     for i, attr in ipairs(attrs_tbl) do--attr表结构(AttId=x,Value=y)
       print("属性序号:"..tostring(i)..' att编号:'..tostring(attr.AttId)..' 属性点:'..tostring(attr.Value))
     end
  end
 楼主| 发表于 5 小时前 | 显示全部楼层
1580 发表于 2025-8-20 11:29
下版将支持以下三个方法:

  local obj_tbl = actor:getAllBuffs()--获取所有Buff编号

对的 这样就可以啦。啥时候发布下个版本
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|HGEM2论坛

GMT+8, 2025-8-20 19:21 , Processed in 0.456478 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表