Jump to content
fotostocker

При использование Пасехи параметры падаю!

Recommended Posts

Дорогие друзья помогите решить данную проблему. Установил Вип на сервер и при использования пассехи статы начали падать до этого все работало отлично.

Потом прописал в function cha_timer 

VIPSystem.ApplyEffect(role). я грешу на данную функцию но как только я ее отключаю все работает отлично. не могу понять как решить данную проблему. Помогите советом. Данную функцию кидаю с авто питанием фей.

function cha_timer( role, freq, time )
	local resume_freq = 5
	local now_tick = GetChaParam( role, 1 )
	local is_role_living = -1
	SetChaParam( role, 1, now_tick + freq * time )
    VIPSystem.ApplyEffect(role)
---------------------
--Авто питание фей--
---------------------
   local Item_bg1 = GetChaItem ( role , 2 , 1  ) 
   local Get_Item_Type1 = GetItemType ( Item_bg1 ) 
   local ItemUse_siliao1 = GetChaItem ( role , 2 , 3  ) 
   local ItemUse_siliao_ID1 = GetItemID ( ItemUse_siliao1 ) 
--------------------------------------------------------------------- 
   if Get_Item_Type1 == 59 then 
        local Elf_MEXP = GetItemAttr( Item_bg1 ,ITEMATTR_MAXENERGY ) 
        local Elf_EXP = GetItemAttr( Item_bg1 ,ITEMATTR_ENERGY ) 
        local Num_JLone = GetItemForgeParam ( Item_bg1 , 1 ) 
        local Part1_JLone = GetNum_Part1 ( Num_JLone ) 
        if Elf_EXP>=Elf_MEXP and ItemUse_siliao_ID1==276 then --ID Fruit STR 
         local j = TakeItem(  role,0,276,1) 
         if j==0 then 
          SystemNotice ( role , "Deleting of Fruit failed!" ) 
         else 
          SystemNotice ( role , "Automatic Pet Lv Up successful." ) 
          Lvup_Str_1 ( role , Item_Num , Item_bg1 ) --Great STR 
         end 
        elseif  Elf_EXP>=Elf_MEXP and ItemUse_siliao_ID1==277 then --ID Fruit AGI 
         local j = TakeItem(  role,0,277,1) 
         if j==0 then 
          SystemNotice ( role , "Deleting of Fruit failed!" ) 
         else 
          SystemNotice ( role , "Automatic Pet Lv Up successful." ) 
          Lvup_Agi_1 ( role , Item_Num , Item_bg1 ) --Great AGI 
         end 
        elseif  Elf_EXP>=Elf_MEXP and ItemUse_siliao_ID1==278 then --ID Fruit DEX 
         local j = TakeItem(  role,0,278,1) 
         if j==0 then 
          SystemNotice ( role , "Deleting of Fruit failed!" ) 
         else 
          SystemNotice ( role , "Automatic Pet Lv Up successful." ) 
          Lvup_Dex_1 ( role , Item_Num , Item_bg1 ) --Great DEX(Auto Great Zephyr Fish Floss) 
         end 
        elseif  Elf_EXP>=Elf_MEXP and ItemUse_siliao_ID1==279 then --ID Fruit CON 
         local j = TakeItem(  role,0,279,1) 
         if j==0 then 
          SystemNotice ( role , "Deleting of Fruit failed!" ) 
         else 
          SystemNotice ( role , "Automatic Pet Lv Up successful." ) 
          Lvup_Con_1 ( role , Item_Num , Item_bg1 ) --Great CON 
         end 
        elseif  Elf_EXP>=Elf_MEXP and ItemUse_siliao_ID1==280 then --ID Fruit STA 
         local j = TakeItem(  role,0,280,1) 
         if j==0 then 
          SystemNotice ( role , "Deleting of Fruit failed!" ) 
         else 
          SystemNotice ( role , "Automatic Pet Lv Up successful." ) 
          Lvup_Sta_1 ( role , Item_Num , Item_bg1 ) --Great STA 
         end 
         
		elseif  Elf_EXP>=Elf_MEXP and ItemUse_siliao_ID1==222 then --ID Fruit STA 
         local j = TakeItem(  role,0,222,1) 
         if j==0 then 
          SystemNotice ( role , "Deleting of Fruit failed!" ) 
         else 
          SystemNotice ( role , "Automatic Pet Lv Up successful." ) 
          Lvup_Str ( role , Item_Num , Item_bg1 ) --Great STA 
         end 
		 elseif  Elf_EXP>=Elf_MEXP and ItemUse_siliao_ID1==223 then --ID Fruit STA 
         local j = TakeItem(  role,0,223,1) 
         if j==0 then 
          SystemNotice ( role , "Deleting of Fruit failed!" ) 
         else 
          SystemNotice ( role , "Automatic Pet Lv Up successful." ) 
          Lvup_Agi ( role , Item_Num , Item_bg1 ) --Great STA 
         end 
		 elseif  Elf_EXP>=Elf_MEXP and ItemUse_siliao_ID1==224 then --ID Fruit STA 
         local j = TakeItem(  role,0,224,1) 
         if j==0 then 
          SystemNotice ( role , "Deleting of Fruit failed!" ) 
         else 
          SystemNotice ( role , "Automatic Pet Lv Up successful." ) 
          Lvup_Dex ( role , Item_Num , Item_bg1 ) --Great STA 
         end 
		 elseif  Elf_EXP>=Elf_MEXP and ItemUse_siliao_ID1==225 then --ID Fruit STA 
         local j = TakeItem(  role,0,225,1) 
         if j==0 then 
          SystemNotice ( role , "Deleting of Fruit failed!" ) 
         else 
          SystemNotice ( role , "Automatic Pet Lv Up successful." ) 
          Lvup_Con ( role , Item_Num , Item_bg1 ) --Great STA 
         end 
		 elseif  Elf_EXP>=Elf_MEXP and ItemUse_siliao_ID1==226 then --ID Fruit STA 
         local j = TakeItem(  role,0,226,1) 
         if j==0 then 
          SystemNotice ( role , "Deleting of Fruit failed!" ) 
         else 
          SystemNotice ( role , "Automatic Pet Lv Up successful." ) 
          Lvup_Sta ( role , Item_Num , Item_bg1 ) --Great STA 
         end 
        end 
		end

 

