Ru-MaNGOS  

Вернуться   Ru-MaNGOS > Разработка скриптов > Запросы

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

Запросы Запросы на написание скриптов для NPC, Items, объектов, квестов... если проблема не связана с реализацией в ядре

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.07.2011, 13:56   #1
Mayss
Ученый
 
Аватар для Mayss
 
Регистрация: 08.03.2010
Адрес: Россия, Сибирь, Новокузнецк
Сообщений: 133
Сказал(а) спасибо: 194
Поблагодарили 19 раз(а) в 13 сообщениях
Mayss На лучшее можно только надеяться...
Отправить сообщение для Mayss с помощью Skype™
По умолчанию [Dev]Sunwell Plateau

Всем Привет!.
Нашёл у себя скрипты которые "где-то" скачал ранее и не стал их прикручивать, сейчас же откопал их и столкнулся с тем что они устарели.. что не удивительно...
Несколько проблем с которыми мне пришлось столкнутся это.

boss_kiljaeden.cpp
Код:
        //FireBloom Damage WorkArround
        if (m_uiFireBloomCheck < diff)
        {
            if(m_uiFireBloomCount < 10)
                for(uint8 i=0; i<5; ++i)
                {
                    if(Unit* FireTarget = Unit::GetUnit(*m_creature, m_uiFireBloomTarget[i]))
                        FireTarget->CastSpell(FireTarget, SPELL_FIREBLOOM_EFF, true);
                }
            ++m_uiFireBloomCount;
            m_uiFireBloomCheck = 2000;
        }else m_uiFireBloomCheck -= diff;
В 10385 Unit::GetUnit был переписал, и теперь я не знаю как правильно перевести под существующие исходники.
Пример:
Код:
if(Unit* FireTarget = Unit::GetUnit(*m_creature, m_uiFireBloomTarget[i]))
на
Код:
if (Unit* FireTarget = m_creature->GetMap()->GetCreature(m_uiFireBloomTarget[i]))
Тогда выдаёт что "error:не существует подходящего конструктора для преоброзования из "unit64" в "ObjectGuid"

Тоже и в boss_eredar_twins.cpp
Код:
        if(m_uiConfCount = 10)
        {
            if(Unit* pPlayer = Unit::GetUni(*m_creature, m_uiConfTargetGUID))
                pPlayer->RemoveAurasDueToSpell(AURA_CONF,0);
            ++m_uiConfCount;
        }
Если
Код:
if(Unit* pPlayer = Unit::GetUni(*m_creature, m_uiConfTargetGUID))
переписать на
Код:
 if (Unit* pPlayer = m_creature->GetMap()->GetCreature(m_uiConfTargetGUID))
Делается под 2.4.3 и будет добавлено по завершению сюда
Спасибо за помощь, написал сюда уже не зная как сделать правильно

Последний раз редактировалось Mayss; 04.07.2011 в 14:58.
Mayss вне форума   Ответить с цитированием
Старый 04.07.2011, 18:47   #2
MaxXx2021
Ученый
 
Аватар для MaxXx2021
 
Регистрация: 09.03.2010
Адрес: Кыргызстан
Сообщений: 266
Сказал(а) спасибо: 41
Поблагодарили 115 раз(а) в 34 сообщениях
MaxXx2021 Скоро придёт к известности
По умолчанию

Цитата:
Сообщение от Mayss Посмотреть сообщение
Всем Привет!.
Нашёл у себя скрипты которые "где-то" скачал ранее и не стал их прикручивать, сейчас же откопал их и столкнулся с тем что они устарели.. что не удивительно...
Несколько проблем с которыми мне пришлось столкнутся это.

boss_kiljaeden.cpp
Код:
        //FireBloom Damage WorkArround
        if (m_uiFireBloomCheck < diff)
        {
            if(m_uiFireBloomCount < 10)
                for(uint8 i=0; i<5; ++i)
                {
                    if(Unit* FireTarget = Unit::GetUnit(*m_creature, m_uiFireBloomTarget[i]))
                        FireTarget->CastSpell(FireTarget, SPELL_FIREBLOOM_EFF, true);
                }
            ++m_uiFireBloomCount;
            m_uiFireBloomCheck = 2000;
        }else m_uiFireBloomCheck -= diff;
В 10385 Unit::GetUnit был переписал, и теперь я не знаю как правильно перевести под существующие исходники.
Пример:
Код:
if(Unit* FireTarget = Unit::GetUnit(*m_creature, m_uiFireBloomTarget[i]))
на
Код:
if (Unit* FireTarget = m_creature->GetMap()->GetCreature(m_uiFireBloomTarget[i]))
Тогда выдаёт что "error:не существует подходящего конструктора для преоброзования из "unit64" в "ObjectGuid"
Можете снести в корзину и поставить спелу макс таргет в ядре 5 и не надо никакие выборы юнитов.
MaxXx2021 вне форума   Ответить с цитированием
Старый 04.07.2011, 20:18   #3
zergtmn
MaNGOS Dev
 
Аватар для zergtmn
 
Регистрация: 07.03.2010
Сообщений: 314
Сказал(а) спасибо: 30
Поблагодарили 153 раз(а) в 83 сообщениях
zergtmn Обладатель прекрасной аурыzergtmn Обладатель прекрасной ауры
По умолчанию

у ObjectGuid есть конструктор из uint64, но его надо вызывать явно:
Код:
ObjectGuid(m_uiFireBloomTarget[i])
Советую посмотреть в SD2 как они переходили от uint64 гуидов к ObjectGuid.
zergtmn вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[2062] Cleanup Sunwell instance scripts Squashed commit of the following: *... newsbot ScriptDev2 Commits 0 02.05.2011 16:11


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


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