Register for your free account! | Forgot your password?

You last visited: Today at 03:10

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Release] Remake Glow System

Discussion on [Release] Remake Glow System within the Flyff PServer Guides & Releases forum part of the Flyff Private Server category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Sep 2015
Posts: 3
Received Thanks: 5
[Release] Remake Glow System

Based on __JOPS_GLOW

DPSrvr.cpp

Under

Code:
#ifdef __GUILD_HOUSE_MIDDLE
	ON_MSG( PACKETTYPE_GUILDHOUSE_TENDER_MAINWND, OnGuildHouseTenderMainWnd );
	ON_MSG( PACKETTYPE_GUILDHOUSE_TENDER_INFOWND, OnGuildHouseTenderInfoWnd );
	ON_MSG( PACKETTYPE_GUILDHOUSE_TENDER_JOIN, OnGuildHouseTenderJoin );
#endif // __GUILD_HOUSE_MIDDLE
add

Code:
#ifdef __JOPS_GLOW
	ON_MSG( PACKETTYPE_GLOW_CHANGE, OnGlowChange );
#endif //__JOPS_GLOW
At the end of file add

Code:
#ifdef __JOPS_GLOW
void CDPSrvr::OnGlowChange( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize )
{
  CUser* pUser = g_UserMng.GetUser( dpidCache, dpidUser );
  if( !IsValidObj( pUser ) )
		return;
  
  int iGlowBody, iGlowHandLeft, iGlowHandRight, iGlowArmLeft, iGlowArmRight, iGlowLegLeft, iGlowLegRight;
  ar >> iGlowBody >> iGlowHandLeft >> iGlowHandRight >> iGlowArmLeft >> iGlowArmRight >> iGlowLegLeft >> iGlowLegRight;
  
	if( iGlowArmLeft > 16 || iGlowArmLeft < 0 )
		return;
	if( iGlowArmRight > 16 || iGlowArmRight < 0 )
		return;
	if( iGlowLegLeft > 16 || iGlowLegLeft < 0 )
		return;
	if( iGlowLegRight > 16 || iGlowLegRight < 0)
		return;
	if( iGlowBody > 16 || iGlowBody < 0)
		return;
	if( iGlowHandLeft > 24 || iGlowHandLeft < 0)
		return;
	if( iGlowHandRight > 24 || iGlowHandRight < 0)
		return;

  pUser->m_iGlowBody = iGlowBody;
  pUser->m_iGlowHandLeft = iGlowHandLeft;
  pUser->m_iGlowHandRight = iGlowHandRight;
  pUser->m_iGlowArmLeft = iGlowArmLeft;
  pUser->m_iGlowArmRight = iGlowArmRight;
  pUser->m_iGlowLegLeft = iGlowLegLeft;
  pUser->m_iGlowLegRight = iGlowLegRight;
  
  g_UserMng.UpdateGlow(pUser, iGlowBody, iGlowHandLeft, iGlowHandRight, iGlowArmLeft, iGlowArmRight, iGlowLegLeft, iGlowLegRight);

}
#endif //__JOPS_GLOW
DPSrvr.h

Before

Code:
private:
	DPID	m_dpidCache;		// ij½¬¼*¹ö DPID
};
add

Code:
#ifdef __JOPS_GLOW
void	OnGlowChange( CAr & ar, DPID dpidCache, DPID dpidUser, LPBYTE lpBuf, u_long uBufSize );
#endif //__JOPS_GLOW
DPClient.cpp

Under

Code:
#ifdef __GUILD_HOUSE_MIDDLE
			case SNAPSHOTTYPE_GUILDHOUSE_TENDER_MAINWND:	OnGuildHouseTenderMainWnd( ar ); break;
			case SNAPSHOTTYPE_GUILDHOUSE_TENDER_INFOWND:	OnGuildHouseTenderInfoWnd( ar ); break;
			case SNAPSHOTTYPE_GUILDHOUSE_TENDER_RESULT:		OnGuildHouseTenderResult( ar ); break;
#endif // __GUILD_HOUSE_MIDDLE
add

Code:
#ifdef __JOPS_GLOW
			case SNAPSHOTTYPE_UPDATEGLOW: OnUpdateGlow( objid, ar ); break;
#endif //__JOPS_GLOW
At the end of file add before

Code:
CDPClient	g_DPlay;
add

Code:
#ifdef __JOPS_GLOW
void CDPClient::OnUpdateGlow( OBJID objid, CAr & ar )
{
	int glowbody, glowhandleft, glowhandright, glowarmleft, glowarmright, glowlegleft, glowlegright;
	ar >> glowbody;
	ar >> glowhandleft;
	ar >> glowhandright;
	ar >> glowarmleft;
	ar >> glowarmright;
	ar >> glowlegleft;
	ar >> glowlegright;
	CCtrl* pCtrl	= prj.GetCtrl( objid );
	if( IsValidObj( (CObj*)pCtrl ) )
	{
    CMover* pMover	= (CMover*)pCtrl;
    if(pMover)
    {
      pMover->m_iGlowBody = glowbody;
      pMover->m_iGlowHandLeft = glowhandleft;
      pMover->m_iGlowHandRight = glowhandright,
      pMover->m_iGlowArmLeft = glowarmleft;
      pMover->m_iGlowArmRight = glowarmright;
      pMover->m_iGlowLegLeft = glowlegleft;
      pMover->m_iGlowLegRight = glowlegright;	
    }
	}
}

void CDPClient::SendGlowChange( int iGlowBody, int iGlowHandLeft, int iGlowHandRight, int iGlowArmLeft, int iGlowArmRight, int iGlowLegLeft, int iGlowLegRight)
{
	if(IsValidObj(g_pPlayer))
	{
		g_pPlayer->m_iGlowBody = iGlowBody;
		g_pPlayer->m_iGlowHandLeft = iGlowHandLeft;
		g_pPlayer->m_iGlowHandRight = iGlowHandRight;
		g_pPlayer->m_iGlowArmLeft = iGlowArmLeft;
		g_pPlayer->m_iGlowArmRight = iGlowArmRight;
		g_pPlayer->m_iGlowLegLeft = iGlowLegLeft;
		g_pPlayer->m_iGlowLegRight = iGlowLegRight;
	}
    
    BEFORESENDSOLE( ar, PACKETTYPE_GLOW_CHANGE, DPID_UNKNOWN );
    ar << iGlowBody << iGlowHandLeft << iGlowHandRight << iGlowArmLeft << iGlowArmRight << iGlowLegLeft << iGlowLegRight;
    SEND( ar, this, DPID_SERVERPLAYER );
}
#endif
DPClient.h

before

Code:
void	OnShout( CAr & ar );
add

Code:
#ifdef __JOPS_GLOW
	void	OnUpdateGlow( OBJID objid, CAr & ar );
	void SendGlowChange( int iGlowBody, int iGlowHandLeft, int iGlowHandRight, int iGlowArmLeft, int iGlowArmRight, int iGlowLegLeft, int iGlowLegRight);
#endif //__JOPS_GLOW
Mover.cpp

After

Code:
#if __VER >= 15 // __CAMPUS
	m_idCampus = 0;
	m_nCampusPoint = 0;
#endif // __CAMPUS
add

Code:
#ifdef __JOPS_GLOW
	m_iGlowBody = 0;
	m_iGlowLegLeft = 0;
	m_iGlowLegRight = 0;
	m_iGlowArmLeft = 0;
	m_iGlowArmRight = 0;
	m_iGlowHandLeft = 0;
	m_iGlowHandRight = 0;
#endif //__JOPS_GLOW
Replace function : void CMover::CreateAbilityOption_SetItemSFX( int nAbilityOption ) by

