Проблемы с ..os.date('%H:%M:%S

Thomasya

Известный
Автор темы
68
2
Версия MoonLoader
.026-beta
Привет, в общем появилась идейка создать РП отыгровку для команды /time в интернете нашел только огромные скрипты.

В консоль sampfuncs флудит постоянно RegisterCommand Error: Command "time" already exists.

По сути мне нужно что бы команда выводила /time после чего /do На часах 20:20:20 по типу такого, задержка 0 либо 100 мс.

Lua:
script_name('RP time')
script_version('1')

require "lib.moonloader"

function main()
  if not isSampfuncsLoaded() or not isSampLoaded() then return end
  while not isSampAvailable() do wait(100) end
  while true do
  wait(0)
    sampRegisterChatCommand("time", cmd_time)
    end
        if mainini.obnylenie.day ~= os.date("%a") then
        mainini.obnylenie.day = os.date("%a")
        inicfg.save(mainini, "timeinfo.ini")
  end
end

function time()
    lua_thread.create(function()
        sampSendChat("/time")
        wait(0)
        sampSendChat ("/do На часах  "..os.date('%H:%M:%S'))
    end)
end
Появилась идея воспользоваться таким кодом
Lua:
script_name('RP time')
require "lib.moonloader"
local sampev = require'lib.samp.events'

function main()
  if not isSampfuncsLoaded() or not isSampLoaded() then return end
  while not isSampAvailable() do wait(100) end
  while true do
  wait(0)
  end
  end

function sampev.onSendChat(msg)
    if text == "/time" then
        sampSendChat("/do На часах: "..os.date("%H:%M:%S.",os.time()))
  end
end
Но все равно не выводит в чат. Хотя когда прописывал print("/do На часах: "..os.date("%H:%M:%S.",os.time())) в консоль выводило. Помогите сделать это для чата
 
Последнее редактирование:
Решение
Ты засунул регистрацию команды в бесконечный цикл.
Нужно его вставить до него.
Также в данном случае можно не использовать отдельную функцию, а сделать так.
И иникфг тут вроде как не очень нужен (если всё таки нужен, также вынеси его из бесконечного цикла).
Если нужен будет беск. цикл, меняй
wait(-1)
на
while true do wait(0) -- code end
Lua:
function main()
repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand("time", function()
        lua_thread.create(function()
            sampSendChat("/time")
            wait(50)
            sampSendChat("/do На часах  "..os.date('%H:%M:%S'))
        end)
    end)
wait(-1)
end

xdswd

Известный
365
251
Ты засунул регистрацию команды в бесконечный цикл.
Нужно его вставить до него.
Также в данном случае можно не использовать отдельную функцию, а сделать так.
И иникфг тут вроде как не очень нужен (если всё таки нужен, также вынеси его из бесконечного цикла).
Если нужен будет беск. цикл, меняй
wait(-1)
на
while true do wait(0) -- code end
Lua:
function main()
repeat wait(0) until isSampAvailable()
    sampRegisterChatCommand("time", function()
        lua_thread.create(function()
            sampSendChat("/time")
            wait(50)
            sampSendChat("/do На часах  "..os.date('%H:%M:%S'))
        end)
    end)
wait(-1)
end
 
  • Нравится
Реакции: Vintik