[Intermédiaire] Tous les talents à la création
Salut je vous partage un petit script que j'ai fait et qui a été corrigé par un amis (Lawys) destiné pour les serveurs FUN / UltraFUN, consistant à donner tout les talents à la création du personnage. Ce script est fonctionnel en 3.3.5a sous TrinityCore (dernière revision)

#include "ScriptPCH.h"

class login_script : public PlayerScript
{
public:
	login_script() : PlayerScript("login_script") { }

	void OnCreate(Player* player)
	{
		for (uint32 i = 0; i < sTalentStore.GetNumRows(); ++i)
		{
			TalentEntry const* talentInfo = sTalentStore.LookupEntry(i);
			if (!talentInfo)
				continue;

			TalentTabEntry const* talentTabInfo = sTalentTabStore.LookupEntry(talentInfo->TalentTab);
			if (!talentTabInfo)
				continue;

			uint32 classMask = player->getClassMask();
			if ((classMask & talentTabInfo->ClassMask) == 0)
				continue;

			// On cherche le rang maximum.
			uint32 spellId = 0;
			for (int8 rank = MAX_TALENT_RANK - 1; rank >= 0; --rank)
			{
				if (talentInfo->RankID[rank] != 0)
				{
					spellId = talentInfo->RankID[rank];
					break;
				}
			}

			if (!spellId)
				continue;

			SpellInfo const* spellInfo = sSpellMgr->GetSpellInfo(spellId);
			if (!spellInfo || !SpellMgr::IsSpellValid(spellInfo, player->GetSession()->GetPlayer(), false))
				continue;

			// On lui ajoute les sorts de rang maximum.
			player->learnSpellHighRank(spellId);
			player->AddTalent(spellId, player->GetActiveSpec(), true);
		}
		player->SetFreeTalentPoints(0);
		player->SaveToDB();
	}
};

void AddSC_login_script()
{
	new login_script();
}
Merci !

Retourner en haut WoW-Emu