Open Skills Source ( Bypass .charset ) stop wasting time.

Joined
May 2, 2012
Messages
474
Reaction score
262
Little share

PHP:
[COLOR="#FF0000"]GLCharDataLoad.cpp

find this:
	m_ExpSkills.clear();
	DWORD dwNUM = cFILE.getflagnum ( "ExpSkills" );
	for ( DWORD i=0; i<dwNUM; ++i )
	{
		SCHARSKILL CharSkill;
		cFILE.getflag( i, "ExpSkills", 1, 3, CharSkill.sNativeID.wMainID );
		cFILE.getflag( i, "ExpSkills", 2, 3, CharSkill.sNativeID.wSubID );
		cFILE.getflag( i, "ExpSkills", 3, 3, CharSkill.wLevel );

		m_ExpSkills[CharSkill.sNativeID.dwID] = CharSkill;
	}[/COLOR]

// add this
// ejsayaaa 11/7/19
// open skills upon creation
// per class

	int nBeginIndex = 0;
	int nEndIndex = 0;

	switch ( m_emClass )
	{
	case GLCC_FIGHTER_M:
	case GLCC_FIGHTER_W:
		{
			nBeginIndex = EMSKILL_FIGHTER_01;
			nEndIndex = EMSKILL_FIGHTER_04;
		}
		break;

	case GLCC_ARMS_M:
	case GLCC_ARMS_W:
		{
			nBeginIndex = EMSKILL_ARMS_01;
			nEndIndex = EMSKILL_ARMS_04;
		}
		break;

	case GLCC_ARCHER_M:
	case GLCC_ARCHER_W:
		{
			nBeginIndex = EMSKILL_ARCHER_01;
			nEndIndex = EMSKILL_ARCHER_04;
		}
		break;

	case GLCC_SPIRIT_M:
	case GLCC_SPIRIT_W:
		{
			nBeginIndex = EMSKILL_SPIRIT_01;
			nEndIndex = EMSKILL_SPIRIT_04;
		}
		break;	

	case GLCC_EXTREME_M:
	case GLCC_EXTREME_W:
		{
			nBeginIndex = EMSKILL_EXTREME_01;
			nEndIndex = EMSKILL_EXTREME_04;
		}
		break;
		//add class
	case GLCC_SCIENCE_M:
	case GLCC_SCIENCE_W:
		{
			nBeginIndex = EMSKILL_SCIENCE_01;
			nEndIndex = EMSKILL_SCIENCE_04;
		}
		break;

	case GLCC_ASSASSIN_M:
	case GLCC_ASSASSIN_W:
		{
			nBeginIndex = EMSKILL_ASSASSIN_01;
			nEndIndex = EMSKILL_ASSASSIN_04;
		}
		break;
	case GLCC_TESTING_M:
	case GLCC_TESTING_W:
		{
			nBeginIndex = EMSKILL_MAGICIAN_01;
			nEndIndex = EMSKILL_MAGICIAN_04;
		}
		break;
	};

	WORD wClass, wIndex;
	GLSkillMan::GetInstance().GetMaxSkill ( wClass, wIndex );

	for ( int i = nBeginIndex; i <= nEndIndex; i++ )
	{
		for ( int j = 0; j < wIndex; j++ )
		{
			PGLSKILL pSkill = GLSkillMan::GetInstance().GetData ( i, j );
			if ( pSkill )
			{
				SCHARSKILL CharSkill;
				CharSkill.sNativeID.wMainID = i;	// mid
				CharSkill.sNativeID.wSubID = j;		// sid
				CharSkill.wLevel = 0;			// skill level
				m_ExpSkills[CharSkill.sNativeID.dwID] = CharSkill;
			}
		}
	}
 
sorry for necro but successfully merge and no error at all on compile but skill don't get unlock?? :chomp:

i unlock sword stab using scroll and using level 225 account

rewrwer - Open Skills Source ( Bypass .charset ) stop wasting time. - RaGEZONE Forums
 
Try to create archer or shamman or brawler...
yes it work i did not notice the comment on source modification

// add this
// ejsayaaa 11/7/19
// open skills upon creation
// per class

also

