• Страница 1 из 1
  • 1
Архив - только для чтения
Модератор форума: andycrowz  
Скрипт обнаружения и захвата конкретного моба
Stormtrooper
Командир
Привет всем
Имеется задача:
Кучка мобов должна обнаружить рядом с собой другого моба и если он жив то они делают одной действие, а если моб умер то делают другое действие
Я знаю как написать такой скрипт но есть проблема - если рядом оказывается ДРУГОЙ труп моба с таким же Entry - то кучка мобов так же отрабатывает действие - а это не правильно
Они должны отработать действие только если убит моб который был рядом с ними ИЗНАЧАЛЬНО - тоесть надо запомнить его GUID и работать дальше только с ним!

Подскажите как это сделать
Если помог, ставь плюсик в репу :)

Сообщение # 1 написано 07.10.2014 в 17:46
infinium
Маршал
Сам же ответил на свой вопрос, по гуиду делай проверку. В чем проблема то? Даже на смарте был чек по гуиду, так что проблем с реализацией ч/з ядро не должно быть.
Сообщение # 2 написано 07.10.2014 в 19:04
Stormtrooper
Командир
Если бы проблем не было я бы не спрашивал
Я не знаю как это реализовать
Если для Entry есть проверка типа FindNearestCreature то для Guid такого нет а мне нужно именно обнаружение ближайшего моба и захват его Guid'a для дальнейшей работы с ним - при чём ТОЛЬКО с ним - тоесть после захвата GUID'a больше обнаружение отрабатывать не должно до респа моба или до его возврата в точку спавна (return)
например записать его в переменную для использования -> например если записать Creature* MOB = me->FindNearestCreature(Entry, range) то переменная MOB становится доступна для дальнейшего использования, но как я уже сказал выше - для GUID такой подход невозможен

Smart не предлагать - интересует только реализация в ядре
Если помог, ставь плюсик в репу :)

Сообщение # 3 отредактировано Stormtrooper - Вторник, 07.10.2014, 20:38
admiirall
Центурион
ф-ция GetDBTableGUIDLow в тс раньше так называлась.

У меня была ситуация такая - нужно было сделать после убийства боса открытие объекта, но этих объектов было много.. с одним entry но разным guid. через эту ф-цию делал. получалось)
Сообщение # 4 написано 07.10.2014 в 20:45
Stormtrooper
Командир
не совсем опять же понятно как привязать моба стоящего на определённом расстоянии к этой функции
реализацию я нашёл только в скрипте Kil'jaeden'a и там используется эта функция для работы как раз с объектами а не мобами
кроме того там реализовано через Case в котором чётко забит GUID - тоесть он не обнаруживается а забит заранее
Если помог, ставь плюсик в репу :)

Сообщение # 5 отредактировано Stormtrooper - Вторник, 07.10.2014, 20:51
_dm666
<3 Death Metal
А в этой функции нет булевой переменной? Раньше была isAlive.
Сообщение # 6 написано 07.10.2014 в 20:49
Stormtrooper
Командир
isAlive есть такая но суть в том что я пытаюсь реализовать мобов-стражников которые охраняют центрального моба
если центральный жив - они дерутся, если центральный убит - они с воплем убегают

так вот если одну такую кучку расфигачить то подтащив вторую кучку к трупам первой, стражники главного моба второй кучки видя труп главного из первой, считают что главный умер и бегут!

Добавлено (07.10.2014, 20:56)
---------------------------------------------
Схематически это выглядит так


Тоесть если Стражники 2 подойдут к трупу Главного 1 - они будут думать что их главный убит и убегут
а они не должны убегать пока Главный 2 не помрёт - тоесть они должны отслеживать своего по GUID'у и не обращать внимания на Главных в других группах
Если помог, ставь плюсик в репу :)

Сообщение # 7 отредактировано Stormtrooper - Вторник, 07.10.2014, 20:58
_dm666
<3 Death Metal
ID'ы главных одинаковы?
Сообщение # 8 написано 08.10.2014 в 00:27
Stormtrooper
Командир
Entry да одинаковые
Если помог, ставь плюсик в репу :)

Сообщение # 9 написано 08.10.2014 в 10:54
JustesS
Скаут
Сделал бы уже разных мобов, з разными идами да и все.
Сообщение # 10 написано 08.10.2014 в 11:24
Stormtrooper
Командир
глупейшее решение и абсолютно не универсальное и не гибкое
Если помог, ставь плюсик в репу :)

Сообщение # 11 написано 08.10.2014 в 12:53
_dm666
<3 Death Metal
Так ф-ция с переменной isAlive не работает что ли?
Сообщение # 12 написано 08.10.2014 в 19:17
Stormtrooper
Командир
если использовать отрицание то не работает да и дело не в этом smile мне нужен был GUID
Если помог, ставь плюсик в репу :)

Сообщение # 13 написано 08.10.2014 в 19:42
  • Страница 1 из 1
  • 1
Поиск: