Форум HeroesWorld-а - Показать сообщение отдельно - Скрипты
Тема: Скрипты
Показать сообщение отдельно
#3712
Старый 25.08.2022, 09:37
  #3712
^
}{0TT@6bI4
 
Аватар для }{0TT@6bI4
📖
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1973
Выставка наград
Регистрация: 05.09.2019
Адрес: Серебряные Города, Аль-Сафир
Сообщения: 1973
Выставка наград
По умолчанию
Re: Скрипты

При инициализации каждого региона в списке для него на месте создаётся функция, которую будет вызывать триггер. Для функции при помощи upvalues в локальную переменную записывается имя региона. После можно производить любые действия с именем региона (и, соотвественно, его свойствами) и героем hero.

regions = {
list = {
["Region123"] = {active=nil, activator=nil},
...
},

init = function()
for region, props in regions.list do
  regions.list[region].enter = function(hero)
                                               local reg = %region
                                               regions.list[reg].active = 1
                                               regions.list[reg].activator = hero
                                               -- Действия с регионом, доступ к свойствам которого можно найти по локальному имени reg
                                             end
  Trigger(REGION_ENTER_AND_STOP_TRIGGER, region, "regions.list['"..region.."'].enter")
end
end,
}

regions.init()
__________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
С уважением, }{0TT@6bI4
_________________
Группа картостроителей
Там ответы на вопросы, руководства, гайды и прочее
Discord-сервер "Герои 5: S.T.A.L.K.E.R"
Сервер по модификации "Герои 5: S.T.A.L.K.E.R"
_________________
}{0TT@6bI4 вне форума
Ответить с цитированием