Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> lua timer1 log timer 2 log
Sheeck
сообщение 18.9.2023, 19:08
Сообщение #1


**

Neophyte
Сообщений: 36
Регистрация: 5.8.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.174
Возраст: 29



Подскажите пожалуйста как на луа написать подобное

В логах пилота он будет писать значение в мс которое ушло на выполнение действия

Код


set timer1
    
set #t timer + 1500
while #t > timer
    send217 7777
end_while
    send217 8

log timer1


set timer2
    
set #t timer + 3000
while #t > timer
    send217 2222
end_while
    send217 9

log timer2



Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
yodich
сообщение 18.9.2023, 19:17
Сообщение #2


***

Novice
Сообщений: 90
Регистрация: 24.8.2020
Группа: Пользователи
Наличность: 0
Пользователь №: 19.728
Возраст: 29



Код

--lua

local s = 0
log ('clear')
local startTime = os.clock()
local Time = 0
local T = 3 -- 3 сек (не мл.сек)
local endTimer = startTime + Time

function test ()
    endTimer = endTimer + T
    s = s + 1
    log ('Повтор: ',T,'sec', s)
end

-- выполнять каждые 3 секунды (T = 3)
while true do
    hint ((string.format ("Выполнено: %.1f\n", os.clock() - startTime)) )

    if os.clock() >= endTimer then
        test()
    end
end
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Sheeck
сообщение 18.9.2023, 19:22
Сообщение #3


**

Neophyte
Сообщений: 36
Регистрация: 5.8.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.174
Возраст: 29



Цитата(yodich @ 18.9.2023, 19:17) *

Код

--lua

local s = 0
log ('clear')
local startTime = os.clock()
local Time = 0
local T = 3 -- 3 сек (не мл.сек)
local endTimer = startTime + Time

function test ()
    endTimer = endTimer + T
    s = s + 1
    log ('Повтор: ',T,'sec', s)
end

-- выполнять каждые 3 секунды (T = 3)
while true do
    hint ((string.format ("Выполнено: %.1f\n", os.clock() - startTime)) )

    if os.clock() >= endTimer then
        test()
    end
end





Блин чет слишком для меня, напиши плз на луа чисто лог выводящий время выполнения кода

Код


set timer2
    
Какойто код время выполнения которого нужно вывести в лог
    send217 2222
    send217 9

log timer2




Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
yodich
сообщение 18.9.2023, 19:28
Сообщение #4


***

Novice
Сообщений: 90
Регистрация: 24.8.2020
Группа: Пользователи
Наличность: 0
Пользователь №: 19.728
Возраст: 29



Цитата(Sheeck @ 18.9.2023, 21:22) *

Блин чет слишком для меня, напиши плз на луа чисто лог выводящий время выполнения кода

Код


set timer2
    
Какойто код время выполнения которого нужно вывести в лог
    send217 2222
    send217 9

log timer2



Код

--lua

log ('clear')
local startTime = os.clock()
local Time = 5 -- 5 секунд
local endTimer = startTime + Time

while os.clock() <= endTimer do
    log ((string.format ("Код выполняется: %.1f\n", os.clock() - startTime)) )
end

log ("код остановлен, работал - " .. Time .. "sec")

Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Sheeck
сообщение 18.9.2023, 19:39
Сообщение #5


**

Neophyte
Сообщений: 36
Регистрация: 5.8.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.174
Возраст: 29



Цитата(yodich @ 18.9.2023, 19:28) *

Код

--lua

log ('clear')
local startTime = os.clock()
local Time = 5 -- 5 секунд
local endTimer = startTime + Time

while os.clock() <= endTimer do
    hint ((string.format ("Код выполняется: %.1f\n", os.clock() - startTime)) )

    if os.clock() >= endTimer then
        log ("код остановлен, работал - " .. Time .. " sec")
        end_script()
    end
end





А какнибуть попроще можно ужать это чтобы не всплывающим окном вылазило а в лог пилота выводило?
Как вот обычные команды на таймер123 и лог выводят




Эскизы прикрепленных изображений
Прикрепленное изображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
yodich
сообщение 18.9.2023, 19:50
Сообщение #6


***

Novice
Сообщений: 90
Регистрация: 24.8.2020
Группа: Пользователи
Наличность: 0
Пользователь №: 19.728
Возраст: 29



Цитата(Sheeck @ 18.9.2023, 21:39) *

А какнибуть попроще можно ужать это чтобы не всплывающим окном вылазило а в лог пилота выводило?
Как вот обычные команды на таймер123 и лог выводят


Не понял, типо так чтобы выводилось в лог?

Если да, то вместо hint напиши log

Цитата(Sheeck @ 18.9.2023, 21:39) *

А какнибуть попроще можно ужать это чтобы не всплывающим окном вылазило а в лог пилота выводило?
Как вот обычные команды на таймер123 и лог выводят


Исправил код, if убрал, теперь работает только сам цикл


Эскизы прикрепленных изображений
Прикрепленное изображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Sheeck
сообщение 18.9.2023, 20:00
Сообщение #7


**

Neophyte
Сообщений: 36
Регистрация: 5.8.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.174
Возраст: 29



Цитата(yodich @ 18.9.2023, 19:50) *

Не понял, типо так чтобы выводилось в лог?

Если да, то вместо hint напиши log
Исправил код, if убрал, теперь работает только сам цикл



Нужно только вот конец чтобы показывало сколько код работал


Смысл этого скрипта чтобы понять сколько точно времени обработка 1 цикла занимает, т.к. нажания send217 привязаны к фпсу клиента и с разной производительностью получается разное время обработки команд нажатий

Вот тот пример что я писал на обычном коде пилота
в начале создает невидимую отметку таймер1 или таймер2
а в конце выдает в лог окна пилота сколько времени в мс прошло от момента установки метки таймера до запроса в лог
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
yodich
сообщение 18.9.2023, 20:10
Сообщение #8


***

Novice
Сообщений: 90
Регистрация: 24.8.2020
Группа: Пользователи
Наличность: 0
Пользователь №: 19.728
Возраст: 29



Цитата(Sheeck @ 18.9.2023, 22:00) *

Нужно только вот конец чтобы показывало сколько код работал
Смысл этого скрипта чтобы понять сколько точно времени обработка 1 цикла занимает, т.к. нажания send217 привязаны к фпсу клиента и с разной производительностью получается разное время обработки команд нажатий

Код

--lua

log ('clear')
local startTime = os.clock()
local Time = 5 -- 5 секунд
local endTimer = startTime + Time

while os.clock() <= endTimer do
    -------------------------------
    -- тут твой код
    -------------------------------

    if os.clock() >= endTimer then
        log ("код остановлен, работал - " .. Time .. " sec")
    end
end


Цитата(Sheeck @ 18.9.2023, 22:00) *

Нужно только вот конец чтобы показывало сколько код работал
Смысл этого скрипта чтобы понять сколько точно времени обработка 1 цикла занимает, т.к. нажания send217 привязаны к фпсу клиента и с разной производительностью получается разное время обработки команд нажатий

Вот тот пример что я писал на обычном коде пилота
в начале создает невидимую отметку таймер1 или таймер2
а в конце выдает в лог окна пилота сколько времени в мс прошло от момента установки метки таймера до запроса в лог


тебе просто несколько циклов с таймером нужно что-ли?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Sheeck
сообщение 18.9.2023, 20:15
Сообщение #9


**

Neophyte
Сообщений: 36
Регистрация: 5.8.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.174
Возраст: 29



Цитата(yodich @ 18.9.2023, 20:10) *

Код

--lua

log ('clear')
local startTime = os.clock()
local Time = 5 -- 5 секунд
local endTimer = startTime + Time

while os.clock() <= endTimer do
    -------------------------------
    -- тут твой код
    -------------------------------

    if os.clock() >= endTimer then
        log ("код остановлен, работал - " .. Time .. " sec")
    end
end

тебе просто несколько циклов с таймером нужно что-ли?



Код

--lua

log ('clear')
local startTime = os.clock()
local Time = 5 -- 5 секунд
local endTimer = startTime + Time

while os.clock() <= endTimer do
    -------------------------------
    wait(1000)
    wait(1000)
    wait(1000)
    wait(500)
    -------------------------------

    if os.clock() >= endTimer then
        log ("код остановлен, работал - " .. Time .. " sec")
    end
end


Не неработает, он зачем то про 5секунд спамит я не понимаю как это убрать
Запусти мой скрипт без луа посмотри как он отрабатывает пожалуйста, измени код который он засекает, добавь задержку 2-3 скунды и посмотри как результаты поменяются

Если кода нет то он должен показывать обработку в районе 10-20мс

По примеру скрипта выше лог должен показывать обработку внутреннего кода в районе 3510мс


Эскизы прикрепленных изображений
Прикрепленное изображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
yodich
сообщение 18.9.2023, 20:16
Сообщение #10


***

Novice
Сообщений: 90
Регистрация: 24.8.2020
Группа: Пользователи
Наличность: 0
Пользователь №: 19.728
Возраст: 29



Цитата(Sheeck @ 18.9.2023, 22:15) *

Код

--lua

log ('clear')
local startTime = os.clock()
local Time = 5 -- 5 секунд
local endTimer = startTime + Time

while os.clock() <= endTimer do
    -------------------------------
    wait(1000)
    wait(1000)
    wait(1000)
    wait(500)
    -------------------------------

    if os.clock() >= endTimer then
        log ("код остановлен, работал - " .. Time .. " sec")
    end
end


Не неработает, он зачем то про 5секунд спамит я не понимаю как это убрать
Запусти мой скрипт без луа посмотри как он отрабатывает пожалуйста, измени код который он засекает, добавь задержку 2-3 скунды и посмотри как результаты поменяются

Если кода нет то он должен показывать обработку в районе 10-20мс


щас гляну твй, сек
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Sheeck
сообщение 18.9.2023, 20:27
Сообщение #11


**

Neophyte
Сообщений: 36
Регистрация: 5.8.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.174
Возраст: 29



Цитата(yodich @ 18.9.2023, 20:16) *

щас гляну твй, сек


Код

set timer2
    send217 2222
    wait 3500

log timer2

set timer3
    send217 5555
    wait 5700

log timer3


вот этот запусти пожалуйста у себя посмотри что он выдает в окне лога
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
yodich
сообщение 18.9.2023, 20:49
Сообщение #12


***

Novice
Сообщений: 90
Регистрация: 24.8.2020
Группа: Пользователи
Наличность: 0
Пользователь №: 19.728
Возраст: 29



Цитата(Sheeck @ 18.9.2023, 22:27) *

Код

set timer2
    send217 2222
    wait 3500

log timer2

set timer3
    send217 5555
    wait 5700

log timer3


вот этот запусти пожалуйста у себя посмотри что он выдает в окне лога


Код


--lua

log ('clear')

function timers (key, Time)
local startTime = os.clock()
local Time = Time or 5 -- 5 секунд по умолчанию
local endTimer = startTime + Time
    while os.clock() <= endTimer do
        -------------------------------
        -- тут твой код
        -------------------------------
        if ( key == 1 ) then
            log ("Выполнение кода " .. key)
            wait (2000)
        end

        if ( key == 2 ) then
            log ("Выполнение кода " .. key)
            wait (2500)
        end

        if ( key == 3) then
            log ("Выполнение кода " .. key)
            wait (3000)
        end

    end
return log ("Прошло с момента запуска - " .. os.clock() - startTime)
end

log ("Переход ко 1му коду")
wait (1000)

local go_1 = timers (1, 2)

log ("Переход ко 2му коду")
wait (1000)

local go_2 = timers (2, 3)

log ("Переход ко 3му коду")
wait (1000)

local go_3 = timers (3, 4)


log ("end")




Надеюсь щас я тебя правильно понял, переписал
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Sheeck
сообщение 18.9.2023, 21:01
Сообщение #13


**

Neophyte
Сообщений: 36
Регистрация: 5.8.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.174
Возраст: 29



Цитата(yodich @ 18.9.2023, 20:49) *



Надеюсь щас я тебя правильно понял, переписал



Не дружище, спасибо больше за то что тратишь время и помогаешь, но прям вообще не то.
Мне кажется что ты думаешь что таймер как то влияет на сам код в скрипте или на его исполнение, но на самом деле команда таймер просто создает точку которая считает сколько времени прошло, а команда лог таймер выводит подсчитанное количество милисекунд в окно лога пилота, не более.

На луа кода должно быть гдето на 5-6 строчек не больше, но я незнаю как именно это написать.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
yodich
сообщение 18.9.2023, 21:04
Сообщение #14


***

Novice
Сообщений: 90
Регистрация: 24.8.2020
Группа: Пользователи
Наличность: 0
Пользователь №: 19.728
Возраст: 29



Цитата(Sheeck @ 18.9.2023, 23:01) *

Не дружище, спасибо больше за то что тратишь время и помогаешь, но прям вообще не то.
Мне кажется что ты думаешь что таймер как то влияет на сам код в скрипте или на его исполнение, но на самом деле команда таймер просто создает точку которая считает сколько времени прошло, а команда лог таймер выводит подсчитанное количество милисекунд в окно лога пилота, не более.

На луа кода должно быть гдето на 5-6 строчек не больше, но я незнаю как именно это написать.


Щас мы попытаемся тебя понять) может я что-то не понимаю)

щас поправлю, еще раз посмотри

Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Sheeck
сообщение 18.9.2023, 21:12
Сообщение #15


**

Neophyte
Сообщений: 36
Регистрация: 5.8.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.174
Возраст: 29



Цитата(yodich @ 18.9.2023, 21:04) *

Щас мы попытаемся тебя понять) может я что-то не понимаю)

щас поправлю, еще раз посмотри


https://forum.uokit.com/index.php?showtopic...27&hl=timer

вот оно посути только нужно несколько разных таких таймеров в одном скрипте))


Код

--lua
local t = os.clock()
wait(2000)
log('Время выполнения = ' .. os.clock() - t)

local t = os.clock(2)
wait(1000)
log('Время выполнения = ' .. os.clock(2) - t)





Да кажись работает, поиск адовый 2ч уже по форуму лажу а оказалось что уже такое есть)
Еще раз спасибо что помогал

Код
--lua
local t = os.clock()
wait(2000)

local t = os.clock(2)
wait(1000)
log('Время выполнения = ' .. os.clock() - t)
log('Время выполнения = ' .. os.clock(2) - t)


единственное что вот такой вариант почему не работает
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
yodich
сообщение 18.9.2023, 21:16
Сообщение #16


***

Novice
Сообщений: 90
Регистрация: 24.8.2020
Группа: Пользователи
Наличность: 0
Пользователь №: 19.728
Возраст: 29



Цитата(Sheeck @ 18.9.2023, 23:12) *

https://forum.uokit.com/index.php?showtopic...27&hl=timer

вот оно посути только нужно несколько разных таких таймеров в одном скрипте))
Код

--lua
local t = os.clock()
wait(2000)
log('Время выполнения = ' .. os.clock() - t)

local t = os.clock(2)
wait(1000)
log('Время выполнения = ' .. os.clock(2) - t)

Да кажись работает, поиск адовый 2ч уже по форуму лажу а оказалось что уже такое есть)
Еще раз спасибо что помогал

Код
--lua
local t = os.clock()
wait(2000)

local t = os.clock(2)
wait(1000)
log('Время выполнения = ' .. os.clock() - t)
log('Время выполнения = ' .. os.clock(2) - t)


единственное что вот такой вариант почему не работает


Код

--lua

log ('clear')

local t = os.clock()
wait(2000)

log('Время выполнения = ' .. os.clock() - t)

local t2 = os.clock()
wait(3000)

log('Время выполнения = ' .. os.clock() - t2)

у меня все работает в таком формате)
Я почему-то думал, что тебе время выполнения работы нужно

Выше я написал все же правильно, он посчитывает сколько времени затрачено, правда я кинул все в функцию и просто вызывал потом ее )
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Sheeck
сообщение 18.9.2023, 21:51
Сообщение #17


**

Neophyte
Сообщений: 36
Регистрация: 5.8.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.174
Возраст: 29



Цитата(yodich @ 18.9.2023, 21:16) *

Код

--lua

log ('clear')

local t = os.clock()
wait(2000)

log('Время выполнения = ' .. os.clock() - t)

local t2 = os.clock()
wait(3000)

log('Время выполнения = ' .. os.clock() - t2)

у меня все работает в таком формате)
Я почему-то думал, что тебе время выполнения работы нужно

Выше я написал все же правильно, он посчитывает сколько времени затрачено, правда я кинул все в функцию и просто вызывал потом ее )


Все идеально, спасибо еще раз огромное
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 27.4.2024, 23:30
Designed by Nickostyle