Encore cette commande !
Cette fois ça crash et le debugger me donne

[Image: captur-1308595631.png]

avec le code
[code=cpp]/* ==== PREMIER METIER ==== */
QueryResult_AutoPtr FirstWork = CharacterDatabase.PQuery("SELECT FirstWork FROM new_recup WHERE PGUID = %u" , pGUID);
QueryResult_AutoPtr FirstWorkLvl = CharacterDatabase.PQuery("SELECT FirstWorkLvl FROM new_recup WHERE PGUID = %u" , pGUID);
uint32 id_compf = FirstWork->Fetch()->GetUInt32();//l'id de la comp , dans la DB (f pour first)
uint32 id_spellf = FirstWorkLvl->Fetch()->GetUInt32();//l'id du spell (apprenti , toussa toussa) dans la DB aussi ?
pPlayer->learnSkillRewardedSpells2(id_compf , id_spellf);[/code]


le but ici c'est de donner les métiers donc j'ai refait une fonction dans Player.cpp sur le modèle d'une autre

[code=cpp]void Player::learnSkillRewardedSpells2(uint32 skill_id , uint32 spell_id)
{
uint32 raceMask = getRaceMask();
uint32 classMask = getClassMask();
for (uint32 j=0; j<sSkillLineAbilityStore.GetNumRows(); ++j)
{
SkillLineAbilityEntry const *pAbility = sSkillLineAbilityStore.LookupEntry(j);
if (!pAbility || pAbility->skillId != skill_id || pAbility->learnOnGetSkill != ABILITY_LEARNED_ON_GET_PROFESSION_SKILL)
continue;
// Check race if set
if (pAbility->racemask && !(pAbility->racemask & raceMask))
continue;
// Check class if set
if (pAbility->classmask && !(pAbility->classmask & classMask))
continue;

if (sSpellStore.LookupEntry(pAbility->spellId))
{
// Ok need learn spell
learnSpell(pAbility->spellId);
}
if(sSpellStore.LookupEntry(spell_id))
{
break;
}
}

}
[/code]

Le but est simple : Quand le spell que la fonction a appris au player est un truc du style apprenti ou compagnon (ça c'est ma DB qui me le précise) , il faut que ça casse ma boucle et que la fonction se finisse

Voilà si vous avez une idée (sachant que c'est pas la première fois que le debugger me link cette fonction de merde) , aussi en sachant que quand je met continuer il me relink la même (donc ça serait dans une boucle ?)

Réfléction réfléction Hihi

Retourner en haut Accueil