-- Исправленные ошибки и добавлены комментарии на русском языке local hram = {} hram[60] = 105000 hram[61] = 100000 hram[62] = 105000 hram[63] = 100000 hram[64] = 100000 hram[65] = 105000 hram[66] = 100000 hram[67] = 100000 hram[68] = 105000 hram[69] = 100000 hram[70] = 105000 hram[71] = 100000 hram[72] = 105000 hram[73] = 100000 hram[74] = 105000 hram[75] = 100000 hram[76] = 105000 hram[77] = 400000 hram[78] = 405000 hram[79] = 410000 hram[80] = 415000 hram[81] = 420000 hram[82] = 425000 hram[83] = 430000 hram[84] = 435000 hram[85] = 440000 hram[86] = 445000 hram[87] = 450000 hram[88] = 455000 hram[89] = 460000 hram[90] = 465000 hram[91] = 470000 hram[92] = 475000 hram[93] = 480000 hram[94] = 485000 hram[95] = 490000 hram[96] = 495000 hram[97] = 800000 hram[98] = 805000 hram[99] = 810000 hram[100] = 1015000 hram[101] = 1020000 hram[102] = 1025000 hram[103] = 1030000 hram[104] = 1035000 hram[105] = 1040000 hram[106] = 1045000 hram[107] = 1050000 hram[108] = 1055000 hram[109] = 1060000 hram[110] = 1465000 hram[111] = 1470000 hram[112] = 1475000 hram[113] = 1480000 hram[114] = 1485000 hram[115] = 1490000 hram[116] = 1495000 hram[117] = 1400000 hram[118] = 1405000 hram[119] = 1410000 hram[120] = 1815000 hram[121] = 1820000 hram[122] = 1825000 hram[123] = 1830000 hram[124] = 1835000 hram[125] = 1840000 hram[126] = 1845000 hram[127] = 1850000 hram[128] = 1855000 hram[129] = 1860000 hram[130] = 2265000 hram[131] = 2270000 hram[132] = 2275000 hram[133] = 2280000 hram[134] = 2285000 hram[135] = 2290000 hram[136] = 2295000 hram[137] = 2200000 hram[138] = 2205000 hram[139] = 2210000 hram[140] = 2615000 hram[141] = 2620000 hram[142] = 2625000 hram[143] = 2630000 hram[144] = 2635000 hram[145] = 2640000 hram[146] = 2645000 hram[147] = 2650000 hram[148] = 2655000 hram[149] = 2660000 hram[150] = 2665000 local drop_hram = {4530102, 4820180, 3020140, 4700229, 4700230, 3070019} function Hram_OnStart(actID) local Hram_kv = map.MapCreateColCreature(3424073512, -1, 9010356, 550, 22980, 321, 1) local Hram_kv1 = map.MapCreateColCreature(3424073512, -1, 9010357, 550, 22980, 329, 1) map.SetMapScriptData(3424073512, -1, 1, 13, Hram_kv) map.SetMapScriptData(3424073512, -1, 1, 14, Hram_kv1) map.CreateInstance(201103695, 1) end aux.RegisterActEvent(1174, 2, "Hram_OnStart") aux.RegisterActEvent(1175, 2, "Hram_OnStart") aux.RegisterActEvent(1176, 2, "Hram_OnStart") aux.RegisterActEvent(1177, 2, "Hram_OnStart") function Hram_OnEnd(actID) local Hram_kv = map.GetMapScriptData(3424073512, -1, 1, 13) local Hram_kv1 = map.GetMapScriptData(3424073512, -1, 1, 14) map.MapDeleteCreature(3424073512, -1, Hram_kv) map.MapDeleteCreature(3424073512, -1, Hram_kv1) -- Получаем всех игроков в инстансе и выкидываем их перед удалением local RoleTbl = map.GetMapAllRoleID(201103695, 1) if RoleTbl ~= nil then for k, v in pairs(RoleTbl) do if v ~= nil and v ~= 0 then -- Проверяем, что игрок действительно в этом инстансе local playerMap, playerInstance = role.GetRoleMapID(v) if playerMap == 201103695 and playerInstance == 1 then -- Выкидываем на безопасную карту выхода role.RoleGotoNewMap(201103695, 1, v, 3424073512, 610, 23094, 669) end end end end map.DeleteInstance(201103695, 1) end aux.RegisterActEvent(1174, 3, "Hram_OnEnd") aux.RegisterActEvent(1175, 3, "Hram_OnEnd") aux.RegisterActEvent(1176, 3, "Hram_OnEnd") aux.RegisterActEvent(1177, 3, "Hram_OnEnd") function c9010358_Die(MapID, InstanceID, CreatureID, CreatureTypeID, KillerID) if role.IsRoleHaveBuff(MapID, InstanceID, KillerID, 98129) then local level = role.GetRoleLevel(MapID, InstanceID, KillerID) local a = math.random(1000) local b = math.random(#drop_hram) if act.GetActIsStart(1174) == true or act.GetActIsStart(1175) == true or act.GetActIsStart(1176) == true or act.GetActIsStart(1177) == true then role.AddRoleExp(MapID, -1, KillerID, hram[level]) if MapID == 201103695 then if role.GetTrialState(KillerID, 6052) == 0 then role.OpenTrain(KillerID, 6052) end if AchievementTrial_AddProgress then AchievementTrial_AddProgress(KillerID, 6052, 1) end end if a >= 500 and a <= 570 then role.AddRoleItem(MapID, InstanceID, KillerID, drop_hram[b], 1, -1, 8, 420) end end end end aux.RegisterCreatureEvent(9010358, 4, "c9010358_Die") aux.RegisterCreatureEvent(9010359, 4, "c9010358_Die") aux.RegisterCreatureEvent(9010360, 4, "c9010358_Die") aux.RegisterCreatureEvent(9010361, 4, "c9010358_Die") aux.RegisterCreatureEvent(9010362, 4, "c9010358_Die") function hb01_PlayerEnter(MapID, InstanceID, RoleID) local Hour = tonumber(os.date("%H")) local Min = tonumber(os.date("%M")) local Second = tonumber(os.date("%S")) local leftSec = (59 - Min) * 60 - Second local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 16, 28) -- Сообщение о входе игрока msg.AddMsgEvent(MsgID, 16, leftSec) -- Оставшееся время msg.DispatchRoleMsgEvent(RoleID, MsgID) end aux.RegisterMapEvent("hb01", 2, "hb01_PlayerEnter")