hovardvolovitz Posted July 2, 2016 Share Posted July 2, 2016 (edited) Всем привет. Подскажите пожалуйста, при работе скрипта функции в нем могут выполнятся параллельно? И если да, то могут ли функции одновременно модифицировать таблицу? Объясню почему возник такой вопрос: пишу аддон что-то типа баффанонса. В данный момент бафы у меня добавляются и удаляются во время событий 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? Edited July 2, 2016 by hovardvolovitz Quote Link to comment Share on other sites More sharing options...
Recommended Posts