SH
pedido

Ajuda Com Db.query

Por Shuzzyp, 07 de dez. de 2012 em Scripts

script
4
956
ShuzzypS
07 de dezembro de 2012 às 00:26

Olá :)

Preciso de um "db.query" que atualize um valor na database para "x + valor ja existente na database".

Ex: Na database o valor é 35. O novo valor que o player conseguiu é 7. O valor na database fica 42.

O que precisa ser editado é o valor do "pontos", na parte de players.

Ps: não preciso de um script inteiro, apenas a linha do db.query. A variavel da quantidade de pontos a ser adicionada é " .. (points) .. ".

Obrigado desde já.

Editado Dezembro 7 por Shuzzyp

LuckOakeL
07 de dezembro de 2012 às 00:43

Tó:

 

db.executeQuery("UPDATE `players` SET `pontos` = `pontos` + '"..points.."' WHERE `id` = '"..getPlayerGUID(cid).."';")

Editado Dezembro 7 por LuckOake

SkymagnumS
07 de dezembro de 2012 às 02:27

function getPontos(cid)

local points = db.getResult("SELECT `pontos` FROM `players` WHERE `id` = " .. getPlayerGUID(cid) .. ";")


return getDataInt(points)
end

function updatePoints(cid, value)


return db.executeQuery("UPDATE `players` SET `pontos` = " .. getPontos(cid) + value .. " WHERE `id` = " .. getPlayerGUID(cid) .. ";")
end

 

acho que o valor inicial vai ser -1 então em

/data/creaturescripts/scripts/login.lua coloque isto antes do último return true:

if getPontos(cid) < 0 then
updatePoints(cid, 1)
end

Editado Dezembro 7 por Skymagnum

ShuzzypS
07 de dezembro de 2012 às 03:11

@LuckOake Obrigado, funcionou! :)

@Skymagnum Desculpe, nao cheguei porque parece nao ser o que eu quero e a resposta do LuckOake é bem mais simples, e tudo que eu preciso é aquela linha, mas obrigado! :)