Помощь - Проблема со скриптом (SA:MP)

govnocode.lua

Участник
Автор темы
85
6
Версия MoonLoader
.027.0-preview
Написал скрипт, в игре пытаюсь протестировать. В консоли выдает:
[ML] (error) otdih.lua: D:\блаблабла\блаблабла\блаблабла\блаблабла\moonloader\otdih.lua:9: attempt to call global 'u8' (a nil value)
stack traceback:
D:\блаблабла\блаблабла\блаблабла\блаблабла\moonloader\otdih.lua: in function <D:\блаблабла\блаблабла\блаблабла\блаблабла\moonloader\otdih.lua:2>
[ML] (error) otdih.lua: Script died due to an error. (47D8C44C)​

Lua:
local bNotf, notf = pcall(import, "imgui_notf.lua")
function main()
    repeat
        wait(0)
    until isSampAvailable()
    wait(1)
    while true do
if bNotf then
        notf.addNotification(u8("Пора отдохнуть!"), 4, 1)
        end
    end
end

Суть скрипта в том, что каждые 15 минут будет отправляться "Push-Imgui" сообщение с помощью imgui_notf
 
Решение
Lua:
local bNotf, notf = pcall(import, "imgui_notf.lua")
local encoding = require("encoding")
encoding.default = 'CP1251'
u8 = encoding.UTF8
function main()
    repeat wait(15) until isSampAvailable
    while true do
if bNotf then
        notf.addNotification(u8("тут текст типа"), 4, 1)
        end
    end
end
Учти то что сейчас умедомление в бесконечном цикле и будет отправлять бесконечно.
code:
local bNotf, notf = pcall(import, "imgui_notf.lua")
local encoding = require("encoding")
encoding.default = 'CP1251'
u8 = encoding.UTF8
function main()
    repeat wait(15) until isSampAvailable
    while true do
        wait(0)
        if bNotf then
            notf.addNotification("тут текст типа", 4, 1)
        end
    end
end

govnocode.lua

Участник
Автор темы
85
6

chapo

🫡 В армии с 17.10.2023. В ЛС НЕ ОТВЕЧАЮ
Друг
8,768
11,210
Можешь еще пожалуйста подсказать, как сделать активацию скрипта ПРИ ПОДКЛЮЧЕНИИ К СЕРВЕРУ?

Если использую

Lua:
function onPacketReceived(packetId, data)
    if packetId == 34 then
        main()
    end
end

То выбивает ошибку
после isSampAvailable() добавь строку
while sampGetGamestate() ~= 3 do wait(0) end
 

siwage

Активный
188
65
while true do удаляю?
Возможно чапо имеет ввиду сделать вот так(я не уверен что правильно)
Внимание на 6 строчку
1687967729298.png
 

chapo

🫡 В армии с 17.10.2023. В ЛС НЕ ОТВЕЧАЮ
Друг
8,768
11,210
Lua:
local bNotf, notf = pcall(import, 'imgui_notf.lua')
local time = 15 * ((60 * 1000) * 60)
local last = os.clock()

function main()
    while not isSampAvailable() do wait(0) end
    while sampGetGamestate() ~= 3 do wait(0) end
    while true do
        wait(0)
        if last + time - os.clock() <= 0 then
            notf.addNotification('Долбаеб, ливни из игры', 7.500, 2)
            last = os.clock()
        end
    end
end