Code:
    m_ExpSkills.clear();
    DWORD dwNUM = cFILE.getflagnum ( "ExpSkills" );
    for ( DWORD i=0; i<dwNUM; ++i )
    {
        SCHARSKILL CharSkill;
        cFILE.getflag( i, "ExpSkills", 1, 3, CharSkill.sNativeID.wMainID );
        cFILE.getflag( i, "ExpSkills", 2, 3, CharSkill.sNativeID.wSubID );
        cFILE.getflag( i, "ExpSkills", 3, 3, CharSkill.wLevel );

        m_ExpSkills[CharSkill.sNativeID.dwID] = CharSkill;

    DO NOT PUT THE MODIFICATION HERE IT WOULD COMPILE WITHOUT ERROR  BUT DO NOT WORK 

    }

ADD THE MODIFICATION HERE AFTER THE  END BRACKET   " } "

and account created before you applied this modification there skill does not get unlock





fdsf - Open Skills Source ( Bypass .charset ) stop wasting time. - RaGEZONE Forums
 
Last edited:
Try to create swordsman if it works..
yes it work i did not notice the comment on source modification

// add this
// ejsayaaa 11/7/19
// open skills upon creation
// per class

also

Code:
    m_ExpSkills.clear();
    DWORD dwNUM = cFILE.getflagnum ( "ExpSkills" );
    for ( DWORD i=0; i<dwNUM; ++i )
    {
        SCHARSKILL CharSkill;
        cFILE.getflag( i, "ExpSkills", 1, 3, CharSkill.sNativeID.wMainID );
        cFILE.getflag( i, "ExpSkills", 2, 3, CharSkill.sNativeID.wSubID );
        cFILE.getflag( i, "ExpSkills", 3, 3, CharSkill.wLevel );

        m_ExpSkills[CharSkill.sNativeID.dwID] = CharSkill;

    DO NOT PUT THE MODIFICATION HERE IT WOULD COMPILE WITHOUT ERROR  BUT DO NOT WORK

    }

ADD THE MODIFICATION HERE AFTER THE  END BRACKET   " } "

and account created before you applied this modification there skill does not get unlock





View attachment 253722
 
Little share

PHP:
[COLOR="#FF0000"]GLCharDataLoad.cpp

find this:
    m_ExpSkills.clear();
    DWORD dwNUM = cFILE.getflagnum ( "ExpSkills" );
    for ( DWORD i=0; i<dwNUM; ++i )
    {
        SCHARSKILL CharSkill;
        cFILE.getflag( i, "ExpSkills", 1, 3, CharSkill.sNativeID.wMainID );
        cFILE.getflag( i, "ExpSkills", 2, 3, CharSkill.sNativeID.wSubID );
        cFILE.getflag( i, "ExpSkills", 3, 3, CharSkill.wLevel );

        m_ExpSkills[CharSkill.sNativeID.dwID] = CharSkill;
    }[/COLOR]

