-- Fallback: в некоторых сборках движка нет C-функции SGuildScriptData. -- Эмуляция через map.GetMapScriptData / map.SetMapScriptData для гильдийного инстанса g01. if SGuildScriptData == nil then function SGuildScriptData(InstanceID, Index, Opt, Value) local GUILD_DUNGEON_MAP_ID = 2573373074 if map == nil then return nil end if Opt == 0 then local ok, result = pcall(map.GetMapScriptData, GUILD_DUNGEON_MAP_ID, InstanceID, 1, Index) if ok then return result end return nil elseif Opt == 1 then pcall(map.SetMapScriptData, GUILD_DUNGEON_MAP_ID, InstanceID, 1, Index, Value) return Value end return nil end end function GetRandomPlayers(MapID, InstanceID) local RoleTbl = map.GetMapAllRoleID(MapID, InstanceID) local Players = math.random(#RoleTbl) return RoleTbl[Players] end function g01_CanEnterWhenOnline(MapID, RoleID) return 3424073512, 610, 23094, 669 end aux.RegisterMapEvent("g01", 12, "g01_CanEnterWhenOnline") function g01_GetExporMapAndCoord(MapID, InstanceID, RoleID) return 1, 3424073512, 610, 23094, 669 end aux.RegisterMapEvent("g01", 13, "g01_GetExporMapAndCoord") function g01_GetOnePerfectMap(MapID, InstanceID, RoleID) local GuildID = guild.GetRoleGuildID(RoleID) return GuildID end aux.RegisterMapEvent("g01", 14, "g01_GetOnePerfectMap") function g01_CanEnter(MapID, InstanceID, RoleID) return 1 end aux.RegisterMapEvent("g01", 15, "g01_CanEnter") function g01_OnPlayerEnter(MapID, InstanceID, RoleID) local GuildID = guild.GetRoleGuildID(RoleID) local bhave = role.IsRoleHaveBuff(MapID, InstanceID, RoleID, 99996) if bhave == true then unit.CancelBuff(MapID, InstanceID, RoleID, 9999601) end local monsterhave = SGuildScriptData(InstanceID, 0, 0, 0) if monsterhave == nil then monsterhave = 0 end if tonumber(monsterhave) == 0 then for i = 0, 50 do SGuildScriptData(InstanceID, i, 1, 0) end local timerId = map.MapCreateColCreature(MapID, InstanceID, 6040320, 1, 1, 1, 1, "") -- таймер map.MapCreateColCreature(MapID, InstanceID, 6040331, 1358, 2903, 171, 1, "") -- телепорт map.MapCreateColCreature(MapID, InstanceID, 9010455, 1244, 3098, 155, 1, "") -- примат map.MapCreateColCreature(MapID, InstanceID, 9010456, 1246, 3110, 140, 1, "") -- кабан map.MapCreateColCreature(MapID, InstanceID, 9010456, 1253, 3089, 163, 1, "") -- кабан map.MapCreateColCreature(MapID, InstanceID, 9010454, 1258, 3090, 147, 1, "") -- лис map.MapCreateColCreature(MapID, InstanceID, 9010454, 1237, 3105, 158, 1, "") -- лис map.MapCreateColCreature(MapID, InstanceID, 9010455, 1241, 2917, 229, 1, "") -- примат map.MapCreateColCreature(MapID, InstanceID, 9010456, 1229, 2901, 236, 1, "") -- кабан map.MapCreateColCreature(MapID, InstanceID, 9010456, 1247, 2949, 221, 1, "") -- кабан map.MapCreateColCreature(MapID, InstanceID, 9010454, 1233, 2927, 224, 1, "") -- лис map.MapCreateColCreature(MapID, InstanceID, 9010454, 1248, 2937, 238, 1, "") -- лис map.MapCreateColCreature(MapID, InstanceID, 9010455, 1200, 3025, 180, 1, "") -- примат map.MapCreateColCreature(MapID, InstanceID, 9010456, 1198, 3023, 191, 1, "") -- кабан map.MapCreateColCreature(MapID, InstanceID, 9010456, 1197, 3106, 172, 1, "") -- кабан map.MapCreateColCreature(MapID, InstanceID, 9010454, 1211, 3023, 182, 1, "") -- лис map.MapCreateColCreature(MapID, InstanceID, 9010454, 1192, 3023, 188, 1, "") -- лис map.MapCreateColCreature(MapID, InstanceID, 9010455, 1160, 2842, 220, 1, "") -- примат map.MapCreateColCreature(MapID, InstanceID, 9010456, 1156, 2849, 215, 1, "") -- кабан map.MapCreateColCreature(MapID, InstanceID, 9010456, 1165, 2900, 215, 1, "") -- кабан map.MapCreateColCreature(MapID, InstanceID, 9010454, 1167, 2868, 224, 1, "") -- лис map.MapCreateColCreature(MapID, InstanceID, 9010454, 1158, 2813, 227, 1, "") -- лис map.MapCreateColCreature(MapID, InstanceID, 9010455, 1070, 1879, 300, 1, "") -- примат map.MapCreateColCreature(MapID, InstanceID, 9010456, 1065, 1834, 302, 1, "") -- кабан map.MapCreateColCreature(MapID, InstanceID, 9010456, 1065, 1871, 294, 1, "") -- кабан map.MapCreateColCreature(MapID, InstanceID, 9010454, 1076, 1948, 297, 1, "") -- лис map.MapCreateColCreature(MapID, InstanceID, 9010454, 1072, 1861, 306, 1, "") -- лис map.MapCreateColCreature(MapID, InstanceID, 9010455, 1020, 1436, 360, 1, "") -- примат map.MapCreateColCreature(MapID, InstanceID, 9010456, 1017, 1452, 354, 1, "") -- кабан map.MapCreateColCreature(MapID, InstanceID, 9010456, 1025, 1484, 356, 1, "") -- кабан map.MapCreateColCreature(MapID, InstanceID, 9010454, 1022, 1439, 365, 1, "") -- лис map.MapCreateColCreature(MapID, InstanceID, 9010454, 1015, 1408, 362, 1, "") -- лис map.MapCreateColCreature(MapID, InstanceID, 9010455, 970, 1446, 370, 1, "") -- примат map.MapCreateColCreature(MapID, InstanceID, 9010456, 962, 1474, 367, 1, "") -- кабан map.MapCreateColCreature(MapID, InstanceID, 9010456, 971, 1388, 362, 1, "") -- кабан map.MapCreateColCreature(MapID, InstanceID, 9010454, 976, 1446, 370, 1, "") -- лис map.MapCreateColCreature(MapID, InstanceID, 9010454, 964, 1535, 374, 1, "") -- лис map.MapCreateColCreature(MapID, InstanceID, 9010455, 890, 1024, 300, 1, "") -- примат map.MapCreateColCreature(MapID, InstanceID, 9010456, 883, 1024, 296, 1, "") -- кабан map.MapCreateColCreature(MapID, InstanceID, 9010456, 892, 1024, 293, 1, "") -- кабан map.MapCreateColCreature(MapID, InstanceID, 9010454, 898, 1029, 300, 1, "") -- лис map.MapCreateColCreature(MapID, InstanceID, 9010454, 888, 1024, 306, 1, "") -- лис SGuildScriptData(InstanceID, 1, 1, timerId) SGuildScriptData(InstanceID, 0, 1, 1) end local ProtectorLevel = 0 local LastTime = -1 local rawValue1, rawValue2 = guild.GetGuildValue(GuildID) ProtectorLevel, LastTime = ParseGuildProtectorValues(rawValue1, rawValue2) local CurTime = aux.GetCurrentDWORDTime() local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 16, 28) msg.AddMsgEvent(MsgID, 16, (LastTime + 14400) - CurTime) msg.DispatchRoleMsgEvent(RoleID, MsgID) end aux.RegisterMapEvent("g01", 2, "g01_OnPlayerEnter") function g01_OnInit(MapID, InstanceID, CreatureID, CreatureTypeID) end aux.RegisterMapEvent("g01", 0, "g01_OnInit") function c6040331_OnTalk(MapID, InstanceID, TargetID, TargetTypeID, RoleID, TalkIndex) local Boss1State = SGuildScriptData(InstanceID, 2, 0, 0) local Boss2State = SGuildScriptData(InstanceID, 3, 0, 0) local Boss3State = SGuildScriptData(InstanceID, 4, 0, 0) local Boss4State = SGuildScriptData(InstanceID, 5, 0, 0) if TalkIndex == -1 then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 20, 910010) msg.AddMsgEvent(MsgID, 24, TargetID) if Boss1State == 1 then msg.AddMsgEvent(MsgID, 21, 4) msg.AddMsgEvent(MsgID, 1, 910011) if Boss2State == 1 then msg.AddMsgEvent(MsgID, 21, 5) msg.AddMsgEvent(MsgID, 1, 910012) if Boss3State == 1 then msg.AddMsgEvent(MsgID, 21, 6) msg.AddMsgEvent(MsgID, 1, 910013) if Boss4State == 1 then msg.AddMsgEvent(MsgID, 21, 7) msg.AddMsgEvent(MsgID, 1, 910014) end end end end msg.AddMsgEvent(MsgID, 21, 99) msg.AddMsgEvent(MsgID, 1, 100002) msg.DispatchRoleMsgEvent(RoleID, MsgID) elseif TalkIndex == 4 and Boss1State == 1 then role.RoleGotoNewMap(MapID, InstanceID, RoleID, MapID, 770, 1079, 263) elseif TalkIndex == 5 and Boss2State == 1 then role.RoleGotoNewMap(MapID, InstanceID, RoleID, MapID, 344, 6246, 770) elseif TalkIndex == 6 and Boss3State == 1 then role.RoleGotoNewMap(MapID, InstanceID, RoleID, MapID, 1205, 5848, 614) elseif TalkIndex == 7 and Boss4State == 1 then role.RoleGotoNewMap(MapID, InstanceID, RoleID, MapID, 745, 454, 1248) end end aux.RegisterCreatureEvent(6040331, 7, "c6040331_OnTalk") function firstGuildMonsters_OnDie(MapID, InstanceID, TargetID, TargetTypeID, RoleID) local monsterKilled = SGuildScriptData(InstanceID, 6, 0, 0) monsterKilled = tonumber(monsterKilled) if monsterKilled == nil then monsterKilled = 0 end if monsterKilled == 34 then map.MapCreateColCreature(MapID, InstanceID, 9010466, 770, 1079, 263, 1, "") end monsterKilled = monsterKilled + 1 SGuildScriptData(InstanceID, 6, 1, monsterKilled) local RoleTbl = map.GetMapAllRoleID(MapID, InstanceID) local Players = GetRandomPlayers(MapID, InstanceID) questgetitemdrop(MapID, InstanceID, TargetID, TargetTypeID, Players, 1) end aux.RegisterCreatureEvent(9010454, 4, "firstGuildMonsters_OnDie") aux.RegisterCreatureEvent(9010455, 4, "firstGuildMonsters_OnDie") aux.RegisterCreatureEvent(9010456, 4, "firstGuildMonsters_OnDie") function c9010466_OnDie(MapID, InstanceID, TargetID, TargetTypeID, RoleID) map.MapCreateColCreature(MapID, InstanceID, 9010458, 560, 1761, 190, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010457, 551, 1793, 187, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010457, 562, 1772, 182, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010459, 567, 1735, 192, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010459, 558, 1760, 195, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010458, 500, 2139, 190, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010457, 493, 2185, 190, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010457, 497, 2151, 183, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010459, 508, 2077, 186, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010459, 501, 2139, 195, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010458, 425, 2484, 205, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010457, 419, 2496, 208, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010457, 422, 2514, 200, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010459, 432, 2470, 202, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010459, 426, 2472, 211, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010458, 365, 2621, 250, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010457, 357, 2649, 255, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010457, 361, 2640, 244, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010459, 370, 2616, 243, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010459, 371, 2598, 255, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010458, 310, 3071, 320, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010457, 309, 3129, 326, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010457, 300, 3037, 318, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010459, 311, 2983, 313, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010459, 315, 3085, 320, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010458, 280, 3813, 390, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010457, 276, 3840, 396, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010457, 276, 3820, 384, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010459, 284, 3785, 386, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010459, 286, 3796, 395, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010458, 260, 4061, 455, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010457, 261, 4101, 461, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010457, 252, 4024, 459, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010459, 257, 4020, 448, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010459, 267, 4087, 452, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010458, 290, 4595, 510, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010457, 292, 4672, 516, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010457, 282, 4648, 513, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010459, 288, 4538, 505, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010459, 295, 4577, 507, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010458, 310, 5847, 625, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010457, 310, 5892, 631, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010457, 302, 5822, 625, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010459, 308, 5782, 617, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010459, 319, 5854, 623, 1, "") local RoleTbl = cre.GetAroundRole(MapID, InstanceID, TargetID, 100000, 100000) for u, v in pairs(RoleTbl) do if u ~= nil then if role.IsRoleHaveQuest(MapID, InstanceID, v, 30013) and role.GetRoleItemNum(v, 6600981) < 1 then role.QuestAddRoleItem(MapID, InstanceID, v, -1, 6600981, 1, 30013, 420) end end end if math.random(1, 2) == 1 then RoleTbl = map.GetMapAllRoleID(MapID, InstanceID) local LegendaryFragRole = math.random(#RoleTbl) local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 100, 910015) msg.AddMsgEvent(MsgID, 2, RoleTbl[LegendaryFragRole]) msg.DispatchMapMsgEvent(MsgID, MapID, InstanceID) role.AddRoleItem(MapID, InstanceID, RoleTbl[LegendaryFragRole], 6600957, 1, -1, 8, 420) end SGuildScriptData(InstanceID, 2, 1, 1) questgetitemdrop(MapID, InstanceID, TargetID, TargetTypeID, RoleID, 5) end aux.RegisterCreatureEvent(9010466, 4, "c9010466_OnDie") function secondGuildMonsters_OnDie(MapID, InstanceID, TargetID, TargetTypeID, RoleID) local monsterKilled = SGuildScriptData(InstanceID, 7, 0, 0) monsterKilled = tonumber(monsterKilled) if monsterKilled == nil then monsterKilled = 0 end if monsterKilled == 39 then map.MapCreateColCreature(MapID, InstanceID, 9010470, 343, 6246, 771, 1, "") end monsterKilled = monsterKilled + 1 SGuildScriptData(InstanceID, 7, 1, monsterKilled) local RoleTbl = map.GetMapAllRoleID(MapID, InstanceID) local Players = GetRandomPlayers(MapID, InstanceID) questgetitemdrop(MapID, InstanceID, TargetID, TargetTypeID, Players, 2) end aux.RegisterCreatureEvent(9010457, 4, "secondGuildMonsters_OnDie") aux.RegisterCreatureEvent(9010458, 4, "secondGuildMonsters_OnDie") aux.RegisterCreatureEvent(9010459, 4, "secondGuildMonsters_OnDie") function c9010470_OnDie(MapID, InstanceID, TargetID, TargetTypeID, RoleID) map.MapCreateColCreature(MapID, InstanceID, 9010461, 580, 5927, 770, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010460, 583, 5897, 778, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010460, 573, 5970, 770, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010462, 578, 5982, 762, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010462, 588, 5869, 769, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010461, 645, 5397, 765, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010460, 652, 5321, 763, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010460, 648, 5404, 771, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010462, 640, 5443, 766, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010462, 643, 5409, 759, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010461, 737, 4404, 741, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010460, 745, 4337, 736, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010460, 740, 4428, 749, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010462, 728, 4483, 743, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010462, 735, 4463, 733, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010461, 795, 4183, 745, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010460, 802, 4193, 744, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010460, 797, 4184, 751, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010462, 788, 4182, 747, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010462, 793, 4182, 739, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010461, 820, 4116, 690, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010460, 825, 4111, 688, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010460, 822, 4146, 694, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010462, 811, 4110, 690, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010462, 818, 4125, 684, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010461, 870, 4320, 700, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010460, 875, 4346, 698, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010460, 871, 4326, 706, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010462, 863, 4296, 701, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010462, 868, 4390, 694, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010461, 991, 5379, 672, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010460, 1000, 5437, 671, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010460, 991, 5398, 681, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010462, 981, 5311, 673, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010462, 992, 5416, 662, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010461, 1080, 5756, 640, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010460, 1087, 5761, 638, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010460, 1081, 5759, 647, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010462, 1072, 5756, 642, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010462, 1078, 5756, 632, 1, "") local RoleTbl = cre.GetAroundRole(MapID, InstanceID, TargetID, 100000, 100000) for u, v in pairs(RoleTbl) do if u ~= nil then if role.IsRoleHaveQuest(MapID, InstanceID, v, 30013) and role.GetRoleItemNum(v, 6600982) < 1 then role.QuestAddRoleItem(MapID, InstanceID, v, -1, 6600982, 1, 30013, 420) end end end RoleTbl = map.GetMapAllRoleID(MapID, InstanceID) local LegendaryFragRole = math.random(#RoleTbl) local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 100, 910015) msg.AddMsgEvent(MsgID, 2, RoleTbl[LegendaryFragRole]) msg.DispatchMapMsgEvent(MsgID, MapID, InstanceID) role.AddRoleItem(MapID, InstanceID, RoleTbl[LegendaryFragRole], 6600957, 1, -1, 8, 420) questgetitemdrop(MapID, InstanceID, TargetID, TargetTypeID, RoleID, 6) SGuildScriptData(InstanceID, 3, 1, 1) end aux.RegisterCreatureEvent(9010470, 4, "c9010470_OnDie") function thirdGuildMonsters_OnDie(MapID, InstanceID, TargetID, TargetTypeID, RoleID) local monsterKilled = SGuildScriptData(InstanceID, 8, 0, 0) monsterKilled = tonumber(monsterKilled) if monsterKilled == nil then monsterKilled = 0 end if monsterKilled == 34 then map.MapCreateColCreature(MapID, InstanceID, 9010472, 1206, 5848, 615, 1, "") end monsterKilled = monsterKilled + 1 SGuildScriptData(InstanceID, 8, 1, monsterKilled) local RoleTbl = map.GetMapAllRoleID(MapID, InstanceID) local Players = GetRandomPlayers(MapID, InstanceID) questgetitemdrop(MapID, InstanceID, TargetID, TargetTypeID, Players, 3) end aux.RegisterCreatureEvent(9010460, 4, "thirdGuildMonsters_OnDie") aux.RegisterCreatureEvent(9010461, 4, "thirdGuildMonsters_OnDie") aux.RegisterCreatureEvent(9010462, 4, "thirdGuildMonsters_OnDie") function c9010472_OnDie(MapID, InstanceID, TargetID, TargetTypeID, RoleID) map.MapCreateColCreature(MapID, InstanceID, 9010464, 1220, 5628, 800, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010463, 1219, 5613, 806, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010463, 1213, 5626, 800, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010465, 1220, 5674, 793, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010465, 1225, 5631, 800, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010464, 1200, 5605, 845, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010463, 1198, 5599, 849, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010463, 1194, 5665, 844, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010465, 1200, 5626, 839, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010465, 1207, 5541, 845, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010464, 1206, 4756, 921, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010463, 1201, 4842, 919, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010463, 1207, 4853, 914, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010465, 1212, 4762, 920, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010465, 1204, 4668, 928, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010464, 1215, 4069, 990, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010463, 1213, 4029, 995, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010463, 1208, 4069, 989, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010465, 1214, 4128, 983, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010465, 1220, 4073, 990, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010464, 1160, 3348, 1040, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010463, 1154, 3273, 1046, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010463, 1154, 3310, 1036, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010465, 1163, 3396, 1035, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010465, 1165, 3376, 1045, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010464, 1110, 3069, 1041, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010463, 1105, 3066, 1048, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010463, 1102, 3069, 1037, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010465, 1118, 3073, 1038, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010465, 1114, 3068, 1046, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010464, 1040, 1945, 1180, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010463, 1033, 1866, 1187, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010463, 1034, 1926, 1178, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010465, 1046, 2023, 1174, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010465, 1045, 1916, 1185, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010464, 910, 730, 1200, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010463, 897, 620, 1201, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010463, 908, 724, 1194, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010465, 915, 792, 1199, 1, "") map.MapCreateColCreature(MapID, InstanceID, 9010465, 910, 729, 1207, 1, "") local RoleTbl = cre.GetAroundRole(MapID, InstanceID, TargetID, 100000, 100000) for u, v in pairs(RoleTbl) do if u ~= nil then if role.IsRoleHaveQuest(MapID, InstanceID, v, 30013) and role.GetRoleItemNum(v, 6600983) < 1 then role.QuestAddRoleItem(MapID, InstanceID, v, -1, 6600983, 1, 30013, 420) end end end RoleTbl = map.GetMapAllRoleID(MapID, InstanceID) local LegendaryFragRole = math.random(#RoleTbl) local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 100, 910015) msg.AddMsgEvent(MsgID, 2, RoleTbl[LegendaryFragRole]) msg.DispatchMapMsgEvent(MsgID, MapID, InstanceID) role.AddRoleItem(MapID, InstanceID, RoleTbl[LegendaryFragRole], 6600957, 1, -1, 8, 420) questgetitemdrop(MapID, InstanceID, TargetID, TargetTypeID, RoleID, 7) SGuildScriptData(InstanceID, 4, 1, 1) end aux.RegisterCreatureEvent(9010472, 4, "c9010472_OnDie") function fourthGuildMonsters_OnDie(MapID, InstanceID, TargetID, TargetTypeID, RoleID) local monsterKilled = SGuildScriptData(InstanceID, 9, 0, 0) monsterKilled = tonumber(monsterKilled) if monsterKilled == nil then monsterKilled = 0 end if monsterKilled == 34 then map.MapCreateColCreature(MapID, InstanceID, 9010475, 745, 454, 1247, 1, "") end monsterKilled = monsterKilled + 1 SGuildScriptData(InstanceID, 9, 1, monsterKilled) local RoleTbl = map.GetMapAllRoleID(MapID, InstanceID) local Players = GetRandomPlayers(MapID, InstanceID) questgetitemdrop(MapID, InstanceID, TargetID, TargetTypeID, Players, 4) end aux.RegisterCreatureEvent(9010463, 4, "fourthGuildMonsters_OnDie") aux.RegisterCreatureEvent(9010464, 4, "fourthGuildMonsters_OnDie") aux.RegisterCreatureEvent(9010465, 4, "fourthGuildMonsters_OnDie") function c9010475_OnDie(MapID, InstanceID, TargetID, TargetTypeID, RoleID) local RoleTbl = cre.GetAroundRole(MapID, InstanceID, TargetID, 100000, 100000) for u, v in pairs(RoleTbl) do if u ~= nil then if role.IsRoleHaveQuest(MapID, InstanceID, v, 30013) and role.GetRoleItemNum(v, 6600984) < 1 then role.QuestAddRoleItem(MapID, InstanceID, v, -1, 6600984, 1, 30013, 420) end end end RoleTbl = map.GetMapAllRoleID(MapID, InstanceID) local LegendaryFragRole = math.random(#RoleTbl) local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 100, 910015) msg.AddMsgEvent(MsgID, 2, RoleTbl[LegendaryFragRole]) msg.DispatchMapMsgEvent(MsgID, MapID, InstanceID) role.AddRoleItem(MapID, InstanceID, RoleTbl[LegendaryFragRole], 6600957, 1, -1, 8, 420) local x, y, z = unit.GetPosition(MapID, InstanceID, TargetID) map.MapCreateCreature(MapID, InstanceID, 6040321, x, y, z) questgetitemdrop(MapID, InstanceID, TargetID, TargetTypeID, RoleID, 8) SGuildScriptData(InstanceID, 5, 1, 1) end aux.RegisterCreatureEvent(9010475, 4, "c9010475_OnDie") function c6040320_OnDisappear(MapID, InstanceID, TargetID, TargetTypeID) map.DeleteInstance(MapID, InstanceID) end aux.RegisterCreatureEvent(6040320, 13, "c6040320_OnDisappear") function c6040321_OnTalk(MapID, InstanceID, TargetID, TargetTypeID, RoleID, TalkIndex) if TalkIndex == -1 then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 20, 950912) -- Текст диалога msg.AddMsgEvent(MsgID, 1, 950913) -- Текст опции 1 msg.DispatchRoleMsgEvent(RoleID, MsgID) elseif TalkIndex == 1 then -- Телепортировать игрока в определенную точку role.RoleGotoNewMap(MapID, InstanceID, RoleID, 3424073512, 606, 23510, 589) end end aux.RegisterCreatureEvent(6040321, 7, "c6040321_OnTalk")