skill = { { {0,0,0,0}, {150,25,10,1}, {300,50,12,1}, {450,75,14,2}, {600,10,16,2}, {750,125,18,3}, {900,150,20,3}, {1050,175,22,4}, {1200,200,24,4}, {1350,225,26,5}, {1500,250,28,5}, {1650,275,30,6}, {1800,300,32,6} }, { {0,0,0,0,0,0}, {100,10,100,20,2}, {150,15,200,22,2}, {200,20,300,24,4}, {250,25,400,26,4}, {300,30,500,28,6}, {350,35,600,30,6}, {400,40,700,32,8}, {450,45,800,34,8}, {500,50,900,36,10}, {550,55,1000,38,10}, {600,60,1100,40,12}, {650,65,1200,42,12} }, { {0,0,0,0,0}, {1100,25,20,1}, {1250,50,22,1}, {1400,75,24,2}, {1550,100,26,2}, {1700,125,28,3}, {1850,150,30,3}, {2000,175,32,4}, {2150,200,34,4}, {2300,225,36,5}, {2450,250,38,5}, {2600,275,40,6}, {2750,300,42,6} }, { {0,0,0,0,0}, {300,5,100,30,2}, {600,10,200,32,2}, {900,15,300,34,4}, {1200,20,400,36,4}, {1500,25,500,38,6}, {1800,30,600,40,6}, {2100,35,700,42,8}, {2400,40,800,44,8}, {2700,45,900,46,10}, {3000,50,1000,48,10}, {3300,55,1100,50,12}, {3600,60,1200,52,12} }, { {0,0,0,0}, {80,25,20,1}, {120,50,22,1}, {160,75,24,2}, {200,10,26,2}, {240,125,28,3}, {280,150,30,3}, {320,175,32,4}, {360,175,32,4}, {400,225,36,5}, {440,250,38,5}, {480,275,40,6}, {520,300,42,6} }, { {0,0,0,0,0}, {1700,12000,100,30,2}, {2000,18000,200,32,2}, {2300,24000,300,34,4}, {2600,30000,400,36,4}, {2900,36000,500,38,6}, {3200,42000,600,40,6}, {3500,48000,700,42,8}, {3800,54000,800,44,8}, {4100,60000,900,46,10}, {4400,66000,1000,48,10}, {4700,72000,1100,50,12}, {5000,78000,1200,52,12} }, { {0,0,0,0}, {100,25,30,1}, {200,50,32,1}, {300,75,34,2}, {400,100,36,2}, {500,125,38,3}, {600,150,40,3}, {700,175,42,4}, {800,200,44,4}, {900,225,46,5}, {1000,250,48,5}, {1100,275,50,6}, {1200,300,52,6} }, { {0,0,0,0,0}, {600,22000,100,40,2}, {900,33000,200,42,2}, {1200,44000,300,44,4}, {1500,55000,400,46,4}, {1800,66000,500,48,6}, {2100,77000,600,50,6}, {2400,88000,700,52,8}, {2700,99000,800,54,8}, {3000,110000,900,56,10}, {3300,121000,1000,58,10}, {3600,132000,1100,60,12}, {3900,143000,1200,62,12} }, { {0,0,0,0}, {10,25,30,1}, {15,50,32,1}, {20,75,34,2}, {25,100,36,2}, {30,125,38,3}, {35,150,40,3}, {40,175,42,4}, {45,200,44,4}, {50,225,46,5}, {55,225,48,5}, {60,275,50,6}, {65,300,52,6} }, { {0,0,0,0,0}, {10,300,100,40,2}, {15,450,200,42,2}, {20,600,300,44,4}, {25,750,400,46,4}, {30,900,500,48,6}, {35,1050,600,50,6}, {40,1200,700,52,8}, {45,1350,800,54,8}, {50,1500,900,56,10}, {55,1650,1000,58,10}, {60,1800,1100,60,12}, {65,1950,1200,62,12} } } id_skill_chek = {30600,30601,30602,30603,30604,30605,30606,30607,30608,30609} drako_item = {6600979,6600980} dako_id = {6040322,6040323,6040324,6040325,6040326,6040327} drako_exp = {3000,7000,12000,18000,26000,26000} msg_id1 = {950680,950681,950682,950683,950684,950685,950686,950687,950688,950689} msg_id2 = {950690,950691,950692,950693,950694,950695,950696,950697,950698,950699} function ld1_GetOnePerfectMap(MapID, InstanceID, RoleID) local FamilyID = role.GetRoleFamilyID(MapID, InstanceID, RoleID) return FamilyID end aux.RegisterMapEvent("ld1", 14, "ld1_GetOnePerfectMap") function ld1_CanEnterWhenOnline(MapID, RoleID) return 3440850216,1298,0,1818 end aux.RegisterMapEvent("ld1", 12, "ld1_CanEnterWhenOnline") function ld1_GetExporMapAndCoord(MapID, InstanceID, RoleID) return 1, 3440850216,1298,0,1818 end aux.RegisterMapEvent("ld1", 13, "ld1_GetExporMapAndCoord") function ld1_CanEnter(MapID, InstanceID, RoleID) return 1 end aux.RegisterMapEvent("ld1", 15, "ld1_CanEnter") function ld1_OnPlayerLeave(MapID, InstanceID,RoleID) end aux.RegisterMapEvent("ld1", 3, "ld1_OnPlayerLeave") function ld1_OnPlayerEnter(MapID, InstanceID,RoleID) local FamilyID = role.GetRoleFamilyID(MapID, InstanceID, RoleID) local DragoLevel,chek,_,_ = Dragon(FamilyID,0,0,1,0) if tonumber(chek) == 0 or tonumber(chek) == nil then Dragon(FamilyID,2,0,0,0) map.MapCreateCreature(MapID, FamilyID, dako_id[tonumber(DragoLevel)], 133, 40, 113, 1) end end aux.RegisterMapEvent("ld1", 2, "ld1_OnPlayerEnter") function s10_OnRoleEnterArea(MapID, InstanceID, RoleID, ObjAreaID) if ObjAreaID == 1784 then local FamilyID = role.GetRoleFamilyID(MapID, InstanceID, RoleID) if FamilyID ~= nil and FamilyID ~= 4294967295 then local DragoLevel,_,_,_ = Dragon(FamilyID,0,0,1,0) if tonumber(DragoLevel) == 0 or tonumber(DragoLevel) == nil then Dragon(FamilyID,1,0,0,RoleID) end map.CreateInstance(901878291, FamilyID) role.RoleGotoNewMap(MapID, InstanceID, RoleID, 901878291, 110, 0, 118) else local MsgID = msg.BeginMsgEvent() msg.AddMsgEvent(MsgID, 26, 950663) msg.DispatchRoleMsgEvent(RoleID, MsgID) end end end aux.RegisterMapEvent("s10", 7, "s10_OnRoleEnterArea") function ld1_OnRoleEnterArea(MapID, InstanceID, RoleID, ObjAreaID) local FamilyID = role.GetRoleFamilyID(MapID, InstanceID, RoleID) map.DeleteInstance(MapID, FamilyID) Dragon(FamilyID,3,0,0,0) end aux.RegisterMapEvent("ld1", 7, "ld1_OnRoleEnterArea") function c6040322_On_Talk(MapID, InstanceID, TargetID, TargetTypeID, RoleID, TalkIndex) local level = role.GetRoleLevel(MapID, InstanceID, RoleID) local FamilyID = role.GetRoleFamilyID(MapID, InstanceID, RoleID) local MsgID = msg.BeginMsgEvent() if TalkIndex == -1 then local DragoLevel,_,DragoExp,_ = Dragon(FamilyID,0,0,1,0) if tonumber(DragoExp) >= 3000 and tonumber(DragoExp) < 7000 then --2 лвл if tonumber(DragoLevel) == 1 then map.MapDeleteCreature(MapID, InstanceID, TargetID) map.MapCreateCreature(MapID, InstanceID, 6040323, 133, 40, 113, 1) Dragon(FamilyID,4,2,0,0) end elseif tonumber(DragoExp) >= 7000 and tonumber(DragoExp) < 12000 then --3 if tonumber(DragoLevel) == 1 or tonumber(DragoLevel) == 2 then map.MapDeleteCreature(MapID, InstanceID, TargetID) map.MapCreateCreature(MapID, InstanceID, 6040324, 133, 40, 113, 1) Dragon(FamilyID,4,3,0,0) end elseif tonumber(DragoExp) >= 12000 and tonumber(DragoExp) < 18000 then--4 if tonumber(DragoLevel) == 1 or tonumber(DragoLevel) == 2 or tonumber(DragoLevel) == 3 then map.MapDeleteCreature(MapID, InstanceID, TargetID) map.MapCreateCreature(MapID, InstanceID, 6040325, 133, 40, 113, 1) Dragon(FamilyID,4,4,0,0) end elseif tonumber(DragoExp) >= 18000 and tonumber(DragoExp)< 26000 then--5 if tonumber(DragoLevel) == 1 or tonumber(DragoLevel) == 2 or tonumber(DragoLevel) == 3 or tonumber(DragoLevel) == 4 then map.MapDeleteCreature(MapID, InstanceID, TargetID) map.MapCreateCreature(MapID, InstanceID, 6040326, 133, 40, 113, 1) Dragon(FamilyID,4,5,0,0) end elseif tonumber(DragoExp) >= 26000 then--6 if tonumber(DragoLevel) == 1 or tonumber(DragoLevel) == 2 or tonumber(DragoLevel) == 3 or tonumber(DragoLevel) == 4 or tonumber(DragoLevel) == 5 then map.MapDeleteCreature(MapID, InstanceID, TargetID) map.MapCreateCreature(MapID, InstanceID, 6040327, 133, 40, 113, 1) Dragon(FamilyID,4,6,0,0) end end if level >=50 then if tonumber(DragoLevel) < 6 then msg.AddMsgEvent(MsgID, 20, 950665) -- Чтобы прокачать пассивные навыки, нажмите кнопку Магия дракона. Чтобы прокачать дракона, нажмите кнопку Развитие.\nДля повышения уровня дракона нужно <p1> опыта. else msg.AddMsgEvent(MsgID, 20, 950701) -- Чтобы прокачать пассивные навыки, нажмите кнопку Магия дракона. Чтобы прокачать дракона, нажмите кнопку Развитие.\nДостигнут максимальный уровень. Дополнительный опыт <p1> end msg.AddMsgEvent(MsgID, 9, drako_exp[tonumber(DragoLevel)] - tonumber(DragoExp)) msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 21, 4) msg.AddMsgEvent(MsgID, 1, 950666) -- Магия дракона msg.AddMsgEvent(MsgID, 21, 5) msg.AddMsgEvent(MsgID, 1, 950667) -- Развитие else msg.AddMsgEvent(MsgID, 20, 950664) msg.AddMsgEvent(MsgID, 24, TargetID) end elseif TalkIndex == 5 then msg.AddMsgEvent(MsgID, 20, 950669) -- Здесь вся ваша семья может повышать уровень дракона, превращая различные предметы в опыт. Повышение уровней увеличивает шансы изучения навыков Магии дракона и открывает доступ к специальным заданиям на Драконьем острове. Если не кормить дракона 1 день, то после 23:59 он теряет 500 опыта. msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 21, 6) msg.AddMsgEvent(MsgID, 1, 950670) -- Драконья пища msg.AddMsgEvent(MsgID, 21, 7) msg.AddMsgEvent(MsgID, 1, 950671) -- 5000 золота elseif TalkIndex == 6 then local food_dragon = role.GetRoleItemNum(RoleID, 6600973) if food_dragon>0 then msg.AddMsgEvent(MsgID, 20, 950672) -- За сдачу вы получите <p1> опыта семейного питомца. msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 9, food_dragon*10) msg.AddMsgEvent(MsgID, 21, 8) msg.AddMsgEvent(MsgID, 1, 950673) -- Сдать else msg.AddMsgEvent(MsgID, 20, 950676) -- Не достаточно золота. msg.AddMsgEvent(MsgID, 24, TargetID) end elseif TalkIndex == 7 then msg.AddMsgEvent(MsgID, 20, 950672) -- За сдачу вы получите <p1> опыта семейного питомца. msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 9, 10) msg.AddMsgEvent(MsgID, 21, 9) msg.AddMsgEvent(MsgID, 1, 950673) -- Сдать elseif TalkIndex == 8 then local food_dragon = role.GetRoleItemNum(RoleID, 6600973) role.RemoveFromRole(MapID, InstanceID, RoleID, 6600973, food_dragon, 420) Dragon(FamilyID,5,food_dragon*10,0,0) elseif TalkIndex == 9 then local gold = role.GetRoleSilver(MapID, InstanceID,RoleID) if gold >=50000000 then role.DecRoleSilver(MapID, InstanceID, RoleID, 50000000, 420) Dragon(FamilyID,5,10,0,0) else msg.AddMsgEvent(MsgID, 20, 950677) -- Не достаточно золота. msg.AddMsgEvent(MsgID, 24, TargetID) end elseif TalkIndex == 4 then local _,_,_,cel = Dragon(FamilyID,0,0,1,RoleID) msg.AddMsgEvent(MsgID, 20, 950668) -- Здесь вы можете прокачать пассивные навыки Магии дракона. Для этого вам потребуются Кровь дракона, Коготь дракона и золото. Каждый следующий навык можно изучить только после изучения 6 уровней предыдущего навыка. Выберите навык из списка, чтобы узнать подробности.\nИспользовано попыток изучения <p1> из 20. msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 9, tonumber(cel)) for i = 1,10 do msg.AddMsgEvent(MsgID, 21, i+9) msg.AddMsgEvent(MsgID, 1, msg_id1[i]) end elseif TalkIndex == 10 or TalkIndex == 12 or TalkIndex == 14 or TalkIndex == 16 or TalkIndex == 18 then local _,_,_,cel = Dragon(FamilyID,0,0,1,RoleID) local LearnedSkill,LearnedSkillChek LearnedSkill = role.IsLearnedSkill(RoleID, id_skill_chek[TalkIndex-9]) LearnedSkillChek = role.IsLearnedSkill(RoleID, id_skill_chek[TalkIndex-10]) if TalkIndex == 10 then if LearnedSkill == nil then msg.AddMsgEvent(MsgID, 20, msg_id2[TalkIndex-9]) -- Чутье дракона\nТекущий ур.: <p1>:\nПроникновение стихий +<p2>\nСледующий.ур.: <p3>\nПроникновение стихий +<p4>\nШанс <p5>%.\nТребования. Золото: <p6>, Кровь дракона: <p7>, Коготь дракона: <p8>.\nИспользовано попыток <p9> из 20. msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 9, 0) msg.AddMsgEvent(MsgID, 9, skill[TalkIndex-9][1][1]) msg.AddMsgEvent(MsgID, 9, 1) msg.AddMsgEvent(MsgID, 9, skill[TalkIndex-9][2][1]) msg.AddMsgEvent(MsgID, 9, 100) msg.AddMsgEvent(MsgID, 9, skill[TalkIndex-9][2][2]) msg.AddMsgEvent(MsgID, 9, skill[TalkIndex-9][2][3]) msg.AddMsgEvent(MsgID, 9, skill[TalkIndex-9][2][4]) msg.AddMsgEvent(MsgID, 9, tonumber(cel)) msg.AddMsgEvent(MsgID, 21, 10+TalkIndex) msg.AddMsgEvent(MsgID, 1, 950700)--Изучить elseif LearnedSkill >= 1 and LearnedSkill <12 then local proc = 100 - LearnedSkill*7 msg.AddMsgEvent(MsgID, 20, msg_id2[TalkIndex-9]) -- Чутье дракона\nТекущий ур.: <p1>:\nПроникновение стихий +<p2>\nСледующий.ур.: <p3>\nПроникновение стихий +<p4>\nШанс <p5>%.\nТребования. Золото: <p6>, Кровь дракона: <p7>, Коготь дракона: <p8>.\nИспользовано попыток <p9> из 20. msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 9, LearnedSkill) msg.AddMsgEvent(MsgID, 9, skill[TalkIndex-9][LearnedSkill+1][1]) msg.AddMsgEvent(MsgID, 9, LearnedSkill+1) msg.AddMsgEvent(MsgID, 9, skill[TalkIndex-9][LearnedSkill+2][1]) msg.AddMsgEvent(MsgID, 9, proc) msg.AddMsgEvent(MsgID, 9, skill[TalkIndex-9][LearnedSkill+2][2]) msg.AddMsgEvent(MsgID, 9, skill[TalkIndex-9][LearnedSkill+2][3]) msg.AddMsgEvent(MsgID, 9, skill[TalkIndex-9][LearnedSkill+2][4]) msg.AddMsgEvent(MsgID, 9, tonumber(cel)) msg.AddMsgEvent(MsgID, 21, 10+TalkIndex) msg.AddMsgEvent(MsgID, 1, 950700)--Изучить elseif LearnedSkill == 12 then msg.AddMsgEvent(MsgID, 20, 950703) -- Эта способность дракона уже достигла макс. уровня. msg.AddMsgEvent(MsgID, 24, TargetID) end else if LearnedSkillChek== nil or LearnedSkillChek<6 then msg.AddMsgEvent(MsgID, 20, 950702) -- Эта способность дракона еще не открыта. msg.AddMsgEvent(MsgID, 24, TargetID) elseif LearnedSkillChek>=6 then if LearnedSkill == nil then msg.AddMsgEvent(MsgID, 20, msg_id2[TalkIndex-9]) -- Чутье дракона\nТекущий ур.: <p1>:\nПроникновение стихий +<p2>\nСледующий.ур.: <p3>\nПроникновение стихий +<p4>\nШанс <p5>%.\nТребования. Золото: <p6>, Кровь дракона: <p7>, Коготь дракона: <p8>.\nИспользовано попыток <p9> из 20. msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 9, 0) msg.AddMsgEvent(MsgID, 9, skill[TalkIndex-9][1][1]) msg.AddMsgEvent(MsgID, 9, 1) msg.AddMsgEvent(MsgID, 9, skill[TalkIndex-9][2][1]) msg.AddMsgEvent(MsgID, 9, 100) msg.AddMsgEvent(MsgID, 9, skill[TalkIndex-9][2][2]) msg.AddMsgEvent(MsgID, 9, skill[TalkIndex-9][2][3]) msg.AddMsgEvent(MsgID, 9, skill[TalkIndex-9][2][4]) msg.AddMsgEvent(MsgID, 9, tonumber(cel)) msg.AddMsgEvent(MsgID, 21, 10+TalkIndex) msg.AddMsgEvent(MsgID, 1, 950700)--Изучить elseif LearnedSkill >= 1 and LearnedSkill <12 then local proc = 100 - LearnedSkill*7 msg.AddMsgEvent(MsgID, 20, msg_id2[TalkIndex-9]) -- Чутье дракона\nТекущий ур.: <p1>:\nПроникновение стихий +<p2>\nСледующий.ур.: <p3>\nПроникновение стихий +<p4>\nШанс <p5>%.\nТребования. Золото: <p6>, Кровь дракона: <p7>, Коготь дракона: <p8>.\nИспользовано попыток <p9> из 20. msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 9, LearnedSkill) msg.AddMsgEvent(MsgID, 9, skill[TalkIndex-9][LearnedSkill+1][1]) msg.AddMsgEvent(MsgID, 9, LearnedSkill+1) msg.AddMsgEvent(MsgID, 9, skill[TalkIndex-9][LearnedSkill+2][1]) msg.AddMsgEvent(MsgID, 9, proc) msg.AddMsgEvent(MsgID, 9, skill[TalkIndex-9][LearnedSkill+2][2]) msg.AddMsgEvent(MsgID, 9, skill[TalkIndex-9][LearnedSkill+2][3]) msg.AddMsgEvent(MsgID, 9, skill[TalkIndex-9][LearnedSkill+2][4]) msg.AddMsgEvent(MsgID, 9, tonumber(cel)) msg.AddMsgEvent(MsgID, 21, 10+TalkIndex) msg.AddMsgEvent(MsgID, 1, 950700)--Изучить elseif LearnedSkill == 12 then msg.AddMsgEvent(MsgID, 20, 950703) -- Эта способность дракона уже достигла макс. уровня. msg.AddMsgEvent(MsgID, 24, TargetID) end end end elseif TalkIndex == 11 or TalkIndex == 13 or TalkIndex == 15 or TalkIndex == 17 or TalkIndex == 19 then local _,_,_,cel = Dragon(FamilyID,0,0,1,RoleID) local LearnedSkill,LearnedSkillChek LearnedSkill = role.IsLearnedSkill(RoleID, id_skill_chek[TalkIndex-9]) LearnedSkillChek = role.IsLearnedSkill(RoleID, id_skill_chek[TalkIndex-10]) if LearnedSkillChek== nil or LearnedSkillChek<6 then msg.AddMsgEvent(MsgID, 20, 950702) -- Эта способность дракона еще не открыта. msg.AddMsgEvent(MsgID, 24, TargetID) elseif LearnedSkillChek>=6 then if LearnedSkill == nil then msg.AddMsgEvent(MsgID, 20, msg_id2[TalkIndex-9]) -- Аура присутствия\nТекущий ур.: <p1>\nДоп. урон +<p2>, Усиление ослабления +<p3>\nСледующий. ур.: <p4>\nДоп. урон +<p5>, Усиление ослабления +<p6>\nШанс <p7>%.\nТребования. Золото: <p8>, Кровь дракона: <p9>, Коготь дракона: <p10>.\nИспользовано попыток <p11> из 20. msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 9, 0) msg.AddMsgEvent(MsgID, 9, skill[TalkIndex-9][1][1]) msg.AddMsgEvent(MsgID, 9, skill[TalkIndex-9][1][2]) msg.AddMsgEvent(MsgID, 9, 1) msg.AddMsgEvent(MsgID, 9, skill[TalkIndex-9][2][1]) msg.AddMsgEvent(MsgID, 9, skill[TalkIndex-9][2][2]) msg.AddMsgEvent(MsgID, 9, 100) msg.AddMsgEvent(MsgID, 9, skill[TalkIndex-9][2][3]) msg.AddMsgEvent(MsgID, 9, skill[TalkIndex-9][2][4]) msg.AddMsgEvent(MsgID, 9, skill[TalkIndex-9][2][5]) msg.AddMsgEvent(MsgID, 9, tonumber(cel)) msg.AddMsgEvent(MsgID, 21, 10+TalkIndex) msg.AddMsgEvent(MsgID, 1, 950700)--Изучить elseif LearnedSkill >= 1 and LearnedSkill <12 then local proc = 100 - LearnedSkill*7 msg.AddMsgEvent(MsgID, 20, msg_id2[TalkIndex-9]) -- Аура присутствия\nТекущий ур.: <p1>\nДоп. урон +<p2>, Усиление ослабления +<p3>\nСледующий. ур.: <p4>\nДоп. урон +<p5>, Усиление ослабления +<p6>\nШанс <p7>%.\nТребования. Золото: <p8>, Кровь дракона: <p9>, Коготь дракона: <p10>.\nИспользовано попыток <p11> из 20. msg.AddMsgEvent(MsgID, 24, TargetID) msg.AddMsgEvent(MsgID, 9, LearnedSkill) msg.AddMsgEvent(MsgID, 9, skill[TalkIndex-9][LearnedSkill+1][1]) msg.AddMsgEvent(MsgID, 9, skill[TalkIndex-9][LearnedSkill+1][2]) msg.AddMsgEvent(MsgID, 9, LearnedSkill+1) msg.AddMsgEvent(MsgID, 9, skill[TalkIndex-9][LearnedSkill+2][1]) msg.AddMsgEvent(MsgID, 9, skill[TalkIndex-9][LearnedSkill+2][2]) msg.AddMsgEvent(MsgID, 9, proc) msg.AddMsgEvent(MsgID, 9, skill[TalkIndex-9][LearnedSkill+2][3]) msg.AddMsgEvent(MsgID, 9, skill[TalkIndex-9][LearnedSkill+2][4]) msg.AddMsgEvent(MsgID, 9, skill[TalkIndex-9][LearnedSkill+2][5]) msg.AddMsgEvent(MsgID, 9, tonumber(cel)) msg.AddMsgEvent(MsgID, 21, 10+TalkIndex) msg.AddMsgEvent(MsgID, 1, 950700)--Изучить elseif LearnedSkill == 12 then msg.AddMsgEvent(MsgID, 20, 950703) -- Эта способность дракона уже достигла макс. уровня. msg.AddMsgEvent(MsgID, 24, TargetID) end end elseif TalkIndex >= 20 and TalkIndex<31 then addskill(TalkIndex-19,RoleID,MapID,InstanceID,TargetID,FamilyID,MsgID) end msg.AddMsgEvent(MsgID, 21, -1) msg.AddMsgEvent(MsgID, 1, 100002) msg.DispatchRoleMsgEvent(RoleID, MsgID) end function addskill(index,RoleID,MapID,InstanceID,TargetID,FamilyID,MsgID) local krov = role.GetRoleItemNum(RoleID, drako_item[1]) local kogot = role.GetRoleItemNum(RoleID, drako_item[2]) local gold_skill = role.GetRoleSilver(MapID, InstanceID,RoleID) local LearnedSkill = role.IsLearnedSkill(RoleID, id_skill_chek[index]) local _,_,_,cel = Dragon(FamilyID,0,0,1,RoleID) local b if tonumber(cel) <20 then if LearnedSkill == nil or LearnedSkill==0 then LearnedSkill = 0 end if LearnedSkill <12 then if index==1 or index==3 or index==5 or index == 7 or index ==9 then b = (skill[index][LearnedSkill+1][2])*10000 elseif index==2 or index==4 or index==6 or index == 8 or index == 10 then b = (skill[index][LearnedSkill+1][3])*10000 end if gold_skill >= b then if index==1 or index==3 or index==5 or index == 7 or index ==9 then if krov >= skill[index][LearnedSkill+1][3] and kogot>=skill[index][LearnedSkill+1][4] then role.RemoveFromRole(MapID, InstanceID, RoleID, drako_item[1], skill[index][LearnedSkill+1][3], 420) role.RemoveFromRole(MapID, InstanceID, RoleID, drako_item[2], skill[index][LearnedSkill+1][4], 420) role.RemoveSkill(RoleID, id_skill_chek[index]) role.AddSkill(RoleID, id_skill_chek[index]*100+LearnedSkill+1) Dragon(FamilyID,6,1,0,RoleID) else msg.AddMsgEvent(MsgID, 20, 950705) -- Сырья недостаточно, активировать невозможно. msg.AddMsgEvent(MsgID, 24, TargetID) end elseif index==2 or index==4 or index==6 or index == 8 or index == 10 then if krov >= skill[index][LearnedSkill+1][4] and kogot>=skill[index][LearnedSkill+1][5] then role.RemoveFromRole(MapID, InstanceID, RoleID, drako_item[1], skill[index][LearnedSkill+1][4], 420) role.RemoveFromRole(MapID, InstanceID, RoleID, drako_item[2], skill[index][LearnedSkill+1][5], 420) role.RemoveSkill(RoleID, id_skill_chek[index]) role.AddSkill(RoleID, id_skill_chek[index]*100+LearnedSkill+1) Dragon(FamilyID,6,1,0,RoleID) else msg.AddMsgEvent(MsgID, 20, 950705) -- Сырья недостаточно, активировать невозможно. msg.AddMsgEvent(MsgID, 24, TargetID) end end else msg.AddMsgEvent(MsgID, 20, 950704) -- Золота недостаточно, активировать невозможно. msg.AddMsgEvent(MsgID, 24, TargetID) end else msg.AddMsgEvent(MsgID, 20, 950703) -- Эта способность дракона уже достигла макс. уровня. msg.AddMsgEvent(MsgID, 24, TargetID) end else msg.AddMsgEvent(MsgID, 20, 950706) -- Сегодня уже проведено максимальное количество активаций. msg.AddMsgEvent(MsgID, 24, TargetID) end end aux.RegisterCreatureEvent(6040322, 7, "c6040322_On_Talk") aux.RegisterCreatureEvent(6040323, 7, "c6040322_On_Talk") aux.RegisterCreatureEvent(6040324, 7, "c6040322_On_Talk") aux.RegisterCreatureEvent(6040325, 7, "c6040322_On_Talk") aux.RegisterCreatureEvent(6040326, 7, "c6040322_On_Talk") aux.RegisterCreatureEvent(6040327, 7, "c6040322_On_Talk")