--雪人调查事件 function C6010047_OnInVest(MapID, InstanceID, CreatureID, CreatureTypeID, RoleID) --检测玩家是否有五色石,如果有则直接扣除 local monsterHP = cre.GetCreatureScriptData(MapID, InstanceID, CreatureID, 1, 0) local nRet = 0 --判断背包空闲空间是否足够 local FreeSize = role.GetBagFreeSize(RoleID) if FreeSize > 0 then nRet = role.RemoveFromRole(MapID, InstanceID, RoleID, 4080079, 1, 1000) if 0 == nRet then local i = math.random(100) if i<2 then role.AddRoleItem(MapID, InstanceID, RoleID, 3110001, 1, -1, 8, 102) elseif i>2 and i<4 then role.AddRoleItem(MapID, InstanceID, RoleID, 3110008, 1, -1, 8, 102) elseif i>4 and i<6 then role.AddRoleItem(MapID, InstanceID, RoleID, 3110013, 1, -1, 8, 102) end local level = role.GetRoleLevel(MapID, InstanceID, RoleID) if level == 30 then role.AddRoleExp(MapID, InstanceID, RoleID, 780*5)--为原来的5倍 elseif level == 31 then role.AddRoleExp(MapID, InstanceID, RoleID, 810*5) elseif level == 32 then role.AddRoleExp(MapID, InstanceID, RoleID, 870*5) elseif level == 33 then role.AddRoleExp(MapID, InstanceID, RoleID, 900*5) elseif level == 34 then role.AddRoleExp(MapID, InstanceID, RoleID, 960*5) elseif level == 35 then role.AddRoleExp(MapID, InstanceID, RoleID, 1170*5) elseif level == 36 then role.AddRoleExp(MapID, InstanceID, RoleID, 1230*5) elseif level == 37 then role.AddRoleExp(MapID, InstanceID, RoleID, 1470*5) elseif level == 38 then role.AddRoleExp(MapID, InstanceID, RoleID, 1560*5) elseif level == 39 then role.AddRoleExp(MapID, InstanceID, RoleID, 1620*5) elseif level == 40 then role.AddRoleExp(MapID, InstanceID, RoleID, 1890*5) elseif level == 41 then role.AddRoleExp(MapID, InstanceID, RoleID, 2010*5) elseif level == 42 then role.AddRoleExp(MapID, InstanceID, RoleID, 2100*5) elseif level == 43 then role.AddRoleExp(MapID, InstanceID, RoleID, 2190*5) elseif level == 44 then role.AddRoleExp(MapID, InstanceID, RoleID, 2310*5) elseif level == 45 then role.AddRoleExp(MapID, InstanceID, RoleID, 2880*5) elseif level == 46 then role.AddRoleExp(MapID, InstanceID, RoleID, 3030*5) elseif level == 47 then role.AddRoleExp(MapID, InstanceID, RoleID, 3150*5) elseif level == 48 then role.AddRoleExp(MapID, InstanceID, RoleID, 3270*5) elseif level == 49 then role.AddRoleExp(MapID, InstanceID, RoleID, 3420*5) elseif level == 50 then role.AddRoleExp(MapID, InstanceID, RoleID, 3840*5) elseif level > 50 and level < 59 then role.AddRoleExp(MapID, InstanceID, RoleID, 4500*5) elseif level >= 59 and level < 69 then role.AddRoleExp(MapID, InstanceID, RoleID, 7500*5) elseif level >= 69 and level < 79 then role.AddRoleExp(MapID, InstanceID, RoleID, 12000*5) elseif level >= 79 then role.AddRoleExp(MapID, InstanceID, RoleID, 17100*5) end monsterHP=monsterHP+1 cre.SetCreatureScriptData(MapID, InstanceID, CreatureID, 1, 0, monsterHP) if monsterHP%10 == 0 then unit.AddBuff(MapID, InstanceID, CreatureID, 9001401, CreatureID) local MsgID = msg.BeginMsgEvent(); msg.AddMsgEvent(MsgID,102,100103)--场景广播:超级哇啦雪人雕像忽然变大了,请大家继续努力,接下来会发生什么呢?很让人期待啊! msg.DispatchBroadcast(MsgID,3424071720,-1,-1); end else unit.ChangeHP(MapID, InstanceID, CreatureID, 1) local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 26, 404001)--提示没有北洲之雪,无法调查 msg.DispatchRoleMsgEvent(RoleID, MsgID) end else local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 26, 100003)--需要背包空间 msg.AddMsgEvent(MsgID, 9, 1) msg.DispatchRoleMsgEvent(RoleID, MsgID) end end aux.RegisterCreatureEvent(6010047, 6, "C6010047_OnInVest") function C6010047_OnDie(MapID, InstanceID, CreatureID, CreatureTypeID, RoleID) local x, y ,z = unit.GetPosition(MapID, InstanceID, CreatureID) if MapID==3424071720 then map.MapCreateColCreature(MapID, InstanceID, 1091004, x, y, z,1) end local MsgID = msg.BeginMsgEvent(); msg.AddMsgEvent(MsgID,102,100104)--场景广播:超级哇啦雪人雕像忽然变大了,请大家继续努力,接下来会发生什么呢?很让人期待啊! msg.DispatchBroadcast(MsgID,3424071720,-1,-1); end aux.RegisterCreatureEvent(6010047, 4, "C6010047_OnDie") -- ======================================== -- Вспомогательная функция для взвешенного выбора предмета -- ======================================== local function GetWeightedRandomItem(items) local totalWeight = 0 for _, item in ipairs(items) do totalWeight = totalWeight + item[3] -- weight находится в 3-м индексе end local randomValue = math.random(1, totalWeight) local currentWeight = 0 for _, item in ipairs(items) do currentWeight = currentWeight + item[3] if randomValue <= currentWeight then return item end end -- На случай ошибки возвращаем первый предмет return items[1] end -- ======================================== -- Позолоченный сундук вождя [3110001] -- ======================================== function I3110001_GiftBag(MapID, InstanceID, TypeID, TargetID) local items = { {3010043, 1, 1}, -- Эликсир жизни (вес: 1) {3010044, 1, 1}, -- Эликсир воеводы (вес: 1) {3010045, 1, 1}, -- Эликсир архимага (вес: 1) {3010046, 1, 1}, -- Эликсир стойкости (вес: 1) {3010189, 1, 1}, -- Эликсир целителя (вес: 1) {3010027, 1, 1}, -- Маленький эликсир ОЗ (вес: 1) {3010028, 1, 1}, -- Средний эликсир ОЗ (вес: 1) {3010030, 1, 1}, -- Маленький эликсир ОМ (вес: 1) {3010031, 1, 1}, -- Средний эликсир ОМ (вес: 1) {3010048, 1, 1}, -- Эликсир обороны (вес: 1) {3020007, 1, 1}, -- Руна гарантии (вес: 1) {3020009, 1, 1}, -- Руна удачи новичка [перс.] (вес: 1) {3020010, 1, 1}, -- Руна удачи [+12] (вес: 1) {3070024, 1, 1}, -- Малая руна опыта (вес: 1) {3070026, 1, 1}, -- Руна опыта (вес: 1) {3070036, 1, 1}, -- Малая руна сокровищ (вес: 1) {3070038, 1, 1} -- Руна сокровищ (вес: 1) } local item = GetWeightedRandomItem(items) role.AddRoleItem(MapID, InstanceID, TargetID, item[1], item[2], 6, 8, 420) end aux.RegisterItemEvent(3110001, 1, "I3110001_GiftBag") function I3110001_CanUseGiftBag(MapID, InstanceID, TypeID, TargetID) local bRet, bIgnore = 0, false local FreeSize = role.GetBagFreeSize(TargetID) if FreeSize < 1 then bRet = 40 end return bRet, bIgnore end aux.RegisterItemEvent(3110001, 0, "I3110001_CanUseGiftBag") -- ======================================== -- Кристальный сундук вождя [3110002] -- ======================================== function I3110002_GiftBag(MapID, InstanceID, TypeID, TargetID) local items = { {3010043, 1, 1}, -- Эликсир жизни (вес: 1) {3010044, 1, 1}, -- Эликсир воеводы (вес: 1) {3010045, 1, 1}, -- Эликсир архимага (вес: 1) {3010046, 1, 1}, -- Эликсир стойкости (вес: 1) {3010189, 1, 1}, -- Эликсир целителя (вес: 1) {3010048, 1, 1}, -- Эликсир обороны (вес: 1) {3010049, 1, 1}, -- Малое зелье неуязвимости (вес: 1) {3010027, 1, 1}, -- Маленький эликсир ОЗ (вес: 1) {3010028, 1, 1}, -- Средний эликсир ОЗ (вес: 1) {3010030, 1, 1}, -- Маленький эликсир ОМ (вес: 1) {3010031, 1, 1}, -- Средний эликсир ОМ (вес: 1) {3020010, 1, 1}, -- Руна удачи [+12] (вес: 1) {3020007, 1, 1}, -- Руна гарантии (вес: 1) {3070026, 1, 1}, -- Руна опыта (вес: 1) {3070028, 1, 1}, -- Большая руна опыта [1 ч] (вес: 1) {3070038, 1, 1}, -- Руна сокровищ (вес: 1) {3070040, 1, 1} -- Большая руна сокровищ (вес: 1) } local item = GetWeightedRandomItem(items) role.AddRoleItem(MapID, InstanceID, TargetID, item[1], item[2], 6, 8, 420) end aux.RegisterItemEvent(3110002, 1, "I3110002_GiftBag") function I3110002_CanUseGiftBag(MapID, InstanceID, TypeID, TargetID) local bRet, bIgnore = 0, false local FreeSize = role.GetBagFreeSize(TargetID) if FreeSize < 1 then bRet = 40 end return bRet, bIgnore end aux.RegisterItemEvent(3110002, 0, "I3110002_CanUseGiftBag") -- ======================================== -- Золотой сундук вождя [3110003] -- ======================================== function I3110003_GiftBag(MapID, InstanceID, TypeID, TargetID) local items = { {3010043, 1, 5}, -- Эликсир жизни (вес: 1) {3010044, 1, 5}, -- Эликсир воеводы (вес: 1) {3010045, 1, 5}, -- Эликсир архимага (вес: 1) {3010046, 1, 5}, -- Эликсир стойкости (вес: 1) {3010189, 1, 5}, -- Эликсир целителя (вес: 1) {3010048, 1, 5}, -- Эликсир обороны (вес: 1) {3010050, 1, 5}, -- Сильное зелье неуязвимости (вес: 1) {3010028, 1, 5}, -- Средний эликсир ОЗ (вес: 1) {3010029, 1, 1}, -- Большой эликсир ОЗ (вес: 1) {3010031, 1, 5}, -- Средний эликсир ОМ (вес: 1) {3010032, 1, 1}, -- Большой эликсир ОМ (вес: 1) {3010051, 1, 5}, -- Гигантское зелье неуязвимости (вес: 1) {3020010, 1, 5}, -- Руна удачи [+12] (вес: 1) {3070028, 1, 5}, -- Большая руна опыта [1 ч] (вес: 1) {3020007, 1, 5}, -- Руна гарантии (вес: 1) {3020008, 1, 1}, -- Руна стража [+21] (вес: 1) {3020058, 1, 5} -- Бессмертный кристалл (вес: 1) } local item = GetWeightedRandomItem(items) role.AddRoleItem(MapID, InstanceID, TargetID, item[1], item[2], 6, 8, 420) end aux.RegisterItemEvent(3110003, 1, "I3110003_GiftBag") function I3110003_CanUseGiftBag(MapID, InstanceID, TypeID, TargetID) local bRet, bIgnore = 0, false local FreeSize = role.GetBagFreeSize(TargetID) if FreeSize < 1 then bRet = 40 end return bRet, bIgnore end aux.RegisterItemEvent(3110003, 0, "I3110003_CanUseGiftBag") -- ======================================== -- Платиновый сундук вождя [3110004] -- ======================================== function I3110004_GiftBag(MapID, InstanceID, TypeID, TargetID) local items = { {3010043, 1, 5}, -- Эликсир жизни (вес: 1) {3010044, 1, 5}, -- Эликсир воеводы (вес: 1) {3010045, 1, 5}, -- Эликсир архимага (вес: 1) {3010046, 1, 5}, -- Эликсир стойкости (вес: 1) {3010189, 1, 5}, -- Эликсир целителя (вес: 1) {3010050, 1, 5}, -- Сильное зелье неуязвимости (вес: 1) {3010051, 1, 5}, -- Гигантское зелье неуязвимости (вес: 1) {3010028, 1, 5}, -- Средний эликсир ОЗ (вес: 1) {3010029, 1, 1}, -- Большой эликсир ОЗ (вес: 1) {3010031, 1, 5}, -- Средний эликсир ОМ (вес: 1) {3010032, 1, 1}, -- Большой эликсир ОМ (вес: 1) {3070028, 1, 5}, -- Большая руна опыта [1 ч] (вес: 1) {3020007, 1, 5}, -- Руна гарантии (вес: 1) {3020008, 1, 1}, -- Руна стража [+21] (вес: 1) {3020058, 1, 5}, -- Бессмертный кристалл (вес: 1) {3020059, 1, 5}, -- Богоподобный кристалл (вес: 1) {3020060, 1, 1} -- Священная кровь [1 ур.] (вес: 1) } local item = GetWeightedRandomItem(items) role.AddRoleItem(MapID, InstanceID, TargetID, item[1], item[2], 6, 8, 420) end aux.RegisterItemEvent(3110004, 1, "I3110004_GiftBag") function I3110004_CanUseGiftBag(MapID, InstanceID, TypeID, TargetID) local bRet, bIgnore = 0, false local FreeSize = role.GetBagFreeSize(TargetID) if FreeSize < 1 then bRet = 40 end return bRet, bIgnore end aux.RegisterItemEvent(3110004, 0, "I3110004_CanUseGiftBag") -- ======================================== -- Кристальный сундук с камнями [3110005] -- ======================================== function I3110005_GiftBag(MapID, InstanceID, TypeID, TargetID) local items = { {3020049, 1, 5}, -- Среднее сверло (вес: 1) {3020055, 1, 5}, -- Крепкий шлифовальный камень (вес: 1) {3030102, 1, 5}, -- Простой камень судьбы (вес: 1) {3030103, 1, 5}, -- Простой камень мудрости (вес: 1) {3030104, 1, 5}, -- Цветной камень судьбы (вес: 1) {3030105, 1, 5}, -- Цветной камень мудрости (вес: 1) {3030002, 1, 3}, -- Солнцевик [Ур. 2] (вес: 1) {3030010, 1, 3}, -- Лунник [Ур. 2] (вес: 1) {3030030, 1, 3}, -- Ляпис [Ур. 2] (вес: 1) {3030038, 1, 3}, -- Гранат [Ур. 2] (вес: 1) {3030073, 1, 3}, -- Рубин [Ур. 2] (вес: 1) {3030081, 1, 3}, -- Сапфир [Ур. 2] (вес: 1) {3030093, 1, 3}, -- Резной кристалл [Ур. 3] (вес: 1) {3030096, 1, 3}, -- Агат [Ур. 3] (вес: 1) {3030099, 1, 3}, -- Опал [Ур. 3] (вес: 1) {3020052, 1, 1} -- Великолепное сверло (вес: 1) } local item = GetWeightedRandomItem(items) role.AddRoleItem(MapID, InstanceID, TargetID, item[1], item[2], 6, 8, 420) end aux.RegisterItemEvent(3110005, 1, "I3110005_GiftBag") function I3110005_CanUseGiftBag(MapID, InstanceID, TypeID, TargetID) local bRet, bIgnore = 0, false local FreeSize = role.GetBagFreeSize(TargetID) if FreeSize < 1 then bRet = 40 end return bRet, bIgnore end aux.RegisterItemEvent(3110005, 0, "I3110005_CanUseGiftBag") -- ======================================== -- Золотой сундук с камнями [3110006] -- ======================================== function I3110006_GiftBag(MapID, InstanceID, TypeID, TargetID) local items = { {3020050, 1, 5}, -- Улучшенное сверло (вес: 1) {3020055, 1, 5}, -- Крепкий шлифовальный камень (вес: 1) {3020056, 1, 5}, -- Шлифовальный камень эльфов (вес: 1) {3030104, 1, 5}, -- Цветной камень судьбы (вес: 1) {3030105, 1, 5}, -- Цветной камень мудрости (вес: 1) {3030106, 1, 5}, -- Резной камень судьбы (вес: 1) {3030107, 1, 5}, -- Резной камень мудрости (вес: 1) {3030017, 1, 3}, -- Александрит [Ур. 3] (вес: 1) {3030045, 1, 3}, -- Яркий сапфир [Ур. 3] (вес: 1) {3030051, 1, 3}, -- Топаз [Ур. 3] (вес: 1) {3030093, 1, 3}, -- Резной кристалл [Ур. 3] (вес: 1) {3030096, 1, 3}, -- Агат [Ур. 3] (вес: 1) {3030099, 1, 3}, -- Опал [Ур. 3] (вес: 1) {3030067, 1, 2}, -- Бриллиант [Ур. 4] (вес: 1) {3030088, 1, 2}, -- Кровавый сапфир [Ур. 4] (вес: 1) {3020052, 1, 1} -- Великолепное сверло (вес: 1) } local item = GetWeightedRandomItem(items) role.AddRoleItem(MapID, InstanceID, TargetID, item[1], item[2], 6, 8, 420) end aux.RegisterItemEvent(3110006, 1, "I3110006_GiftBag") function I3110006_CanUseGiftBag(MapID, InstanceID, TypeID, TargetID) local bRet, bIgnore = 0, false local FreeSize = role.GetBagFreeSize(TargetID) if FreeSize < 1 then bRet = 40 end return bRet, bIgnore end aux.RegisterItemEvent(3110006, 0, "I3110006_CanUseGiftBag") -- ======================================== -- Платиновый сундук с камнями [3110007] -- ======================================== function I3110007_GiftBag(MapID, InstanceID, TypeID, TargetID) local items = { {3020051, 1, 5}, -- Превосходное сверло (вес: 1) {3030104, 1, 5}, -- Цветной камень судьбы (вес: 1) {3030105, 1, 5}, -- Цветной камень мудрости (вес: 1) {3030106, 1, 5}, -- Резной камень судьбы (вес: 1) {3030107, 1, 5}, -- Резной камень мудрости (вес: 1) {3030108, 1, 5}, -- Блестящий камень судьбы (вес: 1) {3030109, 1, 5}, -- Блестящий камень мудрости (вес: 1) {3030017, 1, 3}, -- Александрит [Ур. 3] (вес: 1) {3030045, 1, 3}, -- Яркий сапфир [Ур. 3] (вес: 1) {3030051, 1, 3}, -- Топаз [Ур. 3] (вес: 1) {3030074, 1, 3}, -- Рубин [Ур. 3] (вес: 1) {3030024, 1, 2}, -- Большой шаровик [Ур. 4] (вес: 1) {3030068, 1, 2}, -- Бриллиант [Ур. 5] (вес: 1) {3030089, 1, 2}, -- Кровавый сапфир [Ур. 5] (вес: 1) {3030110, 1, 2}, -- Камень славы (вес: 1) {3020052, 1, 1} -- Великолепное сверло (вес: 1) } local item = GetWeightedRandomItem(items) role.AddRoleItem(MapID, InstanceID, TargetID, item[1], item[2], 6, 8, 420) end aux.RegisterItemEvent(3110007, 1, "I3110007_GiftBag") function I3110007_CanUseGiftBag(MapID, InstanceID, TypeID, TargetID) local bRet, bIgnore = 0, false local FreeSize = role.GetBagFreeSize(TargetID) if FreeSize < 1 then bRet = 40 end return bRet, bIgnore end aux.RegisterItemEvent(3110007, 0, "I3110007_CanUseGiftBag") -- ======================================== -- Позолоченный сундук материалов [3110008] -- ======================================== function I3110008_GiftBag(MapID, InstanceID, TypeID, TargetID) local items = { {3050006, 1, 5}, -- Чугун [О] х1 (вес: 1) {3050006, 2, 5}, -- Чугун [О] х2 (вес: 1) {3050008, 1, 5}, -- Чугун [Р] х1 (вес: 1) {3050008, 2, 5}, -- Чугун [Р] х2 (вес: 1) {3050031, 1, 5}, -- Обычная кирка (вес: 1) {3050032, 1, 1}, -- Крепкая железная кирка (вес: 1) {4090024, 1, 2}, -- Камень Авалона (вес: 1) {4090025, 1, 2}, -- Кристалл бездны (вес: 1) {4090024, 1, 2}, -- Камень молитвы (вес: 1) {4090022, 1, 2}, -- Камень оракула (вес: 1) {4090023, 1, 2}, -- Священный металл (вес: 1) {4090026, 1, 2}, -- Камень судьбы (вес: 1) {3050062, 1, 3}, -- Краткое пособие по ремеслу (вес: 1) {3050063, 1, 3}, -- Краткое пособие кузнеца (вес: 1) {3050064, 1, 3} -- Краткое пособие портного (вес: 1) } local item = GetWeightedRandomItem(items) role.AddRoleItem(MapID, InstanceID, TargetID, item[1], item[2], 6, 8, 420) end aux.RegisterItemEvent(3110008, 1, "I3110008_GiftBag") function I3110008_CanUseGiftBag(MapID, InstanceID, TypeID, TargetID) local bRet, bIgnore = 0, false local FreeSize = role.GetBagFreeSize(TargetID) if FreeSize < 1 then bRet = 40 end return bRet, bIgnore end aux.RegisterItemEvent(3110008, 0, "I3110008_CanUseGiftBag") -- ======================================== -- Кристальный сундук материалов [3110009] -- ======================================== function I3110009_GiftBag(MapID, InstanceID, TypeID, TargetID) local items = { {3050011, 2, 5}, -- Легированное железо [О] x2 (вес: 1) {3050013, 1, 5}, -- Легированное железо [Р] x1 (вес: 1) {3050013, 2, 5}, -- Легированное железо [Р] x2 (вес: 1) {3050031, 1, 2}, -- Обычная кирка (вес: 1) {3050032, 1, 1}, -- Крепкая железная кирка (вес: 1) {4090024, 1, 3}, -- Камень Авалона (вес: 1) {4090025, 1, 3}, -- Кристалл бездны (вес: 1) {4090024, 1, 3}, -- Камень молитвы (вес: 1) {4090022, 1, 3}, -- Камень оракула (вес: 1) {4090023, 1, 3}, -- Священный металл (вес: 1) {4090026, 1, 3}, -- Камень судьбы (вес: 1) {4090028, 1, 3}, -- Сущность Афины (вес: 1) {4090031, 1, 3}, -- Сущность Аполлона (вес: 1) {4090030, 1, 3}, -- Сущность Аида (вес: 1) {4090029, 1, 3} -- Сущность Артемиды (вес: 1) } local item = GetWeightedRandomItem(items) role.AddRoleItem(MapID, InstanceID, TargetID, item[1], item[2], 6, 8, 420) end aux.RegisterItemEvent(3110009, 1, "I3110009_GiftBag") function I3110009_CanUseGiftBag(MapID, InstanceID, TypeID, TargetID) local bRet, bIgnore = 0, false local FreeSize = role.GetBagFreeSize(TargetID) if FreeSize < 1 then bRet = 40 end return bRet, bIgnore end aux.RegisterItemEvent(3110009, 0, "I3110009_CanUseGiftBag") -- ======================================== -- Золотой сундук материалов [3110010] -- ======================================== function I3110010_GiftBag(MapID, InstanceID, TypeID, TargetID) local items = { {3050016, 2, 5}, -- Мифическое железо [О] x2 (вес: 1) {3050018, 1, 5}, -- Мифическое железо [Р] x1 (вес: 1) {3050018, 2, 5}, -- Мифическое железо [Р] x2 (вес: 1) {3050032, 1, 2}, -- Крепкая железная кирка (вес: 1) {3050033, 1, 1}, -- Твердосплавная кирка (вес: 1) {4090024, 1, 3}, -- Камень Авалона (вес: 1) {4090025, 1, 3}, -- Кристалл бездны (вес: 1) {4090024, 1, 3}, -- Камень молитвы (вес: 1) {4090025, 1, 3}, -- Кристалл бездны (вес: 1) {4090022, 1, 3}, -- Камень оракула (вес: 1) {4090023, 1, 3}, -- Священный металл (вес: 1) {4090026, 1, 3}, -- Камень судьбы (вес: 1) {4090028, 1, 3}, -- Сущность Афины (вес: 1) {4090031, 1, 3}, -- Сущность Аполлона (вес: 1) {4090030, 1, 3}, -- Сущность Аида (вес: 1) {4090029, 1, 3} -- Сущность Артемиды (вес: 1) } local item = GetWeightedRandomItem(items) role.AddRoleItem(MapID, InstanceID, TargetID, item[1], item[2], 6, 8, 420) end aux.RegisterItemEvent(3110010, 1, "I3110010_GiftBag") function I3110010_CanUseGiftBag(MapID, InstanceID, TypeID, TargetID) local bRet, bIgnore = 0, false local FreeSize = role.GetBagFreeSize(TargetID) if FreeSize < 1 then bRet = 40 end return bRet, bIgnore end aux.RegisterItemEvent(3110010, 0, "I3110010_CanUseGiftBag") -- ======================================== -- Платиновый сундук материалов [3110011] -- ======================================== function I3110011_GiftBag(MapID, InstanceID, TypeID, TargetID) local items = { {3050021, 3, 5}, -- Заколдованная сталь [О] x3 (вес: 1) {3050023, 1, 5}, -- Заколдованная сталь [Р] x1 (вес: 1) {3050023, 2, 5}, -- Заколдованная сталь [Р] x2 (вес: 1) {3050032, 1, 2}, -- Крепкая железная кирка (вес: 1) {3050033, 1, 1}, -- Твердосплавная кирка (вес: 1) {4090024, 1, 3}, -- Камень Авалона (вес: 1) {4090025, 1, 3}, -- Кристалл бездны (вес: 1) {4090024, 1, 3}, -- Камень молитвы (вес: 1) {4090025, 1, 3}, -- Кристалл бездны (вес: 1) {4090022, 1, 3}, -- Камень оракула (вес: 1) {4090023, 1, 3}, -- Священный металл (вес: 1) {4090026, 1, 3}, -- Камень судьбы (вес: 1) {4090028, 1, 3}, -- Сущность Афины (вес: 1) {4090031, 1, 3}, -- Сущность Аполлона (вес: 1) {4090030, 1, 3}, -- Сущность Аида (вес: 1) {4090029, 1, 3} -- Сущность Артемиды (вес: 1) } local item = GetWeightedRandomItem(items) role.AddRoleItem(MapID, InstanceID, TargetID, item[1], item[2], 6, 8, 420) end aux.RegisterItemEvent(3110011, 1, "I3110011_GiftBag") function I3110011_CanUseGiftBag(MapID, InstanceID, TypeID, TargetID) local bRet, bIgnore = 0, false local FreeSize = role.GetBagFreeSize(TargetID) if FreeSize < 1 then bRet = 40 end return bRet, bIgnore end aux.RegisterItemEvent(3110011, 0, "I3110011_CanUseGiftBag") -- ======================================== -- Позолоченный сундук душ [3110013] -- ======================================== function I3110013_GiftBag(MapID, InstanceID, TypeID, TargetID) local items = { {3060001, 1, 5}, -- Пыльца эльфов [Ур. 1] (вес: 1) {3060002, 1, 5}, -- Пыльца эльфов [Ур. 2] (вес: 1) {3100002, 1, 5}, -- Могучая огненная душа [Ур. 2] (вес: 1) {3100003, 1, 5}, -- Могучая огненная душа [Ур. 3] (вес: 1) {3100012, 1, 5}, -- Магическая темная душа [Ур. 2] (вес: 1) {3100013, 1, 5}, -- Магическая темная душа [Ур. 3] (вес: 1) {3100022, 1, 5}, -- Дивная призрачная душа [Ур. 2] (вес: 1) {3100023, 1, 5}, -- Дивная призрачная душа [Ур. 3] (вес: 1) {3100032, 1, 5}, -- Душа защиты земли [Ур. 2] (вес: 1) {3100083, 1, 5}, -- Душа сопр. земли [Ур. 3] (вес: 1) {3100042, 1, 5}, -- Святая душа жизни [Ур. 2] (вес: 1) {3100043, 1, 5}, -- Святая душа жизни [Ур. 3] (вес: 1) {3100051, 1, 5}, -- Святая душа маны [Ур. 2] (вес: 1) {3100053, 1, 5}, -- Святая душа маны [Ур. 3] (вес: 1) {3070022, 1, 1} -- Эликсир эльфов (вес: 1) } local item = GetWeightedRandomItem(items) role.AddRoleItem(MapID, InstanceID, TargetID, item[1], item[2], 6, 8, 420) end aux.RegisterItemEvent(3110013, 1, "I3110013_GiftBag") function I3110013_CanUseGiftBag(MapID, InstanceID, TypeID, TargetID) local bRet, bIgnore = 0, false local FreeSize = role.GetBagFreeSize(TargetID) if FreeSize < 1 then bRet = 40 end return bRet, bIgnore end aux.RegisterItemEvent(3110013, 0, "I3110013_CanUseGiftBag") -- ======================================== -- Кристальный сундук душ [3110014] -- ======================================== function I3110014_GiftBag(MapID, InstanceID, TypeID, TargetID) local items = { {3060002, 1, 5}, -- Пыльца эльфов [Ур. 2] (вес: 1) {3060003, 1, 5}, -- Пыльца эльфов [Ур. 3] (вес: 1) {3100004, 1, 5}, -- Могучая огненная душа [Ур. 4] (вес: 1) {3100005, 1, 5}, -- Могучая огненная душа [Ур. 5] (вес: 1) {3100014, 1, 5}, -- Магическая темная душа [Ур. 4] (вес: 1) {3100015, 1, 5}, -- Магическая темная душа [Ур. 5] (вес: 1) {3100024, 1, 5}, -- Дивная призрачная душа [Ур. 4] (вес: 1) {3100025, 1, 5}, -- Дивная призрачная душа [Ур. 5] (вес: 1) {3100034, 1, 5}, -- Душа защиты земли [Ур. 4] (вес: 1) {3100085, 1, 5}, -- Душа сопр. земли [Ур. 5] (вес: 1) {3100044, 1, 5}, -- Святая душа жизни [Ур. 4] (вес: 1) {3100045, 1, 5}, -- Святая душа жизни [Ур. 5] (вес: 1) {3100054, 1, 5}, -- Святая душа маны [Ур. 4] (вес: 1) {3100055, 1, 5}, -- Святая душа маны [Ур. 5] (вес: 1) {3070022, 1, 1} -- Эликсир эльфов (вес: 1) } local item = GetWeightedRandomItem(items) role.AddRoleItem(MapID, InstanceID, TargetID, item[1], item[2], 6, 8, 420) end aux.RegisterItemEvent(3110014, 1, "I3110014_GiftBag") function I3110014_CanUseGiftBag(MapID, InstanceID, TypeID, TargetID) local bRet, bIgnore = 0, false local FreeSize = role.GetBagFreeSize(TargetID) if FreeSize < 1 then bRet = 40 end return bRet, bIgnore end aux.RegisterItemEvent(3110014, 0, "I3110014_CanUseGiftBag") -- ======================================== -- Золотой сундук душ [3110015] -- ======================================== function I3110015_GiftBag(MapID, InstanceID, TypeID, TargetID) local items = { {3060003, 1, 5}, -- Пыльца эльфов [Ур. 3] (вес: 1) {3060004, 1, 5}, -- Пыльца эльфов [Ур. 4] (вес: 1) {3060005, 1, 5}, -- Пыльца эльфов [Ур. 5] (вес: 1) {3100006, 1, 5}, -- Могучая огненная душа [Ур. 6] (вес: 1) {3100007, 1, 5}, -- Могучая огненная душа [Ур. 7] (вес: 1) {3100016, 1, 5}, -- Магическая темная душа [Ур. 6] (вес: 1) {3100017, 1, 5}, -- Магическая темная душа [Ур. 7] (вес: 1) {3100026, 1, 5}, -- Дивная призрачная душа [Ур. 6] (вес: 1) {3100027, 1, 5}, -- Дивная призрачная душа [Ур. 7] (вес: 1) {3100036, 1, 5}, -- Душа защиты земли [Ур. 6] (вес: 1) {3100087, 1, 5}, -- Душа сопр. земли [Ур. 7] (вес: 1) {3100047, 1, 5}, -- Святая душа жизни [Ур. 7] (вес: 1) {3100057, 1, 5}, -- Святая душа маны [Ур. 7] (вес: 1) {3070022, 1, 1} -- Эликсир эльфов (вес: 1) } local item = GetWeightedRandomItem(items) role.AddRoleItem(MapID, InstanceID, TargetID, item[1], item[2], 6, 8, 420) end aux.RegisterItemEvent(3110015, 1, "I3110015_GiftBag") function I3110015_CanUseGiftBag(MapID, InstanceID, TypeID, TargetID) local bRet, bIgnore = 0, false local FreeSize = role.GetBagFreeSize(TargetID) if FreeSize < 1 then bRet = 40 end return bRet, bIgnore end aux.RegisterItemEvent(3110015, 0, "I3110015_CanUseGiftBag") -- ======================================== -- Платиновый сундук душ [3110016] -- ======================================== function I3110016_GiftBag(MapID, InstanceID, TypeID, TargetID) local items = { {3060003, 1, 5}, -- Пыльца эльфов [Ур. 3] (вес: 1) {3060004, 1, 5}, -- Пыльца эльфов [Ур. 4] (вес: 1) {3060005, 1, 5}, -- Пыльца эльфов [Ур. 5] (вес: 1) {3100008, 1, 5}, -- Могучая огненная душа [Ур. 8] (вес: 1) {3100009, 1, 5}, -- Могучая огненная душа [Ур. 9] (вес: 1) {3100018, 1, 5}, -- Магическая темная душа [Ур. 8] (вес: 1) {3100019, 1, 5}, -- Магическая темная душа [Ур. 9] (вес: 1) {3100028, 1, 5}, -- Дивная призрачная душа [Ур. 8] (вес: 1) {3100029, 1, 5}, -- Дивная призрачная душа [Ур. 9] (вес: 1) {3100039, 1, 5}, -- Душа защиты земли [Ур. 9] (вес: 1) {3100089, 1, 5}, -- Душа сопр. земли [Ур. 9] (вес: 1) {3100049, 1, 5}, -- Святая душа жизни [Ур. 9] (вес: 1) {3100059, 1, 5}, -- Святая душа маны [Ур. 9] (вес: 1) {3070022, 1, 1} -- Эликсир эльфов (вес: 1) } local item = GetWeightedRandomItem(items) role.AddRoleItem(MapID, InstanceID, TargetID, item[1], item[2], 6, 8, 420) end aux.RegisterItemEvent(3110016, 1, "I3110016_GiftBag") function I3110016_CanUseGiftBag(MapID, InstanceID, TypeID, TargetID) local bRet, bIgnore = 0, false local FreeSize = role.GetBagFreeSize(TargetID) if FreeSize < 1 then bRet = 40 end return bRet, bIgnore end aux.RegisterItemEvent(3110016, 0, "I3110016_CanUseGiftBag")