-- do -- local ok = pcall(require, "NPC.magda.magda_sql") -- if not ok or type(_G.Magda_getinfo) ~= "function" then -- pcall(dofile, "server_data/script/NPC/magda/magda_sql.lua") -- end -- if type(_G.Magda_getinfo) ~= "function" then -- pcall(dofile, "../server_data/script/NPC/magda/magda_sql.lua") -- end -- assert(type(_G.Magda_getinfo) == "function", "magda_sql.lua not loaded") -- end -- function MagdaRating_Timer(actID) -- local curmon = tonumber(os.date("%m")) -- local curday = tonumber(os.date("%d")) -- local curyear = tonumber(os.date("%Y")) -- local curhour = tonumber(os.date("%H")) -- local curmin = tonumber(os.date("%M")) -- local day = os.date("%A") -- if day == "Sunday" and (curhour == 23 and curmin == 59) then -- local rating_count, RoleID_rating, RoleID_point, _,_ = Magda_getinfo(0,0,0) -- local rating_count = tonumber(rating_count) -- clear_Magda_reiting2() -- for k = 1, rating_count do -- MagdaUpdate(RoleID_rating[k], RoleID_point[k]) -- end -- clear_Magda_reiting() -- end -- end -- aux.RegisterActEvent(1149, 4, "MagdaRating_Timer") -- function n9010215_OnTalk(MapID, InstanceID, TargetID, TargetTypeID, RoleID, TalkIndex) -- local MsgID = msg.BeginMsgEvent() -- local curmon = tonumber(os.date("%m")) -- local curday = tonumber(os.date("%d")) -- local curyear = tonumber(os.date("%Y")) -- local curhour = tonumber(os.date("%H")) -- local curmin = tonumber(os.date("%M")) -- local day = os.date("%A") -- local _, _, _, my_rating_point, _ = Magda_getinfo(RoleID, 0, 0) -- if day == "Sunday" and (curhour == 23 and (curmin == 58 or curmin == 59) ) then -- local MsgID = msg.BeginMsgEvent() -- msg.AddMsgEvent(MsgID, 20, 930425) -- msg.AddMsgEvent(MsgID, 24, TargetID) --npcid -- msg.AddMsgEvent(MsgID, 21, -1) -- msg.AddMsgEvent(MsgID, 1, 100001) -- -- msg.DispatchRoleMsgEvent(RoleID, MsgID) -- return 0 -- end -- if TalkIndex == -1 then -- local MsgID = msg.BeginMsgEvent() -- msg.AddMsgEvent(MsgID, 20, 930401) -- msg.AddMsgEvent(MsgID, 24, TargetID) --npcid -- --- �����10 ( ���֧ۧ�ѧ�) -- --[[ msg.AddMsgEvent(MsgID, 21, 5) -- msg.AddMsgEvent(MsgID, 1, 940147) --]] -- msg.AddMsgEvent(MsgID, 21, 55) -- msg.AddMsgEvent(MsgID, 1, 930402) -- ���֧ۧ�ڧߧ� �����ݧ�� �ߧ֧է֧ݧ� -- msg.AddMsgEvent(MsgID, 21, 56) -- msg.AddMsgEvent(MsgID, 1, 930403) -- ���٧ߧѧ�� ��ӧ�� ��֧ۧ�ڧߧ� -- msg.AddMsgEvent(MsgID, 21, 4) -- msg.AddMsgEvent(MsgID, 1, 930419) -- msg.AddMsgEvent(MsgID, 21, 6) -- msg.AddMsgEvent(MsgID, 1, 930421) -- msg.AddMsgEvent(MsgID, 21, 51) -- �� �ߧѧԧ�ѧէѧ� -- msg.AddMsgEvent(MsgID, 1, 930423) -- ID MSG �� �ߧѧԧ�ѧէѧ� -- msg.DispatchRoleMsgEvent(RoleID, MsgID) -- elseif TalkIndex == 51 then -- local MsgID = msg.BeginMsgEvent() -- msg.AddMsgEvent(MsgID, 20, 930424) -- msg.AddMsgEvent(MsgID, 24, TargetID) --npcid -- msg.AddMsgEvent(MsgID, 21, -1) -- msg.AddMsgEvent(MsgID, 1, 100001) -- ����ާ֧ߧ� -- msg.DispatchRoleMsgEvent(RoleID, MsgID) -- elseif TalkIndex == 56 then -- local MsgID = msg.BeginMsgEvent() -- if tonumber(my_rating_point) >= 1 then -- msg.AddMsgEvent(MsgID, 20, 930418) -- msg.AddMsgEvent(MsgID, 24, TargetID) --npcid -- msg.AddMsgEvent(MsgID, 9, tonumber(my_rating_point)) -- else -- msg.AddMsgEvent(MsgID, 20, 930405) -- msg.AddMsgEvent(MsgID, 24, TargetID) --npcid -- end -- msg.AddMsgEvent(MsgID, 21, -1) -- msg.AddMsgEvent(MsgID, 1, 100001) -- ����ާ֧ߧ� -- msg.DispatchRoleMsgEvent(RoleID, MsgID) -- elseif TalkIndex == 55 then -- local rating_count2, RoleID_rating2, RoleID_point2, my_rating_point2, gift_flag2 = Magda_getinfo2(RoleID,0,0) -- local countReit = MagdaGetCountReiting(RoleID) -- if countReit < 1 then -- msg.AddMsgEvent(MsgID, 20, 930406) -- <p1> - <p2>\n<p3> - <p4>\n<p5> - <p6>\n<p7> - <p8>\n<p9> - <p10>\n<p11> - <p12>\n<p13> - <p14>\n<p15> - <p16>\n<p17> - <p18>\n<p19> - <p20> -- msg.AddMsgEvent(MsgID, 24, TargetID) --npcid -- else -- msg.AddMsgEvent(MsgID, 20, 930406+countReit) -- <p1> - <p2>\n<p3> - <p4>\n<p5> - <p6>\n<p7> - <p8>\n<p9> - <p10>\n<p11> - <p12>\n<p13> - <p14>\n<p15> - <p16>\n<p17> - <p18>\n<p19> - <p20> -- msg.AddMsgEvent(MsgID, 24, TargetID) --npcid -- for i = 1, countReit do -- msg.AddMsgEvent(MsgID, 2, tonumber(RoleID_rating2[i])) -- msg.AddMsgEvent(MsgID, 9, tonumber(RoleID_point2[i])) -- end -- end -- msg.AddMsgEvent(MsgID, 21, -1) -- msg.AddMsgEvent(MsgID, 1, 100001) -- OK -- msg.DispatchRoleMsgEvent(RoleID, MsgID) -- elseif TalkIndex == 4 then -- if day == "Sunday" and curhour == 23 and curmin == 59 then -- local MsgID = msg.BeginMsgEvent() -- msg.AddMsgEvent(MsgID, 20, 930425) -- msg.AddMsgEvent(MsgID, 24, TargetID) --npcid -- msg.AddMsgEvent(MsgID, 21, -1) -- msg.AddMsgEvent(MsgID, 1, 100001) -- -- msg.DispatchRoleMsgEvent(RoleID, MsgID) --������Ϣ -- else -- local a = role.GetRoleItemNum(RoleID, 4080067) -- if a > 0 then -- role.RemoveFromRole(MapID, InstanceID, RoleID, 4080067, 1, 420) -- Magda_getinfo(RoleID,1,1) --- ���ѧ�ڧ�� ��ѧߧ�ڧܧ�� -- local _, _, _, my_after, _ = Magda_getinfo(RoleID, 0, 0) -- local MsgID = msg.BeginMsgEvent() -- msg.AddMsgEvent(MsgID, 20, 930418) -- msg.AddMsgEvent(MsgID, 24, TargetID) --npcid -- msg.AddMsgEvent(MsgID, 9, tonumber(my_after) or (tonumber(my_rating_point) + 1)) -- msg.AddMsgEvent(MsgID, 21, -1) -- msg.AddMsgEvent(MsgID, 1, 100001) --����ާ֧ߧ� -- msg.DispatchRoleMsgEvent(RoleID, MsgID) -- else -- local MsgID = msg.BeginMsgEvent() -- msg.AddMsgEvent(MsgID, 20, 930420) -- msg.AddMsgEvent(MsgID, 24, TargetID) --npcid -- msg.AddMsgEvent(MsgID, 21, -1) -- msg.AddMsgEvent(MsgID, 1, 100001) --����ާ֧ߧ� -- msg.DispatchRoleMsgEvent(RoleID, MsgID) -- end -- end -- --- ����� -- elseif TalkIndex == 5 then -- local rating_count, RoleID_rating, RoleID_point, _,_ = Magda_getinfo(RoleID,0,0) -- local countReit = MagdaGetCountReiting2(RoleID) -- local rating_count = tonumber(rating_count) -- if countReit < 1 then -- msg.AddMsgEvent(MsgID, 20, 930406) -- <p1> - <p2>\n<p3> - <p4>\n<p5> - <p6>\n<p7> - <p8>\n<p9> - <p10>\n<p11> - <p12>\n<p13> - <p14>\n<p15> - <p16>\n<p17> - <p18>\n<p19> - <p20> -- msg.AddMsgEvent(MsgID, 24, TargetID) --npcid -- else -- msg.AddMsgEvent(MsgID, 20, 930406+countReit) -- <p1> - <p2>\n<p3> - <p4>\n<p5> - <p6>\n<p7> - <p8>\n<p9> - <p10>\n<p11> - <p12>\n<p13> - <p14>\n<p15> - <p16>\n<p17> - <p18>\n<p19> - <p20> -- msg.AddMsgEvent(MsgID, 24, TargetID) --npcid -- for i = 1, countReit do -- msg.AddMsgEvent(MsgID, 2, tonumber(RoleID_rating[i])) -- msg.AddMsgEvent(MsgID, 9, tonumber(RoleID_point[i])) -- end -- end -- msg.AddMsgEvent(MsgID, 21, -1) -- msg.AddMsgEvent(MsgID, 1, 100001) -- OK -- msg.DispatchRoleMsgEvent(RoleID, MsgID) -- --- ���ѧԧ�ѧէ� -- elseif TalkIndex == 6 then -- local Rank = 0 -- local index = 0 -- local rating_count, RoleID_rating, _, _,gift_flag = Magda_getinfo2(RoleID,0,0) -- if tonumber(rating_count) == 0 then -- Rank = 0 -- elseif tonumber(rating_count) >0 then -- for d=1,tonumber(rating_count) do -- if tonumber(RoleID_rating[d]) == RoleID then -- Rank = d -- break -- else -- Rank = 0 -- end -- end -- end -- if Rank==0 then -- msg.AddMsgEvent(MsgID, 20, 930422) -- ���� �ߧ� �ӧ��ݧ� �� �է֧���ܧ� �ݧ���ڧ�, �ߧڧ�֧ԧ� �ߧ� ���ݧ��ڧ��. -- msg.AddMsgEvent(MsgID, 24, TargetID) --npcid -- else -- if tonumber(gift_flag) == 1 then -- msg.AddMsgEvent(MsgID, 20, 930427) -- ���� ��ا� ���ݧ��ڧݧ� ��ӧ�� �ߧѧԧ�ѧէ�. -- msg.AddMsgEvent(MsgID, 24, TargetID) --npcid -- else -- if role.GetBagFreeSize(RoleID) < 2 then -- msg.AddMsgEvent(MsgID, 20, 950167) -- ����ӧ�ҧ�էڧ�� ��ӧ�� ���ܧ٧ѧ�. �� �ӧѧ� �ߧ� ��ӧѧ�ѧ֧� �ާ֧��� �էݧ� �ߧѧԧ�ѧէ�. -- msg.AddMsgEvent(MsgID, 24, TargetID) --npcid -- else -- if Rank == 1 then -- -- 1 место: премиум 7 дней, руна стража 25 перс (3 шт.), руна битвы 1 дн., коробка с нарядом, сияющая золотая пыльца 20 шт. -- role.AddRoleItem(MapID, InstanceID, RoleID, 4300008, 1, 6, 8, 420) -- премиум 7 дней -- role.AddRoleItem(MapID, InstanceID, RoleID, 3020137, 3, 6, 8, 420) -- руна стража 25 перс -- role.AddRoleItem(MapID, InstanceID, RoleID, 3070013, 1, 6, 8, 420) -- руна битвы 1дн -- role.AddRoleItem(MapID, InstanceID, RoleID, 4530138, 1, 6, 8, 420) -- коробка с нарядом -- role.AddRoleItem(MapID, InstanceID, RoleID, 4810154, 20, 6, 8, 420) -- сияющая золотая пыльца -- Magda_getinfo2(RoleID,0,2) -- elseif Rank == 2 then -- -- 2 место: премиум 7 дней, руна стража 25 перс (2 шт.), руна битвы 1 дн., сияющая золотая пыльца 15 шт. -- role.AddRoleItem(MapID, InstanceID, RoleID, 4300008, 1, 6, 8, 420) -- премиум 7 дней -- role.AddRoleItem(MapID, InstanceID, RoleID, 3020137, 2, 6, 8, 420) -- руна стража 25 перс -- role.AddRoleItem(MapID, InstanceID, RoleID, 3070013, 1, 6, 8, 420) -- руна битвы 1дн -- role.AddRoleItem(MapID, InstanceID, RoleID, 4810154, 15, 6, 8, 420) -- сияющая золотая пыльца -- Magda_getinfo2(RoleID,0,2) -- elseif Rank == 3 then -- -- 3 место: серебряный VIP 7 дней, руна стража 21 перс (3 шт.), руна битвы 12 ч., сияющая золотая пыльца 15 шт. -- role.AddRoleItem(MapID, InstanceID, RoleID, 4300006, 1, 6, 8, 420) -- серебрянный вип 7дн -- role.AddRoleItem(MapID, InstanceID, RoleID, 3070067, 3, 6, 8, 420) -- руна стража 21 перс -- role.AddRoleItem(MapID, InstanceID, RoleID, 3070012, 1, 6, 8, 420) -- руна битвы 12ч -- role.AddRoleItem(MapID, InstanceID, RoleID, 4810154, 15, 6, 8, 420) -- сияющая золотая пыльца -- Magda_getinfo2(RoleID,0,2) -- elseif Rank >= 4 and Rank <= 6 then -- -- 4-6 место: руна стража 21 перс, руна битвы 6 ч., сияющая золотая пыльца 5 шт. -- role.AddRoleItem(MapID, InstanceID, RoleID, 3070067, 1, 6, 8, 420) -- руна стража 21 перс -- role.AddRoleItem(MapID, InstanceID, RoleID, 3070011, 1, 6, 8, 420) -- руна битвы 6ч -- role.AddRoleItem(MapID, InstanceID, RoleID, 4810154, 5, 6, 8, 420) -- сияющая золотая пыльца -- Magda_getinfo2(RoleID,0,2) -- elseif Rank >= 7 and Rank <= 10 then -- -- 7-10 место: руна стража +16 перс (2 шт.), руна битвы 2 ч., сияющая золотая пыльца 3 шт. -- role.AddRoleItem(MapID, InstanceID, RoleID, 3020069, 2, 6, 8, 420) -- руна стража +16 перс -- role.AddRoleItem(MapID, InstanceID, RoleID, 3070010, 1, 6, 8, 420) -- руна битвы 2ч -- role.AddRoleItem(MapID, InstanceID, RoleID, 4810154, 3, 6, 8, 420) -- сияющая золотая пыльца -- Magda_getinfo2(RoleID,0,2) -- end -- end -- end -- end -- msg.AddMsgEvent(MsgID, 21, -1) -- msg.AddMsgEvent(MsgID, 1, 100001) -- ���� -- msg.DispatchRoleMsgEvent(RoleID, MsgID) -- end -- end -- aux.RegisterCreatureEvent(9010215, 7, "n9010215_OnTalk") -- function MagdaGetCountReiting(RoleID) -- local a = 0 -- local rating_count2, RoleID_rating2, RoleID_point2, my_rating_point2, gift_flag2 = Magda_getinfo2(RoleID, 0, 0) -- for i = 1, 10 do -- if RoleID_rating2[i] and tonumber(RoleID_rating2[i]) and tonumber(RoleID_rating2[i]) > 0 then -- a = a + 1 -- end -- end -- return a -- end -- function MagdaGetCountReiting2(RoleID) -- local a = 0 -- local rating_count2, RoleID_rating2, RoleID_point2, my_rating_point2, gift_flag2 = Magda_getinfo(RoleID, 0, 0) -- for i = 1, 10 do -- if RoleID_rating2[i] and tonumber(RoleID_rating2[i]) and tonumber(RoleID_rating2[i]) > 0 then -- a = a + 1 -- end -- end -- return a -- end -- function I4510158_GiftBag(MapID, InstanceID, TypeID, TargetID) -- role.AddRoleYuanBao(MapID, InstanceID, TargetID, 1000) -- 1000 монет (юаньбао) -- role.AddRoleItem(MapID, InstanceID, TargetID, 6015229, 1, -1, 8, 420) -- Серый волк [Р] (транспорт, постоянный) -- role.AddRoleItem(MapID, InstanceID, TargetID, 4212024, 1, -1, 8, 420) -- Панда Мо [Пост.] (питомец) -- role.AddRoleItem(MapID, InstanceID, TargetID, 5000059, 1, -1, 8, 420) -- Премиум [30 дн] -- role.AddRoleItem(MapID, InstanceID, TargetID, 3070113, 1, -1, 8, 420) -- Руна битвы [30 дн] -- role.AddRoleItem(MapID, InstanceID, TargetID, 4653801, 1, -1, 8, 420) -- Большая руна опыта [7 дн] -- role.AddRoleItem(MapID, InstanceID, TargetID, 4660301, 1, -1, 8, 420) -- Большая руна сокровищ [7 дн] -- role.AddRoleItem(MapID, InstanceID, TargetID, 4657301, 1, -1, 8, 420) -- Большая золотая руна [7 дн] -- role.AddRoleItem(MapID, InstanceID, TargetID, 4500002, 200, -1, 8, 420) -- Заказ ×200 -- end -- function I4510158_CanUseGiftBag(MapID, InstanceID, TypeID, TargetID) -- local bRet, bIgnore = 0, false -- local FreeSize = role.GetBagFreeSize(TargetID) -- if FreeSize < 8 then -- bRet = 40 -- end -- return bRet, bIgnore -- end -- aux.RegisterItemEvent(4510158, 1, "I4510158_GiftBag") -- aux.RegisterItemEvent(4510158, 0, "I4510158_CanUseGiftBag")