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!

Activate Skill without scroll - Source Code

Experienced Elementalist
Joined
Jun 24, 2011
Messages
263
Reaction score
75
I'm releasing this because of some stupid people don't know how to code so they're just stealing it.

I can't show any screenshots or video but you'll know how this works.
Just read the title of this thread.

Additional:
s_NetGlobal.h:
NET_MSG_GCTRL_REQ_LEARNSKILL_NONINVEN = (NET_MSG_GCTRL + 1823),
NET_MSG_GCTRL_REQ_LEARNSKILL_NONINVEN_FB = (NET_MSG_GCTRL + 1824),

GLCharSkillMsg.cpp
G-Logic\GLCharSkillMsg.cpp(41) : error C3861: 'LEARN_SKILL_NONSCROLL': identifier not found, even with argument-dependent lookup
G-Logic\GLCharSkillMsg.cpp(53) : error C2039: 'SNETPC_UPDATE_MONEYTYPE' : is not a member of 'GLMSG'
G-Logic\GLCharSkillMsg.cpp(53) : error C2065: 'SNETPC_UPDATE_MONEYTYPE' : undeclared identifier
G-Logic\GLCharSkillMsg.cpp(53) : error C2146: syntax error : missing ';' before identifier 'NetMsgMoney'
G-Logic\GLCharSkillMsg.cpp(53) : error C2065: 'NetMsgMoney' : undeclared identifier
G-Logic\GLCharSkillMsg.cpp(54) : error C2228: left of '.lnGold' must have class/struct/union type
type is ''unknown-type''
G-Logic\GLCharSkillMsg.cpp(54) : error C3861: 'NetMsgMoney': identifier not found, even with argument-dependent lookup
G-Logic\GLCharSkillMsg.cpp(55) : error C2228: left of '.lnPremP' must have class/struct/union type
type is ''unknown-type''
G-Logic\GLCharSkillMsg.cpp(55) : error C3861: 'NetMsgMoney': identifier not found, even with argument-dependent lookup
G-Logic\GLCharSkillMsg.cpp(56) : error C2228: left of '.lnVoteP' must have class/struct/union type
type is ''unknown-type''
G-Logic\GLCharSkillMsg.cpp(56) : error C3861: 'NetMsgMoney': identifier not found, even with argument-dependent lookup
G-Logic\GLCharSkillMsg.cpp(57) : error C3861: 'NetMsgMoney': identifier not found, even with argument-dependent lookup
GLGaeaClient.cpp
G-Logic\GLGaeaClient.cpp(2835) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
G-Logic\GLGaeaClient.cpp(2963) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
G-Logic\GLGaeaClient.cpp(2992) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data

Fix:

GlogixExPC.cpp
void GLCHARLOGIC::LEARN_SKILL_NONSCROLL ( SNATIVEID skill_id )
{
PGLSKILL pSkill = GLSkillMan::GetInstance().GetData ( skill_id.wMainID, skill_id.wSubID );
if ( !pSkill ) return;

SKILL::SLEARN_LVL &sSKILL_LEARN_LVL = pSkill->m_sLEARN.sLVL_STEP[0];
if ( m_dwSkillPoint < sSKILL_LEARN_LVL.dwSKP ) return;

SCHARSKILL* pCharSkill = GETLEARNED_SKILL( skill_id );
if ( !pCharSkill )
{
if ( m_lnMoney < int(GLCONST_CHAR::lnSKILL_PREREQ[skill_id.wMainID][skill_id.wSubID])) return; // sSKILL_LEARN_LVL.dwMoneyReq ) return;
}

if ( m_lnVoteP < sSKILL_LEARN_LVL.dwVotePoint ) return;
if ( m_lnPremP < sSKILL_LEARN_LVL.dwPremPoint ) return;

m_dwSkillPoint -= sSKILL_LEARN_LVL.dwSKP;

if ( !pCharSkill )
{
m_lnMoney -= int(GLCONST_CHAR::lnSKILL_PREREQ[skill_id.wMainID][skill_id.wSubID]); //sSKILL_LEARN_LVL.dwMoneyReq;
}

m_lnVoteP -= sSKILL_LEARN_LVL.dwVotePoint;
m_lnPremP -= sSKILL_LEARN_LVL.dwPremPoint;

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

if ( pSkill->m_sBASIC.emROLE == SKILL::EMROLE_PASSIVE )
{
INIT_DATA ( FALSE, FALSE );
}
}

GlogicEx.h

void LEARN_SKILL_NONSCROLL ( SNATIVEID skill_id );

Comment if errors occured. Thanks.

Credits: Me again
MORE POWER ! :love:
 

Attachments

You must be registered for see attachments list
Last edited:
Skilled Illusionist
Joined
Apr 17, 2012
Messages
348
Reaction score
29
is this the source for activating/opening the skill with gold requirements only? or?
 
Newbie Spellweaver
Joined
Feb 24, 2015
Messages
57
Reaction score
7
GLCharSkillMsg.cpp
G-Logic\GLCharSkillMsg.cpp(41) : error C3861: 'LEARN_SKILL_NONSCROLL': identifier not found, even with argument-dependent lookup
G-Logic\GLCharSkillMsg.cpp(53) : error C2039: 'SNETPC_UPDATE_MONEYTYPE' : is not a member of 'GLMSG'
G-Logic\GLCharSkillMsg.cpp(53) : error C2065: 'SNETPC_UPDATE_MONEYTYPE' : undeclared identifier
G-Logic\GLCharSkillMsg.cpp(53) : error C2146: syntax error : missing ';' before identifier 'NetMsgMoney'
G-Logic\GLCharSkillMsg.cpp(53) : error C2065: 'NetMsgMoney' : undeclared identifier
G-Logic\GLCharSkillMsg.cpp(54) : error C2228: left of '.lnGold' must have class/struct/union type
type is ''unknown-type''
G-Logic\GLCharSkillMsg.cpp(54) : error C3861: 'NetMsgMoney': identifier not found, even with argument-dependent lookup
G-Logic\GLCharSkillMsg.cpp(55) : error C2228: left of '.lnPremP' must have class/struct/union type
type is ''unknown-type''
G-Logic\GLCharSkillMsg.cpp(55) : error C3861: 'NetMsgMoney': identifier not found, even with argument-dependent lookup
G-Logic\GLCharSkillMsg.cpp(56) : error C2228: left of '.lnVoteP' must have class/struct/union type
type is ''unknown-type''
G-Logic\GLCharSkillMsg.cpp(56) : error C3861: 'NetMsgMoney': identifier not found, even with argument-dependent lookup
G-Logic\GLCharSkillMsg.cpp(57) : error C3861: 'NetMsgMoney': identifier not found, even with argument-dependent lookup
GLGaeaClient.cpp
G-Logic\GLGaeaClient.cpp(2835) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
G-Logic\GLGaeaClient.cpp(2963) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
G-Logic\GLGaeaClient.cpp(2992) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
 
Experienced Elementalist
Joined
Jun 24, 2011
Messages
263
Reaction score
75
GLCharSkillMsg.cpp
G-Logic\GLCharSkillMsg.cpp(41) : error C3861: 'LEARN_SKILL_NONSCROLL': identifier not found, even with argument-dependent lookup
G-Logic\GLCharSkillMsg.cpp(53) : error C2039: 'SNETPC_UPDATE_MONEYTYPE' : is not a member of 'GLMSG'
G-Logic\GLCharSkillMsg.cpp(53) : error C2065: 'SNETPC_UPDATE_MONEYTYPE' : undeclared identifier
G-Logic\GLCharSkillMsg.cpp(53) : error C2146: syntax error : missing ';' before identifier 'NetMsgMoney'
G-Logic\GLCharSkillMsg.cpp(53) : error C2065: 'NetMsgMoney' : undeclared identifier
G-Logic\GLCharSkillMsg.cpp(54) : error C2228: left of '.lnGold' must have class/struct/union type
type is ''unknown-type''
G-Logic\GLCharSkillMsg.cpp(54) : error C3861: 'NetMsgMoney': identifier not found, even with argument-dependent lookup
G-Logic\GLCharSkillMsg.cpp(55) : error C2228: left of '.lnPremP' must have class/struct/union type
type is ''unknown-type''
G-Logic\GLCharSkillMsg.cpp(55) : error C3861: 'NetMsgMoney': identifier not found, even with argument-dependent lookup
G-Logic\GLCharSkillMsg.cpp(56) : error C2228: left of '.lnVoteP' must have class/struct/union type
type is ''unknown-type''
G-Logic\GLCharSkillMsg.cpp(56) : error C3861: 'NetMsgMoney': identifier not found, even with argument-dependent lookup
G-Logic\GLCharSkillMsg.cpp(57) : error C3861: 'NetMsgMoney': identifier not found, even with argument-dependent lookup
GLGaeaClient.cpp
G-Logic\GLGaeaClient.cpp(2835) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
G-Logic\GLGaeaClient.cpp(2963) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
G-Logic\GLGaeaClient.cpp(2992) : warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data

First post updated
 
Initiate Mage
Joined
May 24, 2015
Messages
4
Reaction score
0
Sir, you can you include the button code. Thanks



2i6rvyR - Activate Skill without scroll - Source Code - RaGEZONE Forums
 

Attachments

You must be registered for see attachments list
Skilled Illusionist
Joined
Dec 16, 2012
Messages
341
Reaction score
126
2i6rvyR - Activate Skill without scroll - Source Code - RaGEZONE Forums


PHP:
Change this:
int(GLCONST_CHAR::lnSKILL_PREREQ[skill_id.wMainID][skill_id.wSubID])

To this:
int(GLSkillMan::GetInstance().GetData ( skill_id.wMainID, skill_id.wSubID ))

