Você pode usar o for no gmatch e ir procurando o groupId.
Mais não seria mais fácil você já inserir na string do gtmach o que você procura tipo (""..id.."(.-)...")
local t = "Ola EHEHEHE"
for i in t:gmatch("Ola(.*)") do
print(i)
end
info
Grupo: Infante
Registrado: 04/03/11
Posts: 1.6k
Reputação: +393
Char no Tibia: No Have

Você pode usar o for no gmatch e ir procurando o groupId.
Mais não seria mais fácil você já inserir na string do gtmach o que você procura tipo (""..id.."(.-)...")
local t = "Ola EHEHEHE"
for i in t:gmatch("Ola(.*)") do
print(i)
end
Editado Abril 25 por caotic
info
Grupo: Marquês
Registrado: 02/08/12
Posts: 1k
Reputação: +234
Char no Tibia: Maurolkit

Sim, tentei desse jeito só que deu uns erros lá.
info
Grupo: Conde
Registrado: 09/09/09
Posts: 528
Reputação: +424
Char no Tibia: Emekalo Makalo

Tente usar somente o string.match assim.
file:read("*a"):match("<group id=\"" .. groupId .. "\" name=\"(.-)\"")
Isso deve retornar o nome do grupo.
info
Grupo: Marquês
Registrado: 02/08/12
Posts: 1k
Reputação: +234
Char no Tibia: Maurolkit

Tente usar somente o string.match assim.
file:read("*a"):match("<group id=\"" .. groupId .. "\" name=\"(.-)\"")
Isso deve retornar o nome do grupo.
Vlw, eu usei de um jeito diferente que tava dando erro n sei pq lol
info
Grupo: Marquês
Registrado: 02/08/12
Posts: 1k
Reputação: +234
Char no Tibia: Maurolkit
Ela retorna o nome do grupo do char ou seja, god, cm, etc...
function getGroupNameById(groupId) local file = io.open("data/lib/groups.xml", "r") local name = "name" for info in file:read("*a"):gmatch("<groups(.-)</groups>") do if tonumber(info:match("group id=\"(.-)"\")) == groupId then local name = info:match(name .. "=\"(.-)\""):lower() return tostring(name) end end file:close() return nil endlembrando que a checagem deve sempre estar em minúscula.
correto:
"god"
incorreto:
"God"
É isso ai flws.