достаем ник из статы

coldplugg.

Участник
Автор темы
180
22
Версия MoonLoader
Другое
Пытаюсь придумать как это сделать. Уже до этого српашивал, сколько регулярок не пробывал, не хочет.

Lua:
function onDialogShow(dialogId,s,t,b1,b2,text) -- результат епт
    for line in text:gmatch("[^\n]+") do -- разбиваем чтобы искать по строкам
        if line:find('Имя: %{......%}%[%w+_%w+]') then -- Поиск текста в строке. |  Пример строки Деньги в банке: [$21]
            nick = line:match('Имя: %{......%}%[(.*)%]') -- запишет в переменную name
            sendInput("/a НикНейм: "..nick, -1)
            --table.insert(checkstat, nickname, nick)
        end
    end
end

Задача такова, берет из статы ник, и выводит его в админ чат
 
Решение
[11:30:10] [LUA] Текущее состояние счета: 16220 az coins
[11:30:10] [LUA] Имя: [Requiem_J]
[11:30:10] [LUA] Пол: [Мужчина]
[11:30:10] [LUA] Здоровье: [100]
[11:30:10] [LUA] Уровень: [3]
[11:30:10] [LUA] Уважение: [6/7]
[11:30:10] [LUA] Наличные деньги(SA$): [$45200000]
[11:30:12] [LUA] Наличные деньги(VS$): [$0]
[11:30:12] [LUA] Евро: [0]
[11:30:12] [LUA] BTC: [0]
[11:30:12] [LUA] Номер телефона: [0]
[11:30:12] [LUA] Деньги в банке: [$0]
[11:30:12] [LUA] Деньги на депозите: [$0]
[11:30:12] [LUA] Работа: [None]
[11:30:12] [LUA] Организация: [Не имеется]
[11:30:12] [LUA] Уровень розыска: [0]
[11:30:12] [LUA] Законопослушность: 24/100
[11:30:12] [LUA] Защита: [-0 урона]
[11:30:12] [LUA] Регенерация: [+0 HP в мин.]
[11:30:12] [LUA] Урон: [+0 урона]
[11:30:12] [LUA]...

coldplugg.

Участник
Автор темы
180
22
Lua:
function onDialogShow(dialogId,s,t,b1,b2,text) -- результат епт
    for line in text:gmatch("[^\n]+") do -- разбиваем чтобы искать по строкам
        printLog(line)
    end
end
Покажи что выведет этот код на примере твоего диалога с твоим текстом: «Имя: »
[11:30:10] [LUA] Текущее состояние счета: 16220 az coins
[11:30:10] [LUA] Имя: [Requiem_J]
[11:30:10] [LUA] Пол: [Мужчина]
[11:30:10] [LUA] Здоровье: [100]
[11:30:10] [LUA] Уровень: [3]
[11:30:10] [LUA] Уважение: [6/7]
[11:30:10] [LUA] Наличные деньги(SA$): [$45200000]
[11:30:12] [LUA] Наличные деньги(VS$): [$0]
[11:30:12] [LUA] Евро: [0]
[11:30:12] [LUA] BTC: [0]
[11:30:12] [LUA] Номер телефона: [0]
[11:30:12] [LUA] Деньги в банке: [$0]
[11:30:12] [LUA] Деньги на депозите: [$0]
[11:30:12] [LUA] Работа: [None]
[11:30:12] [LUA] Организация: [Не имеется]
[11:30:12] [LUA] Уровень розыска: [0]
[11:30:12] [LUA] Законопослушность: 24/100
[11:30:12] [LUA] Защита: [-0 урона]
[11:30:12] [LUA] Регенерация: [+0 HP в мин.]
[11:30:12] [LUA] Урон: [+0 урона]
[11:30:12] [LUA] Удача: [шанс 0 на крит.урон]
[11:30:12] [LUA] Предупреждения: [0]
[11:30:12] [LUA] Наркозависимость: 0 [Нет зависимости]
[11:30:12] [LUA] Банковская карта: [ Не имеется ]
[11:30:12] [LUA] Статус: [ADDTest]
[11:30:12] [LUA] Возможность владеть 5-ми бизнесами: [Есть]
[11:30:12] [LUA] Возможность владеть 4-я домами: [Есть]
[11:30:12] [LUA] Возможность владеть 2-я фермами: [НЕТ]
 

YarikVL

Известный
Проверенный
4,767
1,820
[11:30:10] [LUA] Текущее состояние счета: 16220 az coins
[11:30:10] [LUA] Имя: [Requiem_J]
[11:30:10] [LUA] Пол: [Мужчина]
[11:30:10] [LUA] Здоровье: [100]
[11:30:10] [LUA] Уровень: [3]
[11:30:10] [LUA] Уважение: [6/7]
[11:30:10] [LUA] Наличные деньги(SA$): [$45200000]
[11:30:12] [LUA] Наличные деньги(VS$): [$0]
[11:30:12] [LUA] Евро: [0]
[11:30:12] [LUA] BTC: [0]
[11:30:12] [LUA] Номер телефона: [0]
[11:30:12] [LUA] Деньги в банке: [$0]
[11:30:12] [LUA] Деньги на депозите: [$0]
[11:30:12] [LUA] Работа: [None]
[11:30:12] [LUA] Организация: [Не имеется]
[11:30:12] [LUA] Уровень розыска: [0]
[11:30:12] [LUA] Законопослушность: 24/100
[11:30:12] [LUA] Защита: [-0 урона]
[11:30:12] [LUA] Регенерация: [+0 HP в мин.]
[11:30:12] [LUA] Урон: [+0 урона]
[11:30:12] [LUA] Удача: [шанс 0 на крит.урон]
[11:30:12] [LUA] Предупреждения: [0]
[11:30:12] [LUA] Наркозависимость: 0 [Нет зависимости]
[11:30:12] [LUA] Банковская карта: [ Не имеется ]
[11:30:12] [LUA] Статус: [ADDTest]
[11:30:12] [LUA] Возможность владеть 5-ми бизнесами: [Есть]
[11:30:12] [LUA] Возможность владеть 4-я домами: [Есть]
[11:30:12] [LUA] Возможность владеть 2-я фермами: [НЕТ]
Lua:
function onDialogShow(dialogId,s,t,b1,b2,text) -- результат епт
    for line in text:gmatch("[^\n]+") do -- разбиваем чтобы искать по строкам
        if line:find('Имя: %[(.+)%]') then
            printLog("Найдено имя")
            nick = line:match('Имя: %[(.+)%]')
            printLog("Имя: "..nick)
        end
    end
end
Если ничего не выведет код выше, то попробуй код ниже:
Lua:
function onDialogShow(id, style, title, b1, b2, text) -- результат епт
    for line in text:gmatch("[^\n]+") do -- разбиваем чтобы искать по строкам
        if line:find('Имя: (.*)%[(.+)%]') then
            printLog("Найдено имя")
            nick = line:match('Имя: (.*)%[(.+)%]')
            printLog("Имя: "..nick)
        end
    end
end

Никогда под ракбот просто не писал, но в обычном сампе через print выводится цвет, а тут цвет не вывело.
Посмотрел это https://www.blast.hk/threads/64031/ и думаю цвет не нужно указывать, то есть мой первый код ( который в начале этого сообщения ) должен работать
 
  • Нравится
Реакции: Neil_

coldplugg.

Участник
Автор темы
180
22
Lua:
function onDialogShow(dialogId,s,t,b1,b2,text) -- результат епт
    for line in text:gmatch("[^\n]+") do -- разбиваем чтобы искать по строкам
        if line:find('Имя: %[(.+)%]') then
            printLog("Найдено имя")
            nick = line:match('Имя: %[(.+)%]')
            printLog("Имя: "..nick)
        end
    end
end
Если ничего не выведет код выше, то попробуй код ниже:
Lua:
function onDialogShow(id, style, title, b1, b2, text) -- результат епт
    for line in text:gmatch("[^\n]+") do -- разбиваем чтобы искать по строкам
        if line:find('Имя: (.*)%[(.+)%]') then
            printLog("Найдено имя")
            nick = line:match('Имя: (.*)%[(.+)%]')
            printLog("Имя: "..nick)
        end
    end
end

Никогда под ракбот просто не писал, но в обычном сампе через print выводится цвет, а тут цвет не вывело.
Посмотрел это https://www.blast.hk/threads/64031/ и думаю цвет не нужно указывать, то есть мой первый код ( который в начале этого сообщения ) должен работать
первая сработала, вывело строку с ником

сделал, по вашему примеру все работает, спасибо большое
 
  • Нравится
Реакции: YarikVL