// add this
// ejsayaaa 11/7/19
// open skills upon creation
// per class

    int nBeginIndex = 0;
    int nEndIndex = 0;

    switch ( m_emClass )
    {
    case GLCC_FIGHTER_M:
    case GLCC_FIGHTER_W:
        {
            nBeginIndex = EMSKILL_FIGHTER_01;
            nEndIndex = EMSKILL_FIGHTER_04;
        }
        break;

    case GLCC_ARMS_M:
    case GLCC_ARMS_W:
        {
            nBeginIndex = EMSKILL_ARMS_01;
            nEndIndex = EMSKILL_ARMS_04;
        }
        break;

    case GLCC_ARCHER_M:
    case GLCC_ARCHER_W:
        {
            nBeginIndex = EMSKILL_ARCHER_01;
            nEndIndex = EMSKILL_ARCHER_04;
        }
        break;

    case GLCC_SPIRIT_M:
    case GLCC_SPIRIT_W:
        {
            nBeginIndex = EMSKILL_SPIRIT_01;
            nEndIndex = EMSKILL_SPIRIT_04;
        }
        break;   

    case GLCC_EXTREME_M:
    case GLCC_EXTREME_W:
        {
            nBeginIndex = EMSKILL_EXTREME_01;
            nEndIndex = EMSKILL_EXTREME_04;
        }
        break;
        //add class
    case GLCC_SCIENCE_M:
    case GLCC_SCIENCE_W:
        {
            nBeginIndex = EMSKILL_SCIENCE_01;
            nEndIndex = EMSKILL_SCIENCE_04;
        }
        break;

    case GLCC_ASSASSIN_M:
    case GLCC_ASSASSIN_W:
        {
            nBeginIndex = EMSKILL_ASSASSIN_01;
            nEndIndex = EMSKILL_ASSASSIN_04;
        }
        break;
    case GLCC_TESTING_M:
    case GLCC_TESTING_W:
        {
            nBeginIndex = EMSKILL_MAGICIAN_01;
            nEndIndex = EMSKILL_MAGICIAN_04;
        }
        break;
    };

    WORD wClass, wIndex;
    GLSkillMan::GetInstance().GetMaxSkill ( wClass, wIndex );

    for ( int i = nBeginIndex; i <= nEndIndex; i++ )
    {
        for ( int j = 0; j < wIndex; j++ )
        {
            PGLSKILL pSkill = GLSkillMan::GetInstance().GetData ( i, j );
            if ( pSkill )
            {
                SCHARSKILL CharSkill;
                CharSkill.sNativeID.wMainID = i;    // mid
                CharSkill.sNativeID.wSubID = j;        // sid
                CharSkill.wLevel = 0;            // skill level
                m_ExpSkills[CharSkill.sNativeID.dwID] = CharSkill;
            }
        }
    }
what file should i add that?
and what app i use to edit?
 
Some skills have a maximum level of 1 or 3. If I set the maximum to 8, those skills would then reach level 8, but they wouldn't have any stats or effects associated with that level. How can I make it so that the effects depend on the maximum skill level?
 
Hello how to instant master all skills after create character?

Some skills have a maximum level of 1 or 3. If I set the maximum to 8, those skills would then reach level 8, but they wouldn't have any stats or effects associated with that level. How can I make it so that the effects depend on the maximum skill level?
Did you fixed this?
 
Last edited:
nice working

Hello how to instant master all skills after create character?


Did you fixed this?
---Find This -- PGLSKILL pSkill = GLSkillMan::GetInstance().GetData(i, j);

PGLSKILL pSkill = GLSkillMan::GetInstance().GetData(i, j);
if (pSkill)
{
SCHARSKILL CharSkill;
CharSkill.sNativeID.wMainID = i; // mid
CharSkill.sNativeID.wSubID = j; // sid
CharSkill.wLevel = 0; // skill level [Change 0 to 8 for instant master all skill]
m_ExpSkills[CharSkill.sNativeID.dwID] = CharSkill;
}
}
}
 

Attachments

  • unlock - Open Skills Source ( Bypass .charset ) stop wasting time. - RaGEZONE Forums
    unlock.webp
    318.2 KB · Views: 93
Last edited:
nice working


---Find This -- PGLSKILL pSkill = GLSkillMan::GetInstance().GetData(i, j);

PGLSKILL pSkill = GLSkillMan::GetInstance().GetData(i, j);
if (pSkill)
{
SCHARSKILL CharSkill;
CharSkill.sNativeID.wMainID = i; // mid
CharSkill.sNativeID.wSubID = j; // sid
CharSkill.wLevel = 0; // skill level [Change 0 to 8 for instant master all skill]
m_ExpSkills[CharSkill.sNativeID.dwID] = CharSkill;
}
}
}
thanks i will check
 
nice working


---Find This -- PGLSKILL pSkill = GLSkillMan::GetInstance().GetData(i, j);

PGLSKILL pSkill = GLSkillMan::GetInstance().GetData(i, j);
if (pSkill)
{
SCHARSKILL CharSkill;
CharSkill.sNativeID.wMainID = i; // mid
CharSkill.sNativeID.wSubID = j; // sid
CharSkill.wLevel = 0; // skill level [Change 0 to 8 for instant master all skill]
m_ExpSkills[CharSkill.sNativeID.dwID] = CharSkill;
}
}
}

Is there a way to get the max level per skills?

I am wondering if I can make wLevel dynamic based on the set max level in skill.ssf
 
Back