Ru-MaNGOS

Вернуться   Ru-MaNGOS > Флуд > Флудильня

Важная информация

Флудильня Разговоры на любые темы.

Мы устаем постоянно работать. Иногда надо где-то немного отдохнуть. Пожалуйста, не надо здесь устраивать бардак.

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.08.2013, 11:32   #11
LordJZ
Супер-модератор
 
Аватар для LordJZ
 
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
LordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранита
По умолчанию

Нашёл старый код, действительно, хватает двух полей: Spell и SpellVisual.

Но позже я переключился на создание маркеров юнитами:
Код:
void AddHighlight(WowGameObject go)
{
    if (!m_highlightedEntities.ContainsKey(go.Guid))
    {
        var highlighterGuid = new WowGuid(WowGuidType.Creature, 46645, ++m_dynamicObjectCounter);

        var unit = new WowUnit();

        var movement = new MovementInfo(highlighterGuid);
        movement.Living = true;
        movement.Position = go.MovementData.Position;
        movement.Orientation = 3.141593f;
        movement.TimeStamp = 2751961664;

        unit.MovementData = movement;
        unit.Guid = highlighterGuid;
        unit.Scale = Math.Max(go.Scale, 1.0f);
        unit.Entry = 46645;
        unit.Class = Classes.Warrior;
        unit.Gender = Genders.None;
        unit.PowerType = PowerType.Rage;
        unit.Health = 4979;
        unit.MaxHealth = 4979;
        unit.Level = 60;
        unit.Model = unit.NativeModel = 37259;
        unit.Faction = 190;
        unit.Flags2 = UnitFlags2.Flag_0x800;
        unit.BoundingRadius = 1.595f;
        unit.CombatReach = 1.65f;

        std.CreateObject(unit);

        var aura = new Aura();
        aura.AppliedTime = (uint)Environment.TickCount;
        aura.Caster = highlighterGuid;
        aura.Slot = 0;
        aura.Level = 60;
        aura.Flags = AuraFlags.EffectIndex_0 | AuraFlags.Positive | AuraFlags.NotCaster;
        aura.Spell = Global_HighlightSparklingGOs_Spell;
        aura.Unit = highlighterGuid;

        var auraUpdate = new AuraUpdate(highlighterGuid);
        auraUpdate.Full = true;
        auraUpdate.Auras.Add(aura);
        Send(auraUpdate);

        m_highlightedEntities.Add(go.Guid, highlighterGuid);
    }
}
LordJZ вне форума   Ответить с цитированием
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кровавая метка (49005) frenk Баг-репорты 7 29.03.2010 14:43


Текущее время: 16:45. Часовой пояс GMT +3.


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot