+[T]rakin Posted December 13, 2018 Share Posted December 13, 2018 (edited) Bem três topicos em um dia ;-; devo se burro para fica quase toda hora aqui mas vamos direto para a explicação. Seguinte to tentando Salvar data do Item mas toda vez que eu reconnect servidor/restart o script o valor volta padrão e não o salvo. Digamos gastei uma água ai do painel ia fica 4/5 como não salvar quando eu saio do servidor e volta para o 5/5. Espero que tenham entendidos. Queria pedir desculpas por fazer topicos quase toda hora Server_side Quote function Salvar_Itens_Agua(conta) if conta then local source = getAccountPlayer(conta) if isElement(source) then local ItemAgua = getElementData(source,"Agua") or 0 setAccountData(conta, "ItemAgua",tonumber(ItemAgua)) end end end function Carregar_Itens_Agua(conta) if not (isGuestAccount (conta)) then if (conta) then local source = getAccountPlayer(conta) if isElement(source) then local ItemsAgua = getAccountData(conta,"ItemsAgua") if type(ItemsAgua) == "boolean" or "ItemsAgua" == nil then ItemsAgua = 0 end setElementData(source, "Agua", tonumber(ItemsAgua)) end end end end addEventHandler("onPlayerLogin", root, function(_, acc) setTimer(Carregar_Itens_Agua,1000,1,acc) end ) function Salvar_Itens_Script_Carregar(res) if res == getThisResource() then for i, player in ipairs(getElementsByType("player")) do local acc = getPlayerAccount(player) if not isGuestAccount(acc) then Carregar_Itens_Agua(acc) end end end end addEventHandler("onResourceStart", getRootElement(), Salvar_Itens_Script_Carregar) function Salvar_Itens_Script_Descarregar(res) if res == getThisResource() then for i, player in ipairs(getElementsByType("player")) do local acc = getPlayerAccount(player) if not isGuestAccount(acc) then Carregar_Itens_Agua(acc) end end end end addEventHandler("onResourceRestart", getRootElement(), Salvar_Itens_Script_Descarregar) function Salvar_Itens_Script_Desligar(res) if res == getThisResource() then for i, player in ipairs(getElementsByType("player")) do local acc = getPlayerAccount(player) if not isGuestAccount(acc) then Salvar_Itens_Agua(acc) end end end end addEventHandler("onResourceStop", getRootElement(), Salvar_Itens_Script_Desligar) function Salvar_Itens_Sair(quitType) local acc = getPlayerAccount(source) if not (isGuestAccount(acc)) then if acc then Salvar_Itens_Agua(acc) end end end addEventHandler("onPlayerQuit", getRootElement(), Salvar_Itens_Sair) Edited December 13, 2018 by +[T]rakin Link to comment
brunob22 Posted December 13, 2018 Share Posted December 13, 2018 tem um tutorial ja no forum amigo Quote Tudo sobre Banco de Dados do MTA (SQLite) 1 Link to comment
+[T]rakin Posted December 13, 2018 Author Share Posted December 13, 2018 14 minutes ago, brunob22 said: tem um tutorial ja no forum amigo Não é o que eu estou precisando. Link to comment
brunob22 Posted December 13, 2018 Share Posted December 13, 2018 (edited) function Salvar_Itens_Sair(quitType) local acc = getPlayerAccount(source) if not (isGuestAccount(acc)) then if acc then Salvar_Itens_Agua(acc) end end end addEventHandler("onPlayerQuit", getRootElement(), Salvar_Itens_Sair) function Salvar_Itens_Agua(conta) if conta then local source = getAccountPlayer(conta) --< CONTA DE UM CARA QUE QUITO? if isElement(source) then local ItemAgua = getElementData(source,"Agua") or 0 ---< como ele vai pega o elemento do cara se ele quito? setAccountData(conta, "ItemAgua",tonumber(ItemAgua)) end end end so pensa comigo como vai pega elemento? se o cara quito? so pensa um pouco toda essa função se torna nula Edited December 13, 2018 by brunob22 1 Link to comment
Other Languages Moderators Lord Henry Posted December 13, 2018 Other Languages Moderators Share Posted December 13, 2018 2 hours ago, +[T]rakin said: Bem três topicos em um dia ;-; devo se burro para fica quase toda hora aqui mas vamos direto para a explicação. Não há problema em criar mais de um tópico no mesmo dia. Inclusive não há nada proibindo isso nas regras. No entanto, o ideal é que você conclua um tópico primeiro para depois criar outro. 2 hours ago, +[T]rakin said: Seguinte to tentando Salvar data do Item mas toda vez que eu reconnect servidor/restart o script o valor volta padrão e não o salvo. Digamos gastei uma água ai do painel ia fica 4/5 como não salvar quando eu saio do servidor e volta para o 5/5. Então mano, como vc já deve saber. Pra salvar dados entre as sessões dos jogadores, é necessário salvá-las em um banco de dados. Mas pra isso você precisa saber que tipo de dado você está salvando. Se ele é uma data de uma conta de um jogador específico, ou se é uma data de um resource. Você precisa saber a diferença, pois cada uma delas é salva em um banco de dados diferente. A propósito. Seu código não está funcionando pois você está tentando obter um jogador que quitou. Então sempre dará erro. Além disso, se o seu servidor permitir que o jogador deslogue sem sair do servidor. Ele perderá dados, pois você não configurou pra salvar ao dar logout. 1 1 Link to comment
+[T]rakin Posted December 13, 2018 Author Share Posted December 13, 2018 Bom eu mudei umas linhas do lado do cliente e começou a salvar os itens. Obrigado pela ajuda Link to comment
miiguelz Posted December 13, 2018 Share Posted December 13, 2018 Só ressaltando, quando for mecher com datas ou algo que tenha que armazenar, tenha em mente o tipo de banco de dados que você vai usar para não ficar perdido. Olhe também o Tópico do @Lord Henry: 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