Code:
void CMover::CreateAbilityOption_SetItemSFX( int nAbilityOption )
{
	DWORD dwSfx = 0;

  DWORD dwSfxHandRight = 0;
  DWORD dwSfxHandLeft = 0;
  DWORD dwSfxArmRight = 0;
  DWORD dwSfxArmLeft = 0;
  DWORD dwSfxBody = 0;
  DWORD dwSfxLegLeft = 0;
  DWORD dwSfxLegRight = 0;
  
  switch( m_iGlowBody ) 
	{
    case 0: dwSfxBody = XI_GEN_ITEM_SETITEM10; break;
    case 1: dwSfxBody = XI_GEN_ITEM_SETITEM101; break; 
    case 2: dwSfxBody = XI_GEN_ITEM_SETITEM102; break; 
    case 3: dwSfxBody = XI_GEN_ITEM_SETITEM103; break; 
    case 4: dwSfxBody = XI_GEN_ITEM_SETITEM104; break; 
    case 5: dwSfxBody = XI_GEN_ITEM_SETITEM105; break; 
    case 6: dwSfxBody = XI_GEN_ITEM_SETITEM106; break; 
    case 7: dwSfxBody = XI_GEN_ITEM_SETITEM107; break; 
    case 8: dwSfxBody = XI_GEN_ITEM_SETITEM108; break; 
    case 9: dwSfxBody = XI_GEN_ITEM_SETITEM109; break; 
    case 10: dwSfxBody = XI_GEN_ITEM_SETITEM1010; break; 
    case 11: dwSfxBody = XI_GEN_ITEM_SETITEM1011; break; 
    case 12: dwSfxBody = XI_GEN_ITEM_SETITEM1012; break; 
    case 13: dwSfxBody = XI_GEN_ITEM_SETITEM1013; break; 
    case 14: dwSfxBody = XI_GEN_ITEM_SETITEM1014; break; 
    case 15: dwSfxBody = XI_GEN_ITEM_SETITEM1015; break; 
    default : dwSfxBody = XI_GEN_ITEM_SETITEM10; break; 
	}
	
	switch( m_iGlowArmLeft ) 
	{
    case 0: dwSfxArmLeft = XI_GEN_ITEM_SETITEM10; break;
    case 1: dwSfxArmLeft = XI_GEN_ITEM_SETITEM101; break; 
    case 2: dwSfxArmLeft = XI_GEN_ITEM_SETITEM102; break; 
    case 3: dwSfxArmLeft = XI_GEN_ITEM_SETITEM103; break; 
    case 4: dwSfxArmLeft = XI_GEN_ITEM_SETITEM104; break; 
    case 5: dwSfxArmLeft = XI_GEN_ITEM_SETITEM105; break; 
    case 6: dwSfxArmLeft = XI_GEN_ITEM_SETITEM106; break; 
    case 7: dwSfxArmLeft = XI_GEN_ITEM_SETITEM107; break; 
    case 8: dwSfxArmLeft = XI_GEN_ITEM_SETITEM108; break; 
    case 9: dwSfxArmLeft = XI_GEN_ITEM_SETITEM109; break; 
    case 10: dwSfxArmLeft = XI_GEN_ITEM_SETITEM1010; break; 
    case 11: dwSfxArmLeft = XI_GEN_ITEM_SETITEM1011; break; 
    case 12: dwSfxArmLeft = XI_GEN_ITEM_SETITEM1012; break; 
    case 13: dwSfxArmLeft = XI_GEN_ITEM_SETITEM1013; break; 
    case 14: dwSfxArmLeft = XI_GEN_ITEM_SETITEM1014; break; 
    case 15: dwSfxArmLeft = XI_GEN_ITEM_SETITEM1015; break; 
    default : dwSfxArmLeft = XI_GEN_ITEM_SETITEM10; break; 
	}
	
	switch( m_iGlowArmRight ) 
	{
    case 0: dwSfxArmRight = XI_GEN_ITEM_SETITEM10; break;
    case 1: dwSfxArmRight = XI_GEN_ITEM_SETITEM101; break; 
    case 2: dwSfxArmRight = XI_GEN_ITEM_SETITEM102; break; 
    case 3: dwSfxArmRight = XI_GEN_ITEM_SETITEM103; break; 
    case 4: dwSfxArmRight = XI_GEN_ITEM_SETITEM104; break; 
    case 5: dwSfxArmRight = XI_GEN_ITEM_SETITEM105; break; 
    case 6: dwSfxArmRight = XI_GEN_ITEM_SETITEM106; break; 
    case 7: dwSfxArmRight = XI_GEN_ITEM_SETITEM107; break; 
    case 8: dwSfxArmRight = XI_GEN_ITEM_SETITEM108; break; 
    case 9: dwSfxArmRight = XI_GEN_ITEM_SETITEM109; break; 
    case 10: dwSfxArmRight = XI_GEN_ITEM_SETITEM1010; break; 
    case 11: dwSfxArmRight = XI_GEN_ITEM_SETITEM1011; break; 
    case 12: dwSfxArmRight = XI_GEN_ITEM_SETITEM1012; break; 
    case 13: dwSfxArmRight = XI_GEN_ITEM_SETITEM1013; break; 
    case 14: dwSfxArmRight = XI_GEN_ITEM_SETITEM1014; break; 
    case 15: dwSfxArmRight = XI_GEN_ITEM_SETITEM1015; break; 
    default : dwSfxArmRight = XI_GEN_ITEM_SETITEM10; break; 
	}
	
	switch( m_iGlowLegLeft ) 
	{
    case 0: dwSfxLegLeft = XI_GEN_ITEM_SETITEM10; break;
    case 1: dwSfxLegLeft = XI_GEN_ITEM_SETITEM101; break; 
    case 2: dwSfxLegLeft = XI_GEN_ITEM_SETITEM102; break; 
    case 3: dwSfxLegLeft = XI_GEN_ITEM_SETITEM103; break; 
    case 4: dwSfxLegLeft = XI_GEN_ITEM_SETITEM104; break; 
    case 5: dwSfxLegLeft = XI_GEN_ITEM_SETITEM105; break; 
    case 6: dwSfxLegLeft = XI_GEN_ITEM_SETITEM106; break; 
    case 7: dwSfxLegLeft = XI_GEN_ITEM_SETITEM107; break; 
    case 8: dwSfxLegLeft = XI_GEN_ITEM_SETITEM108; break; 
    case 9: dwSfxLegLeft = XI_GEN_ITEM_SETITEM109; break; 
    case 10: dwSfxLegLeft = XI_GEN_ITEM_SETITEM1010; break; 
    case 11: dwSfxLegLeft = XI_GEN_ITEM_SETITEM1011; break; 
    case 12: dwSfxLegLeft = XI_GEN_ITEM_SETITEM1012; break; 
    case 13: dwSfxLegLeft = XI_GEN_ITEM_SETITEM1013; break; 
    case 14: dwSfxLegLeft = XI_GEN_ITEM_SETITEM1014; break; 
    case 15: dwSfxLegLeft = XI_GEN_ITEM_SETITEM1015; break; 
    default : dwSfxLegLeft = XI_GEN_ITEM_SETITEM10; break; 
	}
	
	switch( m_iGlowLegRight ) 
	{
    case 0: dwSfxLegRight = XI_GEN_ITEM_SETITEM10; break;
    case 1: dwSfxLegRight = XI_GEN_ITEM_SETITEM101; break; 
    case 2: dwSfxLegRight = XI_GEN_ITEM_SETITEM102; break; 
    case 3: dwSfxLegRight = XI_GEN_ITEM_SETITEM103; break; 
    case 4: dwSfxLegRight = XI_GEN_ITEM_SETITEM104; break; 
    case 5: dwSfxLegRight = XI_GEN_ITEM_SETITEM105; break; 
    case 6: dwSfxLegRight = XI_GEN_ITEM_SETITEM106; break; 
    case 7: dwSfxLegRight = XI_GEN_ITEM_SETITEM107; break; 
    case 8: dwSfxLegRight = XI_GEN_ITEM_SETITEM108; break; 
    case 9: dwSfxLegRight = XI_GEN_ITEM_SETITEM109; break; 
    case 10: dwSfxLegRight = XI_GEN_ITEM_SETITEM1010; break; 
    case 11: dwSfxLegRight = XI_GEN_ITEM_SETITEM1011; break; 
    case 12: dwSfxLegRight = XI_GEN_ITEM_SETITEM1012; break; 
    case 13: dwSfxLegRight = XI_GEN_ITEM_SETITEM1013; break; 
    case 14: dwSfxLegRight = XI_GEN_ITEM_SETITEM1014; break; 
    case 15: dwSfxLegRight = XI_GEN_ITEM_SETITEM1015; break; 
    default : dwSfxLegRight = XI_GEN_ITEM_SETITEM10; break; 
	}

	switch( m_iGlowHandRight ) 
	{
    case 0: dwSfxHandRight = XI_SETIEM_EFFECTHAND; break; 
    case 1: dwSfxHandRight = XI_SETIEM_EFFECTHAND1; break; 
    case 2: dwSfxHandRight = XI_SETIEM_EFFECTHAND2; break; 
    case 3: dwSfxHandRight = XI_SETIEM_EFFECTHAND3; break; 
    case 4: dwSfxHandRight = XI_SETIEM_EFFECTHAND4; break; 
    case 5: dwSfxHandRight = XI_SETIEM_EFFECTHAND5; break;
    case 6: dwSfxHandRight = XI_SETIEM_EFFECTHAND6; break; 
    case 7: dwSfxHandRight = XI_SETIEM_EFFECTHAND7; break;
    case 8: dwSfxHandRight = XI_SETIEM_EFFECTHAND8; break;
    case 9: dwSfxHandRight = XI_SETIEM_EFFECTHAND9; break;
    case 10: dwSfxHandRight = XI_SETIEM_EFFECTHAND10; break;
    case 11: dwSfxHandRight = XI_SETIEM_EFFECTHAND11; break;
    case 12: dwSfxHandRight = XI_SETIEM_EFFECTHAND12; break;
    case 13: dwSfxHandRight = XI_SETIEM_EFFECTHAND13; break;
    case 14: dwSfxHandRight = XI_SETIEM_EFFECTHAND14; break;
    case 15: dwSfxHandRight = XI_SETIEM_EFFECTHAND15; break;
    case 16: dwSfxHandRight = XI_SETIEM_EFFECTHAND16; break;
    case 17: dwSfxHandRight = XI_SETIEM_EFFECTHAND17; break;
    case 18: dwSfxHandRight = XI_SETIEM_EFFECTHAND18; break;
    case 19: dwSfxHandRight = XI_SETIEM_EFFECTHAND19; break;
    case 20: dwSfxHandRight = XI_SETIEM_EFFECTHAND20; break;
    case 21: dwSfxHandRight = XI_SETIEM_EFFECTHAND21; break;
    case 22: dwSfxHandRight = XI_SETIEM_EFFECTHAND22; break;
    case 23: dwSfxHandRight = XI_SETIEM_EFFECTHAND23; break;
    default : dwSfxHandRight = XI_SETIEM_EFFECTHAND; break;
	}
	
	switch( m_iGlowHandLeft ) 
	{
    case 0: dwSfxHandLeft = XI_SETIEM_EFFECTHAND; break; 
    case 1: dwSfxHandLeft = XI_SETIEM_EFFECTHAND1; break; 
    case 2: dwSfxHandLeft = XI_SETIEM_EFFECTHAND2; break; 
    case 3: dwSfxHandLeft = XI_SETIEM_EFFECTHAND3; break; 
    case 4: dwSfxHandLeft = XI_SETIEM_EFFECTHAND4; break; 
    case 5: dwSfxHandLeft = XI_SETIEM_EFFECTHAND5; break;
    case 6: dwSfxHandLeft = XI_SETIEM_EFFECTHAND6; break; 
    case 7: dwSfxHandLeft = XI_SETIEM_EFFECTHAND7; break;
    case 8: dwSfxHandLeft = XI_SETIEM_EFFECTHAND8; break;
    case 9: dwSfxHandLeft = XI_SETIEM_EFFECTHAND9; break;
    case 10: dwSfxHandLeft = XI_SETIEM_EFFECTHAND10; break;
    case 11: dwSfxHandLeft = XI_SETIEM_EFFECTHAND11; break;
    case 12: dwSfxHandLeft = XI_SETIEM_EFFECTHAND12; break;
    case 13: dwSfxHandLeft = XI_SETIEM_EFFECTHAND13; break;
    case 14: dwSfxHandLeft = XI_SETIEM_EFFECTHAND14; break;
    case 15: dwSfxHandLeft = XI_SETIEM_EFFECTHAND15; break;
    case 16: dwSfxHandLeft = XI_SETIEM_EFFECTHAND16; break;
    case 17: dwSfxHandLeft = XI_SETIEM_EFFECTHAND17; break;
    case 18: dwSfxHandLeft = XI_SETIEM_EFFECTHAND18; break;
    case 19: dwSfxHandLeft = XI_SETIEM_EFFECTHAND19; break;
    case 20: dwSfxHandLeft = XI_SETIEM_EFFECTHAND20; break;
    case 21: dwSfxHandLeft = XI_SETIEM_EFFECTHAND21; break;
    case 22: dwSfxHandLeft = XI_SETIEM_EFFECTHAND22; break;
    case 23: dwSfxHandLeft = XI_SETIEM_EFFECTHAND23; break;
    default : dwSfxHandLeft = XI_SETIEM_EFFECTHAND; break;
	}

	CSfxPartsLinkShoulder* pSfx = NULL;
	D3DXVECTOR3 v3Scal = D3DXVECTOR3( 1.0f, 1.0f, 1.0f );

		pSfx = (CSfxPartsLinkShoulder*)CreateSfx( D3DDEVICE, dwSfxArmRight, GetPos(), GetId(), GetPos(), GetId(), -1 ); // rechte schulter
		pSfx->m_nPartsLink = 0;
		pSfx->m_nOldAbilityOption = nAbilityOption;
		pSfx = (CSfxPartsLinkShoulder*)CreateSfx( D3DDEVICE, dwSfxArmLeft, GetPos(), GetId(), GetPos(), GetId(), -1 ); // linke schulter
		pSfx->m_nPartsLink = 1;
		pSfx->m_nOldAbilityOption = nAbilityOption;
		pSfx = (CSfxPartsLinkShoulder*)CreateSfx( D3DDEVICE, dwSfxArmRight, GetPos(), GetId(), GetPos(), GetId(), -1 ); // rechter oberarm
		pSfx->m_nPartsLink = 4;		
		pSfx->m_nOldAbilityOption = nAbilityOption;
		pSfx = (CSfxPartsLinkShoulder*)CreateSfx( D3DDEVICE, dwSfxArmLeft, GetPos(), GetId(), GetPos(), GetId(), -1 ); // linker oberarm
		pSfx->m_nPartsLink = 5;	
		pSfx->m_nOldAbilityOption = nAbilityOption;
		pSfx = (CSfxPartsLinkShoulder*)CreateSfx( D3DDEVICE, dwSfxBody, GetPos(), GetId(), GetPos(), GetId(), -1 ); // Kopf, vorne, brust
		pSfx->m_nPartsLink = 6;
		pSfx->SetScale(D3DXVECTOR3( 3.0f, 4.5f, 3.0f ));
		pSfx->m_nOldAbilityOption = nAbilityOption;
		pSfx = (CSfxPartsLinkShoulder*)CreateSfx( D3DDEVICE, dwSfxBody, GetPos(), GetId(), GetPos(), GetId(), -1 ); // Kopf, vorne, brust
		pSfx->m_nPartsLink = 7;		
		pSfx->SetScale(D3DXVECTOR3( 3.0f, 3.0f, 3.0f ));		
		pSfx->m_nOldAbilityOption = nAbilityOption;
		pSfx = (CSfxPartsLinkShoulder*)CreateSfx( D3DDEVICE, dwSfxArmRight, GetPos(), GetId(), GetPos(), GetId(), -1 ); // rechter arm
		pSfx->m_nPartsLink = 8;			
		pSfx->m_nOldAbilityOption = nAbilityOption;
		pSfx = (CSfxPartsLinkShoulder*)CreateSfx( D3DDEVICE, dwSfxArmLeft, GetPos(), GetId(), GetPos(), GetId(), -1 ); // linker arm
		pSfx->m_nPartsLink = 9;	
		pSfx->m_nOldAbilityOption = nAbilityOption;
		pSfx = (CSfxPartsLinkShoulder*)CreateSfx( D3DDEVICE, dwSfxArmRight, GetPos(), GetId(), GetPos(), GetId(), -1 ); // rechter oberarm
		pSfx->m_nPartsLink = 2;
		pSfx->m_nOldAbilityOption = nAbilityOption;
		pSfx = (CSfxPartsLinkShoulder*)CreateSfx( D3DDEVICE, dwSfxArmLeft, GetPos(), GetId(), GetPos(), GetId(), -1 ); // linker unterarm
		pSfx->m_nPartsLink = 3;		
		pSfx->m_nOldAbilityOption = nAbilityOption;
		pSfx = (CSfxPartsLinkShoulder*)CreateSfx( D3DDEVICE, dwSfxLegLeft, GetPos(), GetId(), GetPos(), GetId(), -1 ); // linkes knie
		pSfx->m_nPartsLink = 26;			
		pSfx->m_nOldAbilityOption = nAbilityOption;
		pSfx = (CSfxPartsLinkShoulder*)CreateSfx( D3DDEVICE, dwSfxLegRight, GetPos(), GetId(), GetPos(), GetId(), -1 ); // rechtes knie
		pSfx->m_nPartsLink = 29;
		pSfx->m_nOldAbilityOption = nAbilityOption;
		pSfx = (CSfxPartsLinkShoulder*)CreateSfx( D3DDEVICE, dwSfxHandRight, GetPos(), GetId(), GetPos(), GetId(), -1 ); //rechte Hand
		pSfx->m_nPartsLink = 8;			
		pSfx->m_v3Offset.y = 0.2f;
		pSfx->m_nOldAbilityOption = nAbilityOption;
		pSfx = (CSfxPartsLinkShoulder*)CreateSfx( D3DDEVICE, dwSfxHandLeft, GetPos(), GetId(), GetPos(), GetId(), -1 ); // linke Hand
		pSfx->m_nPartsLink = 9;			
		pSfx->m_v3Offset.y = 0.2f;
		pSfx->m_nOldAbilityOption = nAbilityOption;
}

