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

Junior Spellweaver
Joined
Apr 12, 2020
Messages
102
Reaction score
13
This is also what i am suspecting for agentserver shutting down, my server is smooth now. But i will update

Yes im using that features,.
Its good to know that your server is running smoothly, btw is your server using 4gb ram or more?
 
Newbie Spellweaver
Joined
Mar 23, 2018
Messages
62
Reaction score
26
Its good to know that your server is running smoothly, btw is your server using 4gb ram or more?

give some hint how to fix this man. how to show it?

1693048794912 - EP9 Same as Bubu Shared - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Junior Spellweaver
Joined
Apr 12, 2020
Messages
102
Reaction score
13
EDIT: Done Fixing by myself



Thank you for not responding Ragezone :bird: :bird: :bird:

Dont be mad, please be kind. I too also dont know how to fix that. We also have a lot of problems, and that doesnt mean you can get the answer asap in this forum. You have to be patient my friend.
 
Newbie Spellweaver
Joined
Mar 23, 2018
Messages
62
Reaction score
26
Dont be mad, please be kind. I too also dont know how to fix that. We also have a lot of problems, and that doesnt mean you can get the answer asap in this forum. You have to be patient my friend.
No i'm not mad. i understand. and thank you its so challenging. :reeeee::reeeee::reeeee:

Actually, this source has a lot of bugs, and since this is converted from 2003 to 2008, you need to modify some proper data type conversion to fix those bugs, and you should thank Eugene for converting this to 2008, You can now easily adopt the GS engine, just like this one that I converted.
thank you
 
Last edited:
Newbie Spellweaver
Joined
Mar 23, 2018
Messages
62
Reaction score
26
any know how to adjust the inventory length for starting creation it suppose to be a small inventory like this View attachment 240822


Can you share it here how you fix?

Sure, I will share how to fix it. I'm not a Pro Dev, I analyze the code, I focus on InnerInterfaceSimple.cpp

Sharing for comparison.

Just give thanks, if resolve on your side :kirby::kirby::kirby:
 
Junior Spellweaver
Joined
Mar 23, 2020
Messages
122
Reaction score
19
Any idea what's causing this error? I already installed the two SP1. I'm using GS's RanThirdParty.
 

Attachments

You must be registered for see attachments list
Junior Spellweaver
Joined
Apr 12, 2020
Messages
102
Reaction score
13
did you guys fix your guild ranking? mine still not showing. T_T
I think you need to change back to the original lg-7 global ranking and hook up the lg7.dll

Any idea what's causing this error? I already installed the two SP1. I'm using GS's RanThirdParty.
you forgot to add a semicolon on where you modified a file. ;
 
Newbie Spellweaver
Joined
Dec 17, 2011
Messages
92
Reaction score
15
1693278893533 - EP9 Same as Bubu Shared - RaGEZONE Forums
1693278965658 - EP9 Same as Bubu Shared - RaGEZONE Forums


as you can see in the 1st image when I hover my mouse to + in head crush it show the description of the next level and requirement
( it will show only 1st set of skill headcrush below )

in the 2nd image the 2nd set of skill ( red box ) when I hover my mouse into + .. it doesn't show the description

please help me where I can fix this.. I tried in the GUI and no luck
 

Attachments

You must be registered for see attachments list
Newbie Spellweaver
Joined
Mar 23, 2018
Messages
62
Reaction score
26
View attachment 240928View attachment 240929

as you can see in the 1st image when I hover my mouse to + in head crush it show the description of the next level and requirement
( it will show only 1st set of skill headcrush below )

in the 2nd image the 2nd set of skill ( red box ) when I hover my mouse into + .. it doesn't show the description

please help me where I can fix this.. I tried in the GUI and no luck

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:
 
Newbie Spellweaver
Joined
Mar 23, 2018
Messages
62
Reaction score
26
lets help each other and find the issue of agent server.
Try to fix this also. since day 1, I'll keep posted once done finding its issue, mine have a bugtrap.
1693323765722 - EP9 Same as Bubu Shared - RaGEZONE Forums

1693323888527 - EP9 Same as Bubu Shared - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Back
Top