script_name("AutoSend")
script_author("ddevyatochka")
require "lib.moonloader"
local imgui = require'imgui'
local encoding = require'encoding'
encoding.default = 'CP1251'
local u8 = encoding.UTF8
local main_color = "{98FB98}"
local tag1 = main_color .. "[AutoSend] {FFFFFF}- Скрипт успешно запустился."
local tag2 = main_color .. "[AutoSend] {FFFFFF}- Команда активации скрпита: /as"
local tag3 = main_color .. "[AutoSend] {FFFFFF}- Телеграм разработчика: @ddevyatochka"
local tag = main_color .. "[AutoSend]"
local main_window_state = imgui.ImBool(false)
local text_buffer = imgui.ImBuffer(256)
local time_buffer = imgui.ImBuffer(256)
local box_one = imgui.ImBool(false)
local box_two = imgui.ImBool(false)
function main()
if not isSampLoaded() or not isSampfuncsLoaded() then return end
while not isSampAvailable() do wait(100) end
imgui.Process = false
sampAddChatMessage(tag1, -1)
sampAddChatMessage(tag2, -1)
sampAddChatMessage(tag3, -1)
sampRegisterChatCommand("as", function(arg)
main_window_state.v = not main_window_state.v
imgui.Process = main_window_state.v
end)
while true do
wait(0)
if main_window_state.v == false then
imgui.Process = false
end
end
end
local isSending = false
local function check_and_set_default(buffer, default_value)
if buffer.v == "" then
buffer.v = tostring(default_value)
sampAddChatMessage(tag .. " {FFFFFF}Поскольку вы не указали время, оно было автоматически установлено на значение по умолчанию — 5 минут.", -1)
end
end
function imgui.OnDrawFrame()
local sw, sh = getScreenResolution()
imgui.SetNextWindowPos(imgui.ImVec2(sw / 2, sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))
imgui.SetNextWindowSize(imgui.ImVec2(660, 295), imgui.Cond.FirstUseEver)
imgui.Begin("AutoSend by ddevyatochka", main_window_state)
imgui.BeginChild("ChildWindow", imgui.ImVec2(420, 75), true)
imgui.Text(u8"Что бы начать отправку сообщений введите \nнужное сообщение и выберите куда отправлять.\n")
imgui.Separator()
imgui.InputText(u8'Текст для отправки.', text_buffer)
imgui.EndChild()
imgui.SameLine()
imgui.BeginChild("ChildWindowS", imgui.ImVec2(200, 250), true)
imgui.Text(u8"Статистика.\n")
imgui.Separator()
imgui.Text(u8'Сообщений в фам чат: 12', text_buffer)
imgui.Separator()
imgui.Text(u8'Сообщений в альянс чат: 192', text_buffer)
imgui.EndChild()
imgui.SetCursorY(0)
imgui.BeginChild("ChildWindowtwo", imgui.ImVec2(420, 145), true)
imgui.Columns(2, "Colums", true)
imgui.Text(u8"Выберите куда нужно\nотправлять сообщения")
imgui.NextColumn()
imgui.Text(u8"Указажите КД отправки\nсообщений в секундах")
imgui.Separator()
imgui.NextColumn()
imgui.Checkbox(u8"Чат семьи", box_one)
imgui.Checkbox(u8"Чат альянса", box_two)
imgui.NextColumn()
imgui.InputText("", time_buffer)
imgui.Columns(1)
imgui.Separator()
if imgui.Button(u8"Запустить отправку сообщений") then
check_and_set_default(time_buffer, 5)
local time_string = tostring(time_buffer.v)
local message_string = u8:decode(text_buffer.v)
isSending = true
sampAddChatMessage(tag .. " {FFFFFF}Вы будете отправлять данное сообщение в чат семьи/альянса каждые " .. time_string .. " секунд.", -1)
sampAddChatMessage(tag .. " {FFFFFF}Сообщение: " .. message_string, -1)
lua_thread.create(function()
while isSending do
local waitTimeInSeconds = tonumber(u8:decode(time_buffer.v))
if waitTimeInSeconds then
local waitTimeInMilliseconds = waitTimeInSeconds * 1000
wait(waitTimeInMilliseconds)
if box_one.v then
sampAddChatMessage(tag .. " {FFFFFF}Первый бокс активен",-1)
sampSendChat(u8"/fam " .. message_string, -1)
end
if box_two.v then
sampAddChatMessage(tag .. " {FFFFFF}Второй бокс активен",-1)
sampSendChat(u8"/al " .. message_string, -1)
end
else
sampAddChatMessage(tag .. " {FFFFFF}Неверное значение в буфере, ожидание не выполнено.", -1)
end
end
end)
end
if imgui.Button(u8"Остановить отправку") then
isSending = false
sampAddChatMessage(tag .. " {FFFFFF}Вы прекратили отправку сообщений в чат семьи/альянса!", -1)
end
imgui.EndChild()
imgui.Text(u8"Script by ddevyatochka\nTelegram: @ddevyatochka")
imgui.End()
end