Lua Trinity GTA | Time with seconds.

Lapenko

Известный
Автор темы
153
75
Fix. 11/06/2019 - Фикс ошибки при первом запуске.
 

astynk

Известный
Проверенный
742
530
Версия, которая показывает реальное серверное время.
Т.е. когда пейдей, показывает ровно xx:00:00, а не локальное время.
Запускается не сразу, а после начала новой минуты, т.к. скрипту нужно узнать разницу в секундах между локальным и серверным временем.

Lua:
local events = require 'lib.samp.events'

local textdraw_id = 0
local offset_seconds = 0
local server_time = '0:00'
local first_run = true
local waiting = true

function events.onTextDrawSetString(id, str)
    if not str:match('^%d?%d:%d%d$') then return end
    server_time = str
    if waiting and not first_run then
        textdraw_id = id
        offset_seconds = tonumber(os.date('%S'))
        waiting = false
    end
    if not first_run then return {id, str .. ':00'} end
    first_run = false
end

function prepend_zero(n) if n < 10 then return '0' .. n else return '' .. n end end

function replacer()
        local user_seconds = tonumber(os.date('%S'))
        local server_seconds = user_seconds - offset_seconds
        if user_seconds < offset_seconds then server_seconds = server_seconds + 60 end
        local text = sampTextdrawGetString(textdraw_id)
        sampTextdrawSetString(textdraw_id, server_time .. ':' .. prepend_zero(server_seconds))
end

function main()
    while not isSampAvailable() do wait(100) end
    while true do
        if not waiting then replacer() end
        wait(1)
    end
end

to-do: убрать дергание, вызываемое тем, что цифра 1 меньше по ширине, чем все остальные.
 
  • Нравится
Реакции: Lapenko

DolgorukovGTA

Известный
Проверенный
652
345
Раньше работало, сейчас нет. Всё установил.
Возможно, что ID текстдравов сменились, а автор не добавил какую-либо проверку для определния ID тексдрава по содержимому. Может быть, с ML что-то случилось у тебя? Moonloader.log в студию.
 

Manchini_

Новичок
3
0
Время с секундами для TRINITY GTA

Приветствую всех, в данной теме хочу опубликовать скрипт, который заменяет стандартное время часов с минутами, на время с секундами.

1fa5a8f1548d.png
Команды скрипта:
- /sti - активация/деактивация.
- /stt [utc] - смена часового пояса.
- /sttr - перевод месяцев на русский.
Чтобы перенести часы используйте стандартный способ - /mm 21 - Мои координаты для часов 592-10

Требования:
1. Cleo 4.1+
https://cleo.li/cleo4/CLEO4_setup.exe
2. Moonloader
https://blast.hk/moonloader/download.php
3. SampFuncs
https://blast.hk/attachments/22939/
4. Библиотека moonloader (содержимое архива кинуть в папку moonloader).
https://www.dropbox.com/s/kahr7tievedd9tp/moonloader.rar?dl=1


Приятного использования.

Upd. Добавлена команда /sttr - перевод месяцев на русский.
Fix. 11/06/2019 - Фикс ошибки при первом запуске.

При открытии инвентаря время видно, исправишь?