Button Code:
I just used the same button.
PHP:
				//add money skill
				//Activate Skill w/o Scroll - NaJ May 08, 2015
				else if ( dwMsg & UIMSG_LB_UP ){
					GLGaeaClient::GetInstance().GetCharacter()->ReqNonInvenSkill ( m_sNativeID );
					DoModal ( "Learn Skill using Gold? Requirement must be complete.", MODAL_QUESTION, YESNO, MODAL_SKILL_LEVEL_UP_CONFIRM );
				}

It's up to you if you'll gonna use this code. Because it has a bug haha
 

Attachments

You must be registered for see attachments list
Last edited:
Initiate Mage
Joined
May 24, 2015
Messages
4
Reaction score
0
PHP:
                //add money skill
                //Activate Skill w/o Scroll - NaJ May 08, 2015
                else if ( dwMsg & UIMSG_LB_UP ){
                    GLGaeaClient::GetInstance().GetCharacter()->ReqNonInvenSkill ( m_sNativeID );
                    DoModal ( "Learn Skill using Gold? Requirement must be complete.", MODAL_QUESTION, YESNO, MODAL_SKILL_LEVEL_UP_CONFIRM );
                }

It's up to you if you'll gonna use this code. Because it has a bug haha
Hehe yeah i just tested it and bug ^_^.
Thanks for the source and i hope someone who is so kind to give clean button code :(
 
Last edited:
Experienced Elementalist
Joined
Jun 24, 2011
Messages
263
Reaction score
75
Just track the SNATIVEID of the skill and attach it inside like this

SNATIVEID sSkillID = pSkill->m_sBasic.sNativeID; // This is the skill id for example
GLGaeaClient::GetInstance().GetCharacter()->ReqNonInvenSkill ( sSkillID );
 
Initiate Mage
Joined
May 24, 2015
Messages
4
Reaction score
0
Hahaha can't figure it out how to make a clean button code "Lack of knowledge in source" LOL
Thanks for this code Jan. Im still waiting for someone hehehe
 
Junior Spellweaver
Joined
Jan 3, 2009
Messages
166
Reaction score
6
ill try diz code but i got problem in Skillslot.cpp got error Like Cost ' 0 ' skillpoint.. hmmm..
 
Newbie Spellweaver
Joined
Jul 18, 2019
Messages
52
Reaction score
1
up? on how the button works (I mean code)? everything works fine with me but i think nothing happens cuz I didn't do the button part. Thank in advance
 
Experienced Elementalist
Joined
Mar 10, 2011
Messages
229
Reaction score
50
up? on how the button works (I mean code)? everything works fine with me but i think nothing happens cuz I didn't do the button part. Thank in advance


up i hope we could make this work in urban source ;) i saw ur post there about this thing gold to unlock skills.. cause urban is scroll based... can't do source now because of lock down no internet source.. may i ask if u already add this on source code and compiled it and no error ? :)
 
Newbie Spellweaver
Joined
Jul 18, 2019
Messages
52
Reaction score
1
up i hope we could make this work in urban source ;) i saw ur post there about this thing gold to unlock skills.. cause urban is scroll based... can't do source now because of lock down no internet source.. may i ask if u already add this on source code and compiled it and no error ? :)

I did add the buttons without errors in visual studio but a crappy one (image link here:
janmaru5555 - Activate Skill without scroll - Source Code - RaGEZONE Forums
) and I was trying to fix it, but I really messed up my source with those crappy buttons good thing I did back up before messing my source. And then I get the idea of scrolls then I just switch to scrolls. HAHA
 
Experienced Elementalist
Joined
Mar 10, 2011
Messages
229
Reaction score
50
I did add the buttons without errors in visual studio but a crappy one (image link here:
janmaru5555 - Activate Skill without scroll - Source Code - RaGEZONE Forums
) and I was trying to fix it, but I really messed up my source with those crappy buttons good thing I did back up before messing my source. And then I get the idea of scrolls then I just switch to scrolls. HAHA

I see so you messed up ur gui well if u compile it without error on ur source code it might be not too difficult to fix it in ur gui.. cause gui is only client sidr and it will not effect the server side even if u messed around with ur gui files... Im gonna try to do this when the lockdown is lifted for now im just gonna wish for all of us to be safe.. god bless humanity. ??????
 
Newbie Spellweaver
Joined
Jul 18, 2019
Messages
52
Reaction score
1
I see so you messed up ur gui well if u compile it without error on ur source code it might be not too difficult to fix it in ur gui.. cause gui is only client sidr and it will not effect the server side even if u messed around with ur gui files... Im gonna try to do this when the lockdown is lifted for now im just gonna wish for all of us to be safe.. god bless humanity. ������

Well, In my case, our situation right now gives us opportunity to spend more time in stuff like this. :) Yeah, I will still try to fix the GUI since I don't have an error on the source and soon post the solution here. God bless to all of us!
 
Back
Top