• Scheduled Server Maintenance | Friday 7 November

    Our hardware provider has scheduled RAM maintenance to address the recent server instability. Work is expected by 17:00 Central European time.

    Brief downtime or interruptions may occur while the faulty memory modules are replaced. We apologise for the recent disruption and appreciate your patience.


    Special thanks to our sponsor, HyperFilter!

    We keep our community safe. They keep our servers safe. Running your own game servers? Keep them protected with HyperFilter.

Juver Source Code Features Merge or Recreate Your Own .

Skilled Illusionist
Joined
Jul 13, 2013
Messages
313
Reaction score
55
Optional Source Code Functions

Optional Source Code Functions


Credits:
/*To All Who Work With Juver Source Code&&Episode 7 Source Code
To All Who I chatted exchanged information , Trial and errors

Note: Some Code I Cannot Share But I Can Tell You What or
where to edit it . (Respect To The One Who Coded It) */

==========================================================
ramispo's Guide For Ep8 Source Code: <ClickMe>
geger009's Guide; How To Add Source Code Funtions: <ClickMe>

AsenDURE's Guide; How To Add RCC Password To Param.ini

​
Code:
[QUOTE="AsenDURE, post: 0"]Add default RCC password into param.ini


[B]1. Unzipper.cpp[/B]
[CODE]
#include "stdafx.h"
#include "./Unzipper.h"
#include "../../=ZLib/iowin32.h"
[COLOR=#FF0000]#include "RANPARAM.h" <-- add this [/COLOR]

find :
Code:
        if( IsEncrypted( info.dwFlags ) ) // MEMO : 鞠龋拳 等 颇老捞搁...
        {
            [COLOR=#FF0000]if( unzOpenCurrentFilePassword(m_uzFile, "龋免窍绰 何盒俊辑 皋葛府 秦力") != UNZ_OK )[/COLOR]
                return UINT_MAX;
        }
        else
        {
            if( unzOpenCurrentFile(m_uzFile) != UNZ_OK )
                return UINT_MAX;
        }

change to :
Code:
        if( IsEncrypted( info.dwFlags ) ) // MEMO : 鞠龋拳 等 颇老捞搁...
        {
            [COLOR=#FF0000]if( unzOpenCurrentFilePassword(m_uzFile, RANPARAM::RCCPassword) != UNZ_OK )[/COLOR]
                return UINT_MAX;
        }
        else
        {
            if( unzOpenCurrentFile(m_uzFile) != UNZ_OK )
                return UINT_MAX;
        }


2.RANPARAM.cpp
Code:
TCHAR                HelpAddress[STRING_NUM_128] = _T("\\data\\help\\help.htm");
// 吝惫 : http://2046.5u56.com/gameshop/gameshop.html
TCHAR                ItemShopAddress[STRING_NUM_128] = _T("about:blank");
TCHAR                RPFDataPath[STRING_NUM_128] = _T("\\package\\data.rpf");

[COLOR=#FF0000]TCHAR                RCCPassword[STRING_NUM_128] = _T("AsenDURE");  <-- add this [/COLOR]


Code:
cFILE.getflag_sz( "ETC OPTION", "ItemShopAddress", 0, 1, ItemShopAddress, STRING_NUM_128 );
cFILE.getflag_sz( "ETC OPTION", "RPFDataPath", 0, 1, RPFDataPath, STRING_NUM_128 );

[COLOR=#FF0000]cFILE.getflag_sz( "ETC OPTION", "RCCPassword", 0, 1, RCCPassword, STRING_NUM_128 );  <-- add this [/COLOR]

3. RANPARAM.h
Code:
extern TCHAR            ItemShopAddress[STRING_NUM_128];
extern TCHAR            RPFDataPath[STRING_NUM_128];

[COLOR=#FF0000]extern TCHAR            RCCPassword[STRING_NUM_128];   <-- add this [/COLOR]

4. param.ini
Code:
ItemShopHPAddress = http://ran.myrosso.com/en/shop/item.asp
EventPageAddress = http://ran.myrosso.com/en/index.asp
RPFDataPath = /package/data.rpf
[COLOR=#FF0000]RCCPassword = your-default-rcc-password   <-- add this [/COLOR]
[/QUOTE]


[/CODE]

Lightning Effects; from my old source
CPS:

​
DxChasham.cpp

Code:
HRESULT DxCharSham::UpdateSuit ()
{
    GASSERT(m_pd3dDevice);

    if ( !m_pSkinChar )                                        
        return S_FALSE;

    EMCHARINDEX emIndex = CharClassToIndex(m_emClass);
    DxSkinCharData* pSkinChar = DxSkinCharDataContainer::GetInstance().FindData ( GLCONST_CHAR::szCharSkin[emIndex] );
    if ( !pSkinChar )    return E_FAIL;

    const GLCONST_CHARCLASS &sCONST = GLCONST_CHAR::cCONSTCLASS[emIndex];

        if ( sCONST.dwHEADNUM > m_wFace )//add abl
        {
            std::string strHEAD_CPS = sCONST.strHEAD_CPS[m_wFace];
        
            PDXCHARPART pCharPart = NULL;
            pCharPart = m_pSkinChar->GetPiece(PIECE_HEAD);        //    ÇöÀç ÀåÂø ½ºÅ².

            if ( pCharPart && strcmp(strHEAD_CPS.c_str(),pCharPart->m_szFileName) )
            {//add abl
                DxSkinPieceRootData* pPieceDataRoot;
                pPieceDataRoot = DxSkinPieceRootDataContainer::GetInstance().LoadData( strHEAD_CPS.c_str() , m_pd3dDevice , TRUE );
                if ( pPieceDataRoot )
                {
                    if ( pPieceDataRoot->GetUseCPS() )
                    {
                        m_pSkinChar->SetPiece( pPieceDataRoot->GetCpsName().c_str(), m_pd3dDevice, 0x0, 0, TRUE );
                    }
                    m_pSkinChar->SetCharPieceData( pPieceDataRoot->GetData()
                                                    , m_pd3dDevice
                                                    , pPieceDataRoot->GetBoneLink()
                                                    , pPieceDataRoot->GetWeaponSlot()
                                                    , pPieceDataRoot->GetType()
                                                    , 0x0
                                                    , 0
                                                    , TRUE );
                }else{
                    m_pSkinChar->SetPiece ( strHEAD_CPS.c_str(), m_pd3dDevice, 0x0, 0, TRUE );
                }
            }
        }
    

    if ( sCONST.dwHAIRNUM > m_wHair )
        {//add abl
            std::string strHAIR_CPS = sCONST.strHAIR_CPS[m_wHair];
        
            PDXCHARPART pCharPart = NULL;
            pCharPart = m_pSkinChar->GetPiece(PIECE_HAIR);        //    ÇöÀç ÀåÂø ½ºÅ².

            if ( pCharPart && strcmp(strHAIR_CPS.c_str(),pCharPart->m_szFileName) )
            {
                DxSkinPieceRootData* pPieceDataRoot;
                pPieceDataRoot = DxSkinPieceRootDataContainer::GetInstance().LoadData( strHAIR_CPS.c_str() , m_pd3dDevice , TRUE );
                if ( pPieceDataRoot )
                {
                    if ( pPieceDataRoot->GetUseCPS() )
                    {
                        m_pSkinChar->SetPiece( pPieceDataRoot->GetCpsName().c_str(), m_pd3dDevice, 0x0, 0, TRUE );
                    }
                    m_pSkinChar->SetCharPieceData( pPieceDataRoot->GetData()
                                                    , m_pd3dDevice
                                                    , pPieceDataRoot->GetBoneLink()
                                                    , pPieceDataRoot->GetWeaponSlot()
                                                    , pPieceDataRoot->GetType()
                                                    , 0x0
                                                    , 0
                                                    , TRUE );
                }else{
                    m_pSkinChar->SetPiece ( strHAIR_CPS.c_str(), m_pd3dDevice, 0x0, 0, TRUE );
                }
            }
        }

    // Çì¾îÄ÷¯ ¼¼ÆÃ
        m_pSkinChar->SetHairColor( m_wHairColor );

    for ( int i=0; i<SLOT_NSIZE_S_2; i++ )
    {    
        // ÇöÀç ÀåÂøÁßÀÎ ¹«±â°¡ ¾Æ´Ï¸é ³Ñ¾î°£´Ù.
        if( !IsCurUseArm( EMSLOT(i) ) ) continue;

        SITEMCUSTOM &ItemCustom = m_PutOnItems[i];

        SNATIVEID nidITEM = ItemCustom.nidDISGUISE;
        if ( nidITEM==SNATIVEID(false) )    nidITEM = ItemCustom.sNativeID;

        if ( !m_bVehicle && i == SLOT_VEHICLE  ) nidITEM = SNATIVEID(false);

        if ( nidITEM == SNATIVEID(false) )
        {
            //    Note : ±âº» ½ºÅ²°ú Áö±Ý ÀåÂøµÈ ½ºÅ²ÀÌ Æ²¸± °æ¿ì.
            //    SLOT->PIECE.
            PDXSKINPIECE pSkinPiece = NULL;    //    ±âº» ½ºÅ².
            PDXCHARPART pCharPart = NULL;    //    ÇöÁ¦ ÀåÂø ½ºÅ².

            EMPIECECHAR emPiece = SLOT_2_PIECE(EMSLOT(i));
            if ( emPiece!=PIECE_SIZE )
            {
                pSkinPiece = pSkinChar->GetPiece(emPiece);    //    ±âº» ½ºÅ².
                pCharPart = m_pSkinChar->GetPiece(emPiece);    //    ÇöÁ¦ ÀåÂø ½ºÅ².
            }

            if ( pSkinPiece )
            {
                if ( pCharPart && strcmp(pSkinPiece->m_szFileName,pCharPart->m_szFileName) )
                    {//add abl
                    //MessageBox(0,pSkinPiece->m_szFileName,pCharPart->m_szFileName,0);
                    DxSkinPieceRootData* pPieceDataRoot;
                    pPieceDataRoot = DxSkinPieceRootDataContainer::GetInstance().LoadData( pSkinPiece->m_szFileName , m_pd3dDevice , TRUE );
                    if ( pPieceDataRoot )
                    {
                        if ( pPieceDataRoot->GetUseCPS() )
                        {
                            m_pSkinChar->SetPiece( pPieceDataRoot->GetCpsName().c_str(), m_pd3dDevice, 0X0, 0, TRUE );
                        }
                        else
                        {
                            EMPIECECHAR emPiece_a = SLOT_2_PIECE(EMSLOT(i));
                            PDXSKINPIECE pSkinPiece_a  = NULL;    
                            if ( emPiece_a!=PIECE_SIZE )
                            {
                                pSkinPiece_a  = pSkinChar->GetPiece(emPiece_a );    //
                            }
                            m_pSkinChar->SetPiece ( pSkinPiece_a->m_szFileName, m_pd3dDevice, 0X0, 0, TRUE );
                        }
                        m_pSkinChar->SetCharPieceData( pPieceDataRoot->GetData()
                                                        , m_pd3dDevice
                                                        , pPieceDataRoot->GetBoneLink()
                                                        , pPieceDataRoot->GetWeaponSlot()
                                                        , pPieceDataRoot->GetType()
                                                        , 0x0
                                                        , 0
                                                        , TRUE );
                    }
                    else
                    {
                        m_pSkinChar->SetPiece ( pSkinPiece->m_szFileName, m_pd3dDevice, 0X0, 0, TRUE );
                        m_pSkinChar->ResetABL ( emPiece ); //clear abl when you remove an item
                    }
                }
[COLOR=#ff0000]                if (  emPiece == PIECE_UPBODY )
                {
                    m_pSkinChar->ResetPiece(PIECE_EFF_UPBODY);
                }
                else if (  emPiece == PIECE_LOBODY )
                {
                    m_pSkinChar->ResetPiece(PIECE_EFF_LOBODY);
                }
                else if (  emPiece == PIECE_GLOVE )
                {
                    m_pSkinChar->ResetPiece(PIECE_EFF_GLOVE);
                }
                else if (  emPiece == PIECE_FOOT )
                {
                    m_pSkinChar->ResetPiece(PIECE_EFF_FOOT);

                }[/COLOR]
                else
                {
                    m_pSkinChar->ResetABL ( emPiece ); //clear abl when you remove an item
                }
            }
            else
            {
                if ( pCharPart )
                {
                    if ( m_pSkinChar->m_pSkinCharPiece[PIECE_RHAND] && emPiece != PIECE_LHAND )
                    {
                        m_pSkinChar->ResetPiece(emPiece);
                    }
                    else
                    {
                        if ( emPiece != PIECE_LHAND )
                            m_pSkinChar->ResetPiece(emPiece);
                        if ( !m_pSkinChar->m_pSkinCharPiece[PIECE_RHAND] && emPiece == PIECE_LHAND )
                            m_pSkinChar->ResetPiece(emPiece);
                    }
                    
[COLOR=#ff0000]                    if (  emPiece == PIECE_UPBODY )
                    {
                        m_pSkinChar->ResetPiece(PIECE_EFF_UPBODY);
                    }
                    else if (  emPiece == PIECE_LOBODY )
                    {
                        m_pSkinChar->ResetPiece(PIECE_EFF_LOBODY);
                    }
                    else if (  emPiece == PIECE_GLOVE )
                    {
                        m_pSkinChar->ResetPiece(PIECE_EFF_GLOVE);
                    }
                    else if (  emPiece == PIECE_FOOT )
                    {
                        m_pSkinChar->ResetPiece(PIECE_EFF_FOOT);
                    }[/COLOR]
                }
            }
        }
        // À¯È¿Çϸé
        else
        {
            SITEM* pItem = GLItemMan::GetInstance().GetItem ( nidITEM );
            if ( pItem ) 
            {
                    EMCHARCLASS emSex = CharClassGetSex( emIndex );
                EMCPSINDEX    emLeft = CPSIND_NULL;
                EMCPSINDEX    emRight = CPSIND_NULL;
                if ( emSex == GLCC_MAN )
                {
                    emLeft = CPSIND_M_LEFT;
                    emRight = CPSIND_M_RIGHT;
                }else{
                    emLeft = CPSIND_W_LEFT;
                    emRight = CPSIND_W_RIGHT;
                }
                //if ( emRight != CPSIND_NULL )
                {
                    DxSkinPieceRootData* pPieceDataRoot;
                    pPieceDataRoot = DxSkinPieceRootDataContainer::GetInstance().LoadData( pItem->GetCpsFile(emRight) , m_pd3dDevice , TRUE );
                    if ( pPieceDataRoot )
                    {
                        if ( pPieceDataRoot->GetUseCPS() )
                        {
                            m_pSkinChar->SetPiece( pPieceDataRoot->GetCpsName().c_str(), m_pd3dDevice, NULL, ItemCustom.GETGRADE_EFFECT(), TRUE );
                        }
                        else
                        {
                            m_pSkinChar->ResetCPS (  PIECE_RHAND );//remove existing cps when the abl data dont have cps
                        }
                        m_pSkinChar->SetCharPieceData( pPieceDataRoot->GetData()
                                                        , m_pd3dDevice
                                                        , pPieceDataRoot->GetBoneLink()
                                                        , pPieceDataRoot->GetWeaponSlot()
                                                        , (DWORD) PIECE_RHAND
                                                        , NULL
                                                        , ItemCustom.GETGRADE_EFFECT()
                                                        , TRUE );
                        m_pSkinChar->Clear( PIECE_LHAND );
                    }else{
                        m_pSkinChar->SetPiece ( pItem->GetCpsFile(emRight), m_pd3dDevice, NULL, ItemCustom.GETGRADE_EFFECT(), TRUE );
                    }
                }
                //if ( emLeft != CPSIND_NULL )
                {
                    DxSkinPieceRootData* pPieceDataRoot;
                    pPieceDataRoot = DxSkinPieceRootDataContainer::GetInstance().LoadData( pItem->GetCpsFile(emLeft) , m_pd3dDevice , TRUE );
                    if ( pPieceDataRoot )
                    {
                        if ( pPieceDataRoot->GetUseCPS() )
                        {
                            m_pSkinChar->SetPiece( pPieceDataRoot->GetCpsName().c_str(), m_pd3dDevice, NULL, ItemCustom.GETGRADE_EFFECT(), TRUE );
                        }
                        {
                            m_pSkinChar->ResetCPS (  PIECE_LHAND );//remove existing cps when the abl data dont have cps
                        }
                        m_pSkinChar->SetCharPieceData( pPieceDataRoot->GetData()
                                                        , m_pd3dDevice
                                                        , pPieceDataRoot->GetBoneLink()
                                                        , pPieceDataRoot->GetWeaponSlot()
                                                        , (DWORD) PIECE_LHAND
                                                        , NULL
                                                        , ItemCustom.GETGRADE_EFFECT()
                                                        , TRUE );
                    }else{
                        m_pSkinChar->SetPiece ( pItem->GetCpsFile(emLeft), m_pd3dDevice, NULL, ItemCustom.GETGRADE_EFFECT(), TRUE );
                    }
                }

                //if ( !m_pSkinChar->m_pSkinCharPiece[ PIECE_LHAND ] && !m_pSkinChar->m_pSkinCharPiece[ PIECE_RHAND ] )
                {
                    if ( pItem->sBasicOp.emItemType != ITEM_VEHICLE )
                    {
                        DxSkinPieceRootData* pPieceDataRoot;
                        pPieceDataRoot = DxSkinPieceRootDataContainer::GetInstance().LoadData( pItem->GetWearingFile(emIndex) , m_pd3dDevice , TRUE );
                        if ( pPieceDataRoot )
                        {
                            if ( pPieceDataRoot->GetUseCPS() )
                            {
                                m_pSkinChar->SetPiece( pPieceDataRoot->GetCpsName().c_str(), m_pd3dDevice, NULL, ItemCustom.GETGRADE_EFFECT(), TRUE );
                            }
                            else
                            {
                                EMPIECECHAR emPiece_a = SLOT_2_PIECE(EMSLOT(i));
                                PDXSKINPIECE pSkinPiece_a  = NULL;    
                                if ( emPiece_a!=PIECE_SIZE )
                                {
                                    pSkinPiece_a  = pSkinChar->GetPiece(emPiece_a );    //
                                }
                                m_pSkinChar->SetPiece ( pSkinPiece_a->m_szFileName, m_pd3dDevice, 0X0, 0, TRUE );
                            }
                            m_pSkinChar->SetCharPieceData( pPieceDataRoot->GetData()
                                                            , m_pd3dDevice
                                                            , pPieceDataRoot->GetBoneLink()
                                                            , pPieceDataRoot->GetWeaponSlot()
                                                            , pPieceDataRoot->GetType()
                                                            , NULL
                                                            , ItemCustom.GETGRADE_EFFECT()
                                                            , TRUE );
                        }else{
                            m_pSkinChar->SetPiece ( pItem->GetWearingFile(emIndex), m_pd3dDevice, NULL, ItemCustom.GETGRADE_EFFECT(), TRUE );
                        }

                    }
                else{

                            m_pSkinChar->SetPiece ( pItem->GetWearingFile(emIndex), m_pd3dDevice, NULL, ItemCustom.GETGRADE_EFFECT(), TRUE );
                        
                    }
                }

            }
        }
    }

    return S_OK;
}
GLCharacter.cpp
Code:
            if ( pSkinPiece ) 
            { 
                if ( pCharPart && strcmp(pSkinPiece->m_szFileName,pCharPart->m_szFileName) )
                {
                    DxSkinPieceRootData* pPieceDataRoot;
                    pPieceDataRoot = DxSkinPieceRootDataContainer::GetInstance().LoadData( pSkinPiece->m_szFileName , m_pd3dDevice , TRUE );
                    if ( pPieceDataRoot )
                    {
                        if ( pPieceDataRoot->GetUseCPS() )
                        {
                            m_pSkinChar->SetPiece( pPieceDataRoot->GetCpsName().c_str(), m_pd3dDevice, 0X0, 0, TRUE );
                        }
                        else
                        {
                            EMPIECECHAR emPiece_a = SLOT_2_PIECE(EMSLOT(i));
                            PDXSKINPIECE pSkinPiece_a  = NULL;    
                            if ( emPiece_a!=PIECE_SIZE )
                            {
                                pSkinPiece_a  = pSkinChar->GetPiece(emPiece_a );    //
                            }
                            m_pSkinChar->SetPiece ( pSkinPiece_a->m_szFileName, m_pd3dDevice, 0X0, 0, TRUE );
                        }
                        m_pSkinChar->SetCharPieceData( pPieceDataRoot->GetData()
                                                        , m_pd3dDevice
                                                        , pPieceDataRoot->GetBoneLink()
                                                        , pPieceDataRoot->GetWeaponSlot()
                                                        , pPieceDataRoot->GetType()
                                                        , 0x0
                                                        , 0
                                                        , TRUE );
                    }
                    else
                    {
                        m_pSkinChar->SetPiece ( pSkinPiece->m_szFileName, m_pd3dDevice, 0X0, 0, TRUE );
                        m_pSkinChar->ResetABL ( emPiece ); //clear abl when you remove an item
                    }
                }
                else
                //
[COLOR=#ff0000]                if (  emPiece == PIECE_UPBODY )
                {
                    m_pSkinChar->ResetPiece(PIECE_EFF_UPBODY);
                }
                else if (  emPiece == PIECE_LOBODY )
                {
                    m_pSkinChar->ResetPiece(PIECE_EFF_LOBODY);
                }
                else if (  emPiece == PIECE_GLOVE )
                {
                    m_pSkinChar->ResetPiece(PIECE_EFF_GLOVE);
                }
                else if (  emPiece == PIECE_FOOT )
                {
                    m_pSkinChar->ResetPiece(PIECE_EFF_FOOT);
                }//[/COLOR]
                {
                    m_pSkinChar->ResetABL ( emPiece ); //clear abl when you remove an item
                }
            }
            else
            {
                if ( pCharPart ) //add abl
                {
                    if ( m_pSkinChar->m_pSkinCharPiece[PIECE_RHAND] && emPiece != PIECE_LHAND )
                    {
                        m_pSkinChar->ResetPiece(emPiece);
                    }
                    else
                    {
                        if ( emPiece != PIECE_LHAND )
                            m_pSkinChar->ResetPiece(emPiece);

                        EMSLOT emRHand = GetCurRHand();
                        SITEM* pRHAND = GET_SLOT_ITEMDATA ( emRHand );
                        if ( pRHAND )// dual cps fix
                        {
                            EMCHARCLASS emSex = CharClassGetSex( emIndex );
                            EMCPSINDEX    emLeft = CPSIND_NULL;
                            if ( emSex == GLCC_MAN )
                            {
                                emLeft = CPSIND_M_LEFT;
                            }else{
                                emLeft = CPSIND_W_LEFT;
                            }

                            if (strcmp(pRHAND->GetCpsFile(emLeft), "") == 0)
                            {
                                m_pSkinChar->ResetPiece(emPiece);
                            }
                        }
                        else
                        {
                            if ( !m_pSkinChar->m_pSkinCharPiece[PIECE_RHAND] && emPiece == PIECE_LHAND )
                                m_pSkinChar->ResetPiece(emPiece);
                        }
[COLOR=#ff0000]                    //
                    if (  emPiece == PIECE_UPBODY )
                    {
                        m_pSkinChar->ResetPiece(PIECE_EFF_UPBODY);
                    }
                    else if (  emPiece == PIECE_LOBODY )
                    {
                        m_pSkinChar->ResetPiece(PIECE_EFF_LOBODY);
                    }
                    else if (  emPiece == PIECE_GLOVE )
                    {
                        m_pSkinChar->ResetPiece(PIECE_EFF_GLOVE);
                    }
                    else if (  emPiece == PIECE_FOOT )
                    {
                        m_pSkinChar->ResetPiece(PIECE_EFF_FOOT);
                    }[/COLOR]

                    }//
                }
            }
        }
        // À¯È¿Çϸé
        else
        {
            SITEM* pItem = GLItemMan::GetInstance().GetItem ( nidITEM );
            if ( pItem ) 
            {
                EMCHARCLASS emSex = CharClassGetSex( emIndex );
                EMCPSINDEX    emLeft = CPSIND_NULL;
                EMCPSINDEX    emRight = CPSIND_NULL;
    
                
[COLOR=#ff0000]                {//
                    if (  EMSLOT(i) == SLOT_UPPER )
                    {
                        m_pSkinChar->SetGradeEffect(0,emIndex,ItemCustom.GETGRADE_EFFECT(),m_pd3dDevice,TRUE);
                    }
                    if (  EMSLOT(i) == SLOT_LOWER )
                    {
                        m_pSkinChar->SetGradeEffect(1,emIndex,ItemCustom.GETGRADE_EFFECT(),m_pd3dDevice,TRUE);
                    }
                    if (  EMSLOT(i) == SLOT_HAND )
                    {
                        m_pSkinChar->SetGradeEffect(2,emIndex,ItemCustom.GETGRADE_EFFECT(),m_pd3dDevice,TRUE);
                    }
                    if (  EMSLOT(i) == SLOT_FOOT )
                    {
                        m_pSkinChar->SetGradeEffect(3,emIndex,ItemCustom.GETGRADE_EFFECT(),m_pd3dDevice,TRUE);
                    }
                }//[/COLOR]
                if ( emSex == GLCC_MAN )
                {
                    emLeft = CPSIND_M_LEFT;
                    emRight = CPSIND_M_RIGHT;
                }else{
                    emLeft = CPSIND_W_LEFT;
                    emRight = CPSIND_W_RIGHT;
                }
GLCharclient.cpp
Code:
            if ( pSkinPiece )
            {//add abl
                if ( pCharPart && strcmp(pSkinPiece->m_szFileName,pCharPart->m_szFileName) )
                {
                    //MessageBox(0,pSkinPiece->m_szFileName,pCharPart->m_szFileName,0);
                    DxSkinPieceRootData* pPieceDataRoot;
                    pPieceDataRoot = DxSkinPieceRootDataContainer::GetInstance().LoadData( pSkinPiece->m_szFileName , m_pd3dDevice , TRUE );
                    if ( pPieceDataRoot )
                    {
                        if ( pPieceDataRoot->GetUseCPS() )
                        {
                            m_pSkinChar->SetPiece( pPieceDataRoot->GetCpsName().c_str(), m_pd3dDevice, 0X0, 0, TRUE );
                        }
                        else
                        {
                            EMPIECECHAR emPiece_a = SLOT_2_PIECE(EMSLOT(i));
                            PDXSKINPIECE pSkinPiece_a  = NULL;    
                            if ( emPiece_a!=PIECE_SIZE )
                            {
                                pSkinPiece_a  = pSkinChar->GetPiece(emPiece_a );    //
                            }
                            m_pSkinChar->SetPiece ( pSkinPiece_a->m_szFileName, m_pd3dDevice, 0X0, 0, TRUE );
                        }
                        m_pSkinChar->SetCharPieceData( pPieceDataRoot->GetData()
                                                        , m_pd3dDevice
                                                        , pPieceDataRoot->GetBoneLink()
                                                        , pPieceDataRoot->GetWeaponSlot()
                                                        , pPieceDataRoot->GetType()
                                                        , 0x0
                                                        , 0
                                                        , TRUE );
                    }
                    else
                    {
                        m_pSkinChar->SetPiece ( pSkinPiece->m_szFileName, m_pd3dDevice, 0X0, 0, TRUE );
                        m_pSkinChar->ResetABL ( emPiece ); //clear abl when you remove an item
                    }
                }

[COLOR=#ff0000]                //
                if (  emPiece == PIECE_UPBODY )
                {
                    m_pSkinChar->ResetPiece(PIECE_EFF_UPBODY);
                }
                else if (  emPiece == PIECE_LOBODY )
                {
                    m_pSkinChar->ResetPiece(PIECE_EFF_LOBODY);
                }
                else if (  emPiece == PIECE_GLOVE )
                {
                    m_pSkinChar->ResetPiece(PIECE_EFF_GLOVE);
                }
                else if (  emPiece == PIECE_FOOT )
                {
                    m_pSkinChar->ResetPiece(PIECE_EFF_FOOT);
                }[/COLOR]
                else
                {
                    m_pSkinChar->ResetABL ( emPiece );//clear abl when you remove an item
                } 
            }
            else
                {//add abl
                if ( pCharPart )
                {
                    if ( m_pSkinChar->m_pSkinCharPiece[PIECE_RHAND] && emPiece != PIECE_LHAND )
                    {
                        m_pSkinChar->ResetPiece(emPiece);
                    }
                    else
                    {
                        if ( emPiece != PIECE_LHAND )
                            m_pSkinChar->ResetPiece(emPiece);
                        //if ( !m_pSkinChar->m_pSkinCharPiece[PIECE_RHAND] && emPiece == PIECE_LHAND )
                        //    m_pSkinChar->ResetPiece(emPiece);
                    //
[COLOR=#ff0000]                    if (  emPiece == PIECE_UPBODY )
                    {
                        m_pSkinChar->ResetPiece(PIECE_EFF_UPBODY);
                    }
                    else if (  emPiece == PIECE_LOBODY )
                    {
                        m_pSkinChar->ResetPiece(PIECE_EFF_LOBODY);
                    }
                    else if (  emPiece == PIECE_GLOVE )
                    {
                        m_pSkinChar->ResetPiece(PIECE_EFF_GLOVE);
                    }
                    else if (  emPiece == PIECE_FOOT )
                    {
                        m_pSkinChar->ResetPiece(PIECE_EFF_FOOT);
                    }[/COLOR]
                        EMSLOT emRHand = GetCurRHand();
                        SITEM* pRHAND = GET_SLOT_ITEMDATA ( emRHand );
                        if ( pRHAND )// dual cps fix
                        {
                            EMCHARCLASS emSex = CharClassGetSex( emIndex );
                            EMCPSINDEX    emLeft = CPSIND_NULL;
                            if ( emSex == GLCC_MAN )
                            {
                                emLeft = CPSIND_M_LEFT;
                            }else{
                                emLeft = CPSIND_W_LEFT;
                            }

                            if (strcmp(pRHAND->GetCpsFile(emLeft), "") == 0)
                            {
                                //MessageBox (NULL,"empty",0,0);

                                //if ( !m_pSkinChar->m_pSkinCharPiece[PIECE_RHAND] && emPiece == PIECE_LHAND )
                                m_pSkinChar->ResetPiece(emPiece);
                            }
                            else
                            {
                                //MessageBox (NULL,"not empty",0,0);
                            }
                        }
                        else
                        {
                            if ( !m_pSkinChar->m_pSkinCharPiece[PIECE_RHAND] && emPiece == PIECE_LHAND )
                                m_pSkinChar->ResetPiece(emPiece);
                        }

                    




                    }
                }
            }
        }
        else
        {
            SITEM* pItem = GLItemMan::GetInstance().GetItem ( nidITEM );
            if ( pItem )
            {//add abl
                    EMCHARCLASS emSex = CharClassGetSex( emIndex );
                EMCPSINDEX    emLeft = CPSIND_NULL;
                EMCPSINDEX    emRight = CPSIND_NULL;

    /*            int PlusItem = ItemCustom.GETGRADE(EMGRINDING_NUNE);// remove if bug trap
                if (PlusItem == 10 && emSex == GLCC_MAN && pSkinPiece->m_emType == PIECE_UPBODY)
                {
                pChar->GetCharSkin ( "m_bs_body_enchent+7.cps", m_pd3dDevice, 0X0, 0, TRUE );
                }// remove if bug trap */
                
[COLOR=#ff0000]                {  //
                    if (  EMSLOT(i) == SLOT_UPPER )
                    {
                        m_pSkinChar->SetGradeEffect(0,emIndex,ItemClient.GETGRADE_EFFECT(),m_pd3dDevice,TRUE);
                    }
                    if (  EMSLOT(i) == SLOT_LOWER )
                    {
                        m_pSkinChar->SetGradeEffect(1,emIndex,ItemClient.GETGRADE_EFFECT(),m_pd3dDevice,TRUE);
                    }
                    if (  EMSLOT(i) == SLOT_HAND )
                    {
                        m_pSkinChar->SetGradeEffect(2,emIndex,ItemClient.GETGRADE_EFFECT(),m_pd3dDevice,TRUE);
                    }
                    if (  EMSLOT(i) == SLOT_FOOT )
                    {
                        m_pSkinChar->SetGradeEffect(3,emIndex,ItemClient.GETGRADE_EFFECT(),m_pd3dDevice,TRUE);
                    }
                }[/COLOR]
                
                if ( emSex == GLCC_MAN )
                {
                    emLeft = CPSIND_M_LEFT;
                    emRight = CPSIND_M_RIGHT;
                }else{
                    emLeft = CPSIND_W_LEFT;
                    emRight = CPSIND_W_RIGHT;
                }
                //if ( emRight != CPSIND_NULL )
                {
                    DxSkinPieceRootData* pPieceDataRoot;
                    pPieceDataRoot = DxSkinPieceRootDataContainer::GetInstance().LoadData( pItem->GetCpsFile(emRight) , m_pd3dDevice , TRUE );
                    if ( pPieceDataRoot )
                    {
                        if ( pPieceDataRoot->GetUseCPS() )
                        {
                            m_pSkinChar->SetPiece( pPieceDataRoot->GetCpsName().c_str(), m_pd3dDevice, NULL, ItemClient.GETGRADE_EFFECT(), TRUE );
                        }
                        else
                        {
                            m_pSkinChar->ResetCPS (  PIECE_RHAND );//remove existing cps when the abl data dont have cps
                        }
                        m_pSkinChar->SetCharPieceData( pPieceDataRoot->GetData()
                                                        , m_pd3dDevice
                                                        , pPieceDataRoot->GetBoneLink()
                                                        , pPieceDataRoot->GetWeaponSlot()
                                                        , (DWORD) PIECE_RHAND
                                                        , NULL
                                                        , ItemClient.GETGRADE_EFFECT()
                                                        , TRUE );
                        m_pSkinChar->Clear( PIECE_LHAND );
                    }else{
                        m_pSkinChar->SetPiece ( pItem->GetCpsFile(emRight), m_pd3dDevice, NULL, ItemClient.GETGRADE_EFFECT(), TRUE );
                    }
                }
                //if ( emLeft != CPSIND_NULL )
                {
                    DxSkinPieceRootData* pPieceDataRoot;
                    pPieceDataRoot = DxSkinPieceRootDataContainer::GetInstance().LoadData( pItem->GetCpsFile(emLeft) , m_pd3dDevice , TRUE );
                    if ( pPieceDataRoot )
                    {
                        if ( pPieceDataRoot->GetUseCPS() )
                        {
                            m_pSkinChar->SetPiece( pPieceDataRoot->GetCpsName().c_str(), m_pd3dDevice, NULL, ItemClient.GETGRADE_EFFECT(), TRUE );
                        }
                        else
                        {
                            m_pSkinChar->ResetCPS (  PIECE_LHAND );//remove existing cps when the abl data dont have cps
                        }
                        m_pSkinChar->SetCharPieceData( pPieceDataRoot->GetData()
                                                        , m_pd3dDevice
                                                        , pPieceDataRoot->GetBoneLink()
                                                        , pPieceDataRoot->GetWeaponSlot()
                                                        , (DWORD) PIECE_LHAND
                                                        , NULL
                                                        , ItemClient.GETGRADE_EFFECT()
                                                        , TRUE );
                    }
                    else
                    {
[COLOR=#ffa500]                        m_pSkinChar->SetPiece ( pItem->GetCpsFile(emLeft), m_pd3dDevice, NULL, ItemClient.GETGRADE_EFFECT(), TRUE );
                


                

                EMPIECECHAR emPiece;
                if ( ( emPiece == PIECE_UPBODY || emPiece == PIECE_LOBODY || emPiece == PIECE_GLOVE || emPiece == PIECE_FOOT ) )
                {
                    switch (emPiece)
                    {
                    case PIECE_UPBODY:    m_pSkinChar->ResetPiece(PIECE_ELE01);    break;
                    case PIECE_LOBODY:    m_pSkinChar->ResetPiece(PIECE_ELE02);    break;
                    case PIECE_GLOVE:    m_pSkinChar->ResetPiece(PIECE_ELE03);    break;
                    case PIECE_FOOT:    m_pSkinChar->ResetPiece(PIECE_ELE04);    break;
                    }    
                    
                    BYTE PlusItem = ItemClient.cGRADE;
                    if (PlusItem == 10 )
                    {
                        CString strEle, strSex, strPiece;

                            if ( emSex == GLCC_MAN )

                            {
                            strSex = "m";
                            }
                           else  
                           {
                            strSex = "w";
                           }
                    
                                   

                        switch (emPiece)
                        {
                        case PIECE_UPBODY:    strPiece = "body";    break;
                        case PIECE_LOBODY:    strPiece = "leg";    break;
                        case PIECE_GLOVE:    strPiece = "hand";    break;
                        case PIECE_FOOT:    strPiece = "foot";    break;
                        }
                        //strEle.Format("%s_bs_%s_enchent+%d.cps", strSex, strPiece, ItemCustom.GETGRADE_EFFECT()) ;
                        m_pSkinChar->SetPiece ( strEle, m_pd3dDevice, NULL, 0, TRUE );
                        DxSkinCharData* pSkinChar = DxSkinCharDataContainer::GetInstance().LoadData( "%s_bs_%s_enchent+%d.cps", m_pd3dDevice, TRUE );
                    }    
                }[/COLOR]



                    }
                }
updating this week. . .
​
 
Last edited:
WinMerge can open the source code that coded with vs2k3?


yes , as screenshot provided above and here .
and it can save it when opened again in vs2k3
the one u add or remove in WinMerge will be there or removed
if u saved it :)



Hmm. any new codes? and the lightning effect on ups where is it?

i just told where to edit the codes cause i saw at facebook group
and some of them are here in rz so i posted here where to edit the
source , cause some of them have a new source but they don't know where to edit it .
 
Last edited:
yes , as screenshot provided above and here .
and it can save it when opened again in vs2k3
the one u add or remove in WinMerge will be there or removed
if u saved it :)





i just told where to edit the codes cause i saw at facebook group
and some of them are here in rz so i posted here where to edit the
source , cause some of them have a new source but they don't know where to edit it .

wow the screen shot in your signature, can you share it?
 
wow amazing signature ^^
now many got juver code updated
i guess
 
what is the code or what is the name of lightning effects ??

exsample: like this ??
hr = NLOADINGTHREAD::StartThreadLOAD ( &m_pd3dDevice, m_hWnd, ((CBasicApp*)AfxGetApp())->m_szAppPath, CString("loading_000.dds"),"Ran Online", true );
if( FAILED(hr) ) return E_FAIL;

where should i edit ?
 
what is the code or what is the name of lightning effects ??

exsample: like this ??
hr = NLOADINGTHREAD::StartThreadLOAD ( &m_pd3dDevice, m_hWnd, ((CBasicApp*)AfxGetApp())->m_szAppPath, CString("loading_000.dds"),"Ran Online", true );
if( FAILED(hr) ) return E_FAIL;

where should i edit ?

that code is for loading screen (the first loading screen after game.exe starts )
for lightning effects i already said where to edit .
 
Last edited:
i only got that update sir ramispo :(
i don't think many have this . less than 10 maybe? don't know XD



that code is for loading screen (the first loading screen after game.exe starts )
for lightning effects i already said where to edit .


yes i now .. like what i said what is the code or where can i find example :dxpiecedafine.h.

#ifndef DXPIECEDEFINE_H_
#define DXPIECEDEFINE_H_


#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000


//#include "DxPieceDefine.h"


enum EMPIECECHAR
{
PIECE_HEAD = 0,
PIECE_UPBODY = 1,
PIECE_LOBODY = 2,
PIECE_GLOVE = 3,
PIECE_RHAND = 4,
PIECE_LHAND = 5,
PIECE_FOOT = 6,
PIECE_HAIR = 7,
PIECE_HEADGEAR = 8,
PIECE_VEHICLE = 9,
PIECE_NECK = 10,
PIECE_WRIST = 11,
PIECE_RFINGER = 12,
PIECE_LFINGER = 13,
PIECE_WING = 14, //add wing
PIECE_AURA = 15, //add aura
PIECE_BELT = 16,//add newitem
PIECE_EARRING = 17,//add newitem
PIECE_ACCESSORY = 18,//add newitem
PIECE_CON = 19,//add newitem


PIECE_REV01 = 20,
PIECE_REV02 = 21,
PIECE_REV03 = 22,
PIECE_SIZE = 23
};


enum EMPEACEZONEWEAPON
{
EMPEACE_WEAPON_RSLOT = 0,
EMPEACE_WEAPON_WHAL_SLOT = 1,
EMPEACE_WEAPON_STICK_RSLOT = 2,


EMPEACE_WEAPON_RGUN_SLOT = 3,
EMPEACE_WEAPON_LGUN_SLOT = 4,
EMPEACE_WEAPON_GUN_SLOT = 5,
EMPEACE_WEAPON_RSPEAR_SLOT = 6,
EMPEACE_WEAPON_LSPEAR_SLOT = 7,
EMPEACE_WEAPON_SIDE_SLOT = 8,
EMPEACE_WEAPON_KUNAI_SLOT = 9,


EMPEACE_WEAPON_SIZE = 10,
};


namespace SKINTYPE_STING
{
const TCHAR m_szWHEREBACKTYPE[EMPEACE_WEAPON_SIZE][64] =
{
_T("slot_rhand"),
_T("whal_slot"),
_T("stick_rslot"),


_T("r_gun_slot"),
_T("l_gun_slot"),
_T("gun_slot"),
_T("r_spear_slot"),
_T("l_spear_slot"),
_T("side_slot"),
_T("kunai_slot"),
};
};


#endif // DXPIECEDEFINE_H_

whare should i edit ??
 
View attachment 135223
where is the code for lightning effects?

u don't have the code , you want the code, this thread is for merging codes from juver to other codes or ur own codes.

ill give u a hint on that

Some got this code
PIECE_EFF_UPBODY = 23,

I used these code
PIECE_ELE01 = 14,

it depends on the structure of ur code if ur asking on the whole source then i can't help you
it took me a while to earn a success on lightning effects and the other codes like official chat
don't spoon feed .
 
u don't have the code , you want the code, this thread is for merging codes from juver to other codes or ur own codes.

ill give u a hint on that

Some got this code
PIECE_EFF_UPBODY = 23,

I used these code
PIECE_ELE01 = 14,

it depends on the structure of ur code if ur asking on the whole source then i can't help you
it took me a while to earn a success on lightning effects and the other codes like official chat
don't spoon feed .

PIECE_ELE01 = 14, ?
how about the effect..?
 
Back