Как сделать вывод в чат по времени?

Malenko

Новичок
Автор темы
18
3
Версия MoonLoader
.026-beta
Я сделал скрипт, но он не работает.


Lua:
require "lib.moonloader"
local keys = require "vkeys"
local imgui = require "imgui"
local sampev = require 'lib.samp.events'
local encoding = require "encoding"
encoding.default = 'CP1251'
u8 = encoding.UTF8

local tag = "[AutoSobeska]:"
local label = 0
local main_color = 0x5A90CE
local main_color_text = "{5A90CE}"
local white_color = "{FFFFFF}"
local gov_time = 0
local real_time = 0
local govka = 0

thread = lua_thread.create_suspended(thread_function)


local main_window_state = imgui.ImBool(false)
local text_buffer = imgui.ImBuffer(5)

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

    sampRegisterChatCommand('autosobes', cmd_imgui)
    sampRegisterChatCommand('timesk', cmd_timesk)

    imgui.Process = false

    while true do
        wait(0)
        if main_window_state.v == false then
            imgui.Process = false
        end
    end
end

function cmd_imgui(arg)
    main_window_state.v = not main_window_state.v
    imgui.Process = main_window_state.v
end

function imgui.OnDrawFrame()
    imgui.Begin("AutoSobeska", main_window_state)
    imgui.InputText(u8'Тут час и минута говки в таком формате: 2359', text_buffer)
    imgui.Text(text_buffer.v)
    if imgui.Button(u8"Забить говку") then
        govka = 1
        --gov_hour = string.sub(text_buffer.v, 1, 2)
        --gov_minute = string.sub(text_buffer.v, 3, 4)
        gov_time = text_buffer.v
        real_time = os.date("%H%M")
        while govka == 1 do
        thread:run()
    end
    end
    imgui.End()
end
function cmd_timesk()
    sampAddChatMessage(os.date("%H"), -1)
end
function thread_function(option)
        if real_time < gov_time then
            sampAddChatMessage('bebra', -1)
            wait(10)
    end
end
 

Malenko

Новичок
Автор темы
18
3
как точно не помню, но мб как-то так по говняному сделать можно

Lua:
if (gov_time == os.date('%H:%M:%S')) and gov_time ~= 0 or nil then
    -- code
end
Неа, мне надо чтобы после ввода комманды, скрипт постоянно сравнивал время и переменную до того, как они станут равны
 
  • Эм
Реакции: recxvery

Malenko

Новичок
Автор темы
18
3
[C]: in function 'run'
D:\ARIZONA GAMES\bin\Arizona\moonloader\Autosobes.lua:57: in function 'OnDrawFrame'
D:\ARIZONA GAMES\bin\Arizona\moonloader\lib\imgui.lua:1378: in function <D:\ARIZONA GAMES\bin\Arizona\moonloader\lib\imgui.lua:1367>
[17:16:00.184439] (error) AutoSobeska: Script died due to an error. (1EB9B0A4)
[17:26:12.381600] (script) ML-AutoReboot: Loading "D:\ARIZONA GAMES\bin\Arizona\moonloader\Autosobes.lua"...
[17:26:12.381600] (system) Loading script 'D:\ARIZONA GAMES\bin\Arizona\moonloader\Autosobes.lua'...
[17:26:12.382597] (debug) New script: 582AB554
[17:26:12.391115] (system) AutoSobeska: Loaded successfully.
[17:26:29.111542] (error) AutoSobeska: attempt to call a nil value
stack traceback:
stack traceback:
[C]: in function 'run'
D:\ARIZONA GAMES\bin\Arizona\moonloader\Autosobes.lua:57: in function 'OnDrawFrame'
D:\ARIZONA GAMES\bin\Arizona\moonloader\lib\imgui.lua:1378: in function <D:\ARIZONA GAMES\bin\Arizona\moonloader\lib\imgui.lua:1367>
[17:26:29.114541] (error) AutoSobeska: Script died due to an error. (582AB554)