nao testei, mas é algo assim
q = db.getResult("SELECT `name` FROM `players` ORDER BY `level` DESC LIMIT 0,1 ;")
local NomeG = q:getDataInt("name")
doBroadcastMessage("nome do top => "..NomeG.." !")
pra pegar o top
info
Grupo: Visconde
Registrado: 11/08/10
Posts: 477
Reputação: +175
Gênero: Masculino

nao testei, mas é algo assim
q = db.getResult("SELECT `name` FROM `players` ORDER BY `level` DESC LIMIT 0,1 ;")
local NomeG = q:getDataInt("name")
doBroadcastMessage("nome do top => "..NomeG.." !")
pra pegar o top
Eu agradeço a ajuda ^^ Mas voces misturou as duas duvidas.
E isso nao vai funcionar poque loca nameG não é string e nao guarda nomes mas apenas numeros.
em relação em destacar o top acho ja voce ja me ajudou depois testo.
-Agora preciso que algm me ajude --> local NomeG = q:getDataInt("name") quando fazemos o doBroadcastMessage("nome do top => "..NomeG.." !")
O que vai aparecer no servidor é Nome do top => 0
Editado Agosto 26 por tavax
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

local query = db.getResult("SELECT `name` FROM `guilds` WHERE `gate` = 1 ;")
if (query:getID() ~= -1) then
doBroadcastMessage("Member of the "..query:getDataString("name").." got blabla bla")
end
vai pegar o nome da guild que tem gate 1
getDataString -> para pegar string
getDataInt -> para pegar números
agora de todas as guilds
local query = db.getResult("SELECT `name`, `gate` FROM `guilds` WHERE `gate` > -1 ORDER BY `gate` DESC, `name` ASC;")
if (query:getID() ~= -1) then
doBroadcastMessage("Member of the "..query:getDataString("name").." have "..query:getDataInt("gate").." gates")
end
-- função para você
function getGuildTopGate()
local query = db.getResult("SELECT `name`, `gate` FROM `guilds` WHERE `gate` > -1 ORDER BY `gate` DESC, `name` ASC;")
if (query:getID() ~= -1) then
return query:getDataString("name")
end
return false
end
ai você usa
if getPlayerGuildName(cid) == getGuildTopGate() then ... end
Editado Agosto 26 por Vodkart
para variar voce domina isto ^^ Rep ´++ Vodkart
Em relação ao top player a funcao ficaria como ?|
function getPlayerTopLevel(cid)
local query = db.getResult("SELECT `id`, `level` FROM `players` WHERE `level` > -1 ORDER BY `level` DESC, `id` ASC;")
if (query:getID() ~= -1) then
return query:getDataInt("id")
end
return false
end
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

Desse modo retorna o ID do player:
local query = db.getResult("SELECT `id`, `level` FROM `players` WHERE `id` > 6 AND `group_id` < 3 ORDER BY `level` DESC;")
if (query:getID() ~= -1) then
return query:getDataInt("id")
end
desse outro vai retornar o nome:
local query = db.getResult("SELECT `name`, `level` FROM `players` WHERE `id` > 6 AND `group_id` < 3 ORDER BY `level` DESC, `name` ASC;")
if (query:getID() ~= -1) then
return query:getDataString("name")
end
Editado Agosto 27 por Vodkart
info
Grupo: Artesão
Registrado: 24/06/07
Posts: 104
Reputação: +3
Char no Tibia: Tavas
Boas,
Tenho duas duvidas talvez relativamente facil.
1º
GHLD = db.getResult("SELECT `id` `name`, `ownerid`, `gate` FROM `guilds` WHERE `guilds`.`gate` =1;")Aqui vamos buscar os dados objectivo puxar o nome para um broadcast.
local NomeG = Query:getDataInt("name") doBroadcastMessage("Member of the "..NomeG.." got blabla bla")Não funciona porque a variavel NomeG nao pode atribuir String ?!
2º
Esta nao tenho scripit ainda.
mas o objectivo é quem for TOP -> Consegue passar uma porta.
Aguardo respostas.
Obrigado pela atencao