Ir para conteúdo

Featured Replies

Postado

Olá galera, estou desenvolvendo pro meu servidor um sistema o qual não faz diferença dizer qual é, onde engalhei numa parte e gostaria de ver se alguém poderia me ajudar.
Preciso de uma função que checa na minha database, se existe algum player que tenha o valor X na storage Y.
Por exemplo:
 

Citar

function verificar(10023, 54) -- storage, valor
if existe alguém com o valor 54 na storage 10023 then

return true

else

return false

end

end

 

Como sou péssimo quando se fala de query, não consegui fazer essa função, alguém poderia por favor me ajudar?
Se possível, retornar o nome do jogador que possui tal valor na storage.

Obs: Servidor SQlite

Te ajudei? Clique em  Gostei ! 

²²²d¬¬b²²²

 

 

"She's got a smile that it seems to me...."  ♪♪

Resolvido por Vodkart

Ir para solução
  • Respostas 12
  • Visualizações 1.6k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • function getPlayersFromStorage(storage, value) local query,t = db.getResult("SELECT `player_id` FROM `player_storage` WHERE `key` = ".. storage .." AND `value` = ".. value),{} if (query:getID() ~= -

  • function getPlayersFromStorage(storage, value) local query = db.getResult("SELECT `player_id` FROM `player_storage` WHERE `key` = ".. storage .." AND `value` = ".. value) if (query:getID() ~= -1) th

  • FUNCIONOU COMO? vc trocou o int por string   o certo é   function getPlayersFromStorage(storage, value) local query = db.getResult("SELECT `player_id` FROM `player_storage` WHERE `

Posted Images

Postado
function getPlayersFromStorage(storage, value)
	local query,t = db.getResult("SELECT `player_id` FROM `player_storage` WHERE `key` = ".. storage .." AND `value` = ".. value),{}
	if (query:getID() ~= -1) then
		repeat
			t[#t+1] = query:getDataInt("player_id")
		until not(query:next())
		query:free()
	end
	return t
end

 

retorna uma tabela com os id dos players

 

mas n tem erro 

 

a query é basica

 

local storage,value = 178901,5
local query = db.getResult("SELECT `player_id` FROM `player_storage` WHERE `key` = ".. storage .." AND `value` = ".. value)
if (query:getID() ~= -1) then
...

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Postado
  • Autor

Acho que não entendi muito bem....
Irei explicar como vou usar:

Estaria criando essa função em uma lib, para um NPC chamar ela de acordo com o numero que o player der por exempo:

verificar(10023, ".. numero do player ..")

Se já existir algum player com esse numero na storage 10023, a função retorna o nome do player, se não existir, a função retorna false para que o NPC prossiga e registre esse número no player, ou seja, nunca poderá ter 2 players com o mesmo valor nessa storage.

@Vodkart eu tentei assim, mas não funciona:
 

function jatem(sto, valor)
local query = db.getResult("SELECT `player_id` FROM `player_storage` WHERE `key` = "..sto.." AND 'value' = "..valor.."")
local aa = getPlayerNameByGUID(query:getDataString("player_id"))
if aa then
bb = getPlayerNameByGUID(query:getDataString("player_id"))
else
bb = false
end
return bb
end

 

Te ajudei? Clique em  Gostei ! 

²²²d¬¬b²²²

 

 

"She's got a smile that it seems to me...."  ♪♪

Postado
  • Solução
function getPlayersFromStorage(storage, value)
	local query = db.getResult("SELECT `player_id` FROM `player_storage` WHERE `key` = ".. storage .." AND `value` = ".. value)
	if (query:getID() ~= -1) then
		return getPlayerNameByGUID(query:getDataInt("player_id"))
	end
	return false
end

 

 

 

ai pode usar

 

local x = getPlayersFromStorage(10023, getPlayerGUID(cid))
if not x then 
	print("nenhum jogador com este value")
else
	print(x)
end

 

 

Editado por Vodkart
nenhum (veja o histórico de edições)

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Postado
  • Autor
8 minutos atrás, Vodkart disse:

function getPlayersFromStorage(storage, value)
	local query = db.getResult("SELECT `player_id` FROM `player_storage` WHERE `key` = ".. storage .." AND `value` = ".. value)
	if (query:getID() ~= -1) then
		return getPlayerNameByGUID(query:getDataString("player_id"))
	end
	return false
end

 

 

ai pode usar

 


local x = getPlayersFromStorage(10023, getPlayerGUID(cid))
if not x then 
	print("nenhum jogador com este value")
else
	print(x)
end

 

 

 

Funcionou cara! Vlw mesmo!
Obs: você cometeu um pequeno erro ali rsrs
local x = getPlayersFromStorage(10023, getPlayerGUID(cid))
seria
local x = getPlayersFromStorage(10023, 53)

 

Mas funcionou bem como eu precisava!

Te ajudei? Clique em  Gostei ! 

²²²d¬¬b²²²

 

 

"She's got a smile that it seems to me...."  ♪♪

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo