Jump to content

Ajuda - Banco de dados internal.db


Recommended Posts

Olá, 

Eu uso algun script que faz setagem de cargo para o player usando key do userdata.

Mais o banco de dados só salva as informação do mesmo quando ele desloga do servidor e loga de novo, ai sim ele consegue usar os comando do cargo dele. 

Tem alguma maneira de fazer o banco de dados recarregar os dados na hora da setagem ?  

 

Link to comment
1 hour ago, Lord Henry said:

Sim, ele atualiza na hora.

Entendi, eu fiz aqui, mais ele só atualiza o banco de dados quando o jogador desconecta do servidor. Pois então o player só poderia usar algum comando do servidor quando ele desconectasse e conectasse novamento.

function setPlayerhlpp(receiver, number)
     if ( getElementType ( receiver ) == "player" ) then
         setElementData(receiver,"levelhelper",tonumber(number))	 
    end
 end

addEventHandler("onPlayerLogin", root, function()
    local acc = getPlayerAccount(source)
	local helpset = (getAccountData(acc,"Helper") or 0)
    local helpset = getAccountData(acc, "Helper") or 0
    setElementData(source, "levelhelper", tonumber(helpset))
end)


addEventHandler("onPlayerQuit", root, function()
    local acc = getPlayerAccount(source)
    local helpset = getElementData(source, "levelhelper") or 0
    setAccountData(acc, "Helper", tonumber(helpset))
end)

addEventHandler("onResourceStart", resourceRoot, function()
    for _, player in pairs(getElementsByType("player")) do
        local acc = getPlayerAccount(source)
      	local helpset = getAccountData(acc, "Helper")
        if helpset then
            setElementData(player, "levelhelper", tonumber(helpset))
        end
    end
end)

function getPlayerhelp(thePlayer)
    local data = getElementData(thePlayer, "levelhelper")
    thePoints = tonumber(data)
	return thePoints
end

function takePlayerhelp(thePlayer, number)
     if ( getElementType ( thePlayer ) == "player" ) then
         setElementData(thePlayer,"levelhelper",getElementData(thePlayer, "levelhelper")-tonumber(number))
     end
end

 

Link to comment
1 hour ago, Lord Henry said:

Então vc está fazendo algo errado. Pois o setAccountData já atualiza o banco de dados. Posso até provar em vídeo: https://youtu.be/65iJnJLG0PI

 

Nossa você teve esse trabalho de fazer um video pra mim ver kkkkk.

Então eu to olhando meu script aqui, acho que tenho que por então o setAccountData la dentro do setPlayerhlpp, pq pelo oq aparece no script ele só salva quando o player desconecta

Mais o menos assim ?  

function setPlayerhlpp(receiver, number, amount)
     if ( getElementType ( receiver ) == "player" ) then
         setElementData(receiver,"levelhelper",tonumber(number))	
		 setAccountData(receiver, "Helper", tonumber(amount))
    end
 end

 

Link to comment
On 11/06/2020 at 23:43, Lord Henry said:

Mais ou menos isso. Só testando pra saber.

Agora vem esse aviso, creio que não ta chegando os valores para a função, mais nao sei como fazer agora.

https://prnt.sc/sz3wl4

 

 

function setPlayerhlpp(number, amount)
		local receiver = getPlayerFromAccountID(id)
     if ( getElementType ( receiver ) == "player" ) then
         setElementData(receiver,"levelhelper",tonumber(number))	
		 setAccountData(receiver, "Helper", tonumber(amount))
    end
 end

 

Link to comment
On 13/06/2020 at 13:46, Giovany Mito said:
  1. function setPlayerhlpp(number, amount)
    1. local receiver = getPlayerFromAccountID(id)
    2. if ( getElementType ( receiver ) == "player" ) then
      1. setElementData(receiver,"levelhelper",tonumber(number))
      2. setAccountData(receiver, "Helper", tonumber(amount))
    3. end
  2. end

na função você pede dois argumentos, number e amount, dentro do local receiver você coloca um argumento chamado id, este argumento é global ou você esqueceu de informar?

Link to comment
  • Other Languages Moderators

O erro está dizendo que receiver é booleano (false). Pois vc não declarou id em lugar nenhum. Então a função getPlayerFromAccountID retornou false em vez de um jogador.

  • Thanks 1
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...