[LUA]: Помогите дополнить скрипт маленьким штришком.

kolosok

Участник
Автор темы
131
13
Мне нужно чтобы данный скрипт ниже под название 'sleep pay-day [SRP]' был немного дополнен кодом с fake-afk. Чтобы так назовём его бот вставал в fake-afk в 00:30 по времени как в скрите 'sleep pay-day' и выходил из fake-afk в 59 минут как в скрипте и вводил команду /sleep то-бишь уснуть. Этот скрипт 'sleep pay-day' он сделан для того чтобы выходить из сна переда pay-day и брать его. Но мне надо чтобы он был всё это время в fake-afk и только когда прийдёт время 59 минут он выходит из фейк афк пишет команду /sleep просыпается берёт пейдей потом как по скрипту в 00:30 засыпает и в афк(я пытался обьяснить оч понятно)
Я мало шарю в lua скриптинге но немного что то могу, но именно как дополнить скрипт таким образом я не знаю
пожалуйста помогите
код fake-afk я оставил снизу.




fake-afk:
script_author("RayssesEmpire")
require 'lib.moonloader'
local memory = require 'memory'

-- Тело скрипта
function main()
    -- Проверяем, загружен ли SAMP и SAMPFUNCS
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
   
    -- Проверяем инициализацию структур SAMP
    while not isSampAvailable() do wait(100) end
   
    -- Регистрируем команды
    sampRegisterChatCommand('fk', aAfk)
   
    writeMemory(7634870, 1, 0, 0)
    writeMemory(7635034, 1, 0, 0)
    memory.hex2bin('5051FF1500838500', 7623723, 8)
    memory.hex2bin('0F847B010000', 5499528, 6)

    wait(-1)
end

function aAfk()
    actAFK = not actAFK
    if actAFK then
        writeMemory(7634870, 1, 1, 1)
        writeMemory(7635034, 1, 1, 1)
        memory.fill(7623723, 144, 8)
        memory.fill(5499528, 144, 6)
        addOneOffSound(0.0, 0.0, 0.0, 1136)
        printString('~g~ FK ON', 2000)
    else
        writeMemory(7634870, 1, 0, 0)
        writeMemory(7635034, 1, 0, 0)
        memory.hex2bin('5051FF1500838500', 7623723, 8)
        memory.hex2bin('0F847B010000', 5499528, 6)
        addOneOffSound(0.0, 0.0, 0.0, 1136)
        printString('~r~ FK OFF', 2000)
    end
end











sleep pay-day [SRP]:
script_name('Sleep-PayDay')
script_author("Serhiy_Rubin")
local inicfg = require 'inicfg'
local sampev = require 'lib.samp.events'
local memory = require 'memory'
local antiflood = os.clock() * 1000
local sleep = false
local mode = 1
local send = ''
local sleep_time = 0

function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
    ini = inicfg.load({
        Settings = {
            doMin = 59,
            doSec = 30,
            Min = 00,
            Sec = 30,
        }
    })
    inicfg.save(ini)
    while true do
        wait(0)
        if psleep then
            min, sec = tonumber(os.date("%M",os.time())),tonumber(os.date("%S",os.time()))
            if sleep then
                if min == ini.Settings.doMin and sec >= ini.Settings.doSec then
                    send = 'sleep'
                end
            else
                if min == ini.Settings.Min and sec >= ini.Settings.Sec then
                    send = 'sleep'
                end
            end
            if (os.clock() * 1000) - antiflood > 1000 then
                if send == 'sleep' and sleep and min == ini.Settings.doMin and sec >= ini.Settings.doSec then
                    if os.time() - sleep_time > (58 - ini.Settings.doSec) then
                        send = 'wait sleep'
                        sampSendChat('/sleep')
                    end
                end
                if send == 'sleep' and not sleep and min == ini.Settings.Min and sec >= ini.Settings.Sec then
                    send = 'wait sleep'
                    sampSendChat('/sleep')
                end
            end
        end
    end
end


function sampev.onSendChat(message) antiflood = os.clock() * 1000 end
function sampev.onSendCommand(cmd) antiflood = os.clock() * 1000
    if cmd:lower():find("%/psleep") then
        if cmd:lower():find("%/psleep (%d+)") then
            local s1 = tonumber(cmd:lower():match("%/psleep (%d+)"))
            if s1 == 1 or s1 == 2 then
                mode = s1
                psleep = not psleep
                if psleep then
                    memory.setuint8(7634870, 1)
                    memory.setuint8(7635034, 1)
                    memory.fill(7623723, 144, 8)
                    memory.fill(5499528, 144, 6)
                    memory.fill(0x00531155, 0x90, 5, true)
                else
                    memory.setuint8(7634870, 0)
                    memory.setuint8(7635034, 0)
                    memory.hex2bin('5051FF1500838500', 7623723, 8)
                    memory.hex2bin('0F847B010000', 5499528, 6)
                end
                printStringNow((psleep and '~G~Sleep-PayDay: ON' or '~R~Sleep-PayDay: OFF'), 1000)
            else
                sampAddChatMessage(' /psleep ["1" - После взятия PayDay снова спать. | "2" - После взятия PayDay не спать]', -1)
                sampAddChatMessage(' /psleep time 59:30 00:30 - Первое минуты и секунды когда нужно проснуться, второе когда заснуть.', -1)
            end
        else
            if cmd:lower():find("%/psleep time (%d+):(%d+) (%d+):(%d+)") then
                local arr = { doMin = 0, doSec = 0, Min = 0, Sec = 0 }
                arr.doMin, arr.doSec, arr.Min, arr.Sec = cmd:lower():match("%/psleep time (%d+):(%d+) (%d+):(%d+)")
                for k,v in pairs(arr) do ini.Settings[k] = tonumber(v) end
                sampAddChatMessage('Выход из сна в '..arr.doMin..':'.. arr.doSec..'. После снова сон в '..arr.Min..':'..arr.Sec..'.', -1)
                inicfg.save(ini)
            else
                sampAddChatMessage(' /psleep ["1" - После взятия PayDay снова спать. | "2" - После взятия PayDay не спать]', -1)
                sampAddChatMessage(' /psleep time 59:30 00:30 - Первое минуты и секунды когда нужно проснуться, второе когда заснуть.', -1)
            end
        end
        return false
    end
end

function sampev.onServerMessage(color, message)
    if message == ' Не флуди!' then
        if send == 'wait sleep' then
            send = 'sleep'
        end
    end
    if message:find(' Ваш сон прерван. Вы проспал') then
        sleep_time = os.time()
        sleep = false
    end
    if message == ' Вы уснули. (( Используйте команду /sleep чтобы проснуться ))' then
        sleep_time = os.time()
        sleep = true
    end
end