|
Новичкам Информация для всех новичков, новичкам рекомендуется задавать свои вопросы здесь |
|
Опции темы | Поиск в этой теме | Опции просмотра |
06.01.2011, 23:53 | #1 |
Гость
Сообщений: n/a
|
Обработчик команды "castspell"
Всем доброго времени суток!
Решил внедрить консольную команду castspell, которая будет кастовать спелл(делаю это для упрошения отладки спеллов, чтобы не заходить на сам сервер, а делать это через консоль) Код:
bool ChatHandler::HandleSpellDebugCommand(char *args) +{ + if (!*args) + return false; + + Unit* target = ????; + + uint32 spell = ExtractSpellIdFromLink(&args); + if (!spell) + return false; + + SpellEntry const* spellInfo = sSpellStore.LookupEntry(spell); + if (!spellInfo) + { + DEBUG_LOG("Spell %s is not exist in DBC", spell); + return false; + } + + + target->CastSpell(target, spell, false); + DEBUG_LOG("Casting spell %s ...", spell); + return true; +} |
07.01.2011, 00:04 | #2 |
Супер-модератор
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
|
Extract*Target
|
07.01.2011, 00:10 | #3 |
Гость
Сообщений: n/a
|
|
07.01.2011, 00:13 | #4 |
Супер-модератор
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
|
Функции такие. Они вам «как получить ссылку на Unit».
В соседних обработчиках чат команд есть куча примеров использования. |
07.01.2011, 00:26 | #5 | |
Гость
Сообщений: n/a
|
Цитата:
но проблема в том что мне необходимо получить указатель на обьект класса Unit что-то похожее на создание обьект в денамической памяти и передачу его указателя Код:
Unit* target = new Unit; так сказать мне нужно создать обьект класса и получить ссылку на него |
|
07.01.2011, 00:29 | #6 |
Супер-модератор
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
|
А, тогда используйте getSelectedUnit.
|
07.01.2011, 00:31 | #7 |
Гость
Сообщений: n/a
|
|
07.01.2011, 00:37 | #8 |
Супер-модератор
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
|
А как вы собрались находить Unit без цели?..
Можете прочитать гуид и поискать через него, Unit::GetUnit может быть поможет (не помню, убрали или еще нет эту ужасную функцию). |
07.01.2011, 00:41 | #9 |
Гость
Сообщений: n/a
|
я же говорю что необходимо создать временный обьект Unit который и будет целью и кастером
Код:
Unit *target = new Unit или вы считаете что каст спелла из консоли не возможен?? |
07.01.2011, 00:47 | #10 |
Супер-модератор
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
|
Найти альтернативу чему? Если вы хотите создать объект — создавайте по всем правилам, поищите в коде мангоса как. Но, имхо, это полностью извращенный метод дебага спеллов.
|
07.01.2011, 00:55 | #11 |
Гость
Сообщений: n/a
|
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[10678] Revert "[10675] Ignore BOA items reputation requirements at use." | newsbot | CMaNGOS Commits | 0 | 04.11.2010 12:30 |
[10558] Fix spell "Spinning" (64385) for item "Unusual Compass" (45984) | newsbot | CMaNGOS Commits | 0 | 29.09.2010 23:20 |
[10257] Fixed typo in "alliance" in recent commit changes. | newsbot | CMaNGOS Commits | 0 | 24.07.2010 14:30 |
[10179] Add "missing" spells in commented form for Aura::TriggerSpell() | newsbot | CMaNGOS Commits | 0 | 11.07.2010 13:40 |
[9981] For non-player at "offline" delete hostile references. | newsbot | CMaNGOS Commits | 0 | 27.05.2010 14:01 |