луа

blessedgge

Участник
Автор темы
54
6
Версия MoonLoader
Другое
нужно скрипт, который при ввиде сообщения (которое на скрине) писало /back
Cообщение из чат лога - Вы заняли {FFFF00}3-е {3399FF}место. Ваш приз: {FFFF00}150$

Lua:
local sampev = require 'lib.samp.events'
function sampev.onServerMessage(color, text)
    if text:find("Вы заняли {FFFF00} %d+-е {3399FF}место. Ваш приз: {FFFF00}%d+$") then
        sampSendChat('/back')
    end
end
попробовал этот код - не сработало
 

Вложения

  • 2024-10-23_12-33-42.png
    2024-10-23_12-33-42.png
    4.4 KB · Просмотры: 34
Последнее редактирование:
Решение
local ev = require 'lib.samp.events'

function ev.onServerMessage(color, text)
if text:gsub("{......}", ""):find("Вы заняли .+ место. Ваш приз: .+") then
wait(5000)
sampSendChat('/back')
end
end
Lua:
local ev = require 'lib.samp.events'

function ev.onServerMessage(color, text)
    if text:gsub("{......}", ""):find("Вы заняли .+ место. Ваш приз: .+") then
        lua_thread.create(function()
            wait(5000)
            sampSendChat('/back')
        end)
    end
end

chapo

tg/inst: @moujeek
Модератор
9,064
12,019
Сохрани файл в кодировке Windows1251
Код:
function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
end

???
если в скрипте есть хук, то мейн там необязателен
 
  • Нравится
Реакции: tweakingahh

blessedgge

Участник
Автор темы
54
6
Код:
function main()
    if not isSampLoaded() or not isSampfuncsLoaded() then return end
    while not isSampAvailable() do wait(100) end
end

???
Сохрани файл в кодировке Windows1251

если в скрипте есть хук, то мейн там необязателен
Сам скрипт не умирает, а чисто не реагирует на сообщение

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

???
doo.lua: D:\YELLOW PURPLE GTA\moonloader\doo.lua:17: '<eof>' expected near 'end'
 
Последнее редактирование:

chromiusj

Стань той переменой, которую хочешь увидеть в мире
Модератор
5,734
4,040
нужно скрипт, который при ввиде сообщения (которое на скрине) писало /back
Cообщение из чат лога - Вы заняли {FFFF00}3-е {3399FF}место. Ваш приз: {FFFF00}150$


попробовал этот код - не сработало
Экранируй магические символы(поставь знак процента перед ними)
 

blessedgge

Участник
Автор темы
54
6
хз попробуй
if text:gsub("{......}", ""):find("Вы заняли .+ место. Ваш приз: .+") then
попробую

хз попробуй
if text:gsub("{......}", ""):find("Вы заняли .+ место. Ваш приз: .+") then
в:
[17:15:21.768066] (script)    Ghetto Plugin: [CHAT] {FFFFFF}Загружен. Открыть меню: /gp
[17:19:21.321768] (error)    doo.lua: D:\YELLOW PURPLE GTA\moonloader\doo.lua:5: attempt to yield across C-call boundary
stack traceback:
    [C]: in function 'wait'
Вот ошибка
@MLycoris
 
Последнее редактирование:

MLycoris

На вид оружие массового семяизвержения
Проверенный
1,982
2,186
попробую


в:
[17:15:21.768066] (script)    Ghetto Plugin: [CHAT] {FFFFFF}Загружен. Открыть меню: /gp
[17:19:21.321768] (error)    doo.lua: D:\YELLOW PURPLE GTA\moonloader\doo.lua:5: attempt to yield across C-call boundary
stack traceback:
    [C]: in function 'wait'
Вот ошибка
@MLycoris
ты wait вне мейна пытаешься использовать, кинь код
 

blessedgge

Участник
Автор темы
54
6
ты wait вне мейна пытаешься использовать, кинь код
local ev = require 'lib.samp.events'

function ev.onServerMessage(color, text)
if text:gsub("{......}", ""):find("Вы заняли .+ место. Ваш приз: .+") then
wait(5000)
sampSendChat('/back')
end
end
 

MLycoris

На вид оружие массового семяизвержения
Проверенный
1,982
2,186
local ev = require 'lib.samp.events'

function ev.onServerMessage(color, text)
if text:gsub("{......}", ""):find("Вы заняли .+ место. Ваш приз: .+") then
wait(5000)
sampSendChat('/back')
end
end
Lua:
local ev = require 'lib.samp.events'

function ev.onServerMessage(color, text)
    if text:gsub("{......}", ""):find("Вы заняли .+ место. Ваш приз: .+") then
        lua_thread.create(function()
            wait(5000)
            sampSendChat('/back')
        end)
    end
end
 
  • Нравится
Реакции: blessedgge

blessedgge

Участник
Автор темы
54
6
Lua:
local ev = require 'lib.samp.events'

function ev.onServerMessage(color, text)
    if text:gsub("{......}", ""):find("Вы заняли .+ место. Ваш приз: .+") then
        lua_thread.create(function()
            wait(5000)
            sampSendChat('/back')
        end)
    end
end
скрипт бывает не срабатывает, из за того, что приза нету типо большое место
можно сделать проверку на приз?
 

Lance_Sterling

Известный
992
354
скрипт бывает не срабатывает, из за того, что приза нету типо большое место
можно сделать проверку на приз?
Код:
require('lib.samp.events').onServerMessage = function(color, text)
    if text:find('Вы заняли {FFFF00}.+{3399FF}место') then
        lua_thread.create(function()
            wait(5000)
            sampSendChat('/back')
        end)
    end
end
 

blessedgge

Участник
Автор темы
54
6
хз попробуй
if text:gsub("{......}", ""):find("Вы заняли .+ место. Ваш приз: .+") then
Код:
require('lib.samp.events').onServerMessage = function(color, text)
    if text:find('Вы заняли {FFFF00}.+{3399FF}место') then
        lua_thread.create(function()
            wait(5000)
            sampSendChat('/back')
        end)
    end
end
без приза не работает, сейчас протещу с призом мб заворкает
 

Вложения

  • 2024-10-23_19-39-41.png
    2024-10-23_19-39-41.png
    34 KB · Просмотры: 10

Lance_Sterling

Известный
992
354
без приза не работает, сейчас протещу с призом мб заворкает
Lua:
require('lib.samp.events').onServerMessage = function(color, text)
    if text:gsub('{......}', ''):find('Вы заняли .+ место') then
        lua_thread.create(function()
            wait(5000)
            sampSendChat('/back')
        end)
    end
end