function EMo_OnDie(MapID, InstanceID, TargetID, TargetTypeID, RoleID) local x = map.GetMapScriptData(MapID, InstanceID, 1, 1) if x == nil then x = 0 end -- Жесткое ограничение: максимум 30 убийств (10 сундуков) if x >= 30 then return -- Прекращаем дальнейший подсчет end x = x + 1 map.SetMapScriptData(MapID, InstanceID, 1, 1, x) local baoxiangID = 0 local d = math.random(2) if d == 1 then baoxiangID = 1086224 else baoxiangID = 1086226 end if x == 3 then local a = math.random(12) local b = math.random(12) local c = math.random(2) local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 101, 207412) msg.AddMsgEvent(MsgID, 9, 1) msg.DispatchMapMsgEvent(MsgID, MapID, InstanceID) if c == 1 then map.MapCreateCreature(MapID, InstanceID, baoxiangID, emogongdian_tabl[a][2], emogongdian_tabl[a][3], emogongdian_tabl[a][4]) else map.MapCreateCreature(MapID, InstanceID, baoxiangID, emogongdian_tabl[b][2], emogongdian_tabl[b][3], emogongdian_tabl[b][4]) end map.MapCreateCreature(MapID, InstanceID, 1086071, emogongdian_tabl[a][2], emogongdian_tabl[a][3], emogongdian_tabl[a][4]) map.MapCreateCreature(MapID, InstanceID, 1086072, emogongdian_tabl[b][2], emogongdian_tabl[b][3], emogongdian_tabl[b][4]) elseif x == 6 then local a = math.random(12) local b = math.random(12) local c = math.random(2) local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 101, 207412) msg.AddMsgEvent(MsgID, 9, 2) msg.DispatchMapMsgEvent(MsgID, MapID, InstanceID) if c == 1 then map.MapCreateCreature(MapID, InstanceID, baoxiangID, emogongdian_tabl[a][2], emogongdian_tabl[a][3], emogongdian_tabl[a][4]) else map.MapCreateCreature(MapID, InstanceID, baoxiangID, emogongdian_tabl[b][2], emogongdian_tabl[b][3], emogongdian_tabl[b][4]) end map.MapCreateCreature(MapID, InstanceID, 1086073, emogongdian_tabl[a][2], emogongdian_tabl[a][3], emogongdian_tabl[a][4]) map.MapCreateCreature(MapID, InstanceID, 1086074, emogongdian_tabl[b][2], emogongdian_tabl[b][3], emogongdian_tabl[b][4]) elseif x == 9 then local a = math.random(12) local b = math.random(12) local c = math.random(2) local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 101, 207412) msg.AddMsgEvent(MsgID, 9, 3) msg.DispatchMapMsgEvent(MsgID, MapID, InstanceID) if c == 1 then map.MapCreateCreature(MapID, InstanceID, baoxiangID, emogongdian_tabl[a][2], emogongdian_tabl[a][3], emogongdian_tabl[a][4]) else map.MapCreateCreature(MapID, InstanceID, baoxiangID, emogongdian_tabl[b][2], emogongdian_tabl[b][3], emogongdian_tabl[b][4]) end map.MapCreateCreature(MapID, InstanceID, 1086075, emogongdian_tabl[a][2], emogongdian_tabl[a][3], emogongdian_tabl[a][4]) map.MapCreateCreature(MapID, InstanceID, 1086076, emogongdian_tabl[b][2], emogongdian_tabl[b][3], emogongdian_tabl[b][4]) elseif x == 12 then local a = math.random(12) local b = math.random(12) local c = math.random(2) local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 101, 207412) msg.AddMsgEvent(MsgID, 9, 4) msg.DispatchMapMsgEvent(MsgID, MapID, InstanceID) if c == 1 then map.MapCreateCreature(MapID, InstanceID, baoxiangID, emogongdian_tabl[a][2], emogongdian_tabl[a][3], emogongdian_tabl[a][4]) else map.MapCreateCreature(MapID, InstanceID, baoxiangID, emogongdian_tabl[b][2], emogongdian_tabl[b][3], emogongdian_tabl[b][4]) end map.MapCreateCreature(MapID, InstanceID, 1086077, emogongdian_tabl[a][2], emogongdian_tabl[a][3], emogongdian_tabl[a][4]) map.MapCreateCreature(MapID, InstanceID, 1086078, emogongdian_tabl[b][2], emogongdian_tabl[b][3], emogongdian_tabl[b][4]) elseif x == 15 then local a = math.random(12) local b = math.random(12) local c = math.random(2) local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 101, 207412) msg.AddMsgEvent(MsgID, 9, 5) msg.DispatchMapMsgEvent(MsgID, MapID, InstanceID) if c == 1 then map.MapCreateCreature(MapID, InstanceID, baoxiangID, emogongdian_tabl[a][2], emogongdian_tabl[a][3], emogongdian_tabl[a][4]) else map.MapCreateCreature(MapID, InstanceID, baoxiangID, emogongdian_tabl[b][2], emogongdian_tabl[b][3], emogongdian_tabl[b][4]) end map.MapCreateCreature(MapID, InstanceID, 1086079, emogongdian_tabl[a][2], emogongdian_tabl[a][3], emogongdian_tabl[a][4]) map.MapCreateCreature(MapID, InstanceID, 1086080, emogongdian_tabl[b][2], emogongdian_tabl[b][3], emogongdian_tabl[b][4]) elseif x == 18 then local a = math.random(12) local b = math.random(12) local c = math.random(2) local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 101, 207412) msg.AddMsgEvent(MsgID, 9, 6) msg.DispatchMapMsgEvent(MsgID, MapID, InstanceID) if c == 1 then map.MapCreateCreature(MapID, InstanceID, baoxiangID, emogongdian_tabl[a][2], emogongdian_tabl[a][3], emogongdian_tabl[a][4]) else map.MapCreateCreature(MapID, InstanceID, baoxiangID, emogongdian_tabl[b][2], emogongdian_tabl[b][3], emogongdian_tabl[b][4]) end map.MapCreateCreature(MapID, InstanceID, 1086081, emogongdian_tabl[a][2], emogongdian_tabl[a][3], emogongdian_tabl[a][4]) map.MapCreateCreature(MapID, InstanceID, 1086082, emogongdian_tabl[b][2], emogongdian_tabl[b][3], emogongdian_tabl[b][4]) elseif x == 21 then local a = math.random(12) local b = math.random(12) local c = math.random(2) local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 101, 207412) msg.AddMsgEvent(MsgID, 9, 7) msg.DispatchMapMsgEvent(MsgID, MapID, InstanceID) if c == 1 then map.MapCreateCreature(MapID, InstanceID, baoxiangID, emogongdian_tabl[a][2], emogongdian_tabl[a][3], emogongdian_tabl[a][4]) else map.MapCreateCreature(MapID, InstanceID, baoxiangID, emogongdian_tabl[b][2], emogongdian_tabl[b][3], emogongdian_tabl[b][4]) end map.MapCreateCreature(MapID, InstanceID, 1086083, emogongdian_tabl[a][2], emogongdian_tabl[a][3], emogongdian_tabl[a][4]) map.MapCreateCreature(MapID, InstanceID, 1086084, emogongdian_tabl[b][2], emogongdian_tabl[b][3], emogongdian_tabl[b][4]) elseif x == 24 then local a = math.random(12) local b = math.random(12) local c = math.random(2) local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 101, 207412) msg.AddMsgEvent(MsgID, 9, 8) msg.DispatchMapMsgEvent(MsgID, MapID, InstanceID) if c == 1 then map.MapCreateCreature(MapID, InstanceID, baoxiangID, emogongdian_tabl[a][2], emogongdian_tabl[a][3], emogongdian_tabl[a][4]) else map.MapCreateCreature(MapID, InstanceID, baoxiangID, emogongdian_tabl[b][2], emogongdian_tabl[b][3], emogongdian_tabl[b][4]) end map.MapCreateCreature(MapID, InstanceID, 1086085, emogongdian_tabl[a][2], emogongdian_tabl[a][3], emogongdian_tabl[a][4]) map.MapCreateCreature(MapID, InstanceID, 1086086, emogongdian_tabl[b][2], emogongdian_tabl[b][3], emogongdian_tabl[b][4]) elseif x == 27 then local a = math.random(12) local b = math.random(12) local c = math.random(2) local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 101, 207412) msg.AddMsgEvent(MsgID, 9, 9) msg.DispatchMapMsgEvent(MsgID, MapID, InstanceID) if c == 1 then map.MapCreateCreature(MapID, InstanceID, baoxiangID, emogongdian_tabl[a][2], emogongdian_tabl[a][3], emogongdian_tabl[a][4]) else map.MapCreateCreature(MapID, InstanceID, baoxiangID, emogongdian_tabl[b][2], emogongdian_tabl[b][3], emogongdian_tabl[b][4]) end map.MapCreateCreature(MapID, InstanceID, 1086087, emogongdian_tabl[a][2], emogongdian_tabl[a][3], emogongdian_tabl[a][4]) map.MapCreateCreature(MapID, InstanceID, 1086088, emogongdian_tabl[b][2], emogongdian_tabl[b][3], emogongdian_tabl[b][4]) elseif x == 30 then local a = math.random(12) local b = math.random(12) local c = math.random(2) local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 101, 207412) msg.AddMsgEvent(MsgID, 9, 10) msg.DispatchMapMsgEvent(MsgID, MapID, InstanceID) if c == 1 then map.MapCreateCreature(MapID, InstanceID, baoxiangID, emogongdian_tabl[a][2], emogongdian_tabl[a][3], emogongdian_tabl[a][4]) else map.MapCreateCreature(MapID, InstanceID, baoxiangID, emogongdian_tabl[b][2], emogongdian_tabl[b][3], emogongdian_tabl[b][4]) end map.MapCreateCreature(MapID, InstanceID, 1086089, emogongdian_tabl[a][2], emogongdian_tabl[a][3], emogongdian_tabl[a][4]) map.MapCreateCreature(MapID, InstanceID, 1086090, emogongdian_tabl[b][2], emogongdian_tabl[b][3], emogongdian_tabl[b][4]) end end aux.RegisterCreatureEvent(1086197, 4, "EMo_OnDie") aux.RegisterCreatureEvent(1086198, 4, "EMo_OnDie") aux.RegisterCreatureEvent(1086199, 4, "EMo_OnDie") aux.RegisterCreatureEvent(1086200, 4, "EMo_OnDie") aux.RegisterCreatureEvent(1086201, 4, "EMo_OnDie") aux.RegisterCreatureEvent(1086202, 4, "EMo_OnDie") aux.RegisterCreatureEvent(1086203, 4, "EMo_OnDie") aux.RegisterCreatureEvent(1086204, 4, "EMo_OnDie") aux.RegisterCreatureEvent(1086205, 4, "EMo_OnDie") aux.RegisterCreatureEvent(1086206, 4, "EMo_OnDie") aux.RegisterCreatureEvent(1086207, 4, "EMo_OnDie") aux.RegisterCreatureEvent(1086208, 4, "EMo_OnDie") aux.RegisterCreatureEvent(1086209, 4, "EMo_OnDie") aux.RegisterCreatureEvent(1086210, 4, "EMo_OnDie") aux.RegisterCreatureEvent(1086211, 4, "EMo_OnDie") aux.RegisterCreatureEvent(1086212, 4, "EMo_OnDie") function c1086089_OnDie(MapID, InstanceID, TargetID, TargetTypeID, RoleID) map.SetMapScriptData(MapID, InstanceID, 1, 3, 1) if map.GetMapScriptData(MapID, InstanceID, 1, 3) == 1 then local x1, y1, z1 = unit.GetPosition(MapID, InstanceID, RoleID) end end aux.RegisterCreatureEvent(1086089, 4, "c1086089_OnDie") aux.RegisterCreatureEvent(1086090, 4, "c1086089_OnDie")