WVWMK 121 Report post Posted December 30, 2017 ItemInfo.txt 8865 Морской навык: Мастерство канонира s0226 10130005 0 0 0 0 0 0 31 0 0 0 0 0 1 1 1 1 200 0 5000 -1 0 -1 0 0 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0 0,0 0,0 0 0 0 0 0 0 0 0 0 ItemUse_Mor 0 0 0 0,0 0 0 Позволяет изучить морской навык 0 8866 Морской навык: Усилен. дерев. конструкции s0227 10130005 0 0 0 0 0 0 31 0 0 0 0 0 1 1 1 1 200 0 5000 -1 0 -1 0 0 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0 0,0 0,0 0 0 0 0 0 0 0 0 0 ItemUse_Mor 0 0 0 0,0 0 0 Позволяет изучить морской навык 0 8867 Морской навык: Мореходство s0228 10130005 0 0 0 0 0 0 31 0 0 0 0 0 1 1 1 1 200 0 5000 -1 0 -1 0 0 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0 0,0 0,0 0 0 0 0 0 0 0 0 0 ItemUse_Mor 0 0 0 0,0 0 0 Позволяет изучить морской навык 0 8868 Морской навык: Усиление корпуса s0229 10130005 0 0 0 0 0 0 31 0 0 0 0 0 1 1 1 1 200 0 5000 -1 0 -1 0 0 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0 0,0 0,0 0 0 0 0 0 0 0 0 0 ItemUse_Mor 0 0 0 0,0 0 0 Позволяет изучить морской навык 0 8869 Морской навык: Улучшение топливного бака s0230 10130005 0 0 0 0 0 0 31 0 0 0 0 0 1 1 1 1 200 0 5000 -1 0 -1 0 0 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0 0,0 0,0 0 0 0 0 0 0 0 0 0 ItemUse_Mor 0 0 0 0,0 0 0 Позволяет изучить морской навык 0 ItemInfo.lua function ItemUse_Mor (role , Item) local Cha_Boat = GetCtrlBoat ( role ) local sk_add = 0 local Item_ID = GetItemID ( Item ) local need_item = 0 local need_item2 = 0 local count = 1 if Cha_Boat ~= nil then SystemNotice( role , "Не может быть использовано, когда Вы в море!" ) UseItemFailed ( role ) return end if Item_ID ==8865 then sk_add=SK_HPSL elseif Item_ID ==8866 then sk_add=SK_JBJG elseif Item_ID ==8867 then sk_add=SK_CFS elseif Item_ID ==8868 then sk_add=SK_CTQH elseif Item_ID ==8869 then sk_add=SK_BJCR end local form_sklv = GetSkillLv( role , sk_add ) if form_sklv == 0 then a = AddChaSkill ( role , sk_add, 1 , 0 , 0 ) if a == 0 then UseItemFailed ( role ) return end end if form_sklv == 1 then need_item = 3989 need_item2 = 1667 elseif form_sklv == 2 then need_item = 3991 need_item2 = 1668 elseif form_sklv == 3 then need_item = 3992 need_item2 = 1670 elseif form_sklv == 4 then need_item = 3993 need_item2 = 1674 elseif form_sklv == 5 then need_item = 3994 need_item2 = 1782 elseif form_sklv == 6 then need_item = 3995 need_item2 = 4544 elseif form_sklv == 7 then need_item = 3996 need_item2 = 4037 elseif form_sklv == 8 then need_item = 3997 need_item2 = 4034 elseif form_sklv == 9 then need_item = 3998 need_item2 = 4546 end local itemname1 = GetItemName(need_item) local itemname2 = GetItemName(need_item2) if form_sklv >= 1 and form_sklv < 10 then count = (form_sklv + 1) * 10 local check = DelBagItem(role,need_item,count) local check2 = DelBagItem(role,need_item2,count) if check == 1 and check2 == 1 then a = AddChaSkill ( role , sk_add, form_sklv + 1 , 0 , 0 ) else SystemNotice(role, "Вам нужно "..count.." шт. " ..itemname1.. " и " ..count.." шт."..itemname2 ) UseItemFailed ( role ) end if a == 0 then UseItemFailed ( role ) return end end end skilleffect.lua --Мастерство канонира + function Skill_Hpsl_Use( role , sklv ) -- LG("skill_Hpsl", "enter function Skill_Oper_Hpsl:", "sklv = ", sklv ,"role = ", role , "\n") local statelv = sklv local ship_mxatk_dif = statelv * 5 local ship_mnatk_dif = statelv * 5 local ship_mxatk = ( Ship_Mxatk ( role ) + ship_mxatk_dif ) local ship_mnatk = ( Ship_Mnatk ( role ) + ship_mnatk_dif ) SetCharaAttr( ship_mxatk , role , ATTR_BOAT_SKILLV_MXATK ) SetCharaAttr( ship_mnatk , role , ATTR_BOAT_SKILLV_MNATK ) ALLExAttrSet(role) end function Skill_Hpsl_Unuse( role , sklv ) -- LG("skill_Bkzj", "enter function Skill_Oper_Bkzj:", "sklv = ", sklv ,"role = ", role , "\n") local statelv = sklv local ship_mxatk_dif = statelv * 5 local ship_mnatk_dif = statelv * 5 local ship_mxatk = ( Ship_Mxatk ( role ) - ship_mxatk_dif ) local ship_mnatk = ( Ship_Mnatk ( role ) - ship_mnatk_dif ) SetCharaAttr( ship_mxatk , role , ATTR_BOAT_SKILLV_MXATK ) SetCharaAttr( ship_mnatk , role , ATTR_BOAT_SKILLV_MNATK ) ALLExAttrSet(role) end --Усилен. дерев. конструкции + function Skill_Jbjg_Use( role , sklv ) LG("skill_Jbjg", "enter function Skill_Oper_Jbjg:", "sklv = ", sklv ,"role = ", role , "\n") local statelv = sklv local ship_def_dif = statelv * 15 local ship_def = ( Ship_Def ( role ) + ship_def_dif ) SetCharaAttr( ship_def , role , ATTR_BOAT_SKILLV_DEF ) ALLExAttrSet(role) end function Skill_Jbjg_Unuse( role , sklv ) LG("skill_Jbjg", "enter function Skill_Oper_Jbjg:", "sklv = ", sklv ,"role = ", role , "\n") local statelv = sklv local ship_def_dif = statelv * 15 local ship_def = ( Ship_Def ( role ) - ship_def_dif ) SetCharaAttr( ship_def , role , ATTR_BOAT_SKILLV_DEF ) ALLExAttrSet(role) end --Мореходство function Skill_Cfs_Use( role , sklv ) LG("skill_Cfs", "enter function Skill_Oper_Cfs:", "sklv = ", sklv ,"role = ", role , "\n") local statelv = sklv local ship_aspdsa_dif = 0.1 + statelv * 0.03 local ship_aspdsa = ( Ship_AspdSa ( role ) + ship_aspdsa_dif ) * ATTR_RADIX SetCharaAttr( ship_aspdsa , role , ATTR_BOAT_SKILLC_MSPD ) ALLExAttrSet(role) end function Skill_Cfs_Unuse( role , sklv ) LG("skill_Cfs", "enter function Skill_Oper_Cfs:", "sklv = ", sklv ,"role = ", role , "\n") local statelv = sklv local ship_aspdsa_dif = 0.1 + statelv * 0.03 local ship_aspdsa = ( Ship_AspdSa ( role ) - ship_aspdsa_dif ) * ATTR_RADIX SetCharaAttr( ship_aspdsa , role , ATTR_BOAT_SKILLC_MSPD ) ALLExAttrSet(role) end --Усиление корпуса function Skill_Ctqh_Use( role , sklv ) LG("skill_Ctqh", "enter function Skill_Oper_Ctqh:", "sklv = ", sklv ,"role = ", role , "\n") local statelv = sklv local ship_hp_dif = statelv * 550 local ship_hp = ( Ship_Mxhp ( role ) + ship_hp_dif ) SetCharaAttr( ship_hp , role , ATTR_BOAT_SKILLV_MXUSE ) ALLExAttrSet(role) end function Skill_Ctqh_Unuse( role , sklv ) LG("skill_Ctqh", "enter function Skill_Oper_Ctqh:", "sklv = ", sklv ,"role = ", role , "\n") local statelv = sklv local ship_hp_dif = statelv * 550 local ship_hp = ( Ship_Mxhp ( role ) - ship_hp_dif ) SetCharaAttr( ship_hp , role , ATTR_BOAT_SKILLV_MXUSE ) ALLExAttrSet(role) end --Топливо function Skill_Bjkr_Use( role , sklv ) LG("skill_Bjcr", "enter function Skill_Oper_Bjcr:", "sklv = ", sklv ,"role = ", role , "\n") local statelv = sklv local ship_sp_dif = statelv * 120 local ship_sp = ( Ship_Mxsp ( role ) + ship_sp_dif ) SetCharaAttr( ship_sp , role , ATTR_BOAT_SKILLV_MXSPLY ) ALLExAttrSet(role) end function Skill_Bjkr_Unuse( role , sklv ) LG("skill_Bjcr", "enter function Skill_Oper_Bjcr:", "sklv = ", sklv ,"role = ", role , "\n") local statelv = sklv local ship_sp_dif = statelv * 120 local ship_sp = ( Ship_Mxsp ( role ) - ship_sp_dif ) SetCharaAttr( ship_sp , role , ATTR_BOAT_SKILLV_MXSPLY ) ALLExAttrSet(role) end Навыки добавлять не нужно, так как они в стандартных сборках все есть и в массивах variable Система изучения такова - чтобы изучить навык 1 уровня вам не нужно ничего, для 2 уровня понадобится иметь при себе 2 лутины в заданном кол-ве, с каждым уровнем повышается кол-во лутин и изменяются сами лутины(дерево и руда насколько помню) Баланс навыков переделан для полуфан сборок Проверки на наличие лутин нужно проверить, не помню как они работали(вроде все было норм, но сомневаюсь) Если оптимизировать код будет меньше строчек. Quote Делай добро и бросай его в воду Share this post Link to post Share on other sites