I did something like this with my C++ vip system. It adds extra talent points for vip levels. but you could could probably review my cheatsheat to get an idea of where to start.
Code:
/////////////////////////////////////////////////////
/////////////////////////////////////////////////////
-----------------------------------------------------
src/server/game/entities/
Player.cpp
[CODE] line 3157 - void Player::InitTalentForLevel()
uint32 VIP_TP_BONUS = sWorld->getIntConfig(CONFIG_VIP_TP_BONUS);
uint8 Pvip = sAccountMgr->GetVIP(GetSession()->GetAccountId());
uint32 TPMOD = (Pvip * VIP_TP_BONUS);
uint32 talentPointsForLevel = CalculateTalentsPoints();
Code:
line 3164 - void Player::InitTalentForLevel()
if (m_usedTalentCount > (talentPointsForLevel + TPMOD))
Code:
line 3158 - void Player::InitTalentForLevel()
SetFreeTalentPoints((talentPointsForLevel + TPMOD) - m_usedTalentCount);
-----------------------------------------------------
Code:
line 4415 - bool Player::resetTalents(bool no_cost)
uint8 VIP_TP_BONUS = sWorld->getIntConfig(CONFIG_VIP_TP_BONUS);
uint8 Pvip = sAccountMgr->GetVIP(GetSession()->GetAccountId());
uint32 TPMOD = (Pvip * VIP_TP_BONUS);
Code:
line 4430 - bool Player::resetTalents(bool no_cost)
SetFreeTalentPoints(talentPointsForLevel + TPMOD);
Code:
line 4492 - bool Player::resetTalents(bool no_cost)
SetFreeTalentPoints(talentPointsForLevel + TPMOD);
-----------------------------------------------------
/////////////////////////////////////////////////////
[/CODE]
instead of using the vip level you can use the acct security level.
it works thru resets
you could change
uint8 VIP_TP_BONUS = 9;
uint8 Pvip = 0;
then add a check if(player:IsGM()) to set Pvip to 1 then if not it will stay 0 and affect the the math lol
add this after the check
uint32 TPMOD = (Pvip * VIP_TP_BONUS);