EnterUnionDays.lua 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. local function __getEnterTime(actor)
  2. ---@type UnionData
  3. local union_data = getunioninfo(actor)
  4. if table.isEmpty(union_data) then
  5. return 0
  6. end
  7. local memberInfos = union_data.memberinfos
  8. if table.isEmpty(memberInfos) then
  9. return 0
  10. end
  11. local rid = tonumber(actor:toString())
  12. ---@type UnionMemberInfos
  13. local info = memberInfos[rid]
  14. if table.isEmpty(info) then
  15. return 0
  16. end
  17. local joinTime = tonumber(info.jointime)
  18. local now = tonumber(getbaseinfo('now'))
  19. return math.floor((now - joinTime) / 1000 / 60)
  20. end
  21. ConditionHandler:register(ConditionId.union["加入战盟分钟>"], "加入战盟分钟>", function(actor, param)
  22. local time = __getEnterTime(actor)
  23. return time > tonumber(param)
  24. end)
  25. ConditionHandler:register(ConditionId.union["加入战盟分钟>="], "加入战盟分钟>=", function(actor, param)
  26. local time = __getEnterTime(actor)
  27. return time >= tonumber(param)
  28. end)
  29. ConditionHandler:register(ConditionId.union["加入战盟分钟=="], "加入战盟分钟==", function(actor, param)
  30. local time = __getEnterTime(actor)
  31. return time == tonumber(param)
  32. end)
  33. ConditionHandler:register(ConditionId.union["加入战盟分钟<="], "加入战盟分钟<=", function(actor, param)
  34. local time = __getEnterTime(actor)
  35. return time <= tonumber(param)
  36. end)
  37. ConditionHandler:register(ConditionId.union["加入战盟分钟<"], "加入战盟分钟<", function(actor, param)
  38. local time = __getEnterTime(actor)
  39. return time < tonumber(param)
  40. end)
  41. ConditionHandler:register(ConditionId.union["加入战盟分钟~="], "加入战盟分钟~=", function(actor, param)
  42. local time = __getEnterTime(actor)
  43. return time ~= tonumber(param)
  44. end)