Работа с ником.

Aizen Sosuke

Участник
Автор темы
120
20
Версия MoonLoader
.026-beta
Здравствуйте. Получаю ник в нужное мне время таким образом:
Lua:
if text:find('Администратор .* забанил игрока (.*)') and text:find('ракбот') then
    nick = text:match('Администратор .*')
    local file = io.open('moonloader\\MiniTools\\Список ракботов.txt', 'a')
    file:write(nick..'\n')
    file:close()
end

Оно записывает, все хорошо:
Администратор Nick_Name[567] забанил игрока Migel_Moravia[286] на 30 дней. Причина: ракбот
Вопрос. Как можно достать оттуда только ник игрока?
пробовал вместо:
nick = text:match('Администратор .*')
Делать:
Получилось сократить строку, но все равно пишет еще причину.
 
Решение
то, что тебе нужно "достать", то ты берешь в скобки

if text:find('Администратор .* забанил игрока (.*)') and text:find('ракбот') then
nick = text:match('Администратор .* забанил игрока (.*)')

но вместо (.+) лучше юзай %w+_%w+% (%w+_%w+%[%d+] если с ID)

biscuitt

Известный
186
14
то, что тебе нужно "достать", то ты берешь в скобки

if text:find('Администратор .* забанил игрока (.*)') and text:find('ракбот') then
nick = text:match('Администратор .* забанил игрока (.*)')

но вместо (.+) лучше юзай %w+_%w+% (%w+_%w+%[%d+] если с ID)
 
  • Нравится
Реакции: Aizen Sosuke

Aizen Sosuke

Участник
Автор темы
120
20
то, что тебе нужно "достать", то ты берешь в скобки

if text:find('Администратор .* забанил игрока (.*)') and text:find('ракбот') then
nick = text:match('Администратор .* забанил игрока (.*)')

но вместо (.+) лучше юзай %w+_%w+% (%w+_%w+%[%d+] если с ID)
Спасибо огромное!

А, и еще вопрос. Можно ли сверить ник админа? Допустим, если забанил админ с нужным мне ником, то тогда вывести сообщение. Пытался сделать - не работает.
 
Последнее редактирование:

paulohardy

вы еще постите говно? тогда я иду к вам
Всефорумный модератор
1,920
1,292
Спасибо огромное!

А, и еще вопрос. Можно ли сверить ник админа? Допустим, если забанил админ с нужным мне ником, то тогда вывести сообщение. Пытался сделать - не работает.
Lua:
if text:match('Администратор (.-)') == 'Ник_Админа' then
 

Aizen Sosuke

Участник
Автор темы
120
20
Lua:
        if text:find('Администратор .* забанил игрока (%w+_%w+)') then
            nick = text:match('Администратор .* забанил игрока (%w+_%w+)')
            nick_amd = text:match('Администратор (.-) забанил')
            if nick_amd == nickname.v then
                local file = io.open('moonloader\\MiniTools\\Список ракботов.txt', 'a')
                file:write(u8:decode('/banoff 0 '..nick..' 2000'..' ракбот'..tag.v..'\n'))
                sampAddChatMessage(nick)
                sampAddChatMessage(nick_amd)
                file:close()
            end
        end
Пытаюсь сделать так и ничего, без проверки в чат выводит ник, все хорошо, но выводит его с айдишником. Может проблема в этом? nickname.v - берется из imgui переменной. С проверкой не работает.

up.
получилось получить ник без айди, но ничего не помогло(
возможно кто-то сможет помочь?(

Разобрался.
 
Последнее редактирование: