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

Дайджест за январь-март

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

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

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

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

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

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

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

Подробнее

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

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

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

Асинхронность функций в луа


hovardvolovitz

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

Всем привет. Подскажите пожалуйста, при работе скрипта функции в нем могут выполнятся параллельно? И если да, то могут ли функции одновременно модифицировать таблицу?

Объясню почему возник такой вопрос: пишу аддон что-то типа баффанонса. В данный момент бафы у меня добавляются и удаляются во время событий EVENT_OBJECT_BUFF_ADDED и EVENT_OBJECT_BUFF_REMOVED . Остается теперь сделать отображения оставшегося времени под этими значками бафов. Что я делаю: каждую секунду я пробегаю по моей таблице, в которой хранятся все бафы, смотрю сколько осталось времени жить бафу и вывожу его(время жизни). В определенный момент в лог начинается сыпаться куча сообщений о том что невозможно получить инфо о бафе:

Error: addon MyBuffAnnounce:   func: GetBuffInfo, field, line: -1, defined: C, line: -1, [C]
Error: addon MyBuffAnnounce:     func: ?, ?, line: 182, defined: Lua, line: 178, [string "Mods/Addons/MyBuffAnnounce/mainscript.lua"]
Error: addon MyBuffAnnounce: Game::LuaObjectGetBuffPart: Cannot get buff, details: int __cdecl Game::LuaObjectGetBuffPart(bool &,const

struct GMUIHelper::IBuffInfo *&,struct lua_State *,bool (__cdecl *)(class nstl::basic_string<char> &,class Lua::State &,class Lua::Table
  &,struct GMUIHelper::IVariableTextHelper *))

Поэтому закрадывается вопрос: не может ли одновременно выполнятся функции-обрабочики событий EVENT_SECOND_TIMER и EVENT_OBJECT_BUFF_REMOVED?

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

Присоединяйтесь к обсуждению

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

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

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

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

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

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

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

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

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

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