DK hibás script ?!

Indította henrikd555, 2011 február 16, 03:47:38 DÉLELŐTT

Előző téma - Következő téma

henrikd555

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.

Xvid

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 :)

$0undX

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

Xvid

#3
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

Xvid


$0undX


Powered by EzPortal