Как запустить работу скрипта в пейдей?

MrCH

Участник
Автор темы
109
17
Версия SA-MP
  1. Любая
Мой скрипт должен запускаться в пд, как это реализовать?
 
Решение
Думаю это то что тебе нужно

lua:
local events = require('lib.samp.events')

function events.onServerMessage(color, text)
    if text:match('__________Банковский чек__________') ~= nil or text:match('[Ошибка] {FFFFFF}Для получения PayDay вы должны отыграть минимум 20 минут.') then
        runCommandWhenPayDay()
    end
end

function runCommandWhenPayDay()
    sampAddChatMessage('Запустили функцию когда получили ПайДей',-1)
end

Это проверка подойдет для проверки на Аризоне так как у них сейчас такое сообщение выводится при получении ПД, так же сделал так чтобы когда вы не отыграли минимум времени для получении ПД но он прошел то команда сработает.

qdIbp

Автор темы
Проверенный
1,387
1,146
Lua:
--К переменным
local arr = os.date("*t")
--main()
while true do wait(0)
    if arr.min == 0 and arr.sec == 0 then
        print('paydat')
    end
end

Можно еще с активацией сделать
Lua:
local arr = os.date("*t")
local act = false

function main()
    repeat wait(0) until isSampAvailable()
        sampRegisterChatCommand('cmd',function() act = not act print(act) end)
    while true do wait(0)

        if act then
            if arr.min == 0 and arr.sec == 0 then
                print('paydat')
                act = false
            end
        end
    end
end
 

moreveal

Известный
Проверенный
859
539
Lua:
--К переменным
local arr = os.date("*t")
--main()
while true do wait(0)
    if arr.min == 0 and arr.sec == 0 then
        print('paydat')
    end
end

Можно еще с активацией сделать
Lua:
local arr = os.date("*t")
local act = false

function main()
    repeat wait(0) until isSampAvailable()
        sampRegisterChatCommand('cmd',function() act = not act print(act) end)
    while true do wait(0)

        if act then
            if arr.min == 0 and arr.sec == 0 then
                print('paydat')
                act = false
            end
        end
    end
end
в первом случае код выполнится несколько раз (потому что выполняется он не раз в секунду); вернее он даже не выполнится, ты ведь не по переопределяешь таблицу с временем, узнавая его лишь при запуске
и не особо имеет смысл объявлять переменную, если по дефолту она должна быть false, все будет нормально работать и без этого
 
  • Нравится
Реакции: qdIbp

Maria_Dragary

Участник
6
2
Думаю это то что тебе нужно

lua:
local events = require('lib.samp.events')

function events.onServerMessage(color, text)
    if text:match('__________Банковский чек__________') ~= nil or text:match('[Ошибка] {FFFFFF}Для получения PayDay вы должны отыграть минимум 20 минут.') then
        runCommandWhenPayDay()
    end
end

function runCommandWhenPayDay()
    sampAddChatMessage('Запустили функцию когда получили ПайДей',-1)
end

Это проверка подойдет для проверки на Аризоне так как у них сейчас такое сообщение выводится при получении ПД, так же сделал так чтобы когда вы не отыграли минимум времени для получении ПД но он прошел то команда сработает.
 
  • Нравится
Реакции: MrCH и qdIbp

Shun_Kazami

Активный
315
40
Думаю это то что тебе нужно

lua:
local events = require('lib.samp.events')

function events.onServerMessage(color, text)
    if text:match('__________Банковский чек__________') ~= nil or text:match('[Ошибка] {FFFFFF}Для получения PayDay вы должны отыграть минимум 20 минут.') then
        runCommandWhenPayDay()
    end
end

function runCommandWhenPayDay()
    sampAddChatMessage('Запустили функцию когда получили ПайДей',-1)
end

Это проверка подойдет для проверки на Аризоне так как у них сейчас такое сообщение выводится при получении ПД, так же сделал так чтобы когда вы не отыграли минимум времени для получении ПД но он прошел то команда сработает.
Если у тебя вечная адд тебе надо 5 минут отыграть