Вопрос [NL] Учусь писать луа #3 [Решен]

Начинающий
Статус
Оффлайн
Регистрация
23 Июл 2021
Сообщения
38
Реакции[?]
3
Поинты[?]
2K
Помню видел как то клан-теги с временем. Увидел в api нла две вещи: common.set_clan_tag(text: string) и common.get_system_time():

Попробовал че то сделать
code_language.lua:
local home = ui.create("Home", "Main")
local clantag = home:switch("Time ClanTag", false)


local time = common.get_system_time()

events.render(function()
    if clantag:get() then
        common.set_clan_tag(time)
    else
       common.set_clan_tag("")
    end
end)
Сделал, заранее понимая, что все так просто не может быть. И получил ожидаемый результат - получилась хуйня. И не удивительно, потому что в set_clan_tag такое не прокатит и я баран.

Так вот вопрос. Как такое делают?
 
Эксперт
Статус
Оффлайн
Регистрация
10 Фев 2021
Сообщения
1,740
Реакции[?]
559
Поинты[?]
2K
Ошибки ты не дал, значит буду угадывать, time это таблица скорее всего, апи не читал
Из таблицы надо вытаскивать данные
 
Начинающий
Статус
Оффлайн
Регистрация
23 Июл 2021
Сообщения
38
Реакции[?]
3
Поинты[?]
2K
Эксперт
Статус
Оффлайн
Регистрация
10 Фев 2021
Сообщения
1,740
Реакции[?]
559
Поинты[?]
2K
Моя догадка правда
Читай апи) и Гугл в помощь, учись брат, лучший учитель - свои ошибкиD36F2B87-ADD2-45FA-AC1E-8AB0A6065F19.jpeg
 
Начинающий
Статус
Оффлайн
Регистрация
23 Июл 2021
Сообщения
38
Реакции[?]
3
Поинты[?]
2K
Пользователь
Статус
Оффлайн
Регистрация
13 Мар 2022
Сообщения
80
Реакции[?]
36
Поинты[?]
9K
Начинающий
Статус
Оффлайн
Регистрация
23 Июл 2021
Сообщения
38
Реакции[?]
3
Поинты[?]
2K
set_clantag(tostring(time.hours .. ":" .. time.minutes))
Спасибо.

Рабочий код:
local home = ui.create("Home", "Main")
local clantag = home:switch("Time ClanTag", false)


local time = common.get_system_time()

events.render(function()
    if clantag:get() then
        common.set_clan_tag(tostring(time.hours .. ":" .. time.minutes))
    else
       common.set_clan_tag("")
    end
end)
 
Олдфаг
Статус
Оффлайн
Регистрация
28 Дек 2018
Сообщения
2,585
Реакции[?]
1,437
Поинты[?]
1K
думаю так получше будет

1. common.get_date - как по мне удобнее для получения дат \ времени.
2. кастомный сет клантега не будет спамить один и тот же текст и не будет лагов.
3. сбрасывать в рендере клантег если свич не включен - говно идея, лучше одноразово на евент свича и выгрузки луа.

Код:
local clantag do
    local group = ui.create('Misc')
    local element = group:switch('Time clantag')

    local last

    local set = function(str)
        if last == str then
            return
        end

        last = str
        common.set_clan_tag(str)
    end

    local paint = function()
        if not element:get() then
            return
        end

        local time = common.get_date('%I:%M:%S')

        set(time)
    end

    events.render(paint)

    local reset = function()
        set('')
    end

    element:set_callback(reset)
    events.shutdown(reset)
end
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
23 Июл 2021
Сообщения
38
Реакции[?]
3
Поинты[?]
2K
думаю так получше будет

1. common.get_date - как по мне удобнее для получения дат \ времени.
2. кастомный сет клантега не будет спамить один и тот же текст и не будет лагов.
3. сбрасывать в рендере клантег если свич не включен - говно идея, лучше одноразово на евент свича и выгрузки луа.

Код:
local clantag do
    local group = ui.create('Misc')
    local element = group:switch('Time clantag')

    local last

    local set = function(str)
        if last == str then
            return
        end

        last = str
        common.set_clan_tag(time)
    end

    local paint = function()
        if not element:get() then
            return
        end

        local time = common.get_date('%I:%M:%S')

        set(time)
    end

    events.render(paint)

    local reset = function()
        set('')
    end

    element:set_callback(reset)
    events.shutdown(reset)
end
13: bad argument #1 (string expected, received nil)
 
Олдфаг
Статус
Оффлайн
Регистрация
28 Дек 2018
Сообщения
2,585
Реакции[?]
1,437
Поинты[?]
1K
Сверху Снизу