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

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:
local sampev = require("samp.events")

function sampev.onShowDialog(dialogId,s,t,b1,b2,text)
    -- code
end
это ракбот у меня, сампэвентс не нужен, т.к в апи ракбота уже с коробки это есть

1666279780895.png
 

YarikVL

Известный
Проверенный
4,767
1,820
Пытаюсь придумать как это сделать. Уже до этого српашивал, сколько регулярок не пробывал, не хочет.

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

Задача такова, берет из статы ник, и выводит его в админ чат
Выведи line через print и покажи как выглядит значение этой переменной с твоим: «Имя: »
Я сделаю регулярку рабочую
 

YarikVL

Известный
Проверенный
4,767
1,820
как я понял. в переменной name, ничего нету..
Ну да, в переменной name ничего нету. Там же у тебя nick.

И я говорю:
Выведи line через print и покажи как выглядит значение этой переменной с твоим: «Имя: »
Я сделаю регулярку рабочую
 

YarikVL

Известный
Проверенный
4,767
1,820

Neil_

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

coldplugg.

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

Neil_

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

coldplugg.

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

YarikVL

Известный
Проверенный
4,767
1,820
Посмотреть вложение 173856
извините конечно за мою тупость, но откуда лог в ракботе, если можете обьясните, не особо в этом шарю
Lua:
function onDialogShow(dialogId,s,t,b1,b2,text) -- результат епт
    for line in text:gmatch("[^\n]+") do -- разбиваем чтобы искать по строкам
        printLog(line)
    end
end
Покажи что выведет этот код на примере твоего диалога с твоим текстом: «Имя: »