Mover.h

Under

Code:
DWORD			m_dwAuthorization;
add

Code:
#ifdef __JOPS_GLOW
public:
	int m_iGlowBody;
	int m_iGlowLegLeft;
	int m_iGlowLegRight;
	int m_iGlowArmLeft;
	int m_iGlowArmRight;
	int m_iGlowHandLeft;
	int m_iGlowHandRight;
#endif //__JOPS_GLOW
WndWorld.cpp

after

Code:
case MMI_TELEPORTER:
			{
				CWndMapEx* pWndMapEx = ( CWndMapEx* )g_WndMng.CreateApplet( APP_MAP_EX );

				if( pWndMapEx == NULL )
					break;

				pWndMapEx->SetConstructionMode( CWndMapEx::TELEPORTATION );
				pWndMapEx->InitializeTeleportationInformation( pFocusMover );
			}
			break;
add

Code:
#ifdef __JOPS_GLOW
      case MMI_GLOW_CHANGE:
      {
        g_WndMng.ObjectExecutor( SHORTCUT_APPLET, APP_SETGLOW1);
        break;
      }
#endif //__JOPS_GLOW
FuncApplet.cpp

after

Code:
DECLAREAPPLET( AppMain_Wnd2ndPassword  , new CWnd2ndPassword );
add

Code:
#ifdef __JOPS_GLOW
DECLAREAPPLET( AppMain_Glow , new CWndGlowChange );
#endif //__JOPS_GLOW
after

Code:
	AddAppletFunc( AppMain_Wnd2ndPassword  , APP_2ND_PASSWORD_NUMBERPAD  , _T( "Wnd2ndPassword" )   , _T( "Icon_Applet.dds" )   , GETTEXT( TID_2ND_PASSWORD_WINDOW_OPEN ),  0  );
add

Code:
#ifdef __JOPS_GLOW
	AddAppletFunc( AppMain_Glow, 			APP_SETGLOW1, 				_T("WndGlowChange"),						_T("Icon_Applet.dds")    ,_T("Change glow")         ,  0 );
#endif //__JOPS_GLOW
WndField.cpp

at the end of file add

Code:
#ifdef __JOPS_GLOW
CWndGlowChange::CWndGlowChange( void ) 
{
	GlowBody = 0;
	GlowHandRight = 0;
	GlowHandLeft = 0;
	GlowArmRight = 0;
	GlowArmLeft = 0;
	GlowLegRight = 0;
	GlowLegLeft = 0;
}

CWndGlowChange::~CWndGlowChange( void )
{
	GlowBody = 0;
	GlowHandRight = 0;
	GlowHandLeft = 0;
	GlowArmRight = 0;
	GlowArmLeft = 0;
	GlowLegRight = 0;
	GlowLegLeft = 0;
  DeleteDeviceObjects();
}

CString GetNameGlow( int nGlow )
{
  CString strResult;
  switch( nGlow ) 
	{
    case 1: strResult.Format("Glow 1"); break; 
    case 2: strResult.Format("Glow 2"); break; 
    case 3: strResult.Format("Glow 3"); break; 
    case 4: strResult.Format("Glow 4"); break; 
    case 5: strResult.Format("Glow 5"); break; 
    case 6: strResult.Format("Glow 6"); break; 
    case 7: strResult.Format("Glow 7"); break; 
    case 8: strResult.Format("Glow 8"); break; 
    case 9: strResult.Format("Glow 9"); break; 
    case 10: strResult.Format("Glow 10"); break; 
    case 11: strResult.Format("Glow 11"); break; 
    case 12: strResult.Format("Glow 12"); break; 
    case 13: strResult.Format("Glow 13"); break; 
    case 14: strResult.Format("Glow 14"); break; 
    case 15: strResult.Format("Glow 15"); break; 
    case 16: strResult.Format("Glow 16"); break;
    case 17: strResult.Format("Glow 17"); break;
    case 18: strResult.Format("Glow 18"); break;
    case 19: strResult.Format("Glow 19"); break;
    case 20: strResult.Format("Glow 20"); break;
    case 21: strResult.Format("Glow 21"); break;
    case 22: strResult.Format("Glow 22"); break;
    case 23: strResult.Format("Glow 23"); break;
    default: strResult.Format("Glow 0"); break;
	}
	return strResult;
}

BOOL CWndGlowChange::Initialize( CWndBase* pWndParent, DWORD dwType )
{
  return CWndNeuz::InitDialog( g_Neuz.GetSafeHwnd(), APP_SETGLOW1, 0, CPoint( 0, 0 ), pWndParent );
}

BOOL CWndGlowChange::OnCommand( UINT nID, DWORD dwMessage, CWndBase* pWndBase ) 
{ 
  return CWndNeuz::OnCommand( nID, dwMessage, pWndBase ); 
} 

void CWndGlowChange::OnSize( UINT nType, int cx, int cy ) 
{ 
  CWndNeuz::OnSize( nType, cx, cy ); 
} 

void CWndGlowChange::OnLButtonUp( UINT nFlags, CPoint point ) 
{ 
} 

void CWndGlowChange::OnLButtonDown( UINT nFlags, CPoint point ) 
{ 
} 

void CWndGlowChange::OnDraw( C2DRender* p2DRender )
{
	CWndStatic* sBody = (CWndStatic*)GetDlgItem(WIDC_STATICCOL);
	CWndStatic* sHandRight = (CWndStatic*)GetDlgItem(WIDC_STATICHAND);
	CWndStatic* sHandLeft = (CWndStatic*)GetDlgItem(WIDC_STATICHAND1);
	CWndStatic* sArmRight = (CWndStatic*)GetDlgItem(WIDC_STATICHAND11);
	CWndStatic* sArmLeft = (CWndStatic*)GetDlgItem(WIDC_STATICHAND111);
	CWndStatic* sLegRight = (CWndStatic*)GetDlgItem(WIDC_STATICHAND1111);
	CWndStatic* sLegLeft = (CWndStatic*)GetDlgItem(WIDC_STATICHAND11111);
	
	if(!sBody || !sHandRight || !sHandLeft || !sArmRight || !sArmLeft || !sLegRight || !sLegLeft)
    return;

  CString strBody, strArmRight, strArmLeft, strLegLeft, strLegRight, strHandRight, strHandLeft;
  
	strBody.Format("%s (%i/16)",GetNameGlow(GlowBody), GlowBody+1);
	sBody->SetTitle(strBody);
	
	strHandRight.Format("%s (%i/16)",GetNameGlow(GlowArmRight), GlowArmRight+1);
	sArmRight->SetTitle(strHandRight);

	strArmLeft.Format("%s (%i/16)",GetNameGlow(GlowArmLeft), GlowArmLeft+1);
	sArmLeft->SetTitle(strArmLeft);
	
	strLegLeft.Format("%s (%i/16)",GetNameGlow(GlowLegLeft), GlowLegLeft+1);
	sLegLeft->SetTitle(strLegLeft);
	
	strLegRight.Format("%s (%i/16)",GetNameGlow(GlowLegRight), GlowLegRight+1);
	sLegRight->SetTitle(strLegRight);
	
	strHandRight.Format("%s (%i/24)",GetNameGlow(GlowHandRight), GlowHandRight+1);
	sHandRight->SetTitle(strHandRight);
	
	strHandLeft.Format("%s (%i/24)",GetNameGlow(GlowHandLeft), GlowHandLeft+1);
	sHandLeft->SetTitle(strHandLeft);

	return;
}

void CWndGlowChange::UpDateModel()
{
}

void CWndGlowChange::UpdateParts()
{
}

HRESULT CWndGlowChange::RestoreDeviceObjects()
{
    CWndNeuz::RestoreDeviceObjects();
    return S_OK;
}

HRESULT CWndGlowChange::InvalidateDeviceObjects()
{
    CWndNeuz::InvalidateDeviceObjects();
    return S_OK;
}

HRESULT CWndGlowChange::DeleteDeviceObjects()
{
    CWndNeuz::DeleteDeviceObjects();
    InvalidateDeviceObjects();
    return S_OK;
}

void CWndGlowChange::OnInitialUpdate( void )
{
  CWndNeuz::OnInitialUpdate(); 

	CWndStatic* sBody = (CWndStatic*)GetDlgItem(WIDC_STATICCOL);
	CWndStatic* sHandRight = (CWndStatic*)GetDlgItem(WIDC_STATICHAND);
	CWndStatic* sHandLeft = (CWndStatic*)GetDlgItem(WIDC_STATICHAND1);
	CWndStatic* sArmRight = (CWndStatic*)GetDlgItem(WIDC_STATICHAND11);
	CWndStatic* sArmLeft = (CWndStatic*)GetDlgItem(WIDC_STATICHAND111);
	CWndStatic* sLegRight = (CWndStatic*)GetDlgItem(WIDC_STATICHAND1111);
	CWndStatic* sLegLeft = (CWndStatic*)GetDlgItem(WIDC_STATICHAND11111);
	
	if(!sBody || !sHandRight || !sHandLeft || !sArmRight || !sArmLeft || !sLegRight || !sLegLeft)
    return;

	GlowBody = g_pPlayer->m_iGlowBody;
	GlowHandLeft = g_pPlayer->m_iGlowHandLeft;
	GlowHandRight = g_pPlayer->m_iGlowHandRight;
	GlowArmLeft = g_pPlayer->m_iGlowArmLeft;
	GlowArmRight = g_pPlayer->m_iGlowArmRight;
	GlowLegLeft = g_pPlayer->m_iGlowLegLeft;
	GlowLegRight = g_pPlayer->m_iGlowLegRight;

  CString strBody, strArmRight, strArmLeft, strLegLeft, strLegRight, strHandRight, strHandLeft;
  
	strBody.Format("%s (%i/16)",GetNameGlow(GlowBody), GlowBody+1);
	sBody->SetTitle(strBody);
	
	strHandRight.Format("%s (%i/16)",GetNameGlow(GlowArmRight), GlowArmRight+1);
	sArmRight->SetTitle(strHandRight);

	strArmLeft.Format("%s (%i/16)",GetNameGlow(GlowArmLeft), GlowArmLeft+1);
	sArmLeft->SetTitle(strArmLeft);
	
	strLegLeft.Format("%s (%i/16)",GetNameGlow(GlowLegLeft), GlowLegLeft+1);
	sLegLeft->SetTitle(strLegLeft);
	
	strLegRight.Format("%s (%i/16)",GetNameGlow(GlowLegRight), GlowLegRight+1);
	sLegRight->SetTitle(strLegRight);
	
	strHandRight.Format("%s (%i/24)",GetNameGlow(GlowHandRight), GlowHandRight+1);
	sHandRight->SetTitle(strHandRight);
	
	strHandLeft.Format("%s (%i/24)",GetNameGlow(GlowHandLeft), GlowHandLeft+1);
	sHandLeft->SetTitle(strHandLeft);

	MoveParentCenter();	
}

BOOL CWndGlowChange::OnChildNotify( UINT message, UINT nID, LRESULT* pLResult )
{
  switch (nID)
  {
    case WIDC_BUTTCOLRIGHT:
    { 
      if(GlowBody == 15)
        GlowBody = 0;
      else
        GlowBody += 1;
      break;
    }
    
    case WIDC_BUTTCOLLEFT:
    {
      if(GlowBody == 0)
        GlowBody = 15;
      else
        GlowBody -= 1;
      break;
    }
    
    case WIDC_BUTTHANDLEFT:
    {
      if(GlowHandRight == 0)
        GlowHandRight = 23;
      else
        GlowHandRight -= 1;
      break;
    }
    
    case WIDC_BUTTHANDRIGHT:
    {
      if(GlowHandRight == 23)
        GlowHandRight = 0;
      else
        GlowHandRight += 1;
      break;
    }
    
    case WIDC_BUTTHANDLEFT1:
    {
      if(GlowHandLeft == 0)
        GlowHandLeft = 23;
      else
        GlowHandLeft -= 1;
      break;
    }
    
    case WIDC_BUTTHANDRIGHT1:
    {
      if(GlowHandLeft == 23)
        GlowHandLeft = 0;
      else
        GlowHandLeft += 1;
      break;
    }
    
    case WIDC_BUTTHANDRIGHT11:
    { 
      if(GlowArmRight == 15)
        GlowArmRight = 0;
      else
        GlowArmRight += 1;
      break;
    }
    
    case WIDC_BUTTHANDLEFT11:
    {
      if(GlowArmRight == 0)
        GlowArmRight = 15;
      else
        GlowArmRight -= 1;
      break;
    }
        
    case WIDC_BUTTHANDRIGHT111:
    { 
      if(GlowArmLeft == 15)
        GlowArmLeft = 0;
      else
        GlowArmLeft += 1;
      break;
    }
    
    case WIDC_BUTTHANDLEFT111:
    {
      if(GlowArmLeft == 0)
        GlowArmLeft = 15;
      else
        GlowArmLeft -= 1;
      break;
    }
      
    case WIDC_BUTTHANDRIGHT1111:
    { 
      if(GlowLegRight == 15)
        GlowLegRight = 0;
      else
        GlowLegRight += 1;
      break;
    }
    
    case WIDC_BUTTHANDLEFT1111:
    {
      if(GlowLegRight == 0)
        GlowLegRight = 15;
      else
        GlowLegRight -= 1;
      break;
    }
    
    case WIDC_BUTTHANDRIGHT11111:
    { 
      if(GlowLegLeft == 15)
        GlowLegLeft = 0;
      else
        GlowLegLeft += 1;
      break;
    }
    
    case WIDC_BUTTHANDLEFT11111:
    {
      if(GlowLegLeft == 0)
        GlowLegLeft = 15;
      else
        GlowLegLeft -= 1;
      break;
    }
    
    case WIDC_BUTTON1:
    {
      g_DPlay.SendGlowChange( GlowBody, GlowHandLeft, GlowHandRight, GlowArmLeft, GlowArmRight, GlowLegLeft, GlowLegRight);
      Destroy();
      break;
    }
	
    default:
    {
      Destroy();
      break;
    }

	}
  return CWndNeuz::OnChildNotify( message, nID, pLResult );
}
#endif //__JOPS_GLOW
WndField.h

before (end of file)

Code:
#endif // !defined(AFX_WNDFIELD_H__A93F3186_63D6_43C1_956F_EC8691E0C7D9__INCLUDED_)
add

Code:
#ifdef __JOPS_GLOW
class CWndGlowChange : public CWndNeuz
{
public:
  CWndGlowChange( void );
  ~CWndGlowChange( void );
	//original variables
	int GlowBody;
	int GlowHandLeft;
	int GlowHandRight;
	int GlowArmLeft;
	int GlowArmRight;
	int GlowLegLeft;
	int GlowLegRight;
	//counters for output
	int GlowBodyC;
	int GlowHandLeftC;
	int GlowHandRightC;
	int GlowArmLeftC;
	int GlowArmRightC;
	int GlowLegLeftC;
	int GlowLegRightC;

  virtual HRESULT RestoreDeviceObjects();
  virtual HRESULT InvalidateDeviceObjects();
  virtual HRESULT DeleteDeviceObjects();

public:
  virtual BOOL Initialize( CWndBase* pWndParent = NULL, DWORD nType = MB_OK ); 
  virtual BOOL OnChildNotify( UINT message, UINT nID, LRESULT* pLResult ); 
  virtual void OnDraw( C2DRender* p2DRender ); 
  virtual    void OnInitialUpdate(); 
  virtual BOOL OnCommand( UINT nID, DWORD dwMessage, CWndBase* pWndBase ); 
  virtual void OnSize( UINT nType, int cx, int cy ); 
  virtual void OnLButtonUp( UINT nFlags, CPoint point ); 
  virtual void OnLButtonDown( UINT nFlags, CPoint point );
	virtual void UpDateModel();
	virtual void UpdateParts();
};
#endif //__JOPS_GLOW


User.cpp

after

Code:
void CUserMng::RemoveUser( DWORD dwSerial )
{
	map<DWORD, CUser*>::iterator it = m_users.find( dwSerial );
	if( it == m_users.end() )
		return;

	CUser* pUser = it->second;

	if( IsValidObj( pUser ) ) 
	{
		pUser->OnTradeRemoveUser();

		m_users.erase( it );
		--m_lCount;
		RemoveUserFromCacheMsg( pUser );
	}
}
add

Code:
#ifdef __JOPS_GLOW
void CUserMng::UpdateGlow( CUser* pUser, int glowbody, int glowhandleft, int glowhandright, int glowarmleft, int glowarmright, int glowlegleft, int glowlegright )
{
	CAr arBlock;
	arBlock << pUser->GetId() << SNAPSHOTTYPE_UPDATEGLOW;
	arBlock << glowbody;
	arBlock << glowhandleft;
	arBlock << glowhandright;
	arBlock << glowarmleft;
	arBlock << glowarmright;
	arBlock << glowlegleft;
	arBlock << glowlegright;
	GETBLOCK( arBlock, lpBlock, uBlockSize );

	FOR_VISIBILITYRANGE( pUser )
	{
		USERPTR->AddBlock( lpBlock, uBlockSize );
	}
	NEXT_VISIBILITYRANGE( pUser )
}
#endif //__JOPS_GLOW
User.h

after

Code:
void			RemoveUser( DWORD dwSerial );
*

add

Code:
#ifdef __JOPS_GLOW
	void			UpdateGlow( CUser* pUser, int glowbody, int glowhandleft, int glowhandright, int glowarmleft, int glowarmright, int glowlegleft, int glowlegright );
#endif //__JOPS_GLOW
MsgHdr.h

before

Code:
#define SNAPSHOTTYPE_CHAT	(WORD)0x0001
add

Code:
#ifdef __JOPS_GLOW
#define PACKETTYPE_GLOW_CHANGE          (DWORD)0xDD000046
#endif //__JOPS_GLOW
and before

Code:
#define ERROR_OK							0L
add

Code:
#ifdef __JOPS_GLOW
#define SNAPSHOTTYPE_UPDATEGLOW           (WORD)0xff26
#endif //__JOPS_GLOW
/!\ Use undefined number !! Ex : 0xDD000046 or 0xDD000047 for PACKETTYPE and SNAPSHOTTYPE etc

DbManagerSave.cpp

after

Code:
		bOk[0]	= qry->BindParameter( 1, SQL_PARAM_INPUT, SQL_C_LONG, SQL_INTEGER, 0, 0, &i, 0, &cbLen );
		bOk[1]	= qry->BindParameter( 2, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_VARCHAR, 4290, 0, (char*)p.pszItem, 0, &cbLen );
		bOk[2]	= qry->BindParameter( 3, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_VARCHAR, 215, 0, (char*)p.pszIndex, 0, &cbLen );
		bOk[3]	= qry->BindParameter( 4, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_VARCHAR, 215, 0, (char*)p.pszObjIndex, 0, &cbLen );
		bOk[4]	= qry->BindParameter( 5, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_VARCHAR, 2000, 0, (char*)p.pszExt, 0, &cbLen );
#if __VER >= 15 // __PETVIS
		bOk[5]	= qry->BindParameter( 6, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_VARCHAR, 7800, 0, (char*)p.pszPiercing, 0, &cbLen );
#else // __PETVIS
		bOk[5]	= qry->BindParameter( 6, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_VARCHAR, 2000, 0, (char*)p.pszPiercing, 0, &cbLen );
#endif // __PETVIS
		bOk[6]	= qry->BindParameter( 7, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_VARCHAR, 2689, 0, (char*)p.pszPet, 0, &cbLen );
		bOk[7]	= qry->BindParameter( 8, SQL_PARAM_INPUT, SQL_C_LONG, SQL_INTEGER, 0, 0, &p.bExpired, 0, &cbLen );
		bOk[8]	= qry->BindParameter( 9, SQL_PARAM_INPUT, SQL_C_LONG, SQL_INTEGER, 0, 0, &p.tExpirationDate, 0, &cbLen );


		if( !qry->Exec( szQuery ) )
		{
			SAFE_DELETE_ARRAY( bOK );
			return;
		}
	}
#endif	// __SYS_POCKET
add

Code:
char szQuery[QUERY_SIZE] = { 0, };
#ifdef __JOPS_GLOW
  int iGlowArmLeft = pMover->m_iGlowArmLeft;
  if(iGlowArmLeft < 0 || iGlowArmLeft > 16)
    iGlowArmLeft = 0;
    
  int iGlowArmRight = pMover->m_iGlowArmRight;
  if(iGlowArmRight < 0 || iGlowArmRight > 16)
    iGlowArmRight = 0;
  
  int iGlowLegLeft = pMover->m_iGlowLegLeft;
  if(iGlowLegLeft < 0 || iGlowLegLeft > 16)
    iGlowLegLeft = 0;
  
  int iGlowLegRight = pMover->m_iGlowLegRight;
  if(iGlowLegRight < 0 || iGlowLegRight > 16)
    iGlowLegRight = 0;
  
  int iGlowBody = pMover->m_iGlowBody;
  if(iGlowBody < 0 || iGlowBody > 16)
    iGlowBody = 0;
  
  int iGlowHandLeft = pMover->m_iGlowHandLeft;
  if(iGlowHandLeft < 0 || iGlowHandLeft > 24)
    iGlowHandLeft = 0;
  
  int iGlowHandRight = pMover->m_iGlowHandRight;
  if(iGlowHandRight < 0 || iGlowHandRight > 24)
    iGlowHandRight = 0;
	
	sprintf( szQuery, "uspGlow @query = 'S1', @idPlayer = '%07d', @iGlowArmLeft = '%d', @iGlowArmRight = '%d', @iGlowLegLeft = '%d', @iGlowLegRight = '%d', @iGlowBody = '%d', @iGlowHandLeft = '%d', @iGlowHandRight = '%d'",
		pMover->m_idPlayer,iGlowArmLeft, iGlowArmLeft, iGlowArmRight, iGlowLegRight, iGlowBody, iGlowHandLeft, iGlowHandRight );
		
	if( !qry->Exec( szQuery ) )
	{
		WriteLog( "%s, %d\t%s", __FILE__, __LINE__, szQuery );
		return;
	}
#endif //__JOPS_GLOW
DbManagerJoin.cpp

after

Code:
#if __VER >= 11 // __SYS_POCKET
	if( qry->MoreResults() )
	{
		while( qry->Fetch() )
		{
			//GetPocket( &mover, qry, lpDBOP );
			// mirchang_100416 VERIFYSTRING use return value
			if( GetPocket( &mover, qry, lpDBOP ) == FALSE )
			{
				return;
			}
			// mirchang_100416
		}
	}
#endif	// __SYS_POCKET
add

Code:
#ifdef __JOPS_GLOW
	sprintf( szQuery, "uspGlow @query = 'L1', @idPlayer = '%07d'", mover.m_idPlayer );
	
	if( !qry->Exec( szQuery ) )
	{
		FreeRequest( lpDBOP );
		return;
	}
	
	if( qry->Fetch() )
	{
		mover.m_iGlowArmLeft = qry->GetInt( "iGlowArmLeft" );
		mover.m_iGlowArmRight = qry->GetInt( "iGlowArmRight" );
		mover.m_iGlowLegLeft = qry->GetInt( "iGlowLegLeft" );
		mover.m_iGlowLegRight = qry->GetInt( "iGlowLegRight" );
		mover.m_iGlowBody = qry->GetInt( "iGlowBody" );
		mover.m_iGlowHandLeft = qry->GetInt( "iGlowHandLeft" );
		mover.m_iGlowHandRight = qry->GetInt( "iGlowHandRight" );
	}
#endif //__JOPS_GLOW
in folder _Network\Objects

Obj.h

after

Code:
#if __VER >= 15 // __GUILD_HOUSE
public:
	int		m_nRestPoint;
	time_t	m_tLogOut;
#endif // __GUILD_HOUSE
add

Code:
#ifdef __JOPS_GLOW
public:
	int m_iGlowBody;
	int m_iGlowLegLeft;
	int m_iGlowLegRight;
	int m_iGlowArmLeft;
	int m_iGlowArmRight;
	int m_iGlowHandLeft;
	int m_iGlowHandRight;
#endif //__JOPS_GLOW
Obj.cpp

after

Code:
#if __VER >= 15 // __GUILD_HOUSE
	m_nRestPoint = 0;
	m_tLogOut = 0;
#endif // __GUILD_HOUSE
add

Code:
#ifdef __JOPS_GLOW
	m_iGlowBody = 0;
	m_iGlowLegLeft = 0;
	m_iGlowLegRight = 0;
	m_iGlowArmLeft = 0;
	m_iGlowArmRight = 0;
	m_iGlowHandLeft = 0;
	m_iGlowHandRight = 0;
#endif //__JOPS_GLOW
and after

Code:
#if __VER >= 15 // __GUILD_HOUSE
	m_nRestPoint = pMover->m_nRestPoint;
	m_tLogOut = pMover->m_tLogOut;
#endif // __GUILD_HOUSE
add

Code:
#ifdef __JOPS_GLOW
	m_iGlowArmLeft = pMover->m_iGlowArmLeft;
	m_iGlowArmRight = pMover->m_iGlowArmRight;
	m_iGlowLegLeft = pMover->m_iGlowLegLeft;
	m_iGlowLegRight = pMover->m_iGlowLegRight;
	m_iGlowBody = pMover->m_iGlowBody;
	m_iGlowHandLeft = pMover->m_iGlowHandLeft;
	m_iGlowHandRight = pMover->m_iGlowHandRight;

	if( m_iGlowArmLeft > 16 || m_iGlowArmLeft < 0 )
		m_iGlowArmLeft = 0;
	if( m_iGlowArmRight > 16 || m_iGlowArmRight < 0 )
		m_iGlowArmRight = 0;
	if( m_iGlowLegLeft > 16 || m_iGlowLegLeft < 0 )
		m_iGlowLegLeft = 0;
	if( m_iGlowLegRight > 16 || m_iGlowLegRight < 0 )
		m_iGlowLegRight = 0;
	if( m_iGlowBody > 16 || m_iGlowBody < 0)
		m_iGlowBody = 0;
	if( m_iGlowHandLeft > 24 || m_iGlowHandLeft < 0 )
		m_iGlowHandLeft = 0;
	if( m_iGlowHandRight > 24 || m_iGlowHandRight < 0 )
		m_iGlowHandRight = 0;
#endif //__JOPS_GLOW
_Common\ObjSerializeOpt.cpp

after

Code:
for( int j = 0 ; j < SM_MAX ; ++j )
				ar << m_dwSMTime[j];
add

Code:
#ifdef __JOPS_GLOW
			ar << m_iGlowBody;
			ar << m_iGlowHandLeft;
			ar << m_iGlowHandRight;
			ar << m_iGlowArmLeft;
			ar << m_iGlowArmRight;
			ar << m_iGlowLegLeft;
			ar << m_iGlowLegRight;
#endif //__JOPS_GLOW
and after

Code:
for( int j = 0 ; j < SM_MAX ; ++j )
				ar >> m_dwSMTime[j];
add

Code:
#ifdef __JOPS_GLOW
			ar >> m_iGlowBody;
			ar >> m_iGlowHandLeft;
			ar >> m_iGlowHandRight;
			ar >> m_iGlowArmLeft;
			ar >> m_iGlowArmRight;
			ar >> m_iGlowLegLeft;
			ar >> m_iGlowLegRight;
#endif //__JOPS_GLOW
CreateObj.cpp

in function :

Code:
CSfx* CreateSfx( LPDIRECT3DDEVICE9 pd3dDevice, DWORD dwSfxObj, 
				 D3DXVECTOR3& vPosSrc, OBJID idSrc, D3DXVECTOR3& vPosDest, OBJID idDest, int nSec )
add

Code:
#ifdef __JOPS_GLOW
	case XI_SETIEM_EFFECTHAND1:
	case XI_SETIEM_EFFECTHAND2:
	case XI_SETIEM_EFFECTHAND3:
	case XI_SETIEM_EFFECTHAND4:
	case XI_SETIEM_EFFECTHAND5:
	case XI_SETIEM_EFFECTHAND6:
	case XI_SETIEM_EFFECTHAND7:
	case XI_SETIEM_EFFECTHAND8:
	case XI_SETIEM_EFFECTHAND9:
	case XI_SETIEM_EFFECTHAND10:
	case XI_SETIEM_EFFECTHAND11:
	case XI_SETIEM_EFFECTHAND12:
	case XI_SETIEM_EFFECTHAND13:
	case XI_SETIEM_EFFECTHAND14:
	case XI_SETIEM_EFFECTHAND15:
	case XI_SETIEM_EFFECTHAND16:
	case XI_SETIEM_EFFECTHAND17:
	case XI_SETIEM_EFFECTHAND18:
	case XI_SETIEM_EFFECTHAND19:
	case XI_SETIEM_EFFECTHAND20:
	case XI_SETIEM_EFFECTHAND21:
	case XI_SETIEM_EFFECTHAND22:
	case XI_SETIEM_EFFECTHAND23:
	case XI_GEN_ITEM_SETITEM101:
	case XI_GEN_ITEM_SETITEM102:
	case XI_GEN_ITEM_SETITEM103:
	case XI_GEN_ITEM_SETITEM104:
	case XI_GEN_ITEM_SETITEM105:
	case XI_GEN_ITEM_SETITEM106:
	case XI_GEN_ITEM_SETITEM107:
	case XI_GEN_ITEM_SETITEM108:
	case XI_GEN_ITEM_SETITEM109:
	case XI_GEN_ITEM_SETITEM1010:
	case XI_GEN_ITEM_SETITEM1011:
	case XI_GEN_ITEM_SETITEM1012:
	case XI_GEN_ITEM_SETITEM1013:
	case XI_GEN_ITEM_SETITEM1014:
	case XI_GEN_ITEM_SETITEM1015:
