Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

[guide] Scroll of unbinding

Experienced Elementalist
Joined
Jun 18, 2009
Messages
220
Reaction score
17
Hello ragezone,

I know that a guide already exists but i'll give you an easier way to get it.

Let's start the shortest guide ever seen.

Open /Source/_Interface/WndField.cpp

Search :

Code:
if( pFocusItem->m_dwItemId == II_SYS_SYS_SCR_SOKCHANG )

Under :

Code:
#if __VER >= 13 // __EXT_ENCHANT
					if( pFocusItem->m_dwItemId == II_SYS_SYS_SCR_SOKCHANG )
					{
						if(g_WndMng.m_pWndChangeAttribute)
							SAFE_DELETE(g_WndMng.m_pWndChangeAttribute);

						g_WndMng.m_pWndChangeAttribute = new CWndChangeAttribute;
						g_WndMng.m_pWndChangeAttribute->SetChangeItem((CItemElem*)pFocusItem);
						g_WndMng.m_pWndChangeAttribute->Initialize(&g_WndMng, APP_COMMITEM_DIALOG);
						bAble = FALSE;
					}
#endif //__EXT_ENCHANT

Add :

Code:
#ifdef __SCROLL_OF_UNBIND
					if( pFocusItem->m_dwItemId == II_SYS_SYS_SCR_CANCELLATION )
					{
						bAble = FALSE;
					}
#endif // __SCROLL_OF_UNBIND

Save and close.
Then, open /Source/Neuz/VersionCommon.h

Add :

Code:
#define __SCROLL_OF_UNBIND

Compile and you're done.

To add the scroll :

defineItem.h :

Code:
#define II_SYS_SYS_SCR_CANCELLATION			20793
(be sure that 20793 is not used by another item)

Spec_Item.txt :

Code:
16	II_SYS_SYS_SCR_CANCELLATION	IDS_PROPITEM_TXT_012988	1	9999	IK1_SYSTEM	IK2_SYSTEM	IK3_SCROLL	=	=	1	=	200000000	=	=	=	=	=	=	=	0	=	=	1	1	1	1	1	=	=	=	=	_NONE	0	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	EXT_ITEM	WUI_NOW	=	=	=	=	=	=	=	=	=	0	0	0	0	0	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	=	"""Itm_SysSysScrCancel.dds"""	0	""""""	IDS_PROPITEM_TXT_012989	1	300	0	0	1	0	0	0	0	0	2	=	=	=	=	=	=	=	=	=	=	1	1	1	1	1	0

mdlDyna.inc :

Code:
     "SysSysScrBxCom"           II_SYS_SYS_SCR_CANCELLATION    	MODELTYPE_MESH "" 0  MD_NEAR 0  1.0f 0 1 ATEX_NONE 1

propitem.txt.txt :

Code:
IDS_PROPITEM_TXT_012988	Scroll of Unbinding
IDS_PROPITEM_TXT_012989	Temporarily makes items, armor, weapons, or other equippable items TRADABLE until the next time they are equipped.  Works on virtually any no-trade item.  Once the item is equipped again, it will become Soul-Linked.

Don't forget updating your client by adding these files in .res files

CREDITS :

PIXELFEHLER : 99.9%
Spitfire76 : 0.1%

Oh I forget, icon file :
 
Flyff Developer
Loyal Member
Joined
Apr 6, 2009
Messages
1,873
Reaction score
384
Uh, either I'm missing something, or there's absolutely no coding to remove the soul bind... It just allows you to use the item, and nothing happens. (No, I didn't use the guide. I already have it working.)
 
One word! Im Fawkin Pro!
Loyal Member
Joined
Jul 1, 2010
Messages
1,254
Reaction score
359
From what I get of what you are saying shadow...
You don't understand what the unbinding scroll is used for o.o

You say .. "It just allows you to use the item, and nothing happends"..

Well, soul-link is an item that, if you equip it, You will not be able to trade it with one another..

If you use the unbinding scroll, you remove the soul-link from item to being able to trade it once again.


Just sayin~
 
Junior Spellweaver
Joined
Jan 8, 2012
Messages
100
Reaction score
25
From what I get of what you are saying shadow...
You don't understand what the unbinding scroll is used for o.o

You say .. "It just allows you to use the item, and nothing happends"..

Well, soul-link is an item that, if you equip it, You will not be able to trade it with one another..

If you use the unbinding scroll, you remove the soul-link from item to being able to trade it once again.


Just sayin~

Shadow is right, It's missing something on DPSrvr.cpp (The code to remove the soul-linked)

Code:
#ifdef __SCROLL_OF_UNBIND
			case II_SYS_SYS_SCR_CANCELLATION: 
                b = DoUseItemTarget_ItemRelease(pUser, pMaterial, pTarget); 
                break;  
#endif

Code:
#ifdef __SCROLL_OF_UNBIND
BOOL CDPSrvr::DoUseItemTarget_ItemRelease( CUser* pUser, CItemElem* pMaterial, CItemElem* pTarget )
{
	if( pTarget->IsBinds() && pMaterial->m_dwItemId == II_SYS_SYS_SCR_CANCELLATION )
	{
		pTarget->ResetFlag( CItemElem::binds ); //Remover soul-link 
		pUser->UpdateItem( (BYTE)( pTarget->m_dwObjId ), UI_FLAG, MAKELONG( pTarget->m_dwObjIndex, pTarget->m_byFlag ) );
		LogItemInfo	log;
		log.Action	= "r";
		log.SendName	= pUser->GetName();
		log.RecvName	= "::ItemRelease";
		log.WorldId		= pUser->GetWorld()->GetID();
		log.Gold	= pUser->GetGold();
		log.Gold2	= pUser->GetGold();
		OnLogItem( log, pTarget, 1 );
		return TRUE;
	}
	else
		pUser->AddDefinedText( TID_GAME_ITEM_NOTBINDED );

	return FALSE;
}
#endif
 
Flyff Developer
Loyal Member
Joined
Apr 6, 2009
Messages
1,873
Reaction score
384
>.> Xakzi, re-read what I said and take a look at the coding in the first post. I don't see anything in that coding, that removes the soul link from the item. Hence my reason for saying "It just allows you to use the item, and nothing happens"
 
Back
Top