function Huna_OnTalk(MapID, InstanceID, TargetID, TargetTypeID, RoleID, TalkIndex) if TalkIndex == -1 then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 20, 950880) msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 21, 4) msg.AddMsgEvent(MsgID, 1, 950881) msg.AddMsgEvent(MsgID, 21, 9) msg.AddMsgEvent(MsgID, 1, 100002) msg.DispatchRoleMsgEvent(RoleID, MsgID) elseif TalkIndex == 4 then local level = role.GetRoleLevel(MapID, InstanceID, RoleID) local TeamID = role.IsRoleHaveTeam(MapID, InstanceID, RoleID) -- calendar day YYYYMMDD (not %j): clear reset at midnight, no year-day collisions local CurTime = tonumber(os.date("%Y%m%d")) local pikIdx = RoleDataType["pikotvajnih"] if pikIdx == nil then pikIdx = 172 end local UpdateTime = tonumber(role.GetRoleScriptData(RoleID, 1, pikIdx)) or 0 if level < 80 then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 20, 950884) msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 21, 9) msg.AddMsgEvent(MsgID, 1, 100002) msg.DispatchRoleMsgEvent(RoleID, MsgID) elseif TeamID ~= nil and TeamID ~= 4294967295 then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 20, 950883) msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 21, 9) msg.AddMsgEvent(MsgID, 1, 100002) msg.DispatchRoleMsgEvent(RoleID, MsgID) elseif CurTime == UpdateTime then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 20, 950882) msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 21, 9) msg.AddMsgEvent(MsgID, 1, 100002) msg.DispatchRoleMsgEvent(RoleID, MsgID) else map.CreateInstance(3772027712, RoleID) role.RoleGotoNewMap(MapID, InstanceID, RoleID, 3772027712, 448, 4215, 448) -- lock on enter (once per calendar day, server time) role.SetRoleScriptData(RoleID, 1, pikIdx, CurTime) end end end aux.RegisterCreatureEvent(1100296, 7, "Huna_OnTalk")