Shapamoe 20 Report post Posted April 6, 2018 (edited) У вас тоже не сбрасывается статус от бд на атк? вот решение! В Файл Variable bd_ficksMIN= {} bd_ficksMAX= {} Далее идем в скиллэффект находим скилл Для начала добавим проверку на стат function Skill_HLLM_End ( ATKER , DEFER , sklv ) local statelv = sklv local statetime = 120 local ChaStateLv = GetChaStateLv ( DEFER , STATE_HLLM ) if ChaStateLv == 0 then AddState ( ATKER , DEFER , STATE_HLLM , statelv , statetime ) end end далее сам стат function State_HLLM_Add ( role , statelv ) local chid = GetCharID ( role ) bd_ficksMIN[chid]= MnatkSa(role) bd_ficksMAX[chid]= MxatkSa(role) local _dif = 0.5 local mnatksa =(MnatkSa(role) - _dif ) local mxatksa =(MxatkSa(role) - _dif ) SetCharaAttr( mnatksa , role , ATTR_STATEC_MNATK ) SetCharaAttr( mxatksa , role , ATTR_STATEC_MXATK ) ALLExAttrSet(role) end function State_HLLM_Rem ( role , statelv ) local chid = GetCharID ( role ) local mnatksa = math.floor ( (bd_ficksMIN[chid] )* ATTR_RADIX) local mxatksa = math.floor ( (bd_ficksMAX[chid] )* ATTR_RADIX) SetCharaAttr( mnatksa , role , ATTR_STATEC_MNATK ) SetCharaAttr( mxatksa , role , ATTR_STATEC_MXATK ) ALLExAttrSet(role) end у меня все вышло, теперь дебафф БД снимается без всяких яких! Помог жми + Edited April 6, 2018 by Shapamoe Quote Share this post Link to post Share on other sites
BETEP/macs509 87 Report post Posted April 6, 2018 (edited) Неверно же, при изменение атаки снятие дебафа будет неправильным, это во 1. А во 2 нужно еще проверить функцию в начале function где записаны скилы для снятия реком. Да и переменные незачем использовать. Да и вроде не 0,5 должно быть. Edited April 6, 2018 by BETEP/macs509 Quote Share this post Link to post Share on other sites
Shapamoe 20 Report post Posted April 6, 2018 @BETEP/macs509 все протестировано. я бы просо не выложил. Сейчас еще раз проверю и кину скрины! Quote Share this post Link to post Share on other sites
Shapamoe 20 Report post Posted April 6, 2018 (edited) до с бонусами дебаф рек до без бонусов дебаф рек @BETEP/macs509 Работает? Edited April 6, 2018 by Shapamoe Quote Share this post Link to post Share on other sites
BETEP/macs509 87 Report post Posted April 6, 2018 Смысл твоих скринов, если я писал о другом. Я имел ввиду: если во время дебаф снять/одеть, если после река, снять одеть то что даёт атаку или же другие бонусы Quote Share this post Link to post Share on other sites
Shapamoe 20 Report post Posted April 6, 2018 я понял, проверил: снимаю меч, шмот атк падает на 1 одеваю 40. после река все на своих местах! Quote Share this post Link to post Share on other sites
Shapamoe 20 Report post Posted April 6, 2018 Фикс рабочий 100% Quote Share this post Link to post Share on other sites
BETEP/macs509 87 Report post Posted April 6, 2018 Ну мб значит я что то не понял, но я такое использую function Skill_HLLM_End ( ATKER , DEFER , sklv ) local statelv = sklv local statetime = 120 AddState ( ATKER , DEFER , STATE_HLLM , statelv , statetime ) end function State_HLLM_Add ( role , statelv ) local mnatksa_dif =0.8 local mxatksa_dif =0.8 local mnatksa = math.floor ( (MnatkSa(role) - mnatksa_dif ) * ATTR_RADIX) local mxatksa = math.floor ( (MxatkSa(role) - mxatksa_dif ) * ATTR_RADIX) SetCharaAttr( mnatksa , role , ATTR_STATEC_MNATK ) SetCharaAttr( mxatksa , role , ATTR_STATEC_MXATK ) ALLExAttrSet(role) end function State_HLLM_Rem ( role , statelv ) local mnatksa_dif =0.8 local mxatksa_dif =0.8 local mnatksa = math.floor ( (MnatkSa(role) + mnatksa_dif ) * ATTR_RADIX) local mxatksa = math.floor ( (MxatkSa(role) + mxatksa_dif ) * ATTR_RADIX) SetCharaAttr( mnatksa , role , ATTR_STATEC_MNATK ) SetCharaAttr( mxatksa , role , ATTR_STATEC_MXATK ) ALLExAttrSet(role) end Quote Share this post Link to post Share on other sites
Shapamoe 20 Report post Posted April 6, 2018 Только что, BETEP/macs509 сказал: Ну мб значит я что то не понял, но я такое использую function Skill_HLLM_End ( ATKER , DEFER , sklv ) local statelv = sklv local statetime = 120 AddState ( ATKER , DEFER , STATE_HLLM , statelv , statetime ) end function State_HLLM_Add ( role , statelv ) local mnatksa_dif =0.8 local mxatksa_dif =0.8 local mnatksa = math.floor ( (MnatkSa(role) - mnatksa_dif ) * ATTR_RADIX) local mxatksa = math.floor ( (MxatkSa(role) - mxatksa_dif ) * ATTR_RADIX) SetCharaAttr( mnatksa , role , ATTR_STATEC_MNATK ) SetCharaAttr( mxatksa , role , ATTR_STATEC_MXATK ) ALLExAttrSet(role) end function State_HLLM_Rem ( role , statelv ) local mnatksa_dif =0.8 local mxatksa_dif =0.8 local mnatksa = math.floor ( (MnatkSa(role) + mnatksa_dif ) * ATTR_RADIX) local mxatksa = math.floor ( (MxatkSa(role) + mxatksa_dif ) * ATTR_RADIX) SetCharaAttr( mnatksa , role , ATTR_STATEC_MNATK ) SetCharaAttr( mxatksa , role , ATTR_STATEC_MXATK ) ALLExAttrSet(role) end у меня этот код и не работал как раз Quote Share this post Link to post Share on other sites
Shapamoe 20 Report post Posted April 6, 2018 function State_HLLM_Add ( role , statelv ) local mxatksa_dif = 0.5 local mnatksa_dif = 0.5 local mxatksa = ( MxatkSa(role) - mxatksa_dif ) local mnatksa = ( MnatkSa(role) - mnatksa_dif ) SetCharaAttr( mxatksa , role , ATTR_STATEC_MXATK ) SetCharaAttr( mnatksa , role , ATTR_STATEC_MNATK ) ALLExAttrSet(role) end function State_HLLM_Rem ( role , statelv ) local mxatksa_dif = 0.5 local mnatksa_dif = 0.5 local mxatksa = ( MxatkSa(role) + mxatksa_dif ) local mnatksa = ( MnatkSa(role) + mnatksa_dif ) SetCharaAttr( mxatksa , role , ATTR_STATEC_MXATK ) SetCharaAttr( mnatksa , role , ATTR_STATEC_MNATK ) ALLExAttrSet(role) end Это мой оригинальный код, который неработает Quote Share this post Link to post Share on other sites
Shapamoe 20 Report post Posted April 6, 2018 так как ты я тоже делал, он получается снимает в процентах, мой вариант ближе к оригиналу Quote Share this post Link to post Share on other sites