Помогите добавить строчку в скрипт

Статус
В этой теме нельзя размещать новые ответы.

arnvxsr

Участник
Автор темы
111
11
Здравствуйте, может кто то в данном скрипте добавить дополнительную строчку для 2 сообщения?
Хочу сделать так, что бы в указанное там время можно было отправлять не 1 сообщения а 2, сначала отправляется то что сверху, потом снизу.

Фото самого скрипта и скрипт оставлю.

Код открытый, но оставлю навсякий случай

script_name('AutoAdver')
script_author('JD-V')
script_version('0.1.2')
script_description('Авто подача объявлений в вип чат.')

require 'lib.moonloader'
local imgui = require 'imgui'
local inicfg = require 'inicfg'
local sampev = require 'lib.samp.events'
local notf = import 'notifications.lua'

local encoding = require 'encoding'
encoding.default = "CP1251"
u8 = encoding.UTF8


local use_chat = false

--======================================== Config ====================================--

local directIni = "AutoAdverSettings.ini"
local loadCfg = inicfg.load(nil, directIni)

--======================================== Chats panel ==============================--
-- Colors
local blue_color = "{5A90CE}"
local white_color = "{FFFFFF}"
local default_color = 0xFFFFFF

-- Other text
local tag = blue_color.."[ AutoAdver ]: "..white_color

--======================================== Imgui panel ==============================--

local showWindow = imgui.ImBool(false)
local textBuffer = imgui.ImBuffer(256)
local sw, sh = getScreenResolution()

--======================================== Program ==================================--

function check_config()

if not loadCfg then
local data = [[
[config]
radio=1
text=
kd=5
active=false
last_run=1
]]


local file = io.open(directIni, "w")
file:write(data)
file:close()
loadCfg = inicfg.load(nil, directIni)
end

textBuffer.v = tostring(loadCfg.config.text)
slider = imgui.ImInt(loadCfg.config.kd)

checked_radio = imgui.ImInt(loadCfg.config.radio)
checked_box = imgui.ImBool(loadCfg.config.active)
last_run = loadCfg.config.last_run
kd = slider.v * 60
textToSend = ''
end


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

check_config()

sampRegisterChatCommand("adv", cmd_adv)
sampAddChatMessage(tag.."Скрипт запущен!", default_color)

while true do wait(0)
closeWindow()
updateSender()
check_update_settings()
check_using_chat()
end
end


function cmd_adv()
showWindow.v = not showWindow.v
imgui.Process = showWindow.v
end


function imgui.OnDrawFrame()

imgui.SetNextWindowSize(imgui.ImVec2(500, 300), imgui.Cond.FirstUseEver)
imgui.SetNextWindowPos(imgui.ImVec2((sw / 2), sh / 2), imgui.Cond.FirstUseEver, imgui.ImVec2(0.5, 0.5))

imgui.Begin(u8"Настройки скрипта \"AutoAdver\"", showWindow)

imgui.RadioButton(u8"Продажа", checked_radio, 2)
imgui.SameLine()
imgui.RadioButton(u8"Скупка", checked_radio, 3)

imgui.RadioButton(u8"Аренда", checked_radio, 4)
imgui.SameLine()
imgui.RadioButton(u8"Свой текст", checked_radio, 1)

imgui.InputText(u8"Товар (до 100 символов)", textBuffer)
imgui.SliderInt(u8"Кд рассылки (мин.)", slider, 1, 60)

local form = BuyOrSell(checked_radio)
textToSend = form..textBuffer.v
imgui.Text(u8"Сообщение при отправке: "..textToSend)

local date = os.date("%d.%m.%Y %H:%M", last_run)
imgui.Text(u8"Последняя отправка была: "..date)

imgui.Checkbox(u8"Запустить рассылку!", checked_box)

imgui.End()

end


function sampev.onShowDialog(id, style, title, ok, close, tx)
if (tx:find('Ваше сообщение является рекламой')) and (checked_box.v == true) then
if not use_chat then
sampSendDialogResponse(id, 1, 0, nil)
return false
end
return true
end
end


function BuyOrSell(checked_radio)
local change_text = {
[2] = u8"[ПРОДАЖА]: ",
[3] = u8"[СКУП]: ",
[4] = u8"[АРЕНДА]: ",
[1] = ""
}
local form = change_text[checked_radio.v]
return form
end


function updateSender()
if checked_box.v == true and #textBuffer.v == 0 then
checked_box = imgui.ImBool(false)
notf.addNotification("Отсутствует текст для рассылки!", 5) -- текст и время (не больше 10 секунд)

elseif checked_box.v == true and #textToSend > 170 then -- 145 символов в чате
checked_box = imgui.ImBool(false)
notf.addNotification("Cлишком много символов!", 5) -- текст и время (не больше 10 секунд)

elseif checked_box.v == false then
checked_box = imgui.ImBool(false)
else
check_update_settings()
sendMessage()
end
end


function closeWindow()
if showWindow.v == false then
imgui.Process = false
end
end


function sendMessage()
if os.time() - last_run >= kd then
if #textBuffer.v ~= 0 and checked_box.v == true then
sampSendChat('/vr '..u8:decode(textToSend))
last_run = os.time()
loadCfg.config.last_run = last_run
inicfg.save(loadCfg, directIni)
end
end
end


function save_settings()
loadCfg.config.text = textBuffer.v
loadCfg.config.radio = checked_radio.v
loadCfg.config.kd = slider.v
inicfg.save(loadCfg, directIni)

kd = slider.v * 60
end


function check_update_settings()

if (checked_radio ~= loadCfg.config.radio) or (textBuffer.v ~= loadCfg.config.text) or
(slider.v ~= loadCfg.config.kd) or (kd ~= slider.v * 60) then
save_settings()
end
end


function check_using_chat()
local text = sampGetChatInputText()
if text:find('/vr') or text:find('.мк') or text:find('/мк') then
use_chat = true
sleep(5)
else
use_chat = false
end
end


function sleep(sec)
time = os.time()
newtime = time + sec
while (time < newtime) do wait(0)
time = os.time()
end
end
 

Вложения

  • GjjOeBt.png
    GjjOeBt.png
    118.5 KB · Просмотры: 21
  • AutoAdver.lua
    5.8 KB · Просмотры: 2
Решение
попробуй, тут работы на минут 10, я не понимаю почему стул сиськи мнёт с самого вечера
Кстати кд между сообщениями настраивается на 186 строке в миллисекундах
1717279905341.png

stool

Известный
367
303
помогай давай 😡
да щас щас... посру и допишу тебе скрипт
ты хочешь сразу n сообщений в адверт кидать или каждые n единиц времени рандомное из списка или ротация по порядку?
 

arnvxsr

Участник
Автор темы
111
11
да щас щас... посру и допишу тебе скрипт
ты хочешь сразу n сообщений в адверт кидать или каждые n единиц времени рандомное из списка или ротация по порядку?
первое 😀
Ты срешь на стуле?
 

arnvxsr

Участник
Автор темы
111
11
то есть сразу пачку сообщений в /vr?
не боишься что мут въебут?
Не, видел у типа такое, ему мут не давали
Он отправлял сообщения разные по типу
1. Продажа чего то там где то там
2. Покупка где то там чего то там
Допишешь скрипт, сделаю все как у тебя в описании сказано :D

Актуально
 
Последнее редактирование:
  • Нравится
Реакции: stool

MLycoris

На вид оружие массового семяизвержения
Проверенный
1,993
2,181
попробуй, тут работы на минут 10, я не понимаю почему стул сиськи мнёт с самого вечера
Кстати кд между сообщениями настраивается на 186 строке в миллисекундах
1717279905341.png
 

Вложения

  • AutoAdver.lua
    6.4 KB · Просмотры: 3
  • Нравится
Реакции: stool

stool

Известный
367
303
  • Вау
  • Нравится
Реакции: whyega52 и MLycoris

arnvxsr

Участник
Автор темы
111
11
пометь как решение тогда

попробуй, тут работы на минут 10, я не понимаю почему стул сиськи мнёт с самого вечера
Кстати кд между сообщениями настраивается на 186 строке в миллисекундах
Посмотреть вложение 242205
Уже наглею, но есть возможнось сделать так, что бы скрипт мог отправлять 1 строчку когда 2 была бы пустая. А то пишет что строчка не заполнена
 

MLycoris

На вид оружие массового семяизвержения
Проверенный
1,993
2,181

Вложения

  • AutoAdver.lua
    6.4 KB · Просмотры: 3
  • Нравится
Реакции: arnvxsr и stool
Статус
В этой теме нельзя размещать новые ответы.