Hook.lua 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. -- 涉及到的相关属性在属性表配置
  2. Hook = {}
  3. local this = Hook;
  4. function Hook.onLoginEnd(actor)
  5. -- setplaydef(actor, "T$" .. "HOOK_STATUS", 0)
  6. -- setplaydef(actor, "T$" .. "HOOK_PICK_ITEMS", {})
  7. -- -- 可能断线重连了..
  8. -- sendluamsg(actor, LuaMessageIdToSever.HookPickUpdate)
  9. end
  10. function Hook.onLogout(actor)
  11. -- setplaydef(actor, "T$" .. "HOOK_STATUS", 0)
  12. -- setplaydef(actor, "T$" .. "HOOK_PICK_ITEMS", {})
  13. end
  14. function Hook.hookUpdateStatus(actor, msgData)
  15. if actor == nil or actor:toString() == "0" then
  16. return
  17. end
  18. setplaydef(actor, "T$" .. "HOOK_STATUS", msgData.status)
  19. end
  20. function Hook.pickUpItem(actor, items)
  21. if actor == nil or actor:toString() == "0" then
  22. return
  23. end
  24. local status = getplaydef(actor, "T$" .. "HOOK_STATUS") or 0
  25. if status ~= 1 then
  26. return nil
  27. end
  28. local pickItems = getplaydef(actor, "T$" .. "HOOK_PICK_ITEMS") or {}
  29. local datas = {}
  30. local isSave = false
  31. for _, v in pairs(items) do
  32. if pickItems[v.objectid] ~= nil then
  33. datas[v.id] = {
  34. allow = true
  35. }
  36. pickItems[v.objectid] = nil
  37. isSave = true
  38. else
  39. datas[v.id] = {
  40. allow = false
  41. }
  42. end
  43. end
  44. if isSave then
  45. setplaydef(actor, "T$" .. "HOOK_PICK_ITEMS", pickItems)
  46. end
  47. return datas
  48. end
  49. function Hook.pickItem(actor, msgData)
  50. local pickItems = getplaydef(actor, "T$" .. "HOOK_PICK_ITEMS") or {}
  51. pickItems[msgData.itemId] = 1
  52. setplaydef(actor, "T$" .. "HOOK_PICK_ITEMS", pickItems)
  53. pickuprounditem(actor, msgData.itemId, 3)
  54. end