Помогите LUA

z3hA444

Участник
Автор темы
90
4
Версия MoonLoader
.026-beta
Всем привет, можно ли сделать так же как в рак самп но только в обычной луа?
Можно ли так сделать в обычной луа у игрока? Если в чате появляется сообщение то мой персонаж будет что то отвечать на него как в рак самп
Как в раксампе:
function onServerMessage(msg)
    if msg:find(" (.+) Приветик") then
        nick = msg:match(" (.+) Приветик")
        sendInput("/a "..nick.." Привет друг, как дела?")
end
Помогите пожалуйста
 
Решение
попробуй
Lua:
local sampev = require('lib.samp.events')
function sampev.onServerMessage(color, text)
    if text:gsub('{......}',''):find(' (.+) Приветик') then
        lua_thread.create(function() wait(100)
            local nick = text:gsub('{......}',''):match(' (.+) Приветик')
            sampSendChat('/a '..nick..' Привет друг, как дела?')
        end)
    end
end

why ega

РП игрок
Модератор
2,545
2,236
Всем привет, можно ли сделать так же как в рак самп но только в обычной луа?
Можно ли так сделать в обычной луа у игрока? Если в чате появляется сообщение то мой персонаж будет что то отвечать на него как в рак самп
Как в раксампе:
function onServerMessage(msg)
    if msg:find(" (.+) Приветик") then
        nick = msg:match(" (.+) Приветик")
        sendInput("/a "..nick.." Привет друг, как дела?")
end
Помогите пожалуйста
sendInput замени на sampSendChat
 

kyrtion

Известный
658
242
Всем привет, можно ли сделать так же как в рак самп но только в обычной луа?
Можно ли так сделать в обычной луа у игрока? Если в чате появляется сообщение то мой персонаж будет что то отвечать на него как в рак самп
Как в раксампе:
function onServerMessage(msg)
    if msg:find(" (.+) Приветик") then
        nick = msg:match(" (.+) Приветик")
        sendInput("/a "..nick.." Привет друг, как дела?")
end
Помогите пожалуйста
В раксамп лайт вызываешь в либ samp.events?
 

MLycoris

Режим чтения
Проверенный
1,821
1,860
попробуй
Lua:
local sampev = require('lib.samp.events')
function sampev.onServerMessage(color, text)
    if text:gsub('{......}',''):find(' (.+) Приветик') then
        lua_thread.create(function() wait(100)
            local nick = text:gsub('{......}',''):match(' (.+) Приветик')
            sampSendChat('/a '..nick..' Привет друг, как дела?')
        end)
    end
end
 

kyrtion

Известный
658
242
- onServerMessage без либы sampev ну вряд ли будет сработать. onServerMessage -> sampev.onServerMessage(color, msg)
- думаю ты не добавил либ сампев, local sampev = require 'samp.events' перед main()
- если в раксамп лайт используешь, то sendInput оставляешь. однако, лучше использовать с newTask(function() ... end)
- если чисто в сампе, то sampSendChat + с потоком lua_thread.create(function() ... end)
 

z3hA444

Участник
Автор темы
90
4
В раксамп лайт вызываешь в либ samp.events?
нет

- onServerMessage без либы sampev ну вряд ли будет сработать. onServerMessage -> sampev.onServerMessage(color, msg)
- думаю ты не добавил либ сампев, local sampev = require 'samp.events' перед main()
- если в раксамп лайт используешь, то sendInput оставляешь. однако, лучше использовать с newTask(function() ... end)
- если чисто в сампе, то sampSendChat + с потоком lua_thread.create(function() ... end)
написал так что я нихуя не понял

попробуй
Lua:
local sampev = require('lib.samp.events')
function sampev.onServerMessage(color, text)
    if text:gsub('{......}',''):find(' (.+) Приветик') then
        lua_thread.create(function() wait(100)
            local nick = text:gsub('{......}',''):match(' (.+) Приветик')
            sampSendChat('/a '..nick..' Привет друг, как дела?')
        end)
    end
end
спасибо

попробуй
Lua:
local sampev = require('lib.samp.events')
function sampev.onServerMessage(color, text)
    if text:gsub('{......}',''):find(' (.+) Приветик') then
        lua_thread.create(function() wait(100)
            local nick = text:gsub('{......}',''):match(' (.+) Приветик')
            sampSendChat('/a '..nick..' Привет друг, как дела?')
        end)
    end
end
подскажи пожалуйста, как сделать так что бы на сообщение было кд? К примеру я написал Приветик и он ответил но как поставить кд на повторный ответ?
 
Последнее редактирование:
  • Нравится
  • Эм
Реакции: kyrtion и MLycoris

MLycoris

Режим чтения
Проверенный
1,821
1,860
подскажи пожалуйста, как сделать так что бы на сообщение было кд? К примеру я написал Приветик и он ответил но как поставить кд на повторный ответ?
попробуй, кд на 9 строке в миллисекундах
Lua:
local sampev = require('lib.samp.events')
local st = false
function sampev.onServerMessage(color, text)
    if text:gsub('{......}',''):find(' (.+) Приветик') and not st then
        st = true
        lua_thread.create(function() wait(100)
            local nick = text:gsub('{......}',''):match(' (.+) Приветик')
            sampSendChat('/a '..nick..' Привет друг, как дела?')
            wait(2000) -- тут кд в милисек
            st = false
        end)
    end
end
 

z3hA444

Участник
Автор темы
90
4
попробуй, кд на 9 строке в миллисекундах
Lua:
local sampev = require('lib.samp.events')
local st = false
function sampev.onServerMessage(color, text)
    if text:gsub('{......}',''):find(' (.+) Приветик') and not st then
        st = true
        lua_thread.create(function() wait(100)
            local nick = text:gsub('{......}',''):match(' (.+) Приветик')
            sampSendChat('/a '..nick..' Привет друг, как дела?')
            wait(2000) -- тут кд в милисек
            st = false
        end)
    end
end
спасибки, а можно еще сообщение добавить типо кд?
 

z3hA444

Участник
Автор темы
90
4
да, добавь между 8 и 9 строкой и сё
Lua:
sampAddChatMessage('Пошло кд', -1)
блин а в чем ошибка?


код:
function sampev.onServerMessage(color, text)
if text:gsub('{......}',''):find('[A:d%] Администратор (.+): /jail (.+) (.+) (.+)') and not st then
        st = true
        lua_thread.create(function() wait(100)
            local lvl, nick, id, vremy, prichina = text:gsub('{......}',''):match('[A:%d] Администратор (.+): /jail (.+) (.+) (.+)')
            sampSendChat('/jail '..id..' '..vremy..' '..prichina..' | by '..nick)
            sampSendChat('/a Форма от администратора - '..nick..' на "JAIL" Успешна принята.')
            sampSendChat('/a Следующие использование админ форм будет активно через 3 минуты.')
            wait(180000) -- тут кд в милисек
            st = false
        end)
    end
end
 

MLycoris

Режим чтения
Проверенный
1,821
1,860
блин а в чем ошибка?


код:
function sampev.onServerMessage(color, text)
if text:gsub('{......}',''):find('[A:d%] Администратор (.+): /jail (.+) (.+) (.+)') and not st then
        st = true
        lua_thread.create(function() wait(100)
            local lvl, nick, id, vremy, prichina = text:gsub('{......}',''):match('[A:%d] Администратор (.+): /jail (.+) (.+) (.+)')
            sampSendChat('/jail '..id..' '..vremy..' '..prichina..' | by '..nick)
            sampSendChat('/a Форма от администратора - '..nick..' на "JAIL" Успешна принята.')
            sampSendChat('/a Следующие использование админ форм будет активно через 3 минуты.')
            wait(180000) -- тут кд в милисек
            st = false
        end)
    end
end
мб в регулярках накосячил на 2 и 5 строке, где %d и d% хз, смотри ошибку в консоли
 

z3hA444

Участник
Автор темы
90
4
мб в регулярках накосячил на 2 и 5 строке, где %d и d% хз, смотри ошибку в консоли
нет, не в них

мб в регулярках накосячил на 2 и 5 строке, где %d и d% хз, смотри ошибку в консоли
у меня в консоли ничего не пишет
 

MLycoris

Режим чтения
Проверенный
1,821
1,860
нет, не в них


у меня в консоли ничего не пишет
попробуй
Lua:
local sampev = require('lib.samp.events')
local st = false
function sampev.onServerMessage(color, text)
    if text:gsub('{......}',''):find('%[A:.+%] Администратор (.+): /jail (.+) (.+) (.+)') and not st then
            st = true
            lua_thread.create(function() wait(100)
                local nick, id, vremy, prichina = text:gsub('{......}',''):match('%[A:.+%] Администратор (.+): /jail (.+) (.+) (.+)')
                sampSendChat('/jail '..id..' '..vremy..' '..prichina..' | by '..nick)
                wait(1000)
                sampSendChat('/a Форма от администратора - '..nick..' на "JAIL" Успешна принята.')
                wait(1000)
                sampSendChat('/a Следующие использование админ форм будет активно через 3 минуты.')
                wait(180000) -- тут кд в милисек
                st = false
            end)
        end
    end