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!

Disable Unlock Skill Using Gold (CLICK TO UNLOCK SKILLS)

Newbie Spellweaver
Joined
May 22, 2015
Messages
63
Reaction score
14
As the title goess disable click to learn or use gold to learn skills . use this if you can if not then dont mind it :) . . . .
--------------------------------
GLCharSkillMsg.cpp
Look for
HRESULT GLChar::MsgReqLearnSkillNonInven ( NET_MSG_GENERIC* nmg )
replace whole code definition with this

//Activate Skill w/o Scroll

HRESULT GLChar::MsgReqLearnSkillNonInven ( NET_MSG_GENERIC* nmg )

{

GLMSG::SNETPC_REQ_LEARNSKILL_NONINVEN *pNetMsg = (GLMSG::SNETPC_REQ_LEARNSKILL_NONINVEN *) nmg;

SNATIVEID sSKILL_ID = pNetMsg->sSKILLID;

if ( !IsValidBody() ) return E_FAIL;

if( !GLCONST_CHAR::bClickToUnlockSkills ) // TDEV DISABLE CLICK TO UNLOCK SKILLS

{

GLMSG::SNETPC_REQ_LEARNSKILL_NONINVEN_FB NetMsgFB;

NetMsgFB.skill_id = sSKILL_ID;

NetMsgFB.emCHECK = EMSKILL_LEARN_TJ;

GLGaeaServer::GetInstance().SENDTOCLIENT ( m_dwClientID, &NetMsgFB );

return E_FAIL;

}

else

{

if ( ISLEARNED_SKILL(sSKILL_ID) )

{

GLMSG::SNETPC_REQ_LEARNSKILL_NONINVEN_FB NetMsgFB;

NetMsgFB.skill_id = sSKILL_ID;

NetMsgFB.emCHECK = EMSKILL_LEARN_ALREADY;

GLGaeaServer::GetInstance().SENDTOCLIENT ( m_dwClientID, &NetMsgFB );

return E_FAIL;

}

EMSKILL_LEARNCHECK emSKILL_LEARNCHECK = CHECKLEARNABLE_SKILL(sSKILL_ID);

if ( emSKILL_LEARNCHECK!=EMSKILL_LEARN_OK )

{

GLMSG::SNETPC_REQ_LEARNSKILL_NONINVEN_FB NetMsgFB;

NetMsgFB.skill_id = sSKILL_ID;

NetMsgFB.emCHECK = emSKILL_LEARNCHECK;

GLGaeaServer::GetInstance().SENDTOCLIENT ( m_dwClientID, &NetMsgFB );

return E_FAIL;

}

LEARN_SKILL_NONSCROLL(sSKILL_ID);

GLMSG::SNETPC_REQ_LEARNSKILL_NONINVEN_FB NetMsgFB;

NetMsgFB.skill_id = sSKILL_ID;

NetMsgFB.emCHECK = EMSKILL_LEARN_OK;

GLGaeaServer::GetInstance().SENDTOCLIENT ( m_dwClientID, &NetMsgFB );

GLMSG::SNETPC_UPDATE_SKP NetMsgSkp;

NetMsgSkp.dwSkillPoint = m_dwSkillPoint;

GLGaeaServer::GetInstance().SENDTOCLIENT ( m_dwClientID, &NetMsgSkp );

//Update Any money type

GLMSG::SNETPC_UPDATE_MONEYTYPE NetMsgMoney;

NetMsgMoney.lnGold = m_lnMoney;

NetMsgMoney.lnPremP = m_lnPremP;

NetMsgMoney.lnVoteP = m_lnVoteP;

NetMsgMoney.lnContribP = m_lnContribP; //add contributionpoint by CNDev

GLGaeaServer::GetInstance().SENDTOCLIENT ( m_dwClientID, &NetMsgMoney );

PGLSKILL pSkill = GLSkillMan::GetInstance().GetData ( sSKILL_ID );

if ( !pSkill ) return E_FAIL;

if ( pSkill->m_sBASIC.emROLE == SKILL::EMROLE_PASSIVE )

{

GLMSG::SNETPC_UPDATE_PASSIVE_BRD NetMsgBrd;

NetMsgBrd.dwGaeaID = m_dwGaeaID;

NetMsgBrd.sSKILL_DATA = m_sSUM_PASSIVE;

SendMsgViewAround ( (NET_MSG_GENERIC*) &NetMsgBrd );

}

return S_OK;

}

}
----------------------
GLcontrlBaseMsg.h
look for enum EMSKILL_LEARNCHECK
replace whole definition code with this
enum EMSKILL_LEARNCHECK

{

EMSKILL_LEARN_OK = 0, // ¹è¿ì±â ¼º°ø.

EMSKILL_LEARN_MAX = 1, // ´õ ÀÌ»ó ·¾¾÷À» ÇÒ ¼ö ¾øÀ½.

EMSKILL_LEARN_NOTTERM = 2, // ¿ä±¸ Á¶°ÇÀÌ ÃæÁ·µÇÁö ¾Ê¾Æ¼­ ·¾¾÷À» ÇÒ¼ö ¾øÀ½.

EMSKILL_LEARN_NOTCLASS = 3, // ºÎ¼­°¡ Ʋ·Á¼­ ¹è¿ï¼ö ¾ø½À´Ï´Ù.

EMSKILL_LEARN_NOTBRIGHT = 4, // ºû/¾Ï Á¶°ÇÀÌ ÃæÁ·µÇÁö ¾Ê½À´Ï´Ù.

EMSKILL_LEARN_ALREADY = 5, // ÀÌ¹Ì ¹è¿î ½ºÅ³ÀÔ´Ï´Ù.

EMSKILL_LEARN_TJ = 6, // TDEV DISABLE CLICK TO UNLOCK SKILLS

EMSKILL_LEARN_UNKNOWN = 999

};

---------------------------------------

glcharactermsg.cpp
look for this
case NET_MSG_GCTRL_REQ_LEARNSKILL_NONINVEN_FB
replace whole definition code with this
//Activate Skill w/o Scroll

case NET_MSG_GCTRL_REQ_LEARNSKILL_NONINVEN_FB:

{

GLMSG::SNETPC_REQ_LEARNSKILL_NONINVEN_FB *pNetMsg = (GLMSG::SNETPC_REQ_LEARNSKILL_NONINVEN_FB *)nmg;

if ( pNetMsg->emCHECK == EMSKILL_OK )

{

PGLSKILL pSkill = GLSkillMan::GetInstance().GetData ( pNetMsg->skill_id );

if ( !pSkill ) break;

m_ExpSkills.insert ( std::make_pair ( pNetMsg->skill_id.dwID, SCHARSKILL(pNetMsg->skill_id,0) ) );

if ( pSkill->m_sBASIC.emROLE == SKILL::EMROLE_PASSIVE )

{

INIT_DATA ( FALSE, FALSE );

}

STARGETID sTargetID(CROW_PC,m_dwGaeaID,m_vPos);

DxEffGroupPlayer::GetInstance().NewEffGroup

(

GLCONST_CHAR::strSKILL_LEARN_EFFECT.c_str(),

m_matTrans,

&sTargetID

);

}

else

{

CInnerInterface::GetInstance().PrintMsgText( NS_UITEXTCOLOR::DISABLE, ID2GAMEINTEXT("TJ_1") );// TDEV DISABLE CLICK TO UNLOCK SKILLS

}

}

break;
--------------------------------------
glogicdata.cpp
look for GLCONST_CHAR
add this below .
BOOL bClickToUnlockSkills = TRUE; // TDEV DISABLE CLICK TO UNLOCK SKILLS
----------------------------------------

glogicdata.h
look for GLCONST_CHAR
add this below
extern BOOL bClickToUnlockSkills; // TDEV DISABLE CLICK TO UNLOCK SKILLS

-------------------------------------------

glogicdataload.cpp
look for GLCONST_CHAR
add this below
cFILE.getflag( "bClickToUnlockSkills", 1, 1, bClickToUnlockSkills ); // TDEV DISABLE CLICK TO UNLOCK SKILLS

---------------------------------------------
Client side
add this on your defaultcharclass
bClickToUnlockSkills 0 // CHANGE TO 1 IF ENABLED TDEV
-----------------------------------------------------------
gameintext.xml
add this below
<SENTENSE Ver="1" Id="TJ_1">

<VALUE Lang="pe">Click to Unlock Skill Is Disabled.</VALUE>

</SENTENSE>
-----------------------------------
 
Newbie Spellweaver
Joined
Nov 10, 2019
Messages
21
Reaction score
0
this is not for classic server ... specially for quest base to learn a skill .. using this can learn easy all skills from other build type... this is recommended for higher version client and server only
 
Newbie Spellweaver
Joined
Jul 18, 2019
Messages
52
Reaction score
1
I tried this code. But I got error on this line:

HRESULT GLChar::MsgReqLearnSkillNonInven ( NET_MSG_GENERIC* nmg )

error says
MsgReqLearnSkillNonInven is not defined

im using Urban Source.

any idea? Thanks
 
Newbie Spellweaver
Joined
Apr 2, 2020
Messages
14
Reaction score
0
I tried this code. But I got error on this line:

HRESULT GLChar::MsgReqLearnSkillNonInven ( NET_MSG_GENERIC* nmg )



error says
MsgReqLearnSkillNonInven is not defined

im using Urban Source.

any idea? Thanks

Go to GLchar.h then declare this "MsgReqLearnSkillNonInven " or find ep10 source here then use winmerge for your basis.
 
Experienced Elementalist
Joined
Feb 12, 2018
Messages
217
Reaction score
18
hello brother,
im using this source code on juver source, no errors found while compiling, but its not working. the arrow or the button where you activate and upgrade the skill is still unclickable. nothing happens.
juver source use sphere to activate skill(s), i would like to use this code, and activate skills using gold but how is it possible?

thanks.

timothy03 - Disable Unlock Skill Using Gold (CLICK TO UNLOCK SKILLS) - RaGEZONE Forums
 
Last edited:
Joined
Feb 4, 2014
Messages
962
Reaction score
36
hello brother,
im using this source code on juver source, no errors found while compiling, but its not working. the arrow or the button where you activate and upgrade the skill is still unclickable. nothing happens.
juver source use sphere to activate skill(s), i would like to use this code, and activate skills using gold but how is it possible?

thanks.

if im not mistaken activiting skill via gold is working well in sensei source, you can check that.
 
Experienced Elementalist
Joined
Feb 12, 2018
Messages
217
Reaction score
18
if im not mistaken activiting skill via gold is working well in sensei source, you can check that.
thanks for the info brother. :rolleyes: btw, Im just a newbie and still exploring on source code.
 
Junior Spellweaver
Joined
Aug 3, 2018
Messages
137
Reaction score
18
Asking.. If this feature click to unlock skill using gold.. Can we set how much gold on every skill that we click???
 
Back
Top