Алексей, _G по умолчанию является глобальным пространством, но это можно изменить. Я предположил, что запущенная игра всего одна, и в ней создаются изолированно объекты. Так реализовано в некоторых других играх. Увы, не могу понять что из себя представляет клиент, как работает игра и как работает создание объекта.
Файл один из простых вариантов, но он не потокобезопасный. Если в файл напишут только один раз, то ок. но таким же образом можно и таблицу в Lua написать для всех объектов на чтение
aselockd, в мультиплеерном режиме клиент вызывает эти функции дважды:
1. Предсказывающая анимация. Вызывается моментально при нажатии и нужна, чтобы клиенту казалось, что действительно произошло моментально (хотя на самом деле пройдёт 10-30мс задержки пока клиент получит ответ от сервера)
2. Клиент получит ответ от сервера, что действия зарегистрировано.
Test = nil
function AI(myid)
print(Test)
Test = myid
end
Если игра использует то же глобальное пространство, то переменная Test сначала будет nil, а при создании второго объекта выведет в консоль ID предыдущего объекта.
Надеюсь, там есть консоль или место, куда выводить текст :-)
Алексей, Странно, что логика находится у клиента. Может, всё проще? Может через глобальные переменные они смогут увидеть друг друга? Можно прислать документацию, возможно, там будет понятнее. Либо найти тематический форум этой игры
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Файл один из простых вариантов, но он не потокобезопасный. Если в файл напишут только один раз, то ок. но таким же образом можно и таблицу в Lua написать для всех объектов на чтение