--- MspScript --- 0 - Monster creation check --- 1 - Hardness --- 2 - Helper sex --- 3 - EvilMagician1 --- 4 - EvilMagician2 --- 5 - EvilMagician3 --- 6 - EvilMagician4 --- 7 - GolemTestType --- 8 - GolemTestFinished --- 9 - GolemTestBookID --- 10 - GolemTestEmotion1 --- 11 - GolemTestEmotion2 --- 12 - GolemTestEmotion3 --- 13 - GolemTestEmotion4 --- 14 - Dead Evil Magicians count --- 15 - EvilMagician5 --- 16 - EvilMagician6 --- 17 - EvilMagician7 --- 18 - EvilMagician8 --- 19 - EvilMagician9 function f09_OnPlayerEnter(MapID, InstanceID,RoleID) local bhave = role.IsRoleHaveBuff(MapID, InstanceID, RoleID, 99996) if bhave == true then unit.CancelBuff(MapID, InstanceID, RoleID, 9999601) end role.RemoveFromRole(MapID, InstanceID, RoleID, 6602172, 1, 404) local monsterhave = map.GetMapScriptData(MapID,InstanceID,1,0) if monsterhave==0 then local Aliy = {} Aliy[1]= {9010779, 9010780} Aliy[2]= {9010781, 9010782} Aliy[3]= {9010783, 9010784} local Hardness = 3 local LevelLimits = {80, 95, 111} for i=3,1,-1 do if role.GetRoleLevel(MapID, InstanceID, RoleID) >= LevelLimits[i] then Hardness = i break end end local HelperSex = math.random(2) map.MapCreateCreature(MapID, InstanceID, Aliy[Hardness][HelperSex], 880, 4324, 870) map.MapCreateColCreature(MapID, InstanceID, 9010809, 682, 4480, 791, true, "") map.MapCreateColCreature(MapID, InstanceID, 9010809, 882, 4480, 617, true, "") map.SetMapScriptData(MapID,InstanceID, 1, 0, 1) map.SetMapScriptData(MapID,InstanceID, 1, 1, Hardness) map.SetMapScriptData(MapID,InstanceID, 1, 2, HelperSex) end end aux.RegisterMapEvent("f09", 2, "f09_OnPlayerEnter") function f09_OnArea(MapID, InstanceID, RoleID, ObjAreaID) if ObjAreaID == 2827 then role.RoleGotoNewMap(MapID, InstanceID, RoleID, 1266370382, 524, 40, 83) -- ���� HELL role.RemoveFromRole(MapID, InstanceID, RoleID, 6602184, 1, 101) role.RemoveFromRole(MapID, InstanceID, RoleID, 6602184, 1, 404) local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 101, 951308) msg.DispatchMapMsgEvent(MsgID, MapID, InstanceID, -1) elseif ObjAreaID == 2824 then map.DeleteInstance(MapID, InstanceID) end end aux.RegisterMapEvent("f09", 7, "f09_OnArea") function SpawnMageValeStartCreaturens(MapID, InstanceID, RoleID) local Hardness = map.GetMapScriptData(MapID,InstanceID, 1, 1) local EvilMonsterID = {9010789, 9010790, 9010791} map.MapCreateColCreature(MapID, InstanceID, EvilMonsterID[Hardness], 725, 4486, 822, true, "") map.MapCreateColCreature(MapID, InstanceID, EvilMonsterID[Hardness], 710, 4492, 829, true, "") map.MapCreateColCreature(MapID, InstanceID, EvilMonsterID[Hardness], 721, 4509, 846, true, "") map.MapCreateColCreature(MapID, InstanceID, EvilMonsterID[Hardness], 705, 4480, 812, true, "") map.MapCreateColCreature(MapID, InstanceID, EvilMonsterID[Hardness], 690, 4480, 814, true, "") map.MapCreateColCreature(MapID, InstanceID, EvilMonsterID[Hardness], 698, 4483, 825, true, "") map.MapCreateColCreature(MapID, InstanceID, EvilMonsterID[Hardness], 669, 4476, 837, true, "") map.MapCreateColCreature(MapID, InstanceID, EvilMonsterID[Hardness], 660, 4476, 832, true, "") map.MapCreateColCreature(MapID, InstanceID, EvilMonsterID[Hardness], 658, 4480, 846, true, "") map.MapCreateColCreature(MapID, InstanceID, EvilMonsterID[Hardness], 632, 4476, 804, true, "") map.MapCreateColCreature(MapID, InstanceID, EvilMonsterID[Hardness], 622, 4476, 811, true, "") map.MapCreateColCreature(MapID, InstanceID, EvilMonsterID[Hardness], 624, 4480, 789, true, "") local EvilMagican = {9010786, 9010787, 9010788} local EvilMagician1 = map.MapCreateColCreature(MapID, InstanceID, EvilMagican[Hardness], 565, 4521, 785, true, "") local EvilMagician2 = map.MapCreateColCreature(MapID, InstanceID, EvilMagican[Hardness], 565, 4480, 800, true, "") local EvilMagician3 = map.MapCreateColCreature(MapID, InstanceID, EvilMagican[Hardness], 565, 4480, 815, true, "") local EvilMagician4 = map.MapCreateColCreature(MapID, InstanceID, EvilMagican[Hardness], 565, 4515, 830, true, "") map.SetMapScriptData(MapID, InstanceID, 1, 3, EvilMagician1) map.SetMapScriptData(MapID, InstanceID, 1, 4, EvilMagician2) map.SetMapScriptData(MapID, InstanceID, 1, 5, EvilMagician3) map.SetMapScriptData(MapID, InstanceID, 1, 6, EvilMagician4) map.MapCreateColCreature(MapID, InstanceID, 9010792, 642, 4480, 890, true, "") end function MageValeyHelper_OnTalk(MapID, InstanceID, TargetID, TargetTypeID, RoleID, TalkIndex) local Hardness = map.GetMapScriptData(MapID,InstanceID, 1, 1) local HelperSex = map.GetMapScriptData(MapID,InstanceID, 1, 2) local MsgID = msg.BeginMsgEvent() if TalkIndex == -1 then msg.AddMsgEvent(MsgID, 20, 951283) msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 21, 4) --���ѧӧѧ� ��ѧ٧ҧ֧�֧ާ�� msg.AddMsgEvent(MsgID, 1, 951284) msg.AddMsgEvent(MsgID, 21, 5) --�� ��էڧߧ��ܧ� msg.AddMsgEvent(MsgID, 1, 951311) elseif TalkIndex == 4 then SpawnMageValeStartCreaturens(MapID, InstanceID, RoleID) local FollowingHelper = {9010796, 9010797} map.MapCreateColCreature(MapID, InstanceID, FollowingHelper[HelperSex], 880, 4324, 870, true, "") map.MapDeleteCreature(MapID, InstanceID, TargetID) elseif TalkIndex == 5 then SpawnMageValeStartCreaturens(MapID, InstanceID, RoleID) map.MapDeleteCreature(MapID, InstanceID, TargetID) end msg.AddMsgEvent(MsgID, 21, 99) msg.AddMsgEvent(MsgID, 1, 100002) msg.DispatchRoleMsgEvent(RoleID, MsgID) end aux.RegisterCreatureEvent(9010779, 7, "MageValeyHelper_OnTalk") aux.RegisterCreatureEvent(9010780, 7, "MageValeyHelper_OnTalk") aux.RegisterCreatureEvent(9010781, 7, "MageValeyHelper_OnTalk") aux.RegisterCreatureEvent(9010782, 7, "MageValeyHelper_OnTalk") aux.RegisterCreatureEvent(9010783, 7, "MageValeyHelper_OnTalk") aux.RegisterCreatureEvent(9010784, 7, "MageValeyHelper_OnTalk") function CursedMagican_OnInvest(MapID, InstanceID, TargetID, TargetTypeID, RoleID) local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 101, 951285)--���ѧ��է֧� �ԧ�ӧ��ڧ�: ����ѧ�ڧҧ�, ���� ���ѧ�ݧ� �ާ֧ߧ�. �� ���ާ�ԧ� �ӧѧ� �է�ҧ�ѧ���� �է� ���ڧҧݧڧ��֧ܧ� �ާѧԧ��. ����ݧ� ��ߧ� �֧�� ��֧ݧ�, ��� �ާ� ��ާ�ا֧� �ާߧ�ԧ�� ��٧ߧѧ��. msg.DispatchRoleMsgEvent(RoleID, MsgID) for i = 3,6 do local MagicianID = map.GetMapScriptData(MapID,InstanceID,1,i) unit.CancelBuff(MapID, InstanceID, MagicianID, 9999809) unit.CancelBuff(MapID, InstanceID, MagicianID, 9865501) end end aux.RegisterCreatureEvent(9010792, 6, "CursedMagican_OnInvest") function EvilMagician_OnDie(MapID, InstanceID, TargetID, TargetTypeID, RoleID) local MagicianNum = map.GetMapScriptData(MapID, InstanceID, 1, 14) + 1 map.SetMapScriptData(MapID, InstanceID, 1, 14, MagicianNum) if MagicianNum == 4 then map.MapCreateColCreature(MapID, InstanceID, 9010810, 329, 4480, 769, true, "") elseif MagicianNum == 9 then SpawnMageValeLastCreatures(MapID, InstanceID) end end aux.RegisterCreatureEvent(9010786, 4, "EvilMagician_OnDie") aux.RegisterCreatureEvent(9010787, 4, "EvilMagician_OnDie") aux.RegisterCreatureEvent(9010788, 4, "EvilMagician_OnDie") function CuredMagican_OnTalk(MapID, InstanceID, TargetID, TargetTypeID, RoleID, TalkIndex) local MsgID = msg.BeginMsgEvent() if TalkIndex == -1 then msg.AddMsgEvent(MsgID, 20, 951286) --���ѧ��ܧѧا� �ӧ��, ���� �٧ߧѧ�. ���ߧѧ�ѧݧ� ��ѧҧ��ڧ� �� ��ѧ��է֧� �ߧѧ�ѧݧ� �ҧ�ݧ֧�� ��� �ܧѧܧ��-��� msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 21, 4) --���ѧӧѧ� ��ѧ٧ҧ֧�֧ާ�� msg.AddMsgEvent(MsgID, 1, 951287) elseif TalkIndex == 4 then map.MapCreateColCreature(MapID, InstanceID, 9010811, 246, 4785, 714, true, "") map.MapDeleteCreature(MapID, InstanceID, TargetID) end msg.AddMsgEvent(MsgID, 21, 99) msg.AddMsgEvent(MsgID, 1, 100002) msg.DispatchRoleMsgEvent(RoleID, MsgID) end aux.RegisterCreatureEvent(9010810, 7, "CuredMagican_OnTalk") function c9010811_On_Talk(MapID, InstanceID, TargetID, TargetTypeID, RoleID, TalkIndex) -- ������ �� ���ڧҧݧڧ��֧ܧ� �ާѧԧ� if TalkIndex == -1 then role.RoleGotoNewMap(MapID, InstanceID, RoleID, 1266370382, 112, 40, 665) -- ���ڧҧݧڧ��֧ܧ� ���ѧԧ� local GolemTestType = math.random(1, 2) map.SetMapScriptData(MapID, InstanceID, 1, 7, GolemTestType) MagicianLibraryMonsterGen(MapID, InstanceID) map.MapDeleteCreature(MapID, InstanceID, TargetID) end end aux.RegisterCreatureEvent(9010811, 7, "c9010811_On_Talk") function MagicianLibraryMonsterGen(MapID, InstanceID) local GolemTestType = map.GetMapScriptData(MapID, InstanceID, 1, 7) map.MapCreateColCreature(MapID, InstanceID, 9010812 + GolemTestType, 76, 1537, 669, true, "") if GolemTestType == 1 then local LunarPowderPos = {} LunarPowderPos[1] = {127, 1619, 583} LunarPowderPos[2] = {140, 1632, 565} LunarPowderPos[3] = {140, 1639, 518} LunarPowderPos[4] = {87, 1641, 520} LunarPowderPos[5] = {55, 1622, 531} LunarPowderPos[6] = {58, 1619, 562} LunarPowderPos[7] = {46, 1627, 608} LunarPowderPos[8] = {121, 1627, 597} LunarPowderPos[9] = {58, 1627, 703} LunarPowderPos[10] = {118, 1627, 737} LunarPowderPos[11] = {48, 1677, 749} LunarPowderPos[12] = {132, 1612, 750} LunarPowderPos[13] = {118, 1659, 780} LunarPowderPos[14] = {88, 1637, 819} LunarPowderPos[15] = {53, 1636, 784} for i=1,5 do local rnd = math.random(15-i+1) map.MapCreateColCreature(MapID, InstanceID, 9010817, LunarPowderPos[rnd][1], LunarPowderPos[rnd][2], LunarPowderPos[rnd][3], true, "") LunarPowderPos[rnd] = LunarPowderPos[15-i+1] end elseif GolemTestType == 2 then local BookPos = {} BookPos[1] = {119, 1640, 596} BookPos[2] = {130, 1643, 583} BookPos[3] = {81, 1638, 694} BookPos[4] = {130, 1635, 750} BookPos[5] = {119, 1650, 784} BookPos[6] = {141, 1736, 516} BookPos[7] = {46, 1650, 602} for i = 1,7 do map.MapCreateColCreature(MapID, InstanceID, 9010817+i, BookPos[i][1], BookPos[i][2], BookPos[i][3], true, "") end map.SetMapScriptData(MapID,InstanceID, 1, 9, math.random(7)) elseif GolemTestType == 3 then map.MapCreateColCreature(MapID, InstanceID, 9010825, 91, 1536, 642, true, "") map.MapCreateColCreature(MapID, InstanceID, 9010826, 90, 1536, 690, true, "") map.MapCreateColCreature(MapID, InstanceID, 9010827, 107, 1536, 690, true, "") map.MapCreateColCreature(MapID, InstanceID, 9010828, 108, 1536, 643, true, "") end end function Aridur_On_Talk(MapID, InstanceID, TargetID, TargetTypeID, RoleID, TalkIndex) -- ����ڧէ�� local GolemTestType = map.GetMapScriptData(MapID, InstanceID, 1, 7) local GolemTestFinished = map.GetMapScriptData(MapID, InstanceID, 1, 8) local MsgID = msg.BeginMsgEvent() if GolemTestFinished == 1 then msg.AddMsgEvent(MsgID, 20, 951290) --���ڧܧ�ԧէ� �ߧ� ���ߧڧާѧ� ��էߧ� ��֧ݧ�ӧ֧�֧�ܧ�� �ӧ���ѧا֧ߧڧ� msg.AddMsgEvent(MsgID, 24, TargetID) else if GolemTestType == 0 then if TalkIndex == -1 then msg.AddMsgEvent(MsgID, 20, 951288) --���ԧ�, �اڧӧ�� ��֧ݧ�ӧ֧�. �� ��ѧ� �էѧӧߧ� �ߧ� �� �ܧ֧� �ߧ� �ԧ�ӧ��ڧ�. msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 21, 4) msg.AddMsgEvent(MsgID, 1, 951289) --�������� end elseif GolemTestType == 1 then if TalkIndex == -1 then msg.AddMsgEvent(MsgID, 20, 951291) --���ѧ�ڧ��� �ܧѧާ֧ߧ�, �ߧ� ��ѧ٧ҧڧ�ѧ� �է���ԧ�, �ҧ֧� ��ާ���ݧ�, �ҧ֧� ��֧ݧ�, �ҧ֧� �ܧѧ���.. msg.AddMsgEvent(MsgID, 24, TargetID) if role.GetRoleItemNum(RoleID, 6602185) > 4 then msg.AddMsgEvent(MsgID, 21, 4) msg.AddMsgEvent(MsgID, 1, 951289) --�������� end elseif TalkIndex == 4 then if role.GetRoleItemNum(RoleID, 6602185) > 4 then role.RemoveFromRole(MapID, InstanceID, RoleID, 6602185, 5, 404) role.QuestAddRoleItem(MapID, InstanceID, RoleID, -1, 6602184, 1, -1, 420) map.MapCreateColCreature(MapID, InstanceID,9010816, 126, 1536, 666, true, "") end end elseif GolemTestType == 2 then local GolemBookID = map.GetMapScriptData(MapID, InstanceID, 1, 9) local ItemIDs = {6602186, 6602187, 6602188, 6602189, 6602190, 6602191, 6602192} if TalkIndex == -1 then msg.AddMsgEvent(MsgID, 20, 951293) --����ڧӧ֧���ӧ�� ��֧ҧ� �� ���ڧҧݧڧ��֧ܧ� �ާѧԧ��. ����� ����ݧ�ܧ� �ڧߧ�֧�֧�ߧ��� �ܧߧڧ�. msg.AddMsgEvent(MsgID, 4, ItemIDs[GolemBookID]) msg.AddMsgEvent(MsgID, 24, TargetID) if role.GetRoleItemNum(RoleID, ItemIDs[GolemBookID]) > 0 then msg.AddMsgEvent(MsgID, 21, 4) msg.AddMsgEvent(MsgID, 1, 951289) --�������� end elseif TalkIndex == 4 then if role.GetRoleItemNum(RoleID, ItemIDs[GolemBookID]) > 0 then role.RemoveFromRole(MapID, InstanceID, RoleID, ItemIDs[GolemBookID], 1, 404) role.QuestAddRoleItem(MapID, InstanceID, RoleID, -1, 6602184, 1, -1, 420) map.MapCreateColCreature(MapID, InstanceID,9010816, 126, 1536, 666, true, "") end end elseif GolemTestType == 3 then if TalkIndex == -1 then if CheckMagicValeEmotions(MapID, InstanceID) < 0 then msg.AddMsgEvent(MsgID, 20, 951303) -- ����ҧ�� ���اѧݧ�ӧѧ�� �ߧ� ���� ����֧ާ� ����ݧ֧ާ�! msg.AddMsgEvent(MsgID, 3, RoleID) msg.AddMsgEvent(MsgID, 24, TargetID) else msg.AddMsgEvent(MsgID, 20, 951305) -- ����� ����֧ާ� ����ݧ֧ާ�: �����! ����� �ԧ�ݧ֧ާ� �է�ӧ�ݧ�ߧ�. ���ӧ�� �ߧѧԧ�ѧէ� ��ا� �� ���ާܧ�. msg.AddMsgEvent(MsgID, 24, TargetID) end end end end msg.AddMsgEvent(MsgID, 21, 99) msg.AddMsgEvent(MsgID, 1, 100002) msg.DispatchRoleMsgEvent(RoleID, MsgID) end aux.RegisterCreatureEvent(9010812, 7, "Aridur_On_Talk") aux.RegisterCreatureEvent(9010813, 7, "Aridur_On_Talk") aux.RegisterCreatureEvent(9010814, 7, "Aridur_On_Talk") aux.RegisterCreatureEvent(9010815, 7, "Aridur_On_Talk") function CheckMagicValeEmotions(MapID, InstanceID) local EmoNum = 0 for i = 10,13 do if map.GetMapScriptData(MapID,InstanceID,1,i) == 1 then EmoNum = EmoNum + 1 end end end function MageValey_LunarPowder_OnInvest(MapID, InstanceID, TargetID, TargetTypeID, RoleID) role.QuestAddRoleItem(MapID, InstanceID, RoleID, -1, 6602185, 1, -1, 420) end aux.RegisterCreatureEvent(9010817, 6, "MageValey_LunarPowder_OnInvest") function MageValey_Book_On_Talk(MapID, InstanceID, TargetID, TargetTypeID, RoleID, TalkIndex) -- ���ߧڧԧ� �� ���ڧҧݧڧ��֧ܧ� �ާѧԧ� local MsgInfoIDs = {951294, 951295, 951296, 951297, 951298, 951299, 951300} local ItemIDs = {6602186, 6602187, 6602188, 6602189, 6602190, 6602191, 6602192} if TalkIndex == -1 then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 20, MsgInfoIDs[TargetTypeID-9010817]) --���֧ܧ�� �ܧߧڧԧ� msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 21, 4) msg.AddMsgEvent(MsgID, 1, 951301) --���٧��� �ܧߧڧԧ� msg.DispatchRoleMsgEvent(RoleID, MsgID) elseif TalkIndex == 4 then for i = 1, 7 do if role.GetRoleItemNum(RoleID, ItemIDs[i]) > 0 then role.RemoveFromRole(MapID, InstanceID, RoleID, ItemIDs[i], 1, 404) end end role.QuestAddRoleItem(MapID, InstanceID, RoleID, -1, ItemIDs[TargetTypeID-9010817], 1, -1, 420) end end aux.RegisterCreatureEvent(9010818, 7, "MageValey_Book_On_Talk") aux.RegisterCreatureEvent(9010819, 7, "MageValey_Book_On_Talk") aux.RegisterCreatureEvent(9010820, 7, "MageValey_Book_On_Talk") aux.RegisterCreatureEvent(9010821, 7, "MageValey_Book_On_Talk") aux.RegisterCreatureEvent(9010822, 7, "MageValey_Book_On_Talk") aux.RegisterCreatureEvent(9010823, 7, "MageValey_Book_On_Talk") aux.RegisterCreatureEvent(9010824, 7, "MageValey_Book_On_Talk") function c9010816_On_Talk(MapID, InstanceID, TargetID, TargetTypeID, RoleID, TalkIndex) -- �������� �ڧ� ���ڧҧݧڧ��֧ܧ� �ާѧԧ� if TalkIndex == -1 then role.RoleGotoNewMap(MapID, InstanceID, RoleID, 1266370382, 258, 4785, 713) -- ���ڧҧݧڧ��֧ܧ� ���ѧԧ� if role.GetRoleItemNum(RoleID, 6602184) > 0 then role.RemoveFromRole(MapID, InstanceID, RoleID, 6602184, 1, 404) end local Hardness = map.GetMapScriptData(MapID,InstanceID, 1, 1) local EvilMonsterID = {9010789, 9010790, 9010791} map.MapCreateColCreature(MapID, InstanceID, EvilMonsterID[Hardness], 431, 4455, 646, true, "") map.MapCreateColCreature(MapID, InstanceID, EvilMonsterID[Hardness], 427, 4470, 635, true, "") map.MapCreateColCreature(MapID, InstanceID, EvilMonsterID[Hardness], 439, 4467, 637, true, "") map.MapCreateColCreature(MapID, InstanceID, EvilMonsterID[Hardness], 527, 4480, 637, true, "") map.MapCreateColCreature(MapID, InstanceID, EvilMonsterID[Hardness], 540, 4480, 631, true, "") map.MapCreateColCreature(MapID, InstanceID, EvilMonsterID[Hardness], 537, 4480, 645, true, "") map.MapCreateColCreature(MapID, InstanceID, EvilMonsterID[Hardness], 600, 4480, 629, true, "") map.MapCreateColCreature(MapID, InstanceID, EvilMonsterID[Hardness], 614, 4442, 624, true, "") map.MapCreateColCreature(MapID, InstanceID, EvilMonsterID[Hardness], 611, 4466, 637, true, "") map.MapCreateColCreature(MapID, InstanceID, EvilMonsterID[Hardness], 686, 4477, 638, true, "") map.MapCreateColCreature(MapID, InstanceID, EvilMonsterID[Hardness], 703, 4467, 636, true, "") map.MapCreateColCreature(MapID, InstanceID, EvilMonsterID[Hardness], 696, 4466, 643, true, "") map.MapCreateColCreature(MapID, InstanceID, EvilMonsterID[Hardness], 772, 4431, 639, true, "") map.MapCreateColCreature(MapID, InstanceID, EvilMonsterID[Hardness], 783, 4436, 639, true, "") map.MapCreateColCreature(MapID, InstanceID, EvilMonsterID[Hardness], 780, 4431, 646, true, "") map.MapCreateColCreature(MapID, InstanceID, EvilMonsterID[Hardness], 840, 4480, 616, true, "") map.MapCreateColCreature(MapID, InstanceID, EvilMonsterID[Hardness], 834, 4477, 624, true, "") map.MapCreateColCreature(MapID, InstanceID, EvilMonsterID[Hardness], 829, 4480, 616, true, "") map.MapCreateColCreature(MapID, InstanceID, EvilMonsterID[Hardness], 812, 4480, 601, true, "") map.MapCreateColCreature(MapID, InstanceID, EvilMonsterID[Hardness], 807, 4481, 592, true, "") local EvilMagican = {9010786, 9010787, 9010788} local EvilMagician5 = map.MapCreateColCreature(MapID, InstanceID, EvilMagican[Hardness], 885, 4479, 491, true, "") local EvilMagician6 = map.MapCreateColCreature(MapID, InstanceID, EvilMagican[Hardness], 870, 4479, 487, true, "") local EvilMagician7 = map.MapCreateColCreature(MapID, InstanceID, EvilMagican[Hardness], 855, 4479, 483, true, "") local EvilMagician8 = map.MapCreateColCreature(MapID, InstanceID, EvilMagican[Hardness], 840, 4493, 479, true, "") local EvilMagician9 = map.MapCreateColCreature(MapID, InstanceID, EvilMagican[Hardness], 825, 4515, 475, true, "") map.SetMapScriptData(MapID, InstanceID, 1, 15, EvilMagician5) map.SetMapScriptData(MapID, InstanceID, 1, 16, EvilMagician6) map.SetMapScriptData(MapID, InstanceID, 1, 17, EvilMagician7) map.SetMapScriptData(MapID, InstanceID, 1, 18, EvilMagician8) map.SetMapScriptData(MapID, InstanceID, 1, 19, EvilMagician9) local SwampMonster = {9010833, 9010834, 9010835} map.MapCreateColCreature(MapID, InstanceID, SwampMonster[Hardness], 838, 4480, 566, true, "") map.MapDeleteCreature(MapID, InstanceID, TargetID) end end aux.RegisterCreatureEvent(9010816, 7, "c9010816_On_Talk") function SpawnMageValeLastCreatures (MapID, InstanceID) local Hardness = map.GetMapScriptData(MapID,InstanceID, 1, 1) local FatDevil = {9010841, 9010842, 9010843} map.MapCreateColCreature(MapID, InstanceID, FatDevil[Hardness], 775, 1891, 78, true, "") map.MapCreateColCreature(MapID, InstanceID, FatDevil[Hardness], 734, 1870, 68, true, "") map.MapCreateColCreature(MapID, InstanceID, FatDevil[Hardness], 683, 1902, 113, true, "") map.MapCreateColCreature(MapID, InstanceID, FatDevil[Hardness], 633, 1873, 85, true, "") map.MapCreateColCreature(MapID, InstanceID, FatDevil[Hardness], 575, 1867, 59, true, "") local Samael = {9010845, 9010846, 9010847} map.MapCreateColCreature(MapID, InstanceID, Samael[Hardness], 833, 1897, 78, true, "") end function Taurus_OnTalk(MapID, InstanceID, TargetID, TargetTypeID, RoleID, TalkIndex) local MsgID = msg.BeginMsgEvent() local level = role.GetRoleLevel(MapID, InstanceID, RoleID) if level < 80 then msg.AddMsgEvent(MsgID, 20, 951275) msg.AddMsgEvent(MsgID, 24, TargetID) else if TalkIndex == -1 or TalkIndex == 8 then msg.AddMsgEvent(MsgID, 20, 951276) msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 21, 4) --����ۧ�� �� ���է٧֧ާ֧ݧ�� msg.AddMsgEvent(MsgID, 1, 951277) msg.AddMsgEvent(MsgID, 21, 5) --�� �ߧѧԧ�ѧէѧ� msg.AddMsgEvent(MsgID, 1, 951282) elseif TalkIndex == 4 then local Weary = unit.GetAttValue(MapID, InstanceID, RoleID, 81) local WearyEffect = unit.GetAttValue(MapID, InstanceID, RoleID, 104) local MaxWeary = 200 if role.IsRoleHaveBuff(MapID, InstanceID, RoleID, 90034) ~= true then MaxWeary = 100 end local TeamID = role.IsRoleHaveTeam(MapID, InstanceID, RoleID) if Weary + ( 20 + WearyEffect) > MaxWeary then msg.AddMsgEvent(MsgID, 20, 951278) -- ���֧� ����ѧݧ���� msg.AddMsgEvent(MsgID, 24, TargetID) elseif role.GetRoleItemNum(RoleID, 6602172) < 1 then msg.AddMsgEvent(MsgID, 20, 951279) -- ���֧� �ҧڧݧ֧�� msg.AddMsgEvent(MsgID, 24, TargetID) elseif TeamID and TeamID ~= 4294967295 then msg.AddMsgEvent(MsgID, 20, 951280) --���� �� �ܧ�ާѧߧէ� msg.AddMsgEvent(MsgID, 24, TargetID) else role.RoleGotoNewMap(MapID, InstanceID, RoleID, 1266370382, 908, 4174, 875) end elseif TalkIndex == 5 then msg.AddMsgEvent(MsgID, 20, 951281) msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 21, 8) msg.AddMsgEvent(MsgID, 1, 930314) end end msg.AddMsgEvent(MsgID, 21, 99) msg.AddMsgEvent(MsgID, 1, 100002) msg.DispatchRoleMsgEvent(RoleID, MsgID) end aux.RegisterCreatureEvent(9010778, 7, "Taurus_OnTalk") function SwampMonster_OnDie(MapID, InstanceID, TargetID, TargetTypeID, RoleID) for i = 15,19 do local MagicianID = map.GetMapScriptData(MapID,InstanceID,1,i) unit.CancelBuff(MapID, InstanceID, MagicianID, 9999809) unit.CancelBuff(MapID, InstanceID, MagicianID, 9865501) end end aux.RegisterCreatureEvent(9010833, 4, "SwampMonster_OnDie") aux.RegisterCreatureEvent(9010834, 4, "SwampMonster_OnDie") aux.RegisterCreatureEvent(9010835, 4, "SwampMonster_OnDie") function SamuelMonster_OnDie(MapID, InstanceID, TargetID, TargetTypeID, RoleID) local Hardness = map.GetMapScriptData(MapID,InstanceID, 1, 1) local FinalChest = {9010830, 9010831, 9010832} map.MapCreateColCreature(MapID, InstanceID, FinalChest[Hardness], 981, 2686, 66, true, "") map.MapCreateColCreature(MapID, InstanceID, 9010849, 988, 2686, 85, true, "") end aux.RegisterCreatureEvent(9010845, 4, "SamuelMonster_OnDie") aux.RegisterCreatureEvent(9010846, 4, "SamuelMonster_OnDie") aux.RegisterCreatureEvent(9010847, 4, "SamuelMonster_OnDie") function C9010849_OnTalk(MapID, InstanceID, TargetID, TargetTypeID, RoleID, TalkIndex) role.RoleGotoNewMap(MapID, InstanceID, RoleID, 3424072488, 1095, 3920, 1408) end aux.RegisterCreatureEvent(9010849, 7, "C9010849_OnTalk") function MageValeyFinalChest_OnInvest(MapID, InstanceID, TargetID, TargetTypeID, RoleID) local Hardness = map.GetMapScriptData(MapID,InstanceID, 1, 1) local RewardItem = {6602202, 6602203, 6602204} role.AddRoleItem(MapID, InstanceID, RoleID, RewardItem[Hardness], 1, -1, 8, 420) end aux.RegisterCreatureEvent(9010830, 6, "MageValeyFinalChest_OnInvest") aux.RegisterCreatureEvent(9010831, 6, "MageValeyFinalChest_OnInvest") aux.RegisterCreatureEvent(9010832, 6, "MageValeyFinalChest_OnInvest") function I6602202_GiftBag(MapID, InstanceID, TypeID, TargetID) local r = math.random(70080) local temp = 0 local index = 1 local tbl = {} tbl[1 ]={3070056,10,-1,8000} --Заказ [перс.] tbl[2 ]={4999004,2,-1,8000} --Улучшенный рунный камень tbl[3 ]={3060063,2,-1,8000} --Пыльца эльфов [6 ур.] tbl[4 ]={3500207,1,-1,8000} --Ядро души эльфа [100] tbl[5 ]={4810135,1,-1,8000} --Хороший камень пробуждения tbl[6 ]={6602194,1,-1,8000} --Знаки защиты 7 уровня tbl[7 ]={6602195,1,-1,8000} --Знаки атаки 7 уровня tbl[8 ]={4820035,1,-1,8000} --Древние книги tbl[9 ]={6602200,1,-1,500} --Мешок камней 10 уровня tbl[10]={4820180,1,-1,5000} --Плейона tbl[11]={4700231,1,-1,200} --Сундук Звезд 10 ур. [перс.] tbl[12]={5802126,1,-1,50} --Магическое ожерелье +35 tbl[13]={5802127,1,-1,30} --Магическое ожерелье +36 tbl[14]={6600685,1,-1,100} --Охотник за головами tbl[15]={6600686,1,-1,100} --Легенды кошмаров tbl[16]={6600783,1,-1,100} --Зимнее настроение for i = 1,16 do temp = temp + tbl[i][4] if temp >= r then index = i break end end if index >= 13 then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 100, 280) msg.AddMsgEvent(MsgID, 2, TargetID) msg.AddMsgEvent(MsgID, 4, TypeID) msg.AddMsgEvent(MsgID, 4, tbl[index][1]) msg.DispatchWorldMsgEvent(MsgID) end role.AddRoleItem(MapID, InstanceID, TargetID, tbl[index][1], tbl[index][2], tbl[index][3], 8, 420) end function I6602203_GiftBag(MapID, InstanceID, TypeID, TargetID) local r = math.random(78190) local temp = 0 local index = 1 local tbl = {} tbl[1 ]={4500002,10,-1,8000} --Заказ tbl[2 ]={4999005,2,-1,8000} --Легендарный рунный камень tbl[3 ]={3060064,2,-1,8000} --Пыльца эльфов [7 ур.] tbl[4 ]={6601822,15,-1,8000} --Груда костей tbl[5 ]={3500208,1,-1,8000} --Ядро души эльфа [110] tbl[6 ]={4810135,1,-1,8000} --Хороший камень пробуждения tbl[7 ]={6602196,1,-1,8000} --Знаки защиты 8 уровня tbl[8 ]={6602197,1,-1,8000} --Знаки атаки 8 уровня tbl[9 ]={4820035,1,-1,8000} --Древние книги tbl[10]={6601860,1,-1,500} --Мешок камней 11 уровня tbl[11]={4820180,1,-1,5000} --Плейона tbl[12]={4700231,1,-1,200} --Сундук Звезд 10 ур. [перс.] tbl[13]={5802128,1,-1,50} --Магическое ожерелье +37 tbl[14]={5802129,1,-1,30} --Магическое ожерелье +38 tbl[15]={6600816,1,-1,100} --Лесные жители tbl[16]={6601115,1,-1,100} --Карнавал tbl[17]={6601351,1,-1,100} --Пляжная вечеринка tbl[18]={6601352,1,-1,100} --Солнечный стиль for i = 1,18 do temp = temp + tbl[i][4] if temp >= r then index = i break end end if index >= 13 then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 100, 280) msg.AddMsgEvent(MsgID, 2, TargetID) msg.AddMsgEvent(MsgID, 4, TypeID) msg.AddMsgEvent(MsgID, 4, tbl[index][1]) msg.DispatchWorldMsgEvent(MsgID) end role.AddRoleItem(MapID, InstanceID, TargetID, tbl[index][1], tbl[index][2], tbl[index][3], 8, 420) end function I6602204_GiftBag(MapID, InstanceID, TypeID, TargetID) local r = math.random(81180) local temp = 0 local index = 1 local tbl = {} tbl[1 ]={4500002,10,-1,8000} --Заказ tbl[2 ]={4999007,2,-1,8000} --Древний рунный камень tbl[3 ]={3060064,2,-1,8000} --Пыльца эльфов [7 ур.] tbl[4 ]={6601823,15,-1,8000} --Осколок скарабея tbl[5 ]={3500208,1,-1,8000} --Ядро души эльфа [110] tbl[6 ]={4810135,1,-1,8000} --Хороший камень пробуждения tbl[7 ]={6602198,1,-1,8000} --Знаки защиты 9 уровня tbl[8 ]={6602199,1,-1,8000} --Знаки атаки 9 уровня tbl[9 ]={4820035,1,-1,8000} --Древние книги tbl[10]={4820180,1,-1,8000} --Плейона tbl[11]={4700231,1,-1,500} --Сундук Звезд 10 ур. [перс.] tbl[12]={4700231,1,-1,200} --Сундук Звезд 10 ур. [перс.] tbl[13]={5802130,1,-1,50} --Магическое ожерелье +39 tbl[14]={5802131,1,-1,30} --Магическое ожерелье +40 tbl[15]={6601734,1,-1,100} --Жуткие истории tbl[16]={6602347,1,-1,100} --Весенний фестиваль tbl[17]={6602127,1,-1,100} --Наследие королей tbl[18]={6602299,1,-1,100} --Хранители секретов for i = 1,18 do temp = temp + tbl[i][4] if temp >= r then index = i break end end if index >= 12 then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 100, 280) msg.AddMsgEvent(MsgID, 2, TargetID) msg.AddMsgEvent(MsgID, 4, TypeID) msg.AddMsgEvent(MsgID, 4, tbl[index][1]) msg.DispatchWorldMsgEvent(MsgID) end role.AddRoleItem(MapID, InstanceID, TargetID, tbl[index][1], tbl[index][2], tbl[index][3], 8, 420) end function I6602202_CanUseGiftBag(MapID, InstanceID, TypeID, TargetID) return true end function I6602203_CanUseGiftBag(MapID, InstanceID, TypeID, TargetID) return true end function I6602204_CanUseGiftBag(MapID, InstanceID, TypeID, TargetID) return true end aux.RegisterItemEvent(6602202, 1, "I6602202_GiftBag") aux.RegisterItemEvent(6602202, 0, "I6602202_CanUseGiftBag") aux.RegisterItemEvent(6602203, 1, "I6602203_GiftBag") aux.RegisterItemEvent(6602203, 0, "I6602203_CanUseGiftBag") aux.RegisterItemEvent(6602204, 1, "I6602204_GiftBag") aux.RegisterItemEvent(6602204, 0, "I6602204_CanUseGiftBag")