Welcome!

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

Join Today!

EP9 Same as Bubu Shared

Experienced Elementalist
Joined
Nov 8, 2023
Messages
245
Reaction score
36
here's the problem, in 20 mins all tower where captured. but after captured it doesn't warp to marketplace. still the player is stock in tyranny map. what should be the cause and solution? btw i checked the tr1.ini i think there is no problem in there
Maybe the Battle_end_capture is set to 0 , it will not warp all the players since it will continue till the time ends . if you want to end the tyranny by capturing 3 towers , set the battle end capture to 1 in tr1.ini
 
Newbie Spellweaver
Joined
Nov 10, 2023
Messages
48
Reaction score
7
Please help.
I'm having trouble with the 117 Class Shaman skill
Cannot be used when reviving a dead teammate.

1709311213515 - EP9 Same as Bubu Shared - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Newbie Spellweaver
Joined
Nov 10, 2023
Messages
48
Reaction score
7
Thank you for this nice sharing

I have posted this on Release " Shamman Resu " a few.days ago
How can Shamman Resu be used by people from different schools and not in the same group?
What library do I need to fix?
Thank you!
 
Last edited:
Junior Spellweaver
Joined
Apr 2, 2019
Messages
137
Reaction score
27
glcharacter.cpp
find

add

like this

find

add DWORD dwkeySPACE(NULL);
like this

find

add like this
(actually you only need to find this code then add
dwkeySPACE = dxInputDev.GetKeyState ( DIK_SPACE );
above step to be sure that dik_space have his input string , skip it if already have code=]])

Tried adding it but have an error, how to fix this one? ty
1710147846166 - EP9 Same as Bubu Shared - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Junior Spellweaver
Joined
Apr 2, 2019
Messages
137
Reaction score
27

Attachments

You must be registered for see attachments list
Last edited:
Newbie Spellweaver
Joined
Oct 5, 2023
Messages
12
Reaction score
0
Has anyone turned off this system? We want to remove
 

Attachments

You must be registered for see attachments list
Newbie Spellweaver
Joined
Jan 31, 2024
Messages
7
Reaction score
0
Check on source code under: UISkillInfoLoader.cpp


Find this code and compare to your end, It should be like this:


