-- Подземелья и мобы: без выпадения предметов. За убийство начисление опыта боевого пропуска убийце (+50 при активированном пропуске). local BP_KILL_EXP = 100 local BP_EXP_PER_LEVEL = 2480 local BP_MAX_LEVEL = 100 local function lut_GrantBattlePassKillExp(MapID, InstanceID, RoleID) if not RoleID or RoleID <= 0 then return end local Bo_Have = role.GetRoleScriptData(RoleID, 1, RoleDataType["Bo_Have"]) or 0 if Bo_Have ~= 1 then return end local Bo_EXP = role.GetRoleScriptData(RoleID, 1, RoleDataType["Bo_EXP"]) or 0 local Bo_Level = role.GetRoleScriptData(RoleID, 1, RoleDataType["Bo_Level"]) or 0 if Bo_Level >= BP_MAX_LEVEL then return end Bo_EXP = Bo_EXP + BP_KILL_EXP while Bo_Level < BP_MAX_LEVEL and Bo_EXP >= BP_EXP_PER_LEVEL do Bo_Level = Bo_Level + 1 Bo_EXP = Bo_EXP - BP_EXP_PER_LEVEL end role.SetRoleScriptData(RoleID, 1, RoleDataType["Bo_Level"], Bo_Level) role.SetRoleScriptData(RoleID, 1, RoleDataType["Bo_EXP"], Bo_EXP) local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 102, 990004) msg.AddMsgEvent(MsgID, 9, BP_KILL_EXP) msg.DispatchRoleMsgEvent(RoleID, MsgID) end local LUT_DANZJI_RANDOM_DROP_IDS = { 1360133, 1360134, 1360135, 1360136, 1360137, 1360138, 1360139, 1360140, 1360141, 1360142, 1360143, 1360144, } local function lut_DANZJI_GrantRandomDungeonDrop(MapID, InstanceID, RoleID) if not RoleID or RoleID <= 0 then return end local itemId = LUT_DANZJI_RANDOM_DROP_IDS[math.random(#LUT_DANZJI_RANDOM_DROP_IDS)] local qty = math.random(1, 3) role.AddRoleItem(MapID, InstanceID, RoleID, itemId, qty, -1, 8, 420) end local LUT_DANZJI_RUNE_CHANCE = 10 local function lut_DANZJI_GrantDungeonRuneDrop(MapID, InstanceID, RoleID, itemId) if not RoleID or RoleID <= 0 then return end if math.random(100) > LUT_DANZJI_RUNE_CHANCE then return end role.AddRoleItem(MapID, InstanceID, RoleID, itemId, 1, 6, 8, 420) end -- Свитки талисманов: 1% шанс выдать 1 случайный из 4 local LUT_DANZJI_TALISMAN_SCROLL_IDS = { 5809901, 5809902, 5809903, 5809904 } local LUT_DANZJI_TALISMAN_SCROLL_CHANCE = 5 local function lut_DANZJI_GrantTalismanScrollDrop(MapID, InstanceID, RoleID) if not RoleID or RoleID <= 0 then return end if math.random(100) > LUT_DANZJI_TALISMAN_SCROLL_CHANCE then return end local itemId = LUT_DANZJI_TALISMAN_SCROLL_IDS[math.random(#LUT_DANZJI_TALISMAN_SCROLL_IDS)] role.AddRoleItem(MapID, InstanceID, RoleID, itemId, 1, -1, 8, 420) end -- Место власти function c6010031_Die(MapID, InstanceID, CreatureID, CreatureTypeID, RoleID) lut_GrantBattlePassKillExp(MapID, InstanceID, RoleID) lut_DANZJI_GrantRandomDungeonDrop(MapID, InstanceID, RoleID) lut_DANZJI_GrantDungeonRuneDrop(MapID, InstanceID, RoleID, 3020069) lut_DANZJI_GrantTalismanScrollDrop(MapID, InstanceID, RoleID) end aux.RegisterCreatureEvent(6010031, 4, "c6010031_Die") -- Замок теней function c6010037_Die(MapID, InstanceID, CreatureID, CreatureTypeID, RoleID) lut_GrantBattlePassKillExp(MapID, InstanceID, RoleID) lut_DANZJI_GrantRandomDungeonDrop(MapID, InstanceID, RoleID) lut_DANZJI_GrantDungeonRuneDrop(MapID, InstanceID, RoleID, 3020071) lut_DANZJI_GrantTalismanScrollDrop(MapID, InstanceID, RoleID) end aux.RegisterCreatureEvent(6010037, 4, "c6010037_Die") -- Замок Ада function c6010033_Die(MapID, InstanceID, CreatureID, CreatureTypeID, RoleID) lut_GrantBattlePassKillExp(MapID, InstanceID, RoleID) lut_DANZJI_GrantRandomDungeonDrop(MapID, InstanceID, RoleID) lut_DANZJI_GrantDungeonRuneDrop(MapID, InstanceID, RoleID, 3020008) lut_DANZJI_GrantTalismanScrollDrop(MapID, InstanceID, RoleID) end aux.RegisterCreatureEvent(6010033, 4, "c6010033_Die") -- Забытый храм function c6010034_Die(MapID, InstanceID, CreatureID, CreatureTypeID, RoleID) lut_GrantBattlePassKillExp(MapID, InstanceID, RoleID) lut_DANZJI_GrantRandomDungeonDrop(MapID, InstanceID, RoleID) lut_DANZJI_GrantDungeonRuneDrop(MapID, InstanceID, RoleID, 3020139) lut_DANZJI_GrantTalismanScrollDrop(MapID, InstanceID, RoleID) end aux.RegisterCreatureEvent(6010034, 4, "c6010034_Die") -- Битва века function c6011032_Die(MapID, InstanceID, CreatureID, CreatureTypeID, RoleID) lut_GrantBattlePassKillExp(MapID, InstanceID, RoleID) lut_DANZJI_GrantRandomDungeonDrop(MapID, InstanceID, RoleID) lut_DANZJI_GrantDungeonRuneDrop(MapID, InstanceID, RoleID, 3020140) lut_DANZJI_GrantTalismanScrollDrop(MapID, InstanceID, RoleID) end aux.RegisterCreatureEvent(6011032, 4, "c6011032_Die") -- Морок function c9010012_Die(MapID, InstanceID, CreatureID, CreatureTypeID, RoleID) lut_GrantBattlePassKillExp(MapID, InstanceID, RoleID) lut_DANZJI_GrantRandomDungeonDrop(MapID, InstanceID, RoleID) lut_DANZJI_GrantDungeonRuneDrop(MapID, InstanceID, RoleID, 3020142) lut_DANZJI_GrantTalismanScrollDrop(MapID, InstanceID, RoleID) end aux.RegisterCreatureEvent(9010012, 4, "c9010012_Die") -- Менес function c9010591_Die(MapID, InstanceID, CreatureID, CreatureTypeID, RoleID) lut_GrantBattlePassKillExp(MapID, InstanceID, RoleID) lut_DANZJI_GrantRandomDungeonDrop(MapID, InstanceID, RoleID) lut_DANZJI_GrantDungeonRuneDrop(MapID, InstanceID, RoleID, 3020144) lut_DANZJI_GrantTalismanScrollDrop(MapID, InstanceID, RoleID) end aux.RegisterCreatureEvent(9010591, 4, "c9010591_Die")