Здравствуйте!Одна переменная - разная в двух разных файлах скрипта lua

  • Автор темы Автор темы User123
  • Дата начала Дата начала
  • Официальное уведомление администрации CustomGames.RU
    В связи с масштабным техническим сбоем в инфраструктуре прежнего хостинг-провайдера (Beget), работа форума CustomGames.RU была оперативно перенесена на новую серверную площадку и развёрнута из резервной копии базы данных.

    • Безопасность данных: учётные записи и данные пользователей находятся в полной безопасности. Все пароли и защищаемые параметры хранятся исключительно в криптографически зашифрованном (хэшированном) виде — никаких критических инцидентов для аккаунтов пользователей не произошло.
    • Временные технические ограничения: на этапе синхронизации файлового хранилища часть статических материалов (пользовательские аватары и архивные вложения) временно недоступна. По мере получения доступа к файловым архивам все материалы будут восстановлены в полном объёме.

User123

Новичок
15 Май 2024
9
0
Проект
456
Создаю переменную a = 1 в addon_game_mode.lua (точнее в другом файле lua, который выводится через addon_game_mode). Затем изменяю эту переменную через скрипт OnStellStart в файле item/item_meat.lua: a = a + 1 и вывожу через print(a). Получается: 2.
Затем в файле modifiers/modifier_test через изменяю (вроде) эту же переменную a: a = a + 10. Вывожу через принт и получаю: 11. Поидее должно получиться уже 12, потому что переменная а была уже 2.
1. Вопрос в том, почему переменная "а" раздваивается на два скрипта. В представлениях так, что создаётся переменная и изменяется везде одинаково, а получается, что в одном скрипте "а" - меняется по-своему, в другому по-другому.
2. Как сделать, чтоб переменная не раздваивалась?
 
Последнее редактирование:
Создаю переменную a = 1 в addon_game_mode.lua (точнее в другом файле lua, который выводится через addon_game_mode). Затем изменяю эту переменную через скрипт OnStellStart в файле item/item_meat.lua: a = a + 1 и вывожу через print(a). Получается: 2.
Затем в файле modifiers/modifier_test через изменяю (вроде) эту же переменную a: a = a + 10. Вывожу через принт и получаю: 11. Поидее должно получиться уже 12, потому что переменная а была уже 2.
1. Вопрос в том, почему переменная "а" раздваивается на два скрипта. В представлениях так, что создаётся переменная и изменяется везде одинаково, а получается, что в одном скрипте "а" - меняется по-своему, в другому по-другому.
2. Как сделать, чтоб переменная не раздваивалась?
Вроде так и должно работать. Глобальные переменные для нескольких скриптов лучше изменять через custom net tables
 
  • Нравится
Реакции: User123
Вроде так и должно работать. Глобальные переменные для нескольких скриптов лучше изменять через custom net tables
может он не правильно оформляет переменную, там вроде надо присвоить глобальной таблицей
Вместое my_value надо использовать _G.my_value
 
  • Вооу
Реакции: User123
Походу понял. Буквально добавить _G к переменной и походу работает:)
 
Последнее редактирование:
Реклама: