Jump to content
Sign in to follow this  
Radzior

talents question

Recommended Posts

4 hours ago, Caden said:

..what?

now started talents at 10 level i want start this at 71, sorry if UNLOCK was misunderstable.

Share this post


Link to post
Share on other sites

This was researched in 2013, found through a simple GOOGLE search.

You should be able to find it in Player.cpp, here's some reference from another post, on another forum:
 

uint32 talents = 0;

if( ( Player->Class == CLASS_DEATHKNIGHT && Player->Level >= 55 ) || Player->Level >= 10 ) talents = Player->Level - 9;

 

So what you could do instead of this is first engage this at level 71

if( ( Player->Class == CLASS_DEATHKNIGHT && Player->Level >= 71 ) || Player->Level >= 71 ) talents = Player->Level - 9;

Not sure if that'll work, but it's worth giving a try.

 

So explanation time;

If the player's class is DEATHKNIGHT and their level is equal or above to 71, AND if player level is equal or above 71 then set talent points to player level - 9.

Which would result in talents=71-9

Which results in talents=62, which means, the player has 62 talent points available at level 71.

 

Not tested.

 

 

Credit goes to Syke for finding this.

Share this post


Link to post
Share on other sites
4 hours ago, Radzior said:

now started talents at 10 level i want start this at 71, sorry if UNLOCK was misunderstable.

Ah, I see.

 

2 hours ago, Babylon said:

This was researched in 2013, found through a simple GOOGLE search.

You should be able to find it in Player.cpp, here's some reference from another post, on another forum:
 

uint32 talents = 0; if( ( Player->Class == CLASS_DEATHKNIGHT && Player->Level >= 55 ) || Player->Level >= 10 ) talents = Player->Level - 9;


uint32 talents = 0;

if( ( Player->Class == CLASS_DEATHKNIGHT && Player->Level >= 55 ) || Player->Level >= 10 ) talents = Player->Level - 9;

 

So what you could do instead of this is first engage this at level 71

if( ( Player->Class == CLASS_DEATHKNIGHT && Player->Level >= 71 ) || Player->Level >= 71 ) talents = Player->Level - 9;


if( ( Player->Class == CLASS_DEATHKNIGHT && Player->Level >= 71 ) || Player->Level >= 71 ) talents = Player->Level - 9;

Not sure if that'll work, but it's worth giving a try.

 

So explanation time;

If the player's class is DEATHKNIGHT and their level is equal or above to 71, AND if player level is equal or above 71 then set talent points to player level - 9.

Which would result in talents=71-9

Which results in talents=62, which means, the player has 62 talent points available at level 71.

 

Not tested.

 

 

Credit goes to Syke for finding this.

Nice job babylon, +rep

Share this post


Link to post
Share on other sites
On 5/6/2019 at 1:34 PM, Babylon said:

 


uint32 talents = 0;

if( ( Player->Class == CLASS_DEATHKNIGHT && Player->Level >= 55 ) || Player->Level >= 10 ) talents = Player->Level - 9;

 


This is related to the talent point gains based on level rather than the actual unlocking of talent points.
The method has since been restructured and now goes by the name 
 

void Player::InitTalentForLevel()

Disabling the talent point gains per level should be as simple as changing the if statement here from 10 to 71,

// talents base at level diff (talents = level - 9 but some can be used already)
if (level < 10)

However, removing the players ability to open the talent window until they hit level 71 will require client edits, somewhere in Interface\FrameXML\Constants.lua to be more precise, according to the interface files shared here https://github.com/tomrus88/BlizzardInterfaceCode/blob/master/Interface/FrameXML/Constants.lua#L207 (These are MOP+ interface files as they require level 15 in order to gain the first talent point.)

Creating a custom patch containing an edited version of this file is fairly simple.
Create a new MPQ archive, inside it, create a folder called FrameXML, which is located in a folder called Interface, and in it place the edited version of your Constants.lua file.

Good luck.

Share this post


Link to post
Share on other sites
8 hours ago, Loud said:

Creating a custom patch containing an edited version of this file is fairly simple.

Create a new MPQ archive, inside it, create a folder called FrameXML, which is located in a folder called Interface, and in it place the edited version of your Constants.lua file.

Good luck.

Would a patch be required though? So what if they can open the talents tab, aslong as they can't spend the talent points and can't see that they have talent points, i suppose the goal is recieved.

 

@Radzior

Here's some extra help in case you're a newbie

https://github.com/TrinityCore/TrinityCore/blob/3.3.5/src/server/game/Entities/Player/Player.cpp

Change line 2669

Share this post


Link to post
Share on other sites
3 hours ago, Babylon said:

Would a patch be required though? So what if they can open the talents tab, aslong as they can't spend the talent points and can't see that they have talent points, i suppose the goal is recieved.

The user asked for a way to lock talents until a player reaches level 71. I assumed they meant locking them like they are currently locked for level 10.
If the user just generally doesn't want players to have access to spending their talent points until they reach level 71, regardless of how it's done, Syke's solution works just fine.

Share this post


Link to post
Share on other sites
1 hour ago, Loud said:

The user asked for a way to lock talents until a player reaches level 71. I assumed they meant locking them like they are currently locked for level 10.
If the user just generally doesn't want players to have access to spending their talent points until they reach level 71, regardless of how it's done, Syke's solution works just fine.

That is true, however i don't believe a patch would be that necessarry since, about 80+% already knows what talents etc. they're gonna pick.
Ofcourse this is all matter of how you want to execute it, but very interesting nonetheless.

 

Good you left it in there anyhow +rep. :PepeHype:

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

About us

MMO-Society is the Forum former known as Lordcraft, MMO-Society offers various of Resources to help you evolve your knowledge within Emulation, In the process we make sure to form a strong community bond in-between each other and thus we are proud to can admit that MMO-Society is possibly the friendliest Community Forum to currently exist.

Useful Quick-Links

×
×
  • Create New...