Auto max skill on level up

Status
Not open for further replies.
Joined
Dec 23, 2008
Messages
425
Reaction score
15
Hi, I have tried this guide on max skill upon leveling up, but it didn't work- skills don't get maxed.

This is the part of my code of Mover.cpp:

PHP:
#if __VER >= 11 // __SYS_PLAYER_DATA
		g_dpDBClient.SendUpdatePlayerData( (CUser*)this );
#else	// __SYS_PLAYER_DATA
		g_DPCoreClient.SendPartyMemberJob( (CUser*)this );
		g_DPCoreClient.SendFriendChangeJob( (CUser*)this );
		if( m_idGuild != 0 )
			g_DPCoreClient.SendGuildChangeJobLevel( (CUser*)this );
#endif	// __SYS_PLAYER_DATA
		SetHitPoint( GetMaxHitPoint() );
		SetManaPoint( GetMaxManaPoint() );
		SetFatiguePoint( GetMaxFatiguePoint() );
	
		g_UserMng.AddSetLevel( this, (WORD)m_nLevel );
		( (CUser*)this )->AddSetGrowthLearningPoint( m_nRemainGP );
		( (CUser*)this )->AddSetExperience( GetExp1(), (WORD)m_nLevel, m_nSkillPoint, m_nSkillLevel );
		( (CUser*)this )->m_playTaskBar.InitTaskBarShorcutKind( SHORTCUT_SKILL );
		( (CUser*)this )->AddTaskBar();
		((CUser*)this)->AddSetState( m_nStr, m_nSta, m_nDex, m_nInt, m_nRemainGP );
#if __VER >= 13 // __HONORABLE_TITLE			// ´ÞÀÎ
		((CUser*)this)->CheckHonorStat();
		((CUser*)this)->AddHonorListAck();
		g_UserMng.AddHonorTitleChange( this, m_nHonor);
#endif	// __HONORABLE_TITLE			// ´ÞÀÎ
	}
#endif // __WORLDSERVER

#ifdef __WORLDSERVER
	//  CUser* pUser;

	LPSKILL pSkill = NULL;
	ItemProp* pSkillProp = NULL;

	for (int i = 0; i < MAX_SKILL_JOB; i++)
	{
		pSkill = &(((CUser*)this)->m_aJobSkill[i]);

		if (pSkill == NULL || pSkill->dwSkill == 0xffffffff)
			continue;

		pSkillProp = prj.GetSkillProp(pSkill->dwSkill);

		if (pSkillProp == NULL)
			continue;

		pSkill->dwLevel = pSkillProp->dwExpertMax;
		((CUser*)this)->AddSetSkill(pSkill->dwSkill, pSkill->dwLevel);
	}
#endif // __WORLDSERVER 
}

Not sure if I missed something.

The files are V19 official.

Thanks!
 
There is no such thing as V19 official files.

The proper and fixed auto max skill is usually defined as -> __AUTO_MAX_SKILL

You can get that from this source:
 
Upvote 0
There is no such thing as V19 official files.

The proper and fixed auto max skill is usually defined as -> __AUTO_MAX_SKILL

You can get that from this source:
Thanks!
I was sure it's official V19, not sure where I downloaded it but the folder says K18-VS19 (probably Visual studio 19)

Per your message:

1. I added all blocks with #define __AUTO_SKILL_MAX (also quick job change),
2. rebuild the project
3. Copied the output (account, world server etc)
4. executed merger2.exe and copied the datasub's to the client

I still don't see anything works - the max level skills and the quick jobchange.
Any idea if i'm missing something?
 
Upvote 0
Thanks!
I was sure it's official V19, not sure where I downloaded it but the folder says K18-VS19 (probably Visual studio 19)

Per your message:

1. I added all blocks with #define __AUTO_SKILL_MAX (also quick job change),
2. rebuild the project
3. Copied the output (account, world server etc)
4. executed merger2.exe and copied the datasub's to the client

I still don't see anything works - the max level skills and the quick jobchange.
Any idea if i'm missing something?

Make sure you have defined __AUTO_SKILL_MAX

Also those are my files not retail and yes VS19 is Visual Studio 2019 :P
 
Upvote 0
Make sure you have defined __AUTO_SKILL_MAX

Also, those are my files not retail and yes VS19 is Visual Studio 2019 :P

So K means "Ketchup"! Mystery solved :lol:
I double-checked the __AUTO_SKILL_MAX definition, indeed I forgot to add it in VersionCommon of Neuz, I added it only in VersionCOmmon of World.

I have compilation issue now on the quick job change:

1>MoverParam.obj : error LNK2019: unresolved external symbol "public: __thiscall CWndJobChangeEx::CWndJobChangeEx(void)" (??0CWndJobChangeEx@@QAE@XZ) referenced in function "public: int __thiscall CMover::SetExperience(__int64,int)" (?SetExperience@CMover@@QAEH_JH@Z)

Not sure what this error means, Microsoft docs didn't help :D
 
Upvote 0
So K means "Ketchup"! Mystery solved :lol:
I double-checked the __AUTO_SKILL_MAX definition, indeed I forgot to add it in VersionCommon of Neuz, I added it only in VersionCOmmon of World.

I have compilation issue now on the quick job change:

1>MoverParam.obj : error LNK2019: unresolved external symbol "public: __thiscall CWndJobChangeEx::CWndJobChangeEx(void)" (??0CWndJobChangeEx@@QAE@XZ) referenced in function "public: int __thiscall CMover::SetExperience(__int64,int)" (?SetExperience@CMover@@QAEH_JH@Z)

Not sure what this error means, Microsoft docs didn't help :D

Make sure your WndChangeJob files are added to your neuz.
 
Upvote 0
Make sure your WndChangeJob files are added to your neuz.

Thanks, I added it through the VS instead of copy paste and it did recognize it,
but now my client crash when I reach Lv.15 (auto max skill works! )

Is there a way to check why the client has crashed to debug if something is missing?
 
Upvote 0
Thanks, I added it through the VS instead of copy paste and it did recognize it,
but now my client crash when I reach Lv.15 (auto max skill works! )

Is there a way to check why the client has crashed to debug if something is missing?

Make sure the app is in ResData & your using the current ResData's.
 
Upvote 0
Status
Not open for further replies.
Back