Как получить ник игрока

Andrew228

Участник
Автор темы
26
2
Версия MoonLoader
.026-beta
Как получить ник игрока написавшего в чат «Привет»?
Например мне написали «Привет» и чтобы вывелся его ник мне в чат
 

sᴀxᴏɴ

саксофон
Всефорумный модератор
791
853
Как получить ник игрока написавшего в чат «Привет»?
Например мне написали «Привет» и чтобы вывелся его ник мне в чат
Точную строчку дай, желательно из чатлога
 

sᴀxᴏɴ

саксофон
Всефорумный модератор
791
853
Можешь перевести это в lua?
Если в чате появилось слово “Привет” то получаем айди игрока написавшего «Привет»
Lua:
require('samp.events').onServerMessage = function(clr, text)
    local id = text:match('.+%[(%d+)]: Привет')
    if id then print(id) end
end
 
Последнее редактирование:
  • Нравится
Реакции: MorganDusty

Andrew228

Участник
Автор темы
26
2
Если для аризоны то на, готовый пример
(использовать в events)
nick, id, input = string.match(text, '([a-zA-Z_]+)%[(%d+)%] говорит:{B7AFAF} (.+)')
nick, id, input = string.match(text, '([a-zA-Z_]+)%[(%d+)%] кричит: (.+)')
Получается вместо B7AFAF писать Своё слово?
Получается вместо B7AFAF писать Своё слово?
Lua:
function sampev.onServerMessage(clr, text)
    local nick = string.match(text, '([a-zA-Z_]+)%[(%d+)%] говорит:{Привет} (.+)')
    if nick then sampAddChatMessage("[spcadm] ".. nick, 0x6B025E) end
end

Так не работает
 

Izvinisb

Известный
Проверенный
963
599
Получается вместо B7AFAF писать Своё слово?

Lua:
function sampev.onServerMessage(clr, text)
    local nick = string.match(text, '([a-zA-Z_]+)%[(%d+)%] говорит:{Привет} (.+)')
    if nick then sampAddChatMessage("[spcadm] ".. nick, 0x6B025E) end
end

Так не работает
Это цвет текста алло B7AFAF
 

Cosmo

Известный
Друг
653
2,724
Получается вместо B7AFAF писать Своё слово?

{B7AFAF} - это HEX код (цвет текста)
(.+) - Регулярное выражение принимающее в себя любые символы до конца строки в чате

nick, id, input = string.match(text, '([a-zA-Z_]+)%[(%d+)%] говорит:{B7AFAF} (.+)')
то что написано в sting.match не трогай, все данные от туда записываются в переменные (nick - ник, id - ид, input - текст который написал человек)

Если тебе нужно сверить написанный текст с каким-то своим просто проверяй через if
Например
Lua:
if nick ~= nil and tonumber(id) ~= <<Свой ид>> then -- проверка на то, что ник не равен ничему, а ид не равен своему
    if input:find 'КУ ОТ ПАВЛОВА' then -- если в тексте игрока найдёт этот текст то отправит в чат например команду на бан
        sampSendChat('/ban '..id..' 30 слив')
    end
end
 
Последнее редактирование: