GU
dúvida

db.getResult

Por GustavoCastilho, 24 de ago. de 2013 em Scripts

resolvido
12
1.8k
GustavoCastilhoG
24 de agosto de 2013 às 20:48

Tenho a seguinte linha de código:

pid = getPlayerGUIDByName(param)
var1 = db.getResult("SELECT `id` FROM `players` WHERE `id` = pid")
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "O id do player " .. param .. " é " ..var1..)



E aparece no console o erro:

... unexpected symbol near ')' na linha da função doPlayerSendTextMessage. O que fiz errado?

Obs.: Sei que pegar o id do player assim é estranho, pois há uma função que faz isso. Porém esse é apenas um teste, para depois eu modificar para outro campo da tabela players.

Editado Agosto 24 por GustavoCastilho

StyloMaldosoS
24 de agosto de 2013 às 20:50

sera porque você não fexou com as ""?

 

testa

 

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "O id do player " .. param .. " é " ..var1..".")
GustavoCastilhoG
24 de agosto de 2013 às 20:55

Agora aparece o erro:

 

 

... attempt to concatenate local 'var1' (a table value) stack traceback: ...
RoksasR
24 de agosto de 2013 às 20:58

Cara, não precisa de toda essa tramóia, troque a linha por essa:

 

 

doPlayerSendTextMessage(cid, 27, "O ID do player "..param.." é "..getPlayerGUID(getPlayerByName(param))..".")
GustavoCastilhoG
24 de agosto de 2013 às 21:01

É como eu disse na observação, esse é apenas um teste. Na realidade eu preciso pegar um valor da database e informar com a função doPlayerSendTextMessage().

RoksasR
24 de agosto de 2013 às 21:03

Então mande o código que está tentando fazer, você só queria o ID, a função que utilizei já faz isso.

VodkartV
24 de agosto de 2013 às 21:04

está na query msm, faltou concactar ela

var1 = db.getResult("SELECT `id` FROM `players` WHERE `id` = "..pid) -- aqui seleciona
var1:getDataInt("id") -- aqui pega

ficando

 

 

pid = getPlayerGUIDByName(param)
var1 = db.getResult("SELECT `id` FROM `players` WHERE `id` = "..pid) -- aqui seleciona
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "O id do player " .. param .. " é "..var1:getDataInt("id"))

Editado Agosto 24 por Vodkart

GustavoCastilhoG
24 de agosto de 2013 às 21:11

Ainda continua com o erro:

... attempt to concatenate local 'var1' (a table value) stack traceback: ...

@Edit

 

Ops, não tinha atualizado seu edit ainda Vodkart. Agora deu certo! Sou uma mula também, esqueci desse detalhe!

 

Obrigado, rep+!

Editado Agosto 24 por GustavoCastilho

VodkartV
24 de agosto de 2013 às 21:16

? posta aqui o script todo, porque cmo eu falei ta certo.

 

 

function onSay(cid, words, param)
pid = getPlayerGUIDByName(param)
var1 = db.getResult("SELECT `id` FROM `players` WHERE `id` = "..pid) -- aqui seleciona
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "O id do player " .. param .. " é "..var1:getDataInt("id"))
end

-------------------

 

kk de nada

 

flw brother

GustavoCastilhoG
24 de agosto de 2013 às 21:17

Sim está certo, eu não tinha visto seu edit. Estava faltando converter a variável (getDataInt("id")).

 

Obrigado!

VodkartV
24 de agosto de 2013 às 21:25

qualquer dúvida sobre query só vir perguntar para mim diretamente, é uma parte que eu gosto bastante e conheço bem.

RoksasR
24 de agosto de 2013 às 22:55

Tópico movido para a seção de dúvidas e pedidos resolvidos.