Jump to content
Sign in to follow this  
Shapamoe

Фикс 276Рык черного дракона

Recommended Posts

У вас тоже не сбрасывается статус от бд на атк?

вот решение!

В Файл 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 by Shapamoe

Share this post


Link to post
Share on other sites

Неверно же, при изменение атаки снятие дебафа будет неправильным, это во 1. А во 2 нужно еще проверить функцию в начале function где записаны скилы для снятия реком. Да и переменные незачем использовать. Да и вроде не 0,5 должно быть.

Edited by BETEP/macs509

Share this post


Link to post
Share on other sites

Смысл твоих скринов, если я писал о другом. Я имел ввиду: если во время дебаф снять/одеть, если после река, снять одеть то что даёт атаку или же другие бонусы

Share this post


Link to post
Share on other sites

я понял, проверил: снимаю меч, шмот атк падает на 1 одеваю 40. после река все на своих местах!

Share this post


Link to post
Share on other sites

Ну мб значит я что то не понял, но я такое использую 
 

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

 

Share this post


Link to post
Share on other sites
Только что, 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

 

у меня этот код и не работал как раз

Share this post


Link to post
Share on other sites

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

Это мой оригинальный код, который неработает

Share this post


Link to post
Share on other sites

так как ты я тоже делал, он получается снимает в процентах, мой вариант ближе к оригиналу

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×