function Buff_OnDestroy ( MapID, InstanceID, RoleID, BuffID ) --buff消失 --[[--两小时结束,第一个buff消失,添加第二个buff if BuffID == 9700101 then unit.AddBuff(MapID, InstanceID, RoleID, 9700201, RoleID) --三小时结束,第二个buff消失,添加第三个buff elseif BuffID == 9700201 then unit.AddBuff(MapID, InstanceID, RoleID, 9700301, RoleID) ------发放三小时奖励 role.BaibaoAddRoleItem(MapID, InstanceID, RoleID, 6020001, 2, -1, 12, 1200) --六小时结束,第三个buff消失,添加第四个buff elseif BuffID == 9700301 then unit.AddBuff(MapID, InstanceID, RoleID, 9700401, RoleID) ------发放六小时奖励 role.BaibaoAddRoleItem(MapID, InstanceID, RoleID, 3070010, 1, -1, 12, 1200) end]] if BuffID == 9813802 then unit.AddBuff(MapID, InstanceID, RoleID, 9813303, RoleID) end if BuffID == 3206001 then--长兵 local t = math.random(100) if t <= 5 then unit.AddBuff(MapID, InstanceID, RoleID,3206101,RoleID) elseif t > 5 and t <= 30 then unit.AddBuff(MapID, InstanceID, RoleID,3206301,RoleID) elseif t > 30 and t <= 50 then unit.AddBuff(MapID, InstanceID, RoleID,3206401,RoleID) elseif t > 50 and t <= 70 then unit.AddBuff(MapID, InstanceID, RoleID,3206601,RoleID) elseif t > 70 and t <= 100 then unit.AddBuff(MapID, InstanceID, RoleID,3206701,RoleID) end end if BuffID == 3207101 then--弓 local t = math.random(100) if t <= 5 then unit.AddBuff(MapID, InstanceID, RoleID,3206101,RoleID) elseif t > 5 and t <= 30 then unit.AddBuff(MapID, InstanceID, RoleID,3206801,RoleID) elseif t > 30 and t <= 50 then unit.AddBuff(MapID, InstanceID, RoleID,3206401,RoleID) elseif t > 50 and t <= 70 then unit.AddBuff(MapID, InstanceID, RoleID,3206601,RoleID) elseif t > 70 and t <= 100 then unit.AddBuff(MapID, InstanceID, RoleID,3206701,RoleID) end end if BuffID == 3207201 then--琴 local t = math.random(100) if t <= 5 then unit.AddBuff(MapID, InstanceID, RoleID,3206101,RoleID) elseif t > 5 and t <= 30 then unit.AddBuff(MapID, InstanceID, RoleID,3206901,RoleID) elseif t > 30 and t <= 50 then unit.AddBuff(MapID, InstanceID, RoleID,3206401,RoleID) elseif t > 50 and t <= 70 then unit.AddBuff(MapID, InstanceID, RoleID,3206601,RoleID) elseif t > 70 and t <= 100 then unit.AddBuff(MapID, InstanceID, RoleID,3206701,RoleID) end end if BuffID == 1100101 then --- Дракон role.SetRoleScriptData(RoleID, 1, RoleDataType["DragonCount"],0) end if BuffID == 9816901 then --- Сундук unit.CancelBuff(MapID, InstanceID, RoleID, 9999601) unit.AddBuff(MapID, InstanceID, RoleID,9003301,RoleID) end if BuffID == 9999602 then --- Пешая прогулка unit.CancelBuff(MapID, InstanceID, RoleID, 9999601) end if BuffID == 5954601 then role.SetRoleState(RoleID, 16777216, 1) unit.AddBuff(MapID, InstanceID, RoleID,1100201,RoleID) end if BuffID == 1100201 then role.UnSetRoleState(RoleID, 16777216, 1) end if BuffID == 9805101 then local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 102, 900107) -- Ваше тело отравлено. Ищите лекарственные цветы в окрестностях. Нужно найти 5 шт. msg.DispatchRoleMsgEvent(RoleID, MsgID) if otrava_ostrova == 1 then unit.AddBuff(MapID, InstanceID, RoleID,9805101,RoleID) end end if BuffID == 1100401 then role.AddRoleItem(MapID, InstanceID, RoleID, 4810109, 3, 6, 8, 420) role.AddRoleItem(MapID, InstanceID, RoleID, 3500208, 15, 6, 8, 420) local t = math.random(100) if t <= 20 then local r = math.random(1,9) local titan_drop = {} titan_drop[1]={6602044,1} titan_drop[2]={5802129,1} titan_drop[3]={5802130,1} titan_drop[5]={5802131,1} titan_drop[6]={5802153,1} titan_drop[7]={4810152,1} titan_drop[8]={4810109,5} titan_drop[9]={3500208,15} role.AddRoleItem(MapID, InstanceID, RoleID, titan_drop[r][1], titan_drop[r][2], 6, 8, 420) end end if BuffID == 2545101 then --- Дракон возмездия role.ForcedToRevive(MapID, InstanceID, RoleID) unit.AddBuff(MapID, InstanceID, RoleID,1043001,RoleID) unit.AddBuff(MapID, InstanceID, RoleID,1042901,RoleID) unit.AddBuff(MapID, InstanceID, RoleID,2547501,RoleID) unit.AddBuff(MapID, InstanceID, RoleID,2544701,RoleID) unit.AddBuff(MapID, InstanceID, RoleID,2544601,RoleID) --- Убивает себя unit.AddBuff(MapID, InstanceID, RoleID,9838101,RoleID) --- Хп 100 unit.AddBuff(MapID, InstanceID, RoleID,9838201,RoleID) --- МП 100 end if BuffID == 2545201 then --- Камикадзе unit.AddBuff(MapID, InstanceID, RoleID,2544801,RoleID) role.ForcedToRevive(MapID, InstanceID, RoleID) unit.AddBuff(MapID, InstanceID, RoleID,1043401,RoleID) unit.AddBuff(MapID, InstanceID, RoleID,2545601,RoleID) unit.AddBuff(MapID, InstanceID, RoleID,1043301,RoleID) unit.AddBuff(MapID, InstanceID, RoleID,1043201,RoleID) --- Убивает себя unit.AddBuff(MapID, InstanceID, RoleID,1043501,RoleID) unit.AddBuff(MapID, InstanceID, RoleID,9838101,RoleID) --- Хп 100 unit.AddBuff(MapID, InstanceID, RoleID,9838201,RoleID) --- МП 100 end if BuffID == 2545301 then --- Эпидемия role.ForcedToRevive(MapID, InstanceID, RoleID) unit.AddBuff(MapID, InstanceID, RoleID,2547601,RoleID) unit.AddBuff(MapID, InstanceID, RoleID,2544901,RoleID) unit.AddBuff(MapID, InstanceID, RoleID,1043901,RoleID) unit.AddBuff(MapID, InstanceID, RoleID,1044001,RoleID) unit.AddBuff(MapID, InstanceID, RoleID,1043801,RoleID) --- Убивает себя unit.AddBuff(MapID, InstanceID, RoleID,9838101,RoleID) --- Хп 100 unit.AddBuff(MapID, InstanceID, RoleID,9838201,RoleID) --- МП 100 end if BuffID == 3207301 then--法器 local t = math.random(100) if t <= 5 then unit.AddBuff(MapID, InstanceID, RoleID,3206101,RoleID) elseif t > 5 and t <= 30 then unit.AddBuff(MapID, InstanceID, RoleID,3206301,RoleID) elseif t > 30 and t <= 50 then unit.AddBuff(MapID, InstanceID, RoleID,3206401,RoleID) elseif t > 50 and t <= 70 then unit.AddBuff(MapID, InstanceID, RoleID,3206601,RoleID) elseif t > 70 and t <= 100 then unit.AddBuff(MapID, InstanceID, RoleID,3206701,RoleID) end end if BuffID == 3208301 then--龙啸凤鸣戒指套装 local t = math.random(100) if t <= 25 then unit.AddBuff(MapID, InstanceID, RoleID,3208401,RoleID) elseif t <= 50 then unit.AddBuff(MapID, InstanceID, RoleID,3208601,RoleID) elseif t <= 75 then unit.AddBuff(MapID, InstanceID, RoleID,3208801,RoleID) else unit.AddBuff(MapID, InstanceID, RoleID,3208901,RoleID) end end ------仲夏夜活动 if BuffID == 9008101 then local quest = role.IsRoleHaveQuest(MapID, InstanceID, RoleID, 30798) if quest == true then unit.AddBuff(MapID, InstanceID, RoleID,9008201,RoleID) role.SetRoleScriptData(RoleID, 1, RoleDataType["zhongxiaye"], 0) end end if BuffID == 9008201 then local quest = role.IsRoleHaveQuest(MapID, InstanceID, RoleID, 30798) if quest == true then unit.AddBuff(MapID, InstanceID, RoleID,9008301,RoleID) role.SetRoleScriptData(RoleID, 1, RoleDataType["zhongxiaye"], 0) end end if BuffID == 9008301 then local quest = role.IsRoleHaveQuest(MapID, InstanceID, RoleID, 30798) if quest == true then unit.AddBuff(MapID, InstanceID, RoleID,9008401,RoleID) role.SetRoleScriptData(RoleID, 1, RoleDataType["zhongxiaye"], 0) end end if BuffID == 9008401 then local quest = role.IsRoleHaveQuest(MapID, InstanceID, RoleID, 30798) if quest == true then unit.AddBuff(MapID, InstanceID, RoleID,9008501,RoleID) role.SetRoleScriptData(RoleID, 1, RoleDataType["zhongxiaye"], 0) end end if BuffID == 9008501 then local quest = role.IsRoleHaveQuest(MapID, InstanceID, RoleID, 30798) if quest == true then role.ModSpecialTargetValue(MapID, InstanceID, RoleID, 30798, 2) role.SetRoleScriptData(RoleID, 1, RoleDataType["zhongxiaye"], 1) return end end end aux.RegisterBuffEvent( 0, "Buff_OnDestroy" ) function Lith_skill_Cast(MapID, InstanceID, SkillID, OwnerID) unit.AddBuff(MapID, InstanceID, OwnerID,9896101,OwnerID) end aux.RegisterSkillEvent(5102401, 1, "Lith_skill_Cast") aux.RegisterSkillEvent(5102601, 1, "Lith_skill_Cast") function q30798_OnComplete(MapID, InstanceID, QuestID, RoleID, NPCID) local zhongxiayehuodong = role.GetRoleScriptData(RoleID, 1, RoleDataType["zhongxiaye"]) if zhongxiayehuodong == 1 then return 1 end end aux.RegisterQuestEvent(30798, 5, "q30798_OnComplete") function q30798_Complete(MapID, InstanceID, QuestID, RoleID, NPCID) unit.AddBuff(MapID, InstanceID, RoleID,9008101,RoleID) role.SetRoleScriptData(RoleID, 1, RoleDataType["zhongxiaye"], 0) end aux.RegisterQuestEvent(30798, 0, "q30798_Complete") function q30798_OnCancel(MapID, InstanceID, QuestID, RoleID, NPCID) unit.CancelBuff(MapID, InstanceID,RoleID,9008101) unit.CancelBuff(MapID, InstanceID,RoleID,9008201) unit.CancelBuff(MapID, InstanceID,RoleID,9008301) unit.CancelBuff(MapID, InstanceID,RoleID,9008401) unit.CancelBuff(MapID, InstanceID,RoleID,9008501) end aux.RegisterQuestEvent(30798, 2, "q30798_OnCancel")