Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

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

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

Попробовал че то сделать
code_language.lua:
Expand Collapse Copy
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 такое не прокатит и я баран.

Так вот вопрос. Как такое делают?
 
Ошибки ты не дал, значит буду угадывать, time это таблица скорее всего, апи не читал
Из таблицы надо вытаскивать данные
 
Моя догадка правда
Читай апи) и Гугл в помощь, учись брат, лучший учитель - свои ошибки
D36F2B87-ADD2-45FA-AC1E-8AB0A6065F19.jpeg
 
set_clantag(tostring(time.hours .. ":" .. time.minutes))
Спасибо.

Рабочий код:
Expand Collapse Copy
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)
 
думаю так получше будет

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

Код:
Expand Collapse Copy
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
 
Последнее редактирование:
думаю так получше будет

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

Код:
Expand Collapse Copy
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)
 

Похожие темы

Назад
Сверху Снизу