Перейти к содержанию

Дайджесты за январь-февраль

Обновления гайдов и аддонов

Январь Февраль

Мониторинг серверов и редактор аддонов

Представляем вам две легенды. То, о чем можно было только мечтать, стало реальностью.

Мониторинг серверов Редактор аддонов

Подсказки из игры на вашем сайте

Теперь вы можете отображать сведения о внутриигровых элементах простым наведением курсора мыши.

Подробнее

Апдейтер аддонов

Представляем вам программу для автообновления аддонов и делимся подробностями.

Подробнее Скачать

Вопрос про IsExist


CJloHuK

Рекомендуемые сообщения

Подскажите, что я делаю не так? Перепробовал много вариантов, но даже в связке if object.IsExist( unitId ) and unit.GetRelatedQuestObjectives( unitId ) ~= nil then ловлю такие ошибки

 

Game::LuaUnitGetRelatedQuestObjectives: unit not found: 31416, details: int __cdecl Game::LuaUnitGetRelatedQuestObjectives(struct lua_State *)

Ссылка на комментарий
Поделиться на другие сайты

фз, проверь еще object.IsUnit( unitId )

 

add: вообще не должно быть такой ошибки, если есть IsExist

if unitId and  object.IsExist( unitId )  and unit.GetRelatedQuestObjectives( unitId ) then

Ссылка на комментарий
Поделиться на другие сайты

Объект может существовать, но при этом не являться юнитом. Например, это девайс. Проверьте, откуда приходит этот айдишник.

Ссылка на комментарий
Поделиться на другие сайты

По факту получаю я список ID функцией avatar.GetUnitList(), вроде она только юнитов возвращает, но да, проверку на юнит ли это я еще не испробовал... 

Ссылка на комментарий
Поделиться на другие сайты

Проверил, все равно и даже с проверкой на моб ли это вылетает ошибка... Тоесть в связке 

if object.IsExist( unitId ) and object.IsUnit( unitId ) and unit.GetRelatedQuestObjectives( unitId ) ~= nil then

идет спам 

Game::LuaUnitGetRelatedQuestObjectives: unit not found: 236369, details: int __cdecl Game::LuaUnitGetRelatedQuestObjectives(struct lua_State *)...

При чем все другое нормально отрабатывает. Видимо какой-то косяк в функции unit.GetRelatedQuestObjectives( unitId )

Изменено пользователем CJloHuK
Ссылка на комментарий
Поделиться на другие сайты

Ты эту херню

unit.GetRelatedQuestObjectives( unitId ) ~= nil

или в скобки засунь или удали лишнее





if object.IsExist( unitId ) and object.IsUnit( unitId ) and unit.GetRelatedQuestObjectives( unitId ) then

Все. Больше нифига не надо

...

А если еще ВНИМАТЕЛЬНО прочитать описание функции

avatar.GetUnitList()

Получить список всех юнитов в зоне действия аватара ( сам аватар исключается )

 

То еще 1 лишнюю проверку можно выкинуть



 if object.IsExist( unitId ) and unit.GetRelatedQuestObjectives( unitId ) then 

И в сухом остатке остается строка из 1-го поста без лишнего мусора

...

За каким было функцию с nil сравнивать яхз

Ссылка на комментарий
Поделиться на другие сайты

За каким было функцию с nil сравнивать яхз

По описанию возвращается либо таблица квестов либо nil. lua сравнит таблицу как булево? ну да ладно, начал я тестить с первой строки и спам ошибок идет во время выполнения функции unit.GetRelatedQuestObjectives( unitId )

 

Все равно так тоже спам идет.

 

Понял почему спам, он так ругается на персонажа чужого.

Изменено пользователем CJloHuK
Ссылка на комментарий
Поделиться на другие сайты

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...

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

Пользуясь сайтом, вы принимаете Условия использования