Giovany Mito Posted June 9, 2020 Share Posted June 9, 2020 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
Other Languages Moderators Lord Henry Posted June 9, 2020 Other Languages Moderators Share Posted June 9, 2020 setAccountData e getAccountData já atualizam o banco de dados internal.db. Link to comment
Giovany Mito Posted June 9, 2020 Author Share Posted June 9, 2020 3 minutes ago, Lord Henry said: setAccountData e getAccountData já atualizam o banco de dados internal.db. Entendi, Mais Ele faz isso mesmo sem o player precisar se desconectar e conectar novamente ? Link to comment
Other Languages Moderators Lord Henry Posted June 10, 2020 Other Languages Moderators Share Posted June 10, 2020 Sim, ele atualiza na hora. Link to comment
Giovany Mito Posted June 10, 2020 Author Share Posted June 10, 2020 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
Other Languages Moderators Lord Henry Posted June 11, 2020 Other Languages Moderators Share Posted June 11, 2020 On 10/06/2020 at 15:20, Giovany Mito said: mais ele só atualiza o banco de dados quando o jogador desconecta do servidor 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 Link to comment
Giovany Mito Posted June 11, 2020 Author Share Posted June 11, 2020 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
Other Languages Moderators Lord Henry Posted June 12, 2020 Other Languages Moderators Share Posted June 12, 2020 Mais ou menos isso. Só testando pra saber. Link to comment
Giovany Mito Posted June 13, 2020 Author Share Posted June 13, 2020 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
Mickey2 Posted June 15, 2020 Share Posted June 15, 2020 On 13/06/2020 at 13:46, Giovany Mito said: 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 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 Lord Henry Posted June 15, 2020 Other Languages Moderators Share Posted June 15, 2020 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. 1 Link to comment
Giovany Mito Posted June 15, 2020 Author Share Posted June 15, 2020 Consegui fazer uma gambiarra aqui , agora esta funcionando Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now