| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- -- 涉及到的相关属性在属性表配置
- Hook = {}
- local this = Hook;
- function Hook.onLoginEnd(actor)
- setplaydef(actor, "@" .. "HOOK_STATUS", 0)
- setplaydef(actor, "@" .. "HOOK_PICK_ITEMS", {})
- end
- function Hook.onLogout(actor)
- setplaydef(actor, "@" .. "HOOK_PICK_ITEMS", {})
- end
- function Hook.hookUpdateStatus(actor, msgData)
- if actor == nil or actor:toString() == "0" then
- return
- end
- setplaydef(actor, "@" .. "HOOK_STATUS", msgData.status)
- end
- function Hook.pickUpItem(actor, items)
- if actor == nil or actor:toString() == "0" then
- return
- end
-
- local status = getplaydef(actor, "@" .. "HOOK_STATUS") or 0
- if status ~= 1 then
- return nil
- end
- local pickItems = getplaydef(actor, "@" .. "HOOK_PICK_ITEMS") or {}
- local datas = {}
- local isSave = false
- for k, v in pairs(items) do
- if pickItems[v.objectid] ~= nil then
- datas[v.id] = {
- allow = true
- }
- pickItems[v.objectid] = nil
- isSave = true
- else
- datas[v.id] = {
- allow = false
- }
- end
- end
- if isSave then
- setplaydef(actor, "@" .. "HOOK_PICK_ITEMS", pickItems)
- end
- return datas
- end
- function Hook.pickItem(actor, msgData)
- local pickItems = getplaydef(actor, "@" .. "HOOK_PICK_ITEMS") or {}
- pickItems[msgData.itemId] = 1
- setplaydef(actor, "@" .. "HOOK_PICK_ITEMS", pickItems)
- pickuprounditem(actor, msgData.itemId, 3)
- end
|