#endif //__JOPS_GLOW

before

Code:
pObj = new CSfxPartsLinkShoulder(); break;
in VersionCommon.h

-> Database / Neuz / WorldServer

add

Code:
#define __JOPS_GLOW
in ResData.h

add

Code:
#define APP_SETGLOW1          9999
replace 9999 by unused number

at end of file add

Code:
#define WIDC_STATICCOL          1506
#define WIDC_STATICHAND         1507
#define WIDC_STATICHAND1        1508
#define WIDC_STATICHAND11       1509
#define WIDC_STATICHAND111      1510
#define WIDC_STATICHAND1111     1511
#define WIDC_STATICHAND11111    1512
#define WIDC_TEXTCOUNTCOL       1513
#define WIDC_TEXTCOUNTHAND      1514
#define WIDC_TEXTCOUNTHAND1     1515
#define WIDC_TEXTCOUNTHAND11    1516
#define WIDC_TEXTCOUNTHAND111   1517
#define WIDC_TEXTCOUNTHAND1111  1518
#define WIDC_TEXTCOUNTHAND11111 1519
#define WIDC_BUTTCOLRIGHT       1520
#define WIDC_BUTTCOLLEFT        1521
#define WIDC_BUTTHANDLEFT       1522
#define WIDC_BUTTHANDRIGHT      1523
#define WIDC_BUTTHANDLEFT1      1524
#define WIDC_BUTTHANDRIGHT1     1525
#define WIDC_BUTTHANDRIGHT11    1526
#define WIDC_BUTTHANDLEFT11     1527
#define WIDC_BUTTHANDRIGHT111   1528
#define WIDC_BUTTHANDLEFT111    1529
#define WIDC_BUTTHANDRIGHT1111  1530
#define WIDC_BUTTHANDLEFT1111   1531
#define WIDC_BUTTHANDRIGHT11111 1532
#define WIDC_BUTTHANDLEFT11111  1533
#define WIDC_BUTTAURAOK         1534
Resdata.inc (v15)

Code:
APP_SETGLOW1 "WndTile00.tga" 1 320 589 0x2410000 26
{
// Title String
IDS_RESDATA_INC_009139
}
{
// ToolTip
IDS_RESDATA_INC_009140
}
{
    WTYPE_BUTTON WIDC_BUTTON1 "" 0 118 530 197 554 0x220010 0 0 0 0
    {
    // Title String
    IDS_RESDATA_INC_009141
    }
    {
    // ToolTip
    IDS_RESDATA_INC_009142
    }
    WTYPE_STATIC WIDC_STATIC "WndEditTile200.tga" 1 8 8 294 27 0x220040 0 0 0 0
    {
    // Title String
    IDS_RESDATA_INC_009143
    }
    {
    // ToolTip
    IDS_RESDATA_INC_009144
    }
    WTYPE_STATIC WIDC_STATIC1 "" 0 18 34 64 53 0x220000 0 0 0 0
    {
    // Title String
    IDS_RESDATA_INC_009145
    }
    {
    // ToolTip
    IDS_RESDATA_INC_009146
    }
    WTYPE_STATIC WIDC_STATIC2 "" 0 18 53 102 72 0x220000 0 0 0 0
    {
    // Title String
    IDS_RESDATA_INC_009147
    }
    {
    // ToolTip
    IDS_RESDATA_INC_009148
    }
    WTYPE_STATIC WIDC_STATIC3 "" 0 18 72 102 91 0x220000 0 0 0 0
    {
    // Title String
    IDS_RESDATA_INC_009149
    }
    {
    // ToolTip
    IDS_RESDATA_INC_009150
    }
    WTYPE_STATIC WIDC_STATIC4 "" 0 18 90 117 109 0x220000 0 0 0 0
    {
    // Title String
    IDS_RESDATA_INC_009151
    }
    {
    // ToolTip
    IDS_RESDATA_INC_009152
    }
    WTYPE_STATIC WIDC_STATIC5 "" 0 18 110 96 129 0x220000 0 0 0 0
    {
    // Title String
    IDS_RESDATA_INC_009153
    }
    {
    // ToolTip
    IDS_RESDATA_INC_009154
    }
    WTYPE_STATIC WIDC_STATIC6 "" 0 18 129 125 148 0x220000 0 0 0 0
    {
    // Title String
    IDS_RESDATA_INC_009155
    }
    {
    // ToolTip
    IDS_RESDATA_INC_009156
    }
    WTYPE_STATIC WIDC_STATIC7 "" 0 18 148 122 167 0x220000 0 0 0 0
    {
    // Title String
    IDS_RESDATA_INC_009157
    }
    {
    // ToolTip
    IDS_RESDATA_INC_009158
    }
    WTYPE_STATIC WIDC_STATIC8 "WndEditTile200.tga" 1 12 174 298 193 0x220050 0 0 0 0
    {
    // Title String
    IDS_RESDATA_INC_009159
    }
    {
    // ToolTip
    IDS_RESDATA_INC_009160
    }
    WTYPE_STATIC WIDC_STATIC11 "Inerset.tga" 0 60 202 259 507 0x220002 0 0 0 0
    {
    // Title String
    IDS_RESDATA_INC_009161
    }
    {
    // ToolTip
    IDS_RESDATA_INC_009162
    }
   WTYPE_BUTTON WIDC_BUTTHANDLEFT11111 "WndLeftArrow01.bmp" 0 102 478 121 500 0x220010 0 0 0 0
    {
    // Title String
    IDS_RESDATA_INC_009161
    }
    {
    // ToolTip
    IDS_RESDATA_INC_009162
    }
    WTYPE_BUTTON WIDC_BUTTHANDRIGHT11111 "WndRightArrow01.bmp" 0 122 478 141 500 0x220010 0 0 0 0
    {
    // Title String
    IDS_RESDATA_INC_009163
    }
    {
    // ToolTip
    IDS_RESDATA_INC_009164
    }
    WTYPE_BUTTON WIDC_BUTTHANDLEFT1111 "WndLeftArrow01.bmp" 0 182 478 201 500 0x220010 0 0 0 0
    {
    // Title String
    IDS_RESDATA_INC_009165
    }
    {
    // ToolTip
    IDS_RESDATA_INC_009166
    }
    WTYPE_BUTTON WIDC_BUTTHANDRIGHT1111 "WndRightArrow01.bmp" 0 202 478 221 500 0x220010 0 0 0 0
    {
    // Title String
    IDS_RESDATA_INC_009167
    }
    {
    // ToolTip
    IDS_RESDATA_INC_009168
    }
    WTYPE_BUTTON WIDC_BUTTCOLLEFT "WndLeftArrow01.bmp" 0 144 334 163 356 0x220010 0 0 0 0
    {
    // Title String
    IDS_RESDATA_INC_009169
    }
    {
    // ToolTip
    IDS_RESDATA_INC_009170
    }
    WTYPE_BUTTON WIDC_BUTTCOLRIGHT "WndRightArrow01.bmp" 0 164 334 183 356 0x220010 0 0 0 0
    {
    // Title String
    IDS_RESDATA_INC_009171
    }
    {
    // ToolTip
    IDS_RESDATA_INC_009172
    }
    WTYPE_BUTTON WIDC_BUTTHANDLEFT111 "WndLeftArrow01.bmp" 0 108 308 127 330 0x220010 0 0 0 0
    {
    // Title String
    IDS_RESDATA_INC_009173
    }
    {
    // ToolTip
    IDS_RESDATA_INC_009174
    }
    WTYPE_BUTTON WIDC_BUTTHANDRIGHT111 "WndRightArrow01.bmp" 0 128 308 147 330 0x220010 0 0 0 0
    {
    // Title String
    IDS_RESDATA_INC_009175
    }
    {
    // ToolTip
    IDS_RESDATA_INC_009176
    }
    WTYPE_BUTTON WIDC_BUTTHANDLEFT1 "WndLeftArrow01.bmp" 0 72 356 91 378 0x220010 0 0 0 0
    {
    // Title String
    IDS_RESDATA_INC_009177
    }
    {
    // ToolTip
    IDS_RESDATA_INC_009178
    }
    WTYPE_BUTTON WIDC_BUTTHANDRIGHT1 "WndRightArrow01.bmp" 0 92 356 111 378 0x220010 0 0 0 0
    {
    // Title String
    IDS_RESDATA_INC_009179
    }
    {
    // ToolTip
    IDS_RESDATA_INC_009180
    }
    WTYPE_BUTTON WIDC_BUTTHANDLEFT11 "WndLeftArrow01.bmp" 0 180 308 199 330 0x220010 0 0 0 0
    {
    // Title String
    IDS_RESDATA_INC_009181
    }
    {
    // ToolTip
    IDS_RESDATA_INC_009182
    }
    WTYPE_BUTTON WIDC_BUTTHANDRIGHT11 "WndRightArrow01.bmp" 0 200 308 219 330 0x220010 0 0 0 0
    {
    // Title String
    IDS_RESDATA_INC_009183
    }
    {
    // ToolTip
    IDS_RESDATA_INC_009184
    }
    WTYPE_BUTTON WIDC_BUTTHANDLEFT "WndLeftArrow01.bmp" 0 212 356 231 378 0x220010 0 0 0 0
    {
    // Title String
    IDS_RESDATA_INC_009185
    }
    {
    // ToolTip
    IDS_RESDATA_INC_009186
    }
    WTYPE_BUTTON WIDC_BUTTHANDRIGHT "WndRightArrow01.bmp" 0 232 356 251 378 0x220010 0 0 0 0
    {
    // Title String
    IDS_RESDATA_INC_009187
    }
    {
    // ToolTip
    IDS_RESDATA_INC_009188
    }
    WTYPE_STATIC WIDC_STATICCOL "" 0 62 34 295 53 0x220000 0 0 0 0
    {
    // Title String
    IDS_RESDATA_INC_009191
    }
    {
    // ToolTip
    IDS_RESDATA_INC_009192
    }
    WTYPE_STATIC WIDC_STATICHAND111 "" 0 104 53 296 73 0x220000 0 0 0 0
    {
    // Title String
    IDS_RESDATA_INC_009193
    }
    {
    // ToolTip
    IDS_RESDATA_INC_009194
    }
    WTYPE_STATIC WIDC_STATICHAND11 "" 0 87 72 294 91 0x220000 0 0 0 0
    {
    // Title String
    IDS_RESDATA_INC_009195
    }
    {
    // ToolTip
    IDS_RESDATA_INC_009196
    }
    WTYPE_STATIC WIDC_STATICHAND1 "" 0 104 90 294 109 0x220000 0 0 0 0
    {
    // Title String
    IDS_RESDATA_INC_009197
    }
    {
    // ToolTip
    IDS_RESDATA_INC_009198
    }
    WTYPE_STATIC WIDC_STATICHAND "" 0 96 110 296 129 0x220000 0 0 0 0
    {
    // Title String
    IDS_RESDATA_INC_009199
    }
    {
    // ToolTip
    IDS_RESDATA_INC_009200
    }
    WTYPE_STATIC WIDC_STATICHAND11111 "" 0 115 129 294 148 0x220000 0 0 0 0
    {
    // Title String
    IDS_RESDATA_INC_009201
    }
    {
    // ToolTip
    IDS_RESDATA_INC_009202
    }
    WTYPE_STATIC WIDC_STATICHAND1111 "" 0 106 148 296 167 0x220000 0 0 0 0
    {
    // Title String
    IDS_RESDATA_INC_009203
    }
    {
    // ToolTip
    IDS_RESDATA_INC_009204
    }

}
ResData.txt.txt

