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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...