• Страница 1 из 1
  • 1
Архив - только для чтения
Модератор форума: andycrowz  
Телепортация существа в другую мапу.
_dm666
<3 Death Metal
Не могу понять, как это сделать.
Имеется функция
Код
me->FarTeleportTo(аргументы,...)
. В этой функции первый аргумент идет от класса Map. Не могу понять, как объявить переменную(примеры в ядре не нашел толковые). Подошла бы функция
Код
SetPositinion(args...)
или
Код
Relocate(...)
, но они работают в пределах карты.
Есть вариант через базу. Примером для этого служит команда npc move, но я думаю, что это неподходящий вариант.
Есть какие-то еще варианты?
Вариант со спавном не прокатывает, так как босс привязан к инсту. И при суммоне, по идее, вызывается Reset(), а это не приведет ни к чему хорошему. Будет ли верным такое решение: проверить условие
Код
if(instance->GetData(data) == NOT_STARTED) {}
, если оно верно, то реснуть все переменные.
В общем, буду благодарен полезным советам.
С меня +15.
Сообщение # 1 написано 09.01.2014 в 23:36
Stormtrooper
Командир
Блин нафига такие сложности?
Не проще деспавн моба в одном месте и суммон в другом?
Да моб будет не один и тот же, но по факту никакой разницы
Если вопрос в синхронизации ХП то есть функция GetHealth и SetHealth
Вобщем не понимаю зачем городить огороды с телепортом
Если помог, ставь плюсик в репу :)

Сообщение # 2 отредактировано Stormtrooper - Пятница, 10.01.2014, 09:54
_dm666
<3 Death Metal
Цитата Stormtrooper ()
Блин нафига такие сложности?

Какая разница?
Если есть варианты, то почему бы не предложить их?
Про спавн я писал.
Сообщение # 3 написано 10.01.2014 в 11:40
saji
Не проще просто удалить моба и добавить по координатам туда, куда надо?
Сообщение # 4 написано 10.01.2014 в 12:04
_dm666
<3 Death Metal
saji, а если определенная фаза протекает?
При спавне будет повтор скрипта. Мне этого не надо.
Сообщение # 5 написано 10.01.2014 в 16:59
Vicher
Admin
Код
Creature::FarTeleportTo(Map* map, float X, float Y, float Z, float O)


но там написано, что не рекомендуется использовать данную функцию, и её действительно не стоит использовать.
Некоторые скрипты (по крайней мере раньше) использовали инициализацию внутренних переменных Creature*, например, в момент спавна моба. Соответственно, перемещение моба в другую карту не будет замечено скриптом и эта переменная и дальше будет использоваться рассчитывая на то, что моб находится в той же карте, к которой был привязан InstanceScript

Лучше действительно создать нового моба на другой карте. А передать информацию о фазах и т.д. можно используя AI у нового моба.
Сообщение # 6 отредактировано Vicher - Пятница, 10.01.2014, 22:34
  • Страница 1 из 1
  • 1
Поиск: