dá pra pega pela db os players que tiver depositos maiores de"X" valor
ai vc quer q retorne o id das conta ou o nick deles?
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

dá pra pega pela db os players que tiver depositos maiores de"X" valor
ai vc quer q retorne o id das conta ou o nick deles?
info
Grupo: Artesão
Registrado: 21/07/13
Posts: 143
Reputação: +26

Primeiramente, para você checar o balance do player:
Crie um arquivo, dê o nome de checkbalance.lua e adicione isto:
function onSay(cid, words, param, channel)
local pid = 0
local pBalance = 0
local name = 0
if(param == '') then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "The parameter can not be a nil value.")
return true
end
pid = getPlayerGUIDByName(param)
if(not pid) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "This player does not exist.")
return true
else
pBalance = db.getResult("SELECT `balance` FROM `players` WHERE `id` = " ..pid)
name = getPlayerNameByGUID(pid)
end
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, pBalance:getDataString("balance").. " is the balance of " ..name.. ".")
end
Depois, para você modificar o balance:
Crie um arquivo, dê o nome de setbalance.lua e adicione isto:
function onSay(cid, words, param, channel)
if(param == '') then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "The parameter can not be a nil value.")
return true
end
local t = string.explode(param, ",")
local pid = getPlayerGUIDByName(t[1])
local amount = t[2]
if(not pid) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "This player does not exist.")
return true
else
local name = getPlayerNameByGUID(pid)
end
if(not amount) then
db.executeQuery("UPDATE `players` SET `balance` = 0 WHERE `id` = " ..pid)
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "The balance of " .. name .. " is now 0.")
else
db.executeQuery("UPDATE `players` SET `balance` = " .. amount .. " WHERE `id` = " ..pid)
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "The balance of " .. name .. " is now " .. amount .. ".")
end
end
Para finalizar, adicione as tags XML no arquivo talkactions.xml:
<talkaction log="yes" access="5" words="/checkbalance" event="script" value="checkbalance.lua"/> <talkaction log="yes" access="5" words="/setbalance" event="script" value="setbalance.lua"/>
Agora é só utilizar "/checkbalance NomeDoPlayer" para checar o balance dele e "/setbalance NomeDoPlayer, Quantidade" para deixar o balance com a Quantidade desejada.
Obs.: Não testei.
Editado Setembro 3 por GustavoCastilho
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

mas ae n tem que checar player por player?
bom seria retornar as lista e até mesmo mudar esse valor do banco
mas seu script fico mto bom gustavo, vi q aprendeu rápido
rep+
info
Grupo: Artesão
Registrado: 21/07/13
Posts: 143
Reputação: +26

mas ae n tem que checar player por player?
bom seria retornar as lista e até mesmo mudar esse valor do banco
mas seu script fico mto bom gustavo, vi q aprendeu rápido
rep+
Pois é. Agora lendo o tópico dele novamente reparei que ele queria algo mais abrangente. Mesmo assim está valendo.
Ando estudando bastante isso, sempre que posso. E aquela sua ajuda no meu tópico também contribuiu bastante para isso.
Fico grato pelo elogio e pelo REP+. Obrigado!
Obs.: Se ele quiser do modo que você disse, você que faz, porque eu não sei fazer essa varredura, ainda! iuheiauheaiuh
kkk achei 1 modo tão simples!
Obrigado pela ajuda!
info
Grupo: Artesão
Registrado: 21/07/13
Posts: 143
Reputação: +26

kkk achei 1 modo tão simples!
Obrigado pela ajuda!
Qual modo?
Não há de que!
info
Grupo: Artesão
Registrado: 17/06/06
Posts: 144
Reputação: +1
Pessoal peço que me ajudem por favor..
Alguns players bugaram dinheiro no meu servidor, e eu queria rastrear o banco de cada player, como faço? Muitos fizeram fakes e está praticamente impossivel de ficar logando na conta de cada um..
Algum storage onde eu possa ver na database um valor absurdo de dinheiro?
HELP! Valendo rep+