Sziasztok Azért írok nektek mert volna 1 olyan baj az új revvel amit TC ről lehet letölteni 3.3.5 re h a DK nak a Death pact nevű spellje arra szolgálna hogy megöli a petemet és 20 % ot healelne nos ez mindenhol úgy néz ki hogy megöl nagyon nagy yardos körzetben mindent! hp tól független és a dk is meghal ! szerintem elég nagy hiba és nem találom hogy mi lehet a gond próbáltam már azt hogy a TrinityCore / src / server / scripts / Spells / spell_dk.cpp ben kiszedtem a spellt de akkoris ezt csinálja 1 korábbi rev ben viszont ez teljesen jól ment és akkor más volt a dk nak a scriptje is pl benne sem volt probáltam azt is h kicserélem az újat a régire és akkoris ezt csinálja a spell de a régebbi core ban illetve az core még ugyan ez csak a frissitések újjak benne pl scriptek stb ... nah tehát ott rendesen megy a spell akkor hol a hiba ? meik script lenne és ha nem scipt akkor mi lehet ez elöre is köszönöm szépen a válaszokat.
hali jaja ezzel a problémával én is szenvedek és én is megjártam ezeket az utakat engem is érdekelne valami okosabb ember hozzá szólása :)
először is, amíg nem működik addig szerintem kapcsold ki hogy a játékosok ne éljenek vissza vele (disabled tábla) , aztán keresd ki a spell id-jét, és ctrl-f fel az egész solutionben és a dk scriptek között nézd végig, és ha megtalálod magát a spell scriptjét akkor lődd fel pastebinre és küld el, ránézek
class spell_dk_death_pact : public SpellScriptLoader
{
public:
spell_dk_death_pact() : SpellScriptLoader("spell_dk_death_pact") { }
class spell_dk_death_pact_SpellScript : public SpellScript
{
PrepareSpellScript(spell_dk_death_pact_SpellScript);
void FilterTargets(std::list<Unit*>& unitList)
{
Unit* unit_to_add = NULL;
for (std::list<Unit*>::iterator itr = unitList.begin() ; itr != unitList.end(); ++itr)
{
if ((*itr)->GetTypeId() == TYPEID_UNIT
&& (*itr)->GetOwnerGUID() == GetCaster()->GetGUID()
&& (*itr)->ToCreature()->GetCreatureInfo()->type == CREATURE_TYPE_UNDEAD)
{
unit_to_add = (*itr);
break;
}
}
unitList.clear();
if (unit_to_add)
unitList.push_back(unit_to_add);
else
{
// Pet not found - remove cooldown
if (Player* modOwner = GetCaster()->GetSpellModOwner())
modOwner->RemoveSpellCooldown(GetSpellInfo()->Id, true);
FinishCast(SPELL_FAILED_NO_PET);
}
}
void Register()
{
OnUnitTargetSelect += SpellUnitTargetFn(spell_dk_death_pact_SpellScript::FilterTargets, EFFECT_1, TARGET_UNIT_AREA_ALLY_DST);
}
};
SpellScript* GetSpellScript() const
{
return new spell_dk_death_pact_SpellScript();
}
};
am
de ahogy eln
próbáld ki... :)