C++:
        if ( pCharSkill )    //    ¹è¿î ½ºÅ³ÀÏ °æ¿ì¿¡...
        {
            BOOL bADDED = FALSE;
            for( int nImpact=0; nImpact<SKILL::MAX_IMPACT; ++nImpact )
            {
                if ( sAPPLY.sImpacts[nImpact].emADDON != EMIMPACTA_NONE )
                {
                    WORD wLevel = pCharSkill->wLevel;
                    if ( bNextLevel ) wLevel = pCharSkill->wLevel + 1;

                    const float fADDON_VAR = sAPPLY.sImpacts[nImpact].fADDON_VAR[wLevel];
                    if ( 0 != fADDON_VAR )
                    {
                        if ( !bADDED )
                        {
                            AddTextNoSplit(ID2GAMEWORD("SKILL_CATEGORY", 5),NS_UITEXTCOLOR::LIGHTSKYBLUE);
                            bADDED = TRUE;
                        }
                      
                        float fADDON_VAR_SCALE = fADDON_VAR * COMMENT::IMPACT_ADDON_SCALE[sAPPLY.sImpacts[nImpact].emADDON];

                        if ( COMMENT::IsIMPACT_ADDON_PER(sAPPLY.sImpacts[nImpact].emADDON) )
                        {
                            strText.Format ( "%s:%2.2f%%", COMMENT::IMPACT_ADDON[sAPPLY.sImpacts[nImpact].emADDON].c_str(), fADDON_VAR_SCALE );
                        }
                        else
                        {
                            strText.Format ( "%s:%2.2f", COMMENT::IMPACT_ADDON[sAPPLY.sImpacts[nImpact].emADDON].c_str(), fADDON_VAR_SCALE );
                        }

                        AddTextNoSplit(strText, NS_UITEXTCOLOR::PRIVATE );
                    }
                }
            }
          
        }

        //    Ư¼öÈ¿°ú
        if ( pCharSkill )    //    ¹è¿î ½ºÅ³ÀÏ °æ¿ì¿¡...
        {
            WORD wLevel = pCharSkill->wLevel;
            if ( bNextLevel ) wLevel = pCharSkill->wLevel + 1;

            BOOL bADDED = FALSE;
            for( int nSpec=0; nSpec<SKILL::MAX_SPEC; ++nSpec )
            {
                const SKILL::SSPEC& sSPEC = sAPPLY.sSpecs[nSpec].sSPEC[wLevel];

                if ( sAPPLY.sSpecs[nSpec].emSPEC != EMSPECA_NULL )
                {
                    if ( sAPPLY.sSpecs[nSpec].emSPEC == EMSPECA_PROHIBIT_POTION ) continue;

                    if ( !bADDED )
                    {
                        AddTextNoSplit(ID2GAMEWORD("SKILL_CATEGORY", 6),NS_UITEXTCOLOR::LIGHTSKYBLUE);
                        bADDED = TRUE;
                    }

                    strText.Format ( "%s:%s", ID2GAMEWORD("SKILL_SPEC_TYPE", 0), COMMENT::SPEC_ADDON[sAPPLY.sSpecs[nSpec].emSPEC].c_str() );
                    AddTextNoSplit(strText, NS_UITEXTCOLOR::PRIVATE );

                    strText.Empty();
                    CString strTemp;

                    if ( sAPPLY.sSpecs[nSpec].emSPEC == EMSPECA_NONBLOW || sAPPLY.sSpecs[nSpec].emSPEC == EMSPECA_RECBLOW )
                    {
                        if ( sSPEC.dwFLAG & DIS_NUMB )
                        {
                            strTemp.Format ( "%s ", COMMENT::BLOW[EMBLOW_NUMB].c_str() );
                            strText += strTemp;
                        }
                        if ( sSPEC.dwFLAG & DIS_STUN )
                        {
                            strTemp.Format ( "%s ", COMMENT::BLOW[EMBLOW_STUN].c_str() );
                            strText += strTemp;
                        }
                        if ( sSPEC.dwFLAG & DIS_STONE )
                        {
                            strTemp.Format ( "%s ", COMMENT::BLOW[EMBLOW_STONE].c_str() );
                            strText += strTemp;
                        }
                        if ( sSPEC.dwFLAG & DIS_BURN )
                        {
                            strTemp.Format ( "%s ", COMMENT::BLOW[EMBLOW_BURN].c_str() );
                            strText += strTemp;
                        }
                        if ( sSPEC.dwFLAG & DIS_FROZEN )
                        {
                            strTemp.Format ( "%s ", COMMENT::BLOW[EMBLOW_FROZEN].c_str() );
                            strText += strTemp;
                        }
                        if ( sSPEC.dwFLAG & DIS_MAD )
                        {
                            strTemp.Format ( "%s ", COMMENT::BLOW[EMBLOW_MAD].c_str() );
                            strText += strTemp;
                        }
                        if ( sSPEC.dwFLAG & DIS_POISON )
                        {
                            strTemp.Format ( "%s ", COMMENT::BLOW[EMBLOW_POISON].c_str() );
                            strText += strTemp;
                        }
                        if ( sSPEC.dwFLAG & DIS_CURSE )
                        {
                            strTemp.Format ( "%s ", COMMENT::BLOW[EMBLOW_CURSE].c_str() );
                            strText += strTemp;
                        }
                    }
                    // ¹ßµ¿ ½ºÅ³
                    else if ( sAPPLY.sSpecs[nSpec].emSPEC == EMSPECA_DEFENSE_SKILL_ACTIVE )
                    {
                        GLSKILL* pSkillTemp = GLSkillMan::GetInstance().GetData( sSPEC.dwNativeID );
                        if ( pSkillTemp )
                        {
                            strTemp.Format ( "%s Lv%d", pSkillTemp->GetName(),sSPEC.dwFLAG );
                            strText += strTemp;
                        }
                    }
                    /*debuff skill logic, Juver, 2017/06/10 */
                    else if ( sAPPLY.sSpecs[nSpec].emSPEC == EMSPECA_BUFF_REMOVE )
                    {
                        strTemp.Format ( "%s", COMMENT::SKILL_ACTION_TYPE[sSPEC.dwFLAG].c_str() );
                        strText += strTemp;
                    }

                    if ( strText.GetLength () )
                    {
                        AddTextNoSplit(strText, NS_UITEXTCOLOR::PRIVATE );
                    }

                    // Ư¼öÈ¿°ú°¡ ¾øÀ½ À϶§´Â ȸ鿡 º¸¿©ÁÖÁö ¾Êµµ·Ï Àӽà ¼öÁ¤~
                    // Ư¼öÈ¿°ú°¡ ¾øÀ½ À϶§´Â Åø¿¡¼ Á÷Á¢ °ª¿¡ 0À» ³Öµµ·Ï ¹Ù²Ù´Â°Ô ÁÁ´Ù ( ÁØÇõ )
                    if ( 0 != sSPEC.fVAR1 )
                    {
                        if( COMMENT::SPEC_ADDON_VAR1[EMSPECA_NULL] != COMMENT::SPEC_ADDON_VAR1[sAPPLY.sSpecs[nSpec].emSPEC] )
                        {
                            float fVAR1_SCALE = sSPEC.fVAR1 * COMMENT::SPEC_ADDON_VAR1_SCALE[sAPPLY.sSpecs[nSpec].emSPEC];

                            if ( COMMENT::IsSPEC_ADDON1_PER(sAPPLY.sSpecs[nSpec].emSPEC) )
                                strText.Format ( "%s:%2.2f%%", COMMENT::SPEC_ADDON_VAR1[sAPPLY.sSpecs[nSpec].emSPEC].c_str(), fVAR1_SCALE );
                            else
                                strText.Format ( "%s:%2.2f", COMMENT::SPEC_ADDON_VAR1[sAPPLY.sSpecs[nSpec].emSPEC].c_str(), fVAR1_SCALE );

                            AddTextNoSplit(strText, NS_UITEXTCOLOR::PRIVATE );
                        }
                    }

                    if ( 0 != sSPEC.fVAR2 )
                    {
                        if( COMMENT::SPEC_ADDON_VAR2[EMSPECA_NULL] != COMMENT::SPEC_ADDON_VAR2[sAPPLY.sSpecs[nSpec].emSPEC] )
                        {
                            float fVAR2_SCALE = sSPEC.fVAR2 * COMMENT::SPEC_ADDON_VAR2_SCALE[sAPPLY.sSpecs[nSpec].emSPEC];

                            if ( COMMENT::IsSPEC_ADDON2_PER(sAPPLY.sSpecs[nSpec].emSPEC) )
                                strText.Format ( "%s:%2.1f%%", COMMENT::SPEC_ADDON_VAR2[sAPPLY.sSpecs[nSpec].emSPEC].c_str(), fVAR2_SCALE );
                            else
                                strText.Format ( "%s:%2.1f", COMMENT::SPEC_ADDON_VAR2[sAPPLY.sSpecs[nSpec].emSPEC].c_str(), fVAR2_SCALE );

                            AddTextNoSplit(strText, NS_UITEXTCOLOR::PRIVATE );
                        }
                    }             
                }
            }
          
        }

        BOOL bNOT_LEARN = wDispLevel==0;

        //    ¿ä±¸Ä¡ Á¤º¸
        if ( (!bMaster && bNextLevel) || bNOT_LEARN )
        {
            AddTextNoSplit(ID2GAMEWORD("SKILL_CATEGORY", 7),NS_UITEXTCOLOR::LIGHTSKYBLUE);

            WORD wNextLevel = wDispLevel;
            GLCharacter* const pCharacter = GLGaeaClient::GetInstance().GetCharacter();
            SKILL::SLEARN& sLEARN = pSkill->m_sLEARN;
            SKILL::SLEARN_LVL& sLVL = sLEARN.sLVL_STEP[wNextLevel];         

      
            //    1. ¿ä±¸º¸À¯½ºÅ³
            SNATIVEID NeedSkillID = pSkill->m_sLEARN.sSKILL;         
            if ( NeedSkillID != NATIVEID_NULL() )
            {
                BOOL bVALID = FALSE;
                BOOL bNeedSkillLevel = FALSE;

                CString strNeedSkillName;
                CString strNeedSkillLevel;

                PGLSKILL pNeedSkill = GLSkillMan::GetInstance().GetData ( NeedSkillID.wMainID, NeedSkillID.wSubID );
                if( pNeedSkill ) strNeedSkillName.Format("%s:%s", ID2GAMEWORD( "SKILL_ADVANCED_INFO", 0), pNeedSkill->GetName() );
                bVALID = pCharacter->ISLEARNED_SKILL ( NeedSkillID );         

                //    2. ¿ä±¸º¸À¯½ºÅ³·¹º§
                if ( 0 < sLVL.dwSKILL_LVL )
                {
                    strNeedSkillLevel.Format("%s:%d",ID2GAMEWORD( "SKILL_ADVANCED_INFO", 1), (sLVL.dwSKILL_LVL + 1) );
                    bNeedSkillLevel = TRUE;

                    SCHARDATA2::SKILL_MAP& map = pCharacter->m_ExpSkills;             
                    SCHARDATA2::SKILL_MAP_ITER iter = map.find ( NeedSkillID.dwID );
                    if ( iter != map.end() )
                    {
                        SCHARSKILL& rCharSkill = (*iter).second;

                        //    »ö Á¶Àý
                        bVALID = rCharSkill.wLevel >= sLVL.dwSKILL_LVL;                     
                    }
                }

                AddTextNoSplit(strNeedSkillName,NS_UITEXTCONTROL::GetEvaluateColor ( bVALID ));

                if ( bNeedSkillLevel )
                    AddTextNoSplit(strNeedSkillLevel, NS_UITEXTCONTROL::GetEvaluateColor ( bVALID ) );
            }

            //    3. ¿ä±¸°æÇèÄ¡
            if ( 0 < sLVL.dwSKP )
            {
                strText.Format("%s:%d",ID2GAMEWORD( "SKILL_ADVANCED_INFO", 2), sLVL.dwSKP);             
                AddTextNoSplit(strText, NS_UITEXTCONTROL::GetEvaluateColor ( pCharacter->m_dwSkillPoint >= sLVL.dwSKP ) );
            }

            //    4. ¿ä±¸·¹º§
            if ( 0 < sLVL.dwLEVEL )
            {
                strText.Format("%s:%d",ID2GAMEWORD( "SKILL_ADVANCED_INFO", 3), sLVL.dwLEVEL);
                AddTextNoSplit(strText, NS_UITEXTCONTROL::GetEvaluateColor ( pCharacter->GETLEVEL () >= int(sLVL.dwLEVEL) ) );
            }

            //    Á¶°Ç - ¾Ï±¤
            //BOOL bValue = TRUE;
            //strText.Format ( "%s", COMMENT::BRIGHT[sLEARN.emBRIGHT].c_str() );
            //if ( sLEARN.emBRIGHT != BRIGHT_BOTH )
            //{
            //    if ( pCharacter->GETBRIGHT() != sLEARN.emBRIGHT )
            //    {
            //        bValue = FALSE;
            //    }
            //}
            //AddTextNoSplit ( strText, NS_UITEXTCONTROL::GetEvaluateColor ( bValue ) );


            //    Stats
            //    1. ¿ä±¸Èû
            if ( 0 < sLVL.sSTATS.wPow )
            {
                strText.Format("%s:%d",ID2GAMEWORD( "SKILL_ADVANCED_INFO_STATS", 0), sLVL.sSTATS.wPow);
                AddTextNoSplit(strText, NS_UITEXTCONTROL::GetEvaluateColor ( pCharacter->m_sSUMSTATS.wPow >= sLVL.sSTATS.wPow ) );
            }

            //    2. ¿ä±¸Ã¼·Â
            if ( 0 < sLVL.sSTATS.wStr )
            {
                strText.Format("%s:%d",ID2GAMEWORD( "SKILL_ADVANCED_INFO_STATS", 1), sLVL.sSTATS.wStr);
                AddTextNoSplit(strText, NS_UITEXTCONTROL::GetEvaluateColor ( pCharacter->m_sSUMSTATS.wStr >= sLVL.sSTATS.wStr ) );
            }

            //    3. ¿ä±¸Á¤½Å
            if ( 0 < sLVL.sSTATS.wSpi )
            {
                strText.Format("%s:%d",ID2GAMEWORD( "SKILL_ADVANCED_INFO_STATS", 2), sLVL.sSTATS.wSpi);
                AddTextNoSplit(strText, NS_UITEXTCONTROL::GetEvaluateColor ( pCharacter->m_sSUMSTATS.wSpi >= sLVL.sSTATS.wSpi ));
            }

            //    4. ¿ä±¸¹Îø
            if ( 0 < sLVL.sSTATS.wDex )
            {
                strText.Format("%s:%d",ID2GAMEWORD( "SKILL_ADVANCED_INFO_STATS", 3), sLVL.sSTATS.wDex);
                AddTextNoSplit(strText, NS_UITEXTCONTROL::GetEvaluateColor ( pCharacter->m_sSUMSTATS.wDex >= sLVL.sSTATS.wDex ) );
            }

            //    5. ¿ä±¸Áö·Â
            if ( 0 < sLVL.sSTATS.wInt )
            {
                strText.Format("%s:%d",ID2GAMEWORD( "SKILL_ADVANCED_INFO_STATS", 4), sLVL.sSTATS.wInt);
                AddTextNoSplit(strText, NS_UITEXTCONTROL::GetEvaluateColor ( pCharacter->m_sSUMSTATS.wInt >= sLVL.sSTATS.wInt ) );
            }

            //    6. ¿ä±¸±Ù·Â
            if ( 0 < sLVL.sSTATS.wSta )
            {
                strText.Format("%s:%d",ID2GAMEWORD( "SKILL_ADVANCED_INFO_STATS", 5), sLVL.sSTATS.wSta);
                AddTextNoSplit(strText, NS_UITEXTCONTROL::GetEvaluateColor ( pCharacter->m_sSUMSTATS.wPow >= sLVL.sSTATS.wSta ) );
            }
        }

        if ( bNextLevel ) return ;

        //    °£´ÜÇÑ ¼³¸í
        if( !pSkill->GetDesc() )    return;

        int StrLength = static_cast<int>( strlen( pSkill->GetDesc() ) );
        if ( StrLength )
        {
            AddTextNoSplit ( ID2GAMEWORD ( "SKILL_CATEGORY", 8 ), NS_UITEXTCOLOR::LIGHTSKYBLUE );
          
            AddTextLongestLineSplit ( pSkill->GetDesc(), NS_UITEXTCOLOR::DEFAULT );
        }
    }


    void LOAD ( const SNATIVEID& sNativeID, const BOOL bNextLevel )
    {
        if ( sNativeID != NATIVEID_NULL() )
        {
            BOOL bUPDATE = FALSE;
            if (( bNextLevel != m_bNextLevel_BEFORE_FRAME ) ||
                ( sNativeID != m_sNativeIDBack) )
            {         
                bUPDATE = TRUE;
            }

            if ( bUPDATE )
            {
                PGLSKILL pSkill = GLSkillMan::GetInstance().GetData ( sNativeID.wMainID, sNativeID.wSubID );
                if ( pSkill )    //    ½ºÅ³ÀÌ Á¸ÀçÇÒ °æ¿ì
                {
                    RemoveAllInfo ();

                    SCHARSKILL* pCharSkill = GLGaeaClient::GetInstance().GetCharacter()->GETLEARNED_SKILL ( sNativeID );                 
                    LOAD ( pSkill, pCharSkill, bNextLevel );
                }

                m_sNativeIDBack = sNativeID;
                m_bNextLevel_BEFORE_FRAME = bNextLevel;
            }     
        }
    }
};



Give thanks, if it works on your side :kirby: :kirby: :kirby:
someone already fix it, i try but still eror
 
Initiate Mage
Joined
Apr 1, 2024
Messages
2
Reaction score
0
HELP - EP9 Same as Bubu Shared - RaGEZONE Forums


Can anyone help me? When i open the game it says that no internet connection? my VBOX is already in Bridge network. i already changed all the IP in CFG and Param
 

Attachments

You must be registered for see attachments list
Junior Spellweaver
Joined
Jul 3, 2018
Messages
123
Reaction score
8
...

how item mix work? i tried all the settings in tools but still i cant make it work. always show unable to create.. i already
add dwStudyPointDefault in my default.c but still no luck..


UPDATE:
i found it. fix it already..
1714213256318 - EP9 Same as Bubu Shared - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Last edited:
Back
Top