Abra 0 Report post Posted December 11, 2021 Всем привет. Прошу не кидать тапками в новичка, лазил по форуму но ответа на свои вопросы не нашел. Собственно первый вопрос, запустил сервер все работает, кроме посехи: т.е ни джун, ни аторое поколение фей не дает прибавку к статам, и стамина соответственно не отнимается - вопрос где копать, что изменять? И второй вопрос, если в экипировку вставить самоцвет, то после того как вставлю в аппарель бонусы от гема не добавляются, но при этом он находится в экипровке Заранее благодарю за помощь Quote Share this post Link to post Share on other sites
V3ct0r 2,117 Report post Posted December 12, 2021 Привет, @Abra, и добро пожаловать на форум! Quote Собственно первый вопрос, запустил сервер Какая версия и сборка сервера? Quote все работает, кроме посехи: т.е ни джун, ни аторое поколение фей не дает прибавку к статам, и стамина соответственно не отнимается - вопрос где копать, что изменять? Попробуй в SkillEffect.lua (GameServer\resource\script\calculate) заменить скрипт "Владений феей" на следующий: --Fairy Body ------------------------------------- function SkillCooldown_JLFT( sklv ) local Cooldown = 180000 return Cooldown end function SkillSp_JLFT ( sklv ) local sp_reduce = 20 return sp_reduce end function Skill_JLFT_BEGIN( role , sklv ) --SystemNotice ( role , "Skill_JLFT_BEGIN" ) local item_elf = GetChaItem(role , 2, 1) -- Pet Handle local item_elf_type = GetItemType ( item_elf ) -- Pet Type local item_elf_maxhp = GetItemAttr(item_elf,ITEMATTR_MAXURE) -- Max Stamina local item_elf_hp = GetItemAttr(item_elf,ITEMATTR_URE) -- Current Stamina local role_hp = GetChaAttr(role, ATTR_HP) local role_mxhp = GetChaAttr(role, ATTR_MXHP) local Num_JL = GetItemForgeParam ( item_elf , 1 ) local Part1 = GetNum_Part1 ( Num_JL ) -- Value Checks --SystemNotice ( role , "item_elf_type == "..item_elf_type ) --SystemNotice ( role , "item_elf_hp == "..item_elf_hp ) --SystemNotice ( role , "Part1 == "..Part1 ) --SystemNotice ( role , "Num_JL == "..Num_JL ) if item_elf_type ~= 59 then -- or Part1~=1 then SkillUnable(role) SystemNotice ( role , "Current skill is only available if the new generation of pet is equipped!" ) return end local str = GetItemAttr( item_elf ,ITEMATTR_VAL_STR ) -- Str Lv local con = GetItemAttr( item_elf ,ITEMATTR_VAL_CON ) -- Con Lv local agi = GetItemAttr( item_elf ,ITEMATTR_VAL_AGI ) -- Agi Lv local dex = GetItemAttr( item_elf ,ITEMATTR_VAL_DEX ) -- Spr Lv local sta = GetItemAttr( item_elf ,ITEMATTR_VAL_STA ) -- Acc Lv local lv_JL = str + con + agi + dex + sta ---- Total Lv of Pet if item_elf_hp < 5000 then SkillUnable ( role ) SystemNotice ( role , "Fairy needs to have at least 100 stamina to activate this skill!" ) return end item_elf_hp = item_elf_hp - (6 * lv_JL / sklv) * 50 SetItemAttr ( item_elf , ITEMATTR_URE , item_elf_hp ) end function Skill_JLFT_End ( ATKER , DEFER , sklv ) local statelv = sklv local statetime = 190 - sklv * 10 local item_elf = GetChaItem(ATKER , 2, 1) -- Pet Handle local item_elf_type = GetItemType ( item_elf ) -- Pet Type local Item_ID = GetItemID ( item_elf ) -- Pet ID --SystemNotice ( ATKER , "Item_ID=="..Item_ID ) if Item_ID==231 then --SystemNotice ( ATKER , "Fairy of Luck == "..Item_ID ) AddState( ATKER , ATKER , STATE_JLFT7, statelv , statetime ) elseif Item_ID==232 then --SystemNotice ( ATKER , "Fairy of Strength == "..Item_ID ) AddState( ATKER , ATKER , STATE_JLFT2, statelv , statetime ) elseif Item_ID==233 then --SystemNotice ( ATKER , "Fairy of Constitution == "..Item_ID ) AddState( ATKER , ATKER , STATE_JLFT3, statelv , statetime ) elseif Item_ID==234 then --SystemNotice ( ATKER , "Fairy of Spirit == "..Item_ID ) AddState( ATKER , ATKER , STATE_JLFT4, statelv , statetime ) elseif Item_ID==235 then --SystemNotice ( ATKER , "Fairy of Accuracy == "..Item_ID ) AddState( ATKER , ATKER , STATE_JLFT5, statelv , statetime ) elseif Item_ID==236 then --SystemNotice ( ATKER , "Fairy of Agility == "..Item_ID ) AddState( ATKER , ATKER , STATE_JLFT6, statelv , statetime ) elseif Item_ID==237 then --SystemNotice ( ATKER , "Fairy of Evil == "..Item_ID ) AddState( ATKER , ATKER , STATE_JLFT7, statelv , statetime ) elseif Item_ID==681 then --SystemNotice ( ATKER , "Mordo Junior == "..Item_ID ) AddState( ATKER , ATKER , STATE_JLFT8, statelv , statetime ) end end function State_JLFT_Add ( role , sklv ) local Item_bg = GetChaItem ( role , 2 , 1 ) local Get_Item_Type = GetItemType ( Item_bg ) --SystemNotice ( role , "Get_Item_Type == "..Get_Item_Type ) if Get_Item_Type == 59 then local Item_ID = GetItemID ( Item_bg ) local str = GetItemAttr( Item_bg ,ITEMATTR_VAL_STR ) local con = GetItemAttr( Item_bg ,ITEMATTR_VAL_CON ) local agi = GetItemAttr( Item_bg ,ITEMATTR_VAL_AGI ) local dex = GetItemAttr( Item_bg ,ITEMATTR_VAL_DEX ) local sta = GetItemAttr( Item_bg ,ITEMATTR_VAL_STA ) local URE = GetItemAttr( Item_bg ,ITEMATTR_URE ) local MAXURE = GetItemAttr( Item_bg ,ITEMATTR_MAXURE ) local lv_JL = str + con + agi + dex + sta local Num_JL = GetItemForgeParam ( Item_bg , 1 ) -- No idea Wtf these are for local Part1 = 1 --GetNum_Part1 ( Num_JL ) local Part2 = GetNum_Part2 ( Num_JL ) local Part3 = GetNum_Part3 ( Num_JL ) local Part4 = GetNum_Part4 ( Num_JL ) local Part5 = GetNum_Part5 ( Num_JL ) local Part6 = GetNum_Part6 ( Num_JL ) local Part7 = GetNum_Part7 ( Num_JL ) --SystemNotice ( role , "State_JLFT_Add_URE == "..URE ) --SystemNotice ( role , "State_JLFT_Add_Part1 == "..Part1 ) if Part1 == 1 then local star = 0 -- Effect increase by skill level local statelv = lv_JL * 0.025 * (sklv + 1) * 0.05 ----lv*1/40*(skilllv+1)/2*0.1 if Item_ID ==232 then --local star = GetChaAttr( role , ATTR_BSTR )*statelv local star = lv_JL SetCharaAttr(star, role, ATTR_STATEV_STR) end if Item_ID ==233 then --local star = GetChaAttr( role , ATTR_BCON )*statelv local star = lv_JL SetCharaAttr(star, role, ATTR_STATEV_CON) end if Item_ID ==234 then --local star = GetChaAttr( role , ATTR_BDEX )*statelv local star = lv_JL SetCharaAttr(star, role, ATTR_STATEV_STA) end if Item_ID ==235 then --local star = GetChaAttr( role , ATTR_BSTA )*statelv local star = lv_JL SetCharaAttr(star, role, ATTR_STATEV_DEX) end if Item_ID ==236 then --local star = GetChaAttr( role , ATTR_BAGI )*statelv local star = lv_JL SetCharaAttr(star ,role , ATTR_STATEV_AGI) end --if Item_ID == 231 or Item_ID == 681 then --local star = lv_JL --local star = GetChaAttr( role, ATTR_LUK ) * lv_JL * 0.02 --SetCharaAtrr(star, role, ATTR_STATEV_LUK) --end --if Item_ID == 237 or Item_ID == 681 then --local star = lv_JL --local star = GetChaAttr( role, ATTR_BMF ) * lv_JL * 0.02 --SetCharaAttr(star ,role , ATTR_STATEV_MF) --end if Item_ID == 681 or Item_ID == 231 or Item_ID == 237 then if str~=nil and str~=0 then local star = str SetCharaAttr(star ,role , ATTR_STATEV_STR) end if con~=nil and con~=0 then local star = con SetCharaAttr(star ,role , ATTR_STATEV_CON) end if sta~=nil and sta~=0 then local star = sta SetCharaAttr(star ,role , ATTR_STATEV_STA) end if dex~=nil and dex~=0 then local star = dex SetCharaAttr(star ,role , ATTR_STATEV_DEX) end if agi~=nil and agi~=0 then local star = agi SetCharaAttr(star ,role , ATTR_STATEV_AGI) end --URE=URE-4500 end --SetItemAttr ( Item_bg , ITEMATTR_URE , URE ) end ALLExAttrSet(role) end function State_JLFT_Rem ( role , sklv ) SetCharaAttr(0 ,role , ATTR_STATEV_STR) SetCharaAttr(0 ,role , ATTR_STATEV_CON) SetCharaAttr(0 ,role , ATTR_STATEV_STA) SetCharaAttr(0 ,role , ATTR_STATEV_DEX) SetCharaAttr(0 ,role , ATTR_STATEV_AGI) SetCharaAttr(0 ,role , ATTR_STATEV_MF) SetCharaAttr(0 ,role , ATTR_STATEV_LUK) ALLExAttrSet(role) end Quote И второй вопрос, если в экипировку вставить самоцвет, то после того как вставлю в аппарель бонусы от гема не добавляются, но при этом он находится в экипровке Самоцвет точно стоит в экипировке? Насколько я помню, есть некоторый шанс, при котором самоцвет исчезнет после плавки аппарели. Quote Some useful links / Полезные ссылки Tips for making a topic in 'Questions & Help' / Рекомендации по созданию тем в разделе "Помощь" Server Advertising Section Rules / Правила раздела "Реклама серверов" Available e-mail domains for registration / Допустимые e-mail домены для регистрации User groups / Группы пользователей User ranks / Звания пользователей "Broken" pictures on the forum / "Битые" изображения на форуме Beware of scammers! / Осторожно, мошенники! My developments / Мои разработки Mods for client and server / Моды для клиента и сервера PKOdev.NET website for Tales of Pirates Server / PKOdev.NET веб-обвязка для сервера Пиратии I do not provide any help in private messages and outside the forum. Use 'Questions & Help' section please. Thank you for understanding! Я не оказываю какую-либо помощь в личных сообщениях и вне форума. Пожалуйста, используйте раздел "Пиратия: Помощь". Благодарю за понимание! Share this post Link to post Share on other sites
Abra 0 Report post Posted December 12, 2021 4 часа назад, V3ct0r сказал: Привет, @Abra, и добро пожаловать на форум! Какая версия и сборка сервера? Попробуй в SkillEffect.lua (GameServer\resource\script\calculate) заменить скрипт "Владений феей" на следующий: --Fairy Body ------------------------------------- function SkillCooldown_JLFT( sklv ) local Cooldown = 180000 return Cooldown end function SkillSp_JLFT ( sklv ) local sp_reduce = 20 return sp_reduce end function Skill_JLFT_BEGIN( role , sklv ) --SystemNotice ( role , "Skill_JLFT_BEGIN" ) local item_elf = GetChaItem(role , 2, 1) -- Pet Handle local item_elf_type = GetItemType ( item_elf ) -- Pet Type local item_elf_maxhp = GetItemAttr(item_elf,ITEMATTR_MAXURE) -- Max Stamina local item_elf_hp = GetItemAttr(item_elf,ITEMATTR_URE) -- Current Stamina local role_hp = GetChaAttr(role, ATTR_HP) local role_mxhp = GetChaAttr(role, ATTR_MXHP) local Num_JL = GetItemForgeParam ( item_elf , 1 ) local Part1 = GetNum_Part1 ( Num_JL ) -- Value Checks --SystemNotice ( role , "item_elf_type == "..item_elf_type ) --SystemNotice ( role , "item_elf_hp == "..item_elf_hp ) --SystemNotice ( role , "Part1 == "..Part1 ) --SystemNotice ( role , "Num_JL == "..Num_JL ) if item_elf_type ~= 59 then -- or Part1~=1 then SkillUnable(role) SystemNotice ( role , "Current skill is only available if the new generation of pet is equipped!" ) return end local str = GetItemAttr( item_elf ,ITEMATTR_VAL_STR ) -- Str Lv local con = GetItemAttr( item_elf ,ITEMATTR_VAL_CON ) -- Con Lv local agi = GetItemAttr( item_elf ,ITEMATTR_VAL_AGI ) -- Agi Lv local dex = GetItemAttr( item_elf ,ITEMATTR_VAL_DEX ) -- Spr Lv local sta = GetItemAttr( item_elf ,ITEMATTR_VAL_STA ) -- Acc Lv local lv_JL = str + con + agi + dex + sta ---- Total Lv of Pet if item_elf_hp < 5000 then SkillUnable ( role ) SystemNotice ( role , "Fairy needs to have at least 100 stamina to activate this skill!" ) return end item_elf_hp = item_elf_hp - (6 * lv_JL / sklv) * 50 SetItemAttr ( item_elf , ITEMATTR_URE , item_elf_hp ) end function Skill_JLFT_End ( ATKER , DEFER , sklv ) local statelv = sklv local statetime = 190 - sklv * 10 local item_elf = GetChaItem(ATKER , 2, 1) -- Pet Handle local item_elf_type = GetItemType ( item_elf ) -- Pet Type local Item_ID = GetItemID ( item_elf ) -- Pet ID --SystemNotice ( ATKER , "Item_ID=="..Item_ID ) if Item_ID==231 then --SystemNotice ( ATKER , "Fairy of Luck == "..Item_ID ) AddState( ATKER , ATKER , STATE_JLFT7, statelv , statetime ) elseif Item_ID==232 then --SystemNotice ( ATKER , "Fairy of Strength == "..Item_ID ) AddState( ATKER , ATKER , STATE_JLFT2, statelv , statetime ) elseif Item_ID==233 then --SystemNotice ( ATKER , "Fairy of Constitution == "..Item_ID ) AddState( ATKER , ATKER , STATE_JLFT3, statelv , statetime ) elseif Item_ID==234 then --SystemNotice ( ATKER , "Fairy of Spirit == "..Item_ID ) AddState( ATKER , ATKER , STATE_JLFT4, statelv , statetime ) elseif Item_ID==235 then --SystemNotice ( ATKER , "Fairy of Accuracy == "..Item_ID ) AddState( ATKER , ATKER , STATE_JLFT5, statelv , statetime ) elseif Item_ID==236 then --SystemNotice ( ATKER , "Fairy of Agility == "..Item_ID ) AddState( ATKER , ATKER , STATE_JLFT6, statelv , statetime ) elseif Item_ID==237 then --SystemNotice ( ATKER , "Fairy of Evil == "..Item_ID ) AddState( ATKER , ATKER , STATE_JLFT7, statelv , statetime ) elseif Item_ID==681 then --SystemNotice ( ATKER , "Mordo Junior == "..Item_ID ) AddState( ATKER , ATKER , STATE_JLFT8, statelv , statetime ) end end function State_JLFT_Add ( role , sklv ) local Item_bg = GetChaItem ( role , 2 , 1 ) local Get_Item_Type = GetItemType ( Item_bg ) --SystemNotice ( role , "Get_Item_Type == "..Get_Item_Type ) if Get_Item_Type == 59 then local Item_ID = GetItemID ( Item_bg ) local str = GetItemAttr( Item_bg ,ITEMATTR_VAL_STR ) local con = GetItemAttr( Item_bg ,ITEMATTR_VAL_CON ) local agi = GetItemAttr( Item_bg ,ITEMATTR_VAL_AGI ) local dex = GetItemAttr( Item_bg ,ITEMATTR_VAL_DEX ) local sta = GetItemAttr( Item_bg ,ITEMATTR_VAL_STA ) local URE = GetItemAttr( Item_bg ,ITEMATTR_URE ) local MAXURE = GetItemAttr( Item_bg ,ITEMATTR_MAXURE ) local lv_JL = str + con + agi + dex + sta local Num_JL = GetItemForgeParam ( Item_bg , 1 ) -- No idea Wtf these are for local Part1 = 1 --GetNum_Part1 ( Num_JL ) local Part2 = GetNum_Part2 ( Num_JL ) local Part3 = GetNum_Part3 ( Num_JL ) local Part4 = GetNum_Part4 ( Num_JL ) local Part5 = GetNum_Part5 ( Num_JL ) local Part6 = GetNum_Part6 ( Num_JL ) local Part7 = GetNum_Part7 ( Num_JL ) --SystemNotice ( role , "State_JLFT_Add_URE == "..URE ) --SystemNotice ( role , "State_JLFT_Add_Part1 == "..Part1 ) if Part1 == 1 then local star = 0 -- Effect increase by skill level local statelv = lv_JL * 0.025 * (sklv + 1) * 0.05 ----lv*1/40*(skilllv+1)/2*0.1 if Item_ID ==232 then --local star = GetChaAttr( role , ATTR_BSTR )*statelv local star = lv_JL SetCharaAttr(star, role, ATTR_STATEV_STR) end if Item_ID ==233 then --local star = GetChaAttr( role , ATTR_BCON )*statelv local star = lv_JL SetCharaAttr(star, role, ATTR_STATEV_CON) end if Item_ID ==234 then --local star = GetChaAttr( role , ATTR_BDEX )*statelv local star = lv_JL SetCharaAttr(star, role, ATTR_STATEV_STA) end if Item_ID ==235 then --local star = GetChaAttr( role , ATTR_BSTA )*statelv local star = lv_JL SetCharaAttr(star, role, ATTR_STATEV_DEX) end if Item_ID ==236 then --local star = GetChaAttr( role , ATTR_BAGI )*statelv local star = lv_JL SetCharaAttr(star ,role , ATTR_STATEV_AGI) end --if Item_ID == 231 or Item_ID == 681 then --local star = lv_JL --local star = GetChaAttr( role, ATTR_LUK ) * lv_JL * 0.02 --SetCharaAtrr(star, role, ATTR_STATEV_LUK) --end --if Item_ID == 237 or Item_ID == 681 then --local star = lv_JL --local star = GetChaAttr( role, ATTR_BMF ) * lv_JL * 0.02 --SetCharaAttr(star ,role , ATTR_STATEV_MF) --end if Item_ID == 681 or Item_ID == 231 or Item_ID == 237 then if str~=nil and str~=0 then local star = str SetCharaAttr(star ,role , ATTR_STATEV_STR) end if con~=nil and con~=0 then local star = con SetCharaAttr(star ,role , ATTR_STATEV_CON) end if sta~=nil and sta~=0 then local star = sta SetCharaAttr(star ,role , ATTR_STATEV_STA) end if dex~=nil and dex~=0 then local star = dex SetCharaAttr(star ,role , ATTR_STATEV_DEX) end if agi~=nil and agi~=0 then local star = agi SetCharaAttr(star ,role , ATTR_STATEV_AGI) end --URE=URE-4500 end --SetItemAttr ( Item_bg , ITEMATTR_URE , URE ) end ALLExAttrSet(role) end function State_JLFT_Rem ( role , sklv ) SetCharaAttr(0 ,role , ATTR_STATEV_STR) SetCharaAttr(0 ,role , ATTR_STATEV_CON) SetCharaAttr(0 ,role , ATTR_STATEV_STA) SetCharaAttr(0 ,role , ATTR_STATEV_DEX) SetCharaAttr(0 ,role , ATTR_STATEV_AGI) SetCharaAttr(0 ,role , ATTR_STATEV_MF) SetCharaAttr(0 ,role , ATTR_STATEV_LUK) ALLExAttrSet(role) end Самоцвет точно стоит в экипировке? Насколько я помню, есть некоторый шанс, при котором самоцвет исчезнет после плавки аппарели. Привет. Заменил, запустил сервер и клиент ничего не изменилось, потом со стороны сервера новый бинарник скиллэфф положил на сторону клиента, перезапустил, тоже ничего. По поводу сборки брал на форуме в англоязычном разделе версия 136 вроде бы, но не уверен Ну и по поводу гемов, они пропадут, если при плавке аппарели не использовать катализатор, а так, я с ним вставлял в аппарели экипировку и бонус от гемов исчезал Quote Share this post Link to post Share on other sites
V3ct0r 2,117 Report post Posted December 17, 2021 Привет, @Abra! Сложно сказать в чем проблема. Попробуй взять другие сборки, например, PKO 1.38, и проверь работают ли там Владение феей и гемы. Если они не работают, то проблема скорее всего в клиенте, если работают, то в твоей текущей сборке. В таком случае сравни скрипты посешна и гемов из рабочей и нерабочей сборок, чтобы понять в чем разница и причины этих багов. Quote Some useful links / Полезные ссылки Tips for making a topic in 'Questions & Help' / Рекомендации по созданию тем в разделе "Помощь" Server Advertising Section Rules / Правила раздела "Реклама серверов" Available e-mail domains for registration / Допустимые e-mail домены для регистрации User groups / Группы пользователей User ranks / Звания пользователей "Broken" pictures on the forum / "Битые" изображения на форуме Beware of scammers! / Осторожно, мошенники! My developments / Мои разработки Mods for client and server / Моды для клиента и сервера PKOdev.NET website for Tales of Pirates Server / PKOdev.NET веб-обвязка для сервера Пиратии I do not provide any help in private messages and outside the forum. Use 'Questions & Help' section please. Thank you for understanding! Я не оказываю какую-либо помощь в личных сообщениях и вне форума. Пожалуйста, используйте раздел "Пиратия: Помощь". Благодарю за понимание! Share this post Link to post Share on other sites