Jump to content
Sign in to follow this  
kyleflow

Adding a Fairy

Recommended Posts

Today I will explain about how you may add a new fairy. As an example, you can use the Dragon Fairy Files from this archive.

https://mega.nz/folder/OUMUgTYb#jtCsqh7halK_O9uzWyaG0g/folder/KcdVQK6a

Add all the included item for client side into client.

 

Add iteminfo.txt and then compiled it for client bin.

Add '0' with tab after description depend on your iteminfo files version. Example here already have it.

 

XXXX	Dragon Spirit	n1921	10130005	0	0	0	0	0	0	59	0	0	0	0	0	1	1	1	1	1	1	0	-1,-2,-2,-2	0	-1,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2,-2	0	0	-1,-2,-2,-2,-2,-2,-2,-2,-2,-2	-1,-2,-2,-2,-2,-2,-2,-2,-2,-2	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	0,0	10,10	0	240,240	5000,5000	0	0	0	0	0	0	0	0	0	0	0	0	0	YYYY,0	0	0	Dragon Fairy.	0

Place this with sceneffectinfo.txt and compile it for client bin.

YYYY xhlgua.par Dragon Class  Sea Wave 1 0 0 -1 0 0 0 -1

XXXX = iteminfoID

YYYY = SceneffectinfoID -- replace also this inside the iteminfo.txt for dragon spirit.

 

Basically this is already a complete way to add a new model of fairy but you will not get the fairy effect or even possession fairy skill.

 

This guide I made only the portion where the check for pet marriage is ignored. ( Can find in other forum about this check, mine already removed if I'm not mistaken ).

 

Open skilleffect.lua and find this " Skill_JLFT_End ( ATKER , DEFER , sklv ) "

 

Try to make the equation after this code

local Item_ID = GetItemID ( item_elf )

With this code

 

	if Item_ID==231 then
		 
		AddState( ATKER , ATKER , STATE_JLFT1, statelv , statetime ) 

	elseif Item_ID==232 then
		 
		AddState( ATKER , ATKER , STATE_JLFT2, statelv , statetime ) 

	elseif Item_ID==233 then
		 
		AddState( ATKER , ATKER , STATE_JLFT3, statelv , statetime ) 

	elseif Item_ID==235 then
		 
		AddState( ATKER , ATKER , STATE_JLFT4, statelv , statetime ) 

	elseif Item_ID==234 then
		 
		AddState( ATKER , ATKER , STATE_JLFT5, statelv , statetime ) 

	elseif Item_ID==236 then
		 
		AddState( ATKER , ATKER , STATE_JLFT6, statelv , statetime ) 

	elseif Item_ID==237 then
		 
		AddState( ATKER , ATKER , STATE_JLFT7, statelv , statetime ) 

	elseif Item_ID==681 then
		 
		AddState( ATKER , ATKER , STATE_JLFT8, statelv , statetime )

	elseif Item_ID==500 or Item_ID == 7362 or Item_ID == 7363 or Item_ID == 7364 or Item_ID == 7365 or Item_ID == 7353 then
		 
		AddState( ATKER , ATKER , STATE_JLFT8, statelv , statetime )

The default pet in most iteminfo.txt only have 231 until 500, the other ID mentioned here is based on your custom iteminfoID for your fairy.

This function declared a state for the respected fairy.

 

Find State_JLFT_Add ( role , sklv ) and below this code

local Part7 = GetNum_Part7 ( Num_JL )

add this code or make it similar to this code.

 

			if Part1 == 1 then 
			local star = 0

			
			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 = lv_JL
				SetCharaAttr(star, role, ATTR_STATEV_STR)
			end
	
			if Item_ID ==233 then 
				
				local star = lv_JL
				SetCharaAttr(star, role, ATTR_STATEV_CON)
			end

			if Item_ID ==234 then 
				
				local star = lv_JL
				SetCharaAttr(star, role, ATTR_STATEV_STA)
			end

			if Item_ID ==235 then 
				
				local star = lv_JL
				SetCharaAttr(star, role, ATTR_STATEV_DEX)
			end

			if Item_ID ==236 then 
				
				local star = lv_JL
				SetCharaAttr(star ,role , ATTR_STATEV_AGI)
			end

			if Item_ID == 681 or Item_ID == 231 or Item_ID == 237 then 
				if str~=nil and str~=0 then
					SetCharaAttr(str ,role , ATTR_STATEV_STR)
				end
				if con~=nil and con~=0 then
					SetCharaAttr(con ,role , ATTR_STATEV_CON)
				end
				if sta~=nil and sta~=0 then
					SetCharaAttr(sta ,role , ATTR_STATEV_STA)
				end
				if dex~=nil and dex~=0 then
					SetCharaAttr(dex ,role , ATTR_STATEV_DEX)
				end
				if agi~=nil and agi~=0 then
					SetCharaAttr(agi  ,role , ATTR_STATEV_AGI)
				end
			end

			if Item_ID == 500 or Item_ID == 7362 or Item_ID == 7363 or Item_ID == 7364 or Item_ID == 7365 or Item_ID == 7353 then -- august pet 1 4 dan dragon pet
				if str~=nil and str~=0 then
					local star = str*1.2
					SetCharaAttr(star ,role , ATTR_STATEV_STR)
				end
				if con~=nil and con~=0 then
					local star = con*1.2
					SetCharaAttr(star ,role , ATTR_STATEV_CON)
				end
				if sta~=nil and sta~=0 then
					local star = sta*1.2
					SetCharaAttr(star ,role , ATTR_STATEV_STA)
				end
				if dex~=nil and dex~=0 then
					local star = dex*1.2
					SetCharaAttr(star ,role , ATTR_STATEV_DEX)
				end
				if agi~=nil and agi~=0 then
					local star = agi*1.2
					SetCharaAttr(star  ,role , ATTR_STATEV_AGI)
				end
				local star = GetChaAttr( role, ATTR_BMF ) * lv_JL * 0.05 --asal 0.02
				local star2 = GetChaAttr( role, ATTR_BMF )
				SetCharaAttr(star  ,role , ATTR_BMF)
				local star = GetChaAttr( role, ATTR_STATEV_PDEF ) + 3
				SetCharaAttr(star  ,role , ATTR_STATEV_PDEF)
				
			end
			

		end
	
	end
	ALLExAttrSet(role)
end

As previously mentioned, the additional iteminfoID for new fairy is added in such a way to declared the stats changes by multiplier. In my case the stats is 1.2 more than normal possession for certain pet.

 

local star = GetChaAttr( role, ATTR_BMF ) * lv_JL * 0.05

This part is the declaration part of drop rate during possession multiplier. You can play with the values but advise it to be low if you have higher level pet to ensure the drop rate is not too high if you aim for medium setting server. You can place this also with other fairy ID above since its a local declaration, you can simply called it with the same variables without conflict. Note to take, make sure all your fairyID have the same itemtype 59.

 

Credit to the script owner or any contributor to the script. I simply sort it out for guides.

Edited by kyleflow
add credit
  • 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.

Sign in to follow this  

×
×
  • Create New...