Edited by fotostocker

Share this post


Link to post
Share on other sites
17 минут назад, fotostocker сказал:

Я так понял папку данную кидать в аддон прописывать данную фунцию в скилефект?

В skilleffect.lua или в папку addon, если у Вас присутствует.

Работает таким образом:

//Добавляем эффект
SetCharaStatev(strVal, player, ATTR_STATEV_STR, "STATE_AC")
//Где STATE_AC - придуманное название

//Снимаем эффект
RemCharaStatev(0 , player , ATTR_STATEV_STR , "STATE_AC") 

 

  • Thanks 1

Share this post


Link to post
Share on other sites
43 минуты назад, Graf сказал:

В skilleffect.lua или в папку addon, если у Вас присутствует.

Работает таким образом:


//Добавляем эффект
SetCharaStatev(strVal, player, ATTR_STATEV_STR, "STATE_AC")
//Где STATE_AC - придуманное название

//Снимаем эффект
RemCharaStatev(0 , player , ATTR_STATEV_STR , "STATE_AC") 

 

не могу понять какую фунцкию делать и где чтобы вставить данную информацию. Пожалуйста можно поподробней.Прошу помоги Graf

Share this post


Link to post
Share on other sites

@fotostocker

Открываешь аддон с Vip системой.

Ищешь:

State_VIP_Add

Приводишь к виду:

State_VIP_Add						= function(Player, StateLv)
	local Table						= DataFile:Init(VIPSystem.Conf.Path, Table):Load()
	local PID						= GetCharID(Player)
	if (Table[PID] ~= nil) then
		local VIPLv					= Table[PID].VIPLv
		if (VIPLv ~= nil) and (VIPLv > 0) then
			local STR					= VIPSystem.Conf.Bonus[VIPLv].STR
			local AGI					= VIPSystem.Conf.Bonus[VIPLv].AGI
			local ACC					= VIPSystem.Conf.Bonus[VIPLv].ACC
			local CON					= VIPSystem.Conf.Bonus[VIPLv].CON
			local SPR					= VIPSystem.Conf.Bonus[VIPLv].SPR
			local DEF					= VIPSystem.Conf.Bonus[VIPLv].DEF
			local PR						= VIPSystem.Conf.Bonus[VIPLv].PR
			local MSPD					= VIPSystem.Conf.Bonus[VIPLv].MSPD	
			SetCharaStatev(STR, Player, ATTR_STATEV_STR, "STATE_VIP")
			SetCharaStatev(SPR, Player, ATTR_STATEV_STA, "STATE_VIP")
			SetCharaStatev(AGI, Player, ATTR_STATEV_AGI, "STATE_VIP")
			SetCharaStatev(CON, Player, ATTR_STATEV_CON, "STATE_VIP")
			SetCharaStatev(ACC, Player, ATTR_STATEV_DEX, "STATE_VIP")				
			SetCharaStatev(DEF, Player, ATTR_STATEV_DEF, "STATE_VIP")				
			SetCharaStatev(PR, Player, ATTR_STATEV_PDEF, "STATE_VIP")				
			SetCharaStatev(MSPD, Player, ATTR_STATEV_MSPD, "STATE_VIP")			
			ALLExAttrSet(Player)	
		end
	end
end

Далее ищешь:

State_VIP_Rem

Приводишь к виду:

State_VIP_Rem							= function(Player, Statelv)
	RemCharaStatev(0, Player, ATTR_STATEV_STR, "STATE_VIP")
	RemCharaStatev(0, Player, ATTR_STATEV_STA, "STATE_VIP")
	RemCharaStatev(0, Player, ATTR_STATEV_AGI, "STATE_VIP")
	RemCharaStatev(0, Player, ATTR_STATEV_CON, "STATE_VIP")
	RemCharaStatev(0, Player, ATTR_STATEV_DEX, "STATE_VIP")				
	RemCharaStatev(0, Player, ATTR_STATEV_DEF, "STATE_VIP")				
	RemCharaStatev(0, Player, ATTR_STATEV_PDEF, "STATE_VIP")				
	RemCharaStatev(0, Player, ATTR_STATEV_MSPD, "STATE_VIP")	
	ALLExAttrSet(Player)
end

Затем ищем функцию в skilleffect.lua, которая отвечают на "поссейшн".

Называется она:

State_JLFT_Add

Все бонусы заменяем на подобные (это пример с моего тестового сервера, у Вас может что-то отличаться):

if Item_ID ==232 then 
	--local star = GetChaAttr( role , ATTR_BSTR )*statelv
	local star = lv_JL
	SetCharaStatev(star, role, ATTR_STATEV_STR, "STATE_JLFT")
end

Затем ищем функцию:

State_JLFT_Rem

Приводим к виду:

function State_JLFT_Rem ( role , sklv )
	RemCharaStatev(0, role, ATTR_STATEV_STR, "STATE_JLFT") 
	RemCharaStatev(0, role, ATTR_STATEV_AGI, "STATE_JLFT") 
	RemCharaStatev(0, role, ATTR_STATEV_DEX, "STATE_JLFT") 
	RemCharaStatev(0, role, ATTR_STATEV_CON, "STATE_JLFT") 
	RemCharaStatev(0, role, ATTR_STATEV_STA, "STATE_JLFT")
	RemCharaStatev(0, role, ATTR_STATEV_PDEF, "STATE_JLFT")
	ALLExAttrSet(role)
	RefreshCha(role)
end

 

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
59 минут назад, Graf сказал:

@fotostocker

Открываешь аддон с Vip системой.

Ищешь:


State_VIP_Add

Приводишь к виду:


State_VIP_Add						= function(Player, StateLv)
	local Table						= DataFile:Init(VIPSystem.Conf.Path, Table):Load()
	local PID						= GetCharID(Player)
	if (Table[PID] ~= nil) then
		local VIPLv					= Table[PID].VIPLv
		if (VIPLv ~= nil) and (VIPLv > 0) then
			local STR					= VIPSystem.Conf.Bonus[VIPLv].STR
			local AGI					= VIPSystem.Conf.Bonus[VIPLv].AGI
			local ACC					= VIPSystem.Conf.Bonus[VIPLv].ACC
			local CON					= VIPSystem.Conf.Bonus[VIPLv].CON
			local SPR					= VIPSystem.Conf.Bonus[VIPLv].SPR
			local DEF					= VIPSystem.Conf.Bonus[VIPLv].DEF
			local PR						= VIPSystem.Conf.Bonus[VIPLv].PR
			local MSPD					= VIPSystem.Conf.Bonus[VIPLv].MSPD	
			SetCharaStatev(STR, Player, ATTR_STATEV_STR, "STATE_VIP")
			SetCharaStatev(SPR, Player, ATTR_STATEV_STA, "STATE_VIP")
			SetCharaStatev(AGI, Player, ATTR_STATEV_AGI, "STATE_VIP")
			SetCharaStatev(CON, Player, ATTR_STATEV_CON, "STATE_VIP")
			SetCharaStatev(ACC, Player, ATTR_STATEV_DEX, "STATE_VIP")				
			SetCharaStatev(DEF, Player, ATTR_STATEV_DEF, "STATE_VIP")				
			SetCharaStatev(PR, Player, ATTR_STATEV_PDEF, "STATE_VIP")				
			SetCharaStatev(MSPD, Player, ATTR_STATEV_MSPD, "STATE_VIP")			
			ALLExAttrSet(Player)	
		end
	end
end

Далее ищешь:


State_VIP_Rem

Приводишь к виду:


State_VIP_Rem							= function(Player, Statelv)
	RemCharaStatev(0, Player, ATTR_STATEV_STR, "STATE_VIP")
	RemCharaStatev(0, Player, ATTR_STATEV_STA, "STATE_VIP")
	RemCharaStatev(0, Player, ATTR_STATEV_AGI, "STATE_VIP")
	RemCharaStatev(0, Player, ATTR_STATEV_CON, "STATE_VIP")
	RemCharaStatev(0, Player, ATTR_STATEV_DEX, "STATE_VIP")				
	RemCharaStatev(0, Player, ATTR_STATEV_DEF, "STATE_VIP")				
	RemCharaStatev(0, Player, ATTR_STATEV_PDEF, "STATE_VIP")				
	RemCharaStatev(0, Player, ATTR_STATEV_MSPD, "STATE_VIP")	
	ALLExAttrSet(Player)
end

Затем ищем функцию в skilleffect.lua, которая отвечают на "поссейшн".

Называется она:


State_JLFT_Add

Все бонусы заменяем на подобные (это пример с моего тестового сервера, у Вас может что-то отличаться):


if Item_ID ==232 then 
	--local star = GetChaAttr( role , ATTR_BSTR )*statelv
	local star = lv_JL
	SetCharaStatev(star, role, ATTR_STATEV_STR, "STATE_JLFT")
end

Затем ищем функцию:


State_JLFT_Rem

Приводим к виду:


function State_JLFT_Rem ( role , sklv )
	RemCharaStatev(0, role, ATTR_STATEV_STR, "STATE_JLFT") 
	RemCharaStatev(0, role, ATTR_STATEV_AGI, "STATE_JLFT") 
	RemCharaStatev(0, role, ATTR_STATEV_DEX, "STATE_JLFT") 
	RemCharaStatev(0, role, ATTR_STATEV_CON, "STATE_JLFT") 
	RemCharaStatev(0, role, ATTR_STATEV_STA, "STATE_JLFT")
	RemCharaStatev(0, role, ATTR_STATEV_PDEF, "STATE_JLFT")
	ALLExAttrSet(role)
	RefreshCha(role)
end

 

Graf огромное спасибо все поправил как ты и сказал но блин оказывается проблема была не в самом модуле на вип систему а проблема в феи. 

фея просила дополнительный код  ( if str~=nil and str~=0 then)---- я так понял он отвечает за проверку при пассе. и данного кода не было у Морды. спасибо тебе ты можно заставил меня найти эту ошибку. А я грешил на вип систему. Огромное тебе спасибо еще раз. 

  • Thanks 1

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.


×
×
  • Create New...