Code:
IDS_RESDATA_INC_009139	Glow change
IDS_RESDATA_INC_009140	
IDS_RESDATA_INC_009141	Ok
IDS_RESDATA_INC_009142	
IDS_RESDATA_INC_009143	
IDS_RESDATA_INC_009144	
IDS_RESDATA_INC_009145	Body:
IDS_RESDATA_INC_009146	
IDS_RESDATA_INC_009147	left arm:
IDS_RESDATA_INC_009148	
IDS_RESDATA_INC_009149	right arm:
IDS_RESDATA_INC_009150	
IDS_RESDATA_INC_009151	left hand:
IDS_RESDATA_INC_009152	
IDS_RESDATA_INC_009153	right hand:
IDS_RESDATA_INC_009154	
IDS_RESDATA_INC_009155	left leg:
IDS_RESDATA_INC_009156	
IDS_RESDATA_INC_009157	right leg:
IDS_RESDATA_INC_009158	
IDS_RESDATA_INC_009159	
IDS_RESDATA_INC_009160	
IDS_RESDATA_INC_009161	
IDS_RESDATA_INC_009162	
IDS_RESDATA_INC_009163	Button
IDS_RESDATA_INC_009164	
IDS_RESDATA_INC_009165	Button
IDS_RESDATA_INC_009166	
IDS_RESDATA_INC_009167	Button
IDS_RESDATA_INC_009168	
IDS_RESDATA_INC_009169	Button
IDS_RESDATA_INC_009170	
IDS_RESDATA_INC_009171	Button
IDS_RESDATA_INC_009172	
IDS_RESDATA_INC_009173	Button
IDS_RESDATA_INC_009174	
IDS_RESDATA_INC_009175	Button
IDS_RESDATA_INC_009176	
IDS_RESDATA_INC_009177	Button
IDS_RESDATA_INC_009178	
IDS_RESDATA_INC_009179	Button
IDS_RESDATA_INC_009180	
IDS_RESDATA_INC_009181	Button
IDS_RESDATA_INC_009182	
IDS_RESDATA_INC_009183	Button
IDS_RESDATA_INC_009184	
IDS_RESDATA_INC_009185	Button
IDS_RESDATA_INC_009186	
IDS_RESDATA_INC_009187	Button
IDS_RESDATA_INC_009188	
IDS_RESDATA_INC_009189	Button
IDS_RESDATA_INC_009190	
IDS_RESDATA_INC_009191	Static
IDS_RESDATA_INC_009192	
IDS_RESDATA_INC_009193	Static
IDS_RESDATA_INC_009194	
IDS_RESDATA_INC_009195	Static
IDS_RESDATA_INC_009196	
IDS_RESDATA_INC_009197	Static
IDS_RESDATA_INC_009198	
IDS_RESDATA_INC_009199	Static
IDS_RESDATA_INC_009200	
IDS_RESDATA_INC_009201	Static
IDS_RESDATA_INC_009202	
IDS_RESDATA_INC_009203	Static
IDS_RESDATA_INC_009204
defineNeuz.h

Code:
#define MMI_GLOW_CHANGE         800
defineText.h

Code:
#define TID_MMI_GLOW_CHANGE               7800
add exactly 7000 to number of MMI_GLOW_CHANGE

textClient.inc

Code:
TID_MMI_GLOW_CHANGE               0xff000000
{
	"Glow Change"
}
Finally just add at npc in character.inc

Code:
AddMenu( MMI_GLOW_CHANGE  );
defineObj.h

Code:
#define XI_SETIEM_EFFECTHAND1                  2701
#define XI_SETIEM_EFFECTHAND2                  2702	
#define XI_SETIEM_EFFECTHAND3                  2703	
#define XI_SETIEM_EFFECTHAND4                  2704	
#define XI_SETIEM_EFFECTHAND5                  2705	
#define XI_SETIEM_EFFECTHAND6                  2706	
#define XI_SETIEM_EFFECTHAND7                  2707	
#define XI_SETIEM_EFFECTHAND8                  2708	
#define XI_SETIEM_EFFECTHAND9                  2709	
#define XI_SETIEM_EFFECTHAND10                 2710	
#define XI_SETIEM_EFFECTHAND11                 2711
#define XI_SETIEM_EFFECTHAND12                 2712	
#define XI_SETIEM_EFFECTHAND13                 2713	
#define XI_SETIEM_EFFECTHAND14                 2714	
#define XI_SETIEM_EFFECTHAND15                 2715	
#define XI_SETIEM_EFFECTHAND16                 2716	
#define XI_SETIEM_EFFECTHAND17                 2717	
#define XI_SETIEM_EFFECTHAND18                 2718	
#define XI_SETIEM_EFFECTHAND19                 2719	
#define XI_SETIEM_EFFECTHAND20                 2720	
#define XI_SETIEM_EFFECTHAND21                 2721	
#define XI_SETIEM_EFFECTHAND22                 2722	
#define XI_SETIEM_EFFECTHAND23                 2723	
#define XI_GEN_ITEM_SETITEM101                 2724	
#define XI_GEN_ITEM_SETITEM102                 2725	
#define XI_GEN_ITEM_SETITEM103                 2726	
#define XI_GEN_ITEM_SETITEM104                 2727	
#define XI_GEN_ITEM_SETITEM105                 2728	
#define XI_GEN_ITEM_SETITEM106                 2729	
#define XI_GEN_ITEM_SETITEM107                 2730	
#define XI_GEN_ITEM_SETITEM108                 2731	
#define XI_GEN_ITEM_SETITEM109                 2732	
#define XI_GEN_ITEM_SETITEM1010                2733	
#define XI_GEN_ITEM_SETITEM1011                2734	
#define XI_GEN_ITEM_SETITEM1012                2735	
#define XI_GEN_ITEM_SETITEM1013                2736	
#define XI_GEN_ITEM_SETITEM1014                2737	
#define XI_GEN_ITEM_SETITEM1015                2738
mdlDyna.inc

Code:
"ffg_newhandglowred" XI_SETIEM_EFFECTHAND1 MODELTYPE_SFX "" 0 MD_FAR 0 1.0f 0 1 ATEX_NONE 1
		"ffg_newhandglowblue" XI_SETIEM_EFFECTHAND2 MODELTYPE_SFX "" 0 MD_FAR 0 1.0f 0 1 ATEX_NONE 1
		"ffg_newhandglowyellow" XI_SETIEM_EFFECTHAND3 MODELTYPE_SFX "" 0 MD_FAR 0 1.0f 0 1 ATEX_NONE 1
		"ffg_newhandglowgreen" XI_SETIEM_EFFECTHAND4 MODELTYPE_SFX "" 0 MD_FAR 0 1.0f 0 1 ATEX_NONE 1
		"ffg_newhandglowpurple" XI_SETIEM_EFFECTHAND5 MODELTYPE_SFX "" 0 MD_FAR 0 1.0f 0 1 ATEX_NONE 1
		"sfx_leveleffecthandblack" XI_SETIEM_EFFECTHAND6 MODELTYPE_SFX "" 0 MD_FAR 0 1.0f 0 1 ATEX_NONE 1
		"ffg_newhandglowgold" XI_SETIEM_EFFECTHAND7 MODELTYPE_SFX "" 0 MD_FAR 0 1.0f 0 1 ATEX_NONE 1
		"ffg_newhandglowpink" XI_SETIEM_EFFECTHAND8 MODELTYPE_SFX "" 0 MD_FAR 0 1.0f 0 1 ATEX_NONE 1
		"sfx_leveleffecthandrainbow" XI_SETIEM_EFFECTHAND9 MODELTYPE_SFX "" 0 MD_FAR 0 1.0f 0 1 ATEX_NONE 1
		"ffg_newhandglowsilver" XI_SETIEM_EFFECTHAND10 MODELTYPE_SFX "" 0 MD_FAR 0 1.0f 0 1 ATEX_NONE 1
		"ffg_newhandgloworange" XI_SETIEM_EFFECTHAND11 MODELTYPE_SFX "" 0 MD_FAR 0 1.0f 0 1 ATEX_NONE 1
		"sfx_leveleffecthanddarkpurple" XI_SETIEM_EFFECTHAND12 MODELTYPE_SFX "" 0 MD_FAR 0 1.0f 0 1 ATEX_NONE 1
		"ffg_newhandglowlethal" XI_SETIEM_EFFECTHAND13 MODELTYPE_SFX "" 0 MD_FAR 0 1.0f 0 1 ATEX_NONE 1
		"ffg_newhandglowintensity" XI_SETIEM_EFFECTHAND14 MODELTYPE_SFX "" 0 MD_FAR 0 1.0f 0 1 ATEX_NONE 1
		"ffg_newhandglowdusk" XI_SETIEM_EFFECTHAND15 MODELTYPE_SFX "" 0 MD_FAR 0 1.0f 0 1 ATEX_NONE 1
		"ffg_newhandglowthunder" XI_SETIEM_EFFECTHAND16 MODELTYPE_SFX "" 0 MD_FAR 0 1.0f 0 1 ATEX_NONE 1
		"ffg_newhandglowmental" XI_SETIEM_EFFECTHAND17 MODELTYPE_SFX "" 0 MD_FAR 0 1.0f 0 1 ATEX_NONE 1
		"ffg_newhandglowvenom" XI_SETIEM_EFFECTHAND18 MODELTYPE_SFX "" 0 MD_FAR 0 1.0f 0 1 ATEX_NONE 1
		"ffg_newhandglowsnowflake" XI_SETIEM_EFFECTHAND19 MODELTYPE_SFX "" 0 MD_FAR 0 1.0f 0 1 ATEX_NONE 1
		"ffg_newhandglowchristmas" XI_SETIEM_EFFECTHAND20 MODELTYPE_SFX "" 0 MD_FAR 0 1.0f 0 1 ATEX_NONE 1
		"ffg_newhandglowpink" XI_SETIEM_EFFECTHAND21 MODELTYPE_SFX "" 0 MD_FAR 0 1.0f 0 1 ATEX_NONE 1
		"ffg_newhandglowinversion" XI_SETIEM_EFFECTHAND22 MODELTYPE_SFX "" 0 MD_FAR 0 1.0f 0 1 ATEX_NONE 1
		"ffg_newhandglowevilenergy" XI_SETIEM_EFFECTHAND23 MODELTYPE_SFX "" 0 MD_FAR 0 1.0f 0 1 ATEX_NONE 1
		"sfx_level10red" XI_GEN_ITEM_SETITEM101 MODELTYPE_SFX "" 0 MD_NEAR 0 1.0f 0 1 ATEX_NONE 1
		"sfx_level10blue" XI_GEN_ITEM_SETITEM102 MODELTYPE_SFX "" 0 MD_NEAR 0 1.0f 0 1 ATEX_NONE 1
		"sfx_level10yellow" XI_GEN_ITEM_SETITEM103 MODELTYPE_SFX "" 0 MD_NEAR 0 1.0f 0 1 ATEX_NONE 1
		"sfx_level10green" XI_GEN_ITEM_SETITEM104 MODELTYPE_SFX "" 0 MD_NEAR 0 1.0f 0 1 ATEX_NONE 1
		"sfx_level10purple" XI_GEN_ITEM_SETITEM105 MODELTYPE_SFX "" 0 MD_NEAR 0 1.0f 0 1 ATEX_NONE 1
		"sfx_level10black" XI_GEN_ITEM_SETITEM106 MODELTYPE_SFX "" 0 MD_NEAR 0 1.0f 0 1 ATEX_NONE 1
		"sfx_level10orange" XI_GEN_ITEM_SETITEM107 MODELTYPE_SFX "" 0 MD_NEAR 0 1.0f 0 1 ATEX_NONE 1
		"sfx_level10pink" XI_GEN_ITEM_SETITEM108 MODELTYPE_SFX "" 0 MD_NEAR 0 1.0f 0 1 ATEX_NONE 1
		"sfx_level10rainbow" XI_GEN_ITEM_SETITEM109 MODELTYPE_SFX "" 0 MD_NEAR 0 1.0f 0 1 ATEX_NONE 1
		"sfx_level10sparklesilver" XI_GEN_ITEM_SETITEM1010 MODELTYPE_SFX "" 0 MD_NEAR 0 1.0f 0 1 ATEX_NONE 1
		"sfx_level10sparklegold" XI_GEN_ITEM_SETITEM1011 MODELTYPE_SFX "" 0 MD_NEAR 0 1.0f 0 1 ATEX_NONE 1
		"sfx_level10darkpurple" XI_GEN_ITEM_SETITEM1012 MODELTYPE_SFX "" 0 MD_NEAR 0 1.0f 0 1 ATEX_NONE 1
		"sfx_level10lethal" XI_GEN_ITEM_SETITEM1013 MODELTYPE_SFX "" 0 MD_NEAR 0 1.0f 0 1 ATEX_NONE 1
		"sfx_level10intensity" XI_GEN_ITEM_SETITEM1014 MODELTYPE_SFX "" 0 MD_NEAR 0 1.0f 0 1 ATEX_NONE 1
		"sfx_level10dusk" XI_GEN_ITEM_SETITEM1015 MODELTYPE_SFX "" 0 MD_NEAR 0 1.0f 0 1 ATEX_NONE 1

Database.

Create new Table with :

Code:
USE [CHARACTER_01_DBF]
GO

/****** Object:  Table [dbo].[GLOW_TBL]    Script Date: 09/19/2015 16:20:04 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

SET ANSI_PADDING ON
GO

CREATE TABLE [dbo].[GLOW_TBL](
	[idPlayer] [char](7) NULL,
	[iGlowArmLeft] [int] NULL,
	[iGlowArmRight] [int] NULL,
	[iGlowLegLeft] [int] NULL,
	[iGlowLegRight] [int] NULL,
	[iGlowBody] [int] NULL,
	[iGlowHandLeft] [int] NULL,
	[iGlowHandRight] [int] NULL
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO
and create new stored procedure

Code:
USE [CHARACTER_01_DBF]
GO

/****** Object:  StoredProcedure [dbo].[uspGlow]    Script Date: 09/19/2015 16:20:41 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO


CREATE PROCEDURE [dbo].[uspGlow]
	@query char(2) = 'S1',
	@idPlayer char(7) = '0000001',
	@iGlowArmLeft int = '0',
	@iGlowArmRight int = '0',
	@iGlowLegLeft int = '0',
	@iGlowLegRight int = '0',
	@iGlowBody int = '0',
	@iGlowHandLeft int = '0',
	@iGlowHandRight int = '0'
AS

SET NOCOUNT ON
SET XACT_ABORT ON

IF @query = 'S1'
	BEGIN
		IF EXISTS( SELECT * FROM dbo.GLOW_TBL WHERE idPlayer = @idPlayer )
			BEGIN
				UPDATE dbo.GLOW_TBL
				SET iGlowArmLeft = @iGlowArmLeft, iGlowArmRight = @iGlowArmRight, iGlowLegLeft = @iGlowLegLeft, iGlowLegRight = @iGlowLegRight, iGlowBody = @iGlowBody, iGlowHandLeft = @iGlowHandLeft, iGlowHandRight = @iGlowHandRight
				WHERE idPlayer = @idPlayer
			END
		ELSE
			BEGIN
				INSERT INTO dbo.GLOW_TBL( idPlayer, iGlowArmLeft, iGlowArmRight, iGlowLegLeft, iGlowLegRight, iGlowBody, iGlowHandLeft, iGlowHandRight )
				VALUES( @idPlayer, @iGlowArmLeft, @iGlowArmRight, @iGlowLegLeft, @iGlowLegRight, @iGlowBody, @iGlowHandLeft, @iGlowHandRight )
			END
	END
ELSE IF @query = 'L1'
	BEGIN
		IF EXISTS( SELECT * FROM dbo.GLOW_TBL WHERE idPlayer = @idPlayer )
			BEGIN
				SELECT * FROM dbo.GLOW_TBL WHERE idPlayer = @idPlayer
			END
		ELSE
			BEGIN
				INSERT INTO dbo.GLOW_TBL( idPlayer, iGlowArmLeft, iGlowArmRight, iGlowLegLeft, iGlowLegRight, iGlowBody, iGlowHandLeft, iGlowHandRight )
				VALUES( @idPlayer, '0', '0', '0', '0', '0', '0', '0' )
			END
	END
	
-- Table

SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON

GO

In game :

ElysiumFlyff is offline  
Thanks
4 Users
Old 09/19/2015, 16:44   #2
 
Cloud''s Avatar
 
elite*gold: 0
Join Date: Dec 2013
Posts: 245
Received Thanks: 28
DOes this remove the glowing aura in +3-9?
Cloud' is offline  
Thanks
1 User
Old 09/19/2015, 16:52   #3
 
elite*gold: 0
Join Date: Apr 2014
Posts: 193
Received Thanks: 3
Thanks, but can you say which files do you change?
DerHeiligeJesus is offline  
Old 09/19/2015, 17:14   #4
 
Cloud''s Avatar
 
elite*gold: 0
Join Date: Dec 2013
Posts: 245
Received Thanks: 28
How can i remove +3-+9=+10 glow effect in jops_glow?
Cloud' is offline  
Old 09/19/2015, 18:47   #5
 
elite*gold: 0
Join Date: Apr 2015
Posts: 7
Received Thanks: 1
The code is terrible. It's not an Elysium Flyff leak. Warning, this code is exploitable, use at your own risk .

Boomer, real ElysiumFlyff developer.
Snow.D is offline  
Old 09/19/2015, 20:26   #6
 
elite*gold: 0
Join Date: Sep 2015
Posts: 3
Received Thanks: 5
No problem in this code, Prove it or Shut up
ElysiumFlyff is offline  
Thanks
1 User
Old 09/20/2015, 11:19   #7



 
- DK's Avatar
 
elite*gold: 7
Join Date: Sep 2012
Posts: 4,466
Received Thanks: 3,218
There was a little optic update .. Nothing in the mechanics..
Same Like the original ..
- DK is offline  
Old 09/20/2015, 13:20   #8
 
elite*gold: 0
Join Date: Sep 2015
Posts: 3
Received Thanks: 5
Yes and the database
ElysiumFlyff is offline  
Old 09/20/2015, 15:27   #9



 
- DK's Avatar
 
elite*gold: 7
Join Date: Sep 2012
Posts: 4,466
Received Thanks: 3,218
Quote:
Originally Posted by ElysiumFlyff View Post
Yes and the database
Same like the old.. For me its useless ^^
- DK is offline  
Old 09/21/2015, 14:17   #10
 
Cloud''s Avatar
 
elite*gold: 0
Join Date: Dec 2013
Posts: 245
Received Thanks: 28
Quote:
Originally Posted by .ACE. View Post
Same like the old.. For me its useless ^^
how can i set the +3-+9 aura to default?
Cloud' is offline  
Old 09/21/2015, 14:34   #11



 
- DK's Avatar
 
elite*gold: 7
Join Date: Sep 2012
Posts: 4,466
Received Thanks: 3,218
Quote:
Originally Posted by Cloud' View Post
how can i set the +3-+9 aura to default?
This is hard work .. You need all Sfx x 10 .. Then you must rewrite the Code ..
- DK is offline  
Old 09/22/2015, 11:18   #12
 
Cloud''s Avatar
 
elite*gold: 0
Join Date: Dec 2013
Posts: 245
Received Thanks: 28
Quote:
Originally Posted by .ACE. View Post
This was many work .. You need all Sfx x 10 .. Then you must rewrite the Code ..
can you help me?
Cloud' is offline  
Old 09/22/2015, 15:23   #13



 
- DK's Avatar
 
elite*gold: 7
Join Date: Sep 2012
Posts: 4,466
Received Thanks: 3,218
Quote:
Originally Posted by Cloud' View Post
can you help me?
:x At the moment i dont have have time .. I check it later okay bra ?
- DK is offline  
Old 09/22/2015, 21:23   #14
 
elite*gold: 0
Join Date: Mar 2008
Posts: 665
Received Thanks: 230
Quote:
Originally Posted by Cloud' View Post
how can i set the +3-+9 aura to default?
Enjoy!


Quote:
Originally Posted by .ACE. View Post
This was many work .. You need all Sfx x 10 .. Then you must rewrite the Code ..
No, it takes literally 10 seconds to do it.
alfredico is offline  
Thanks
1 User
Old 09/23/2015, 08:19   #15
 
ThoughtfulDev's Avatar
 
elite*gold: 28
Join Date: Aug 2012
Posts: 2,335
Received Thanks: 471
Quote:
Originally Posted by alfredico View Post
Enjoy!




No, it takes literally 10 seconds to do it.
yeah right... you only applied the glow change if the set has +10...that does not solve the problem he has.
ThoughtfulDev is offline  
Reply


Similar Threads Similar Threads
[Release]Glow System
11/21/2013 - Flyff PServer Guides & Releases - 81 Replies
Da das ganze in der Exordium Source releast worden ist release ich es mal hier offiziel. Ich werde dafür kein Support leisten und das mit der Datenbank könnt ihr selbst machen wers net gebacken kriegt hat pech. Ist eh eine alte Version die lange nicht alle features meines aktuellen glow systems hat an einigen stellen echt dreckigen code hat. File-Upload.net - glow-alt.rar pw ist onlyepvp
[Release]Job Glow System
02/04/2013 - Flyff PServer Guides & Releases - 62 Replies
Hallo Elitepvpers, release hier ein Job Glow System. Eigentlich ja nicht's besonderes aber ich liebe die 0815 Welt so sehr^^ Also zb. Assist BP und RM haben gleichen Glow usw. Selber könnte man es erweitern Job Glowsystem.rar Bitte kein Flamen oder sonst was sonst reporte ich. Ich hab keine ahnung von c++ bzw. minimal also falls es unsinnvoll geschrieben ist dann wär es nett wenn jmd. eine Kürzere Version posten würde.



All times are GMT +1. The time now is 03:11.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.