Jump to content

save-system


Recommended Posts

Oi, tenho um save-system que peguei para meu server na net

function playerLogin (thePreviousAccount, theCurrentAccount, autoLogin)
  if  not (isGuestAccount (getPlayerAccount (source))) then
    local accountData = getAccountData (theCurrentAccount, "funmodev2-money")
    if (accountData) then
      local playerMoney = getAccountData (theCurrentAccount, "funmodev2-money")
      local playerSkin = getAccountData (theCurrentAccount, "funmodev2-skin")
      local playerHealth = getAccountData (theCurrentAccount, "funmodev2-health")
      local playerArmor = getAccountData (theCurrentAccount, "funmodev2-armor")
      local playerX = getAccountData (theCurrentAccount, "funmodev2-x")
      local playerY = getAccountData (theCurrentAccount, "funmodev2-y")
      local playerZ = getAccountData (theCurrentAccount, "funmodev2-z")
      local playerInt = getAccountData (theCurrentAccount, "funmodev2-int")
      local playerDim = getAccountData (theCurrentAccount, "funmodev2-dim")
      local playerWanted = getAccountData (theCurrentAccount, "funmodev2-wantedlevel")
     local playerTeam = getAccountData (theCurrentAccount, "funmodev2-Team")
      local playerWeaponID0 = getAccountData (theCurrentAccount, "funmodev2-weaponID0")
      local playerWeaponID1 = getAccountData (theCurrentAccount, "funmodev2-weaponID1")
      local playerWeaponID2 = getAccountData (theCurrentAccount, "funmodev2-weaponID2")
      local playerWeaponID3 = getAccountData (theCurrentAccount, "funmodev2-weaponID3")
      local playerWeaponID4 = getAccountData (theCurrentAccount, "funmodev2-weaponID4")
      local playerWeaponID5 = getAccountData (theCurrentAccount, "funmodev2-weaponID5")
      local playerWeaponID6 = getAccountData (theCurrentAccount, "funmodev2-weaponID6")
      local playerWeaponID7 = getAccountData (theCurrentAccount, "funmodev2-weaponID7")
      local playerWeaponID8 = getAccountData (theCurrentAccount, "funmodev2-weaponID8")
      local playerWeaponID9 = getAccountData (theCurrentAccount, "funmodev2-weaponID9")
      local playerWeaponID10 = getAccountData (theCurrentAccount, "funmodev2-weaponID10")
      local playerWeaponID11 = getAccountData (theCurrentAccount, "funmodev2-weaponID11")
      local playerWeaponID12 = getAccountData (theCurrentAccount, "funmodev2-weaponID12")
      local playerWeaponAmmo0 = getAccountData (theCurrentAccount, "funmodev2-weaponAmmo0")
      local playerWeaponAmmo1 = getAccountData (theCurrentAccount, "funmodev2-weaponAmmo1")
      local playerWeaponAmmo2 = getAccountData (theCurrentAccount, "funmodev2-weaponAmmo2")
      local playerWeaponAmmo3 = getAccountData (theCurrentAccount, "funmodev2-weaponAmmo3")
      local playerWeaponAmmo4 = getAccountData (theCurrentAccount, "funmodev2-weaponAmmo4")
      local playerWeaponAmmo5 = getAccountData (theCurrentAccount, "funmodev2-weaponAmmo5")
      local playerWeaponAmmo6 = getAccountData (theCurrentAccount, "funmodev2-weaponAmmo6")
      local playerWeaponAmmo7 = getAccountData (theCurrentAccount, "funmodev2-weaponAmmo7")
      local playerWeaponAmmo8 = getAccountData (theCurrentAccount, "funmodev2-weaponAmmo8")
      local playerWeaponAmmo9 = getAccountData (theCurrentAccount, "funmodev2-weaponAmmo9")
      local playerWeaponAmmo10 = getAccountData (theCurrentAccount, "funmodev2-weaponAmmo10")
      local playerWeaponAmmo11 = getAccountData (theCurrentAccount, "funmodev2-weaponAmmo11")
      local playerWeaponAmmo12 = getAccountData (theCurrentAccount, "funmodev2-weaponAmmo12")
      spawnPlayer (source, playerX, playerY, playerZ +1, 0, playerSkin, playerInt, playerDim)
      setPlayerMoney (source, playerMoney)
      setTimer (setElementHealth, 500, 1, source, playerHealth)
      setTimer (setPedArmor, 500, 1, source, playerArmor)
      setTimer (setPlayerWantedLevel, 500, 1, source, playerWanted)
      giveWeapon(source, playerWeaponID0, playerWeaponAmmo0, true)
      giveWeapon(source, playerWeaponID1, playerWeaponAmmo1, false)
      giveWeapon(source, playerWeaponID2, playerWeaponAmmo2, false)
      giveWeapon(source, playerWeaponID3, playerWeaponAmmo3, false)
      giveWeapon(source, playerWeaponID4, playerWeaponAmmo4, false)
      giveWeapon(source, playerWeaponID5, playerWeaponAmmo5, false)
      giveWeapon(source, playerWeaponID6, playerWeaponAmmo6, false)
      giveWeapon(source, playerWeaponID7, playerWeaponAmmo7, false)
      giveWeapon(source, playerWeaponID8, playerWeaponAmmo8, false)
      giveWeapon(source, playerWeaponID9, playerWeaponAmmo9, false)
      giveWeapon(source, playerWeaponID10, playerWeaponAmmo10, false)
      giveWeapon(source, playerWeaponID11, playerWeaponAmmo11, false)
      giveWeapon(source, playerWeaponID12, playerWeaponAmmo12, false)
      setCameraTarget (source, source)
      fadeCamera(source, true, 2.0)
    else
      spawnPlayer (source, 1481.0855712891, -1771.2996826172, 18.795753479004, 0,78, 0, 0)
      setPlayerMoney (source, 200)
      setCameraTarget (source, source)
      fadeCamera(source, true, 2.0)  
    end   
  end
end
addEventHandler ("onPlayerLogin", getRootElement(), playerLogin)

function onLogout ()
	kickPlayer (source, nil, "Logging out is disallowed.")
end
addEventHandler ("onPlayerLogout", getRootElement(), onLogout)

function onQuit (quitType, reason, responsibleElement)
  if not (isGuestAccount (getPlayerAccount (source))) then
    account = getPlayerAccount (source)
    if (account) then
      local x,y,z = getElementPosition (source)
      setAccountData (account, "funmodev2-money", tostring (getPlayerMoney (source)))
      setAccountData (account, "funmodev2-skin", tostring (getPedSkin (source)))
      setAccountData (account, "funmodev2-health", tostring (getElementHealth (source)))
      setAccountData (account, "funmodev2-armor", tostring (getPedArmor (source)))
      setAccountData (account, "funmodev2-R", r)
      setAccountData (account, "funmodev2-G", g)
      setAccountData (account, "funmodev2-B", b)
      setAccountData (account, "funmodev2-x", x)
      setAccountData (account, "funmodev2-y", y)
      setAccountData (account, "funmodev2-z", z)
      setAccountData (account, "funmodev2-int", getElementInterior (source))
      setAccountData (account, "funmodev2-dim", getElementDimension (source))
      setAccountData (account, "funmodev2-wantedlevel", getPlayerWantedLevel (source))
      setAccountData (account, "funmodev2-weaponID0", getPedWeapon (source, 0))
      setAccountData (account, "funmodev2-weaponID1", getPedWeapon (source, 1))
      setAccountData (account, "funmodev2-weaponID2", getPedWeapon (source, 2))
      setAccountData (account, "funmodev2-weaponID3", getPedWeapon (source, 3))
      setAccountData (account, "funmodev2-weaponID4", getPedWeapon (source, 4))
      setAccountData (account, "funmodev2-weaponID5", getPedWeapon (source, 5))
      setAccountData (account, "funmodev2-weaponID6", getPedWeapon (source, 6))
      setAccountData (account, "funmodev2-weaponID7", getPedWeapon (source, 7))
      setAccountData (account, "funmodev2-weaponID8", getPedWeapon (source, 8))
      setAccountData (account, "funmodev2-weaponID9", getPedWeapon (source, 9))
      setAccountData (account, "funmodev2-weaponID10", getPedWeapon (source, 10))
      setAccountData (account, "funmodev2-weaponID11", getPedWeapon (source, 11))
      setAccountData (account, "funmodev2-weaponID12", getPedWeapon (source, 12))
      setAccountData (account, "funmodev2-weaponAmmo0", getPedTotalAmmo (source, 0))
      setAccountData (account, "funmodev2-weaponAmmo1", getPedTotalAmmo (source, 1))
      setAccountData (account, "funmodev2-weaponAmmo2", getPedTotalAmmo (source, 2))
      setAccountData (account, "funmodev2-weaponAmmo3", getPedTotalAmmo (source, 3))
      setAccountData (account, "funmodev2-weaponAmmo4", getPedTotalAmmo (source, 4))
      setAccountData (account, "funmodev2-weaponAmmo5", getPedTotalAmmo (source, 5))
      setAccountData (account, "funmodev2-weaponAmmo6", getPedTotalAmmo (source, 6))
      setAccountData (account, "funmodev2-weaponAmmo7", getPedTotalAmmo (source, 7))
      setAccountData (account, "funmodev2-weaponAmmo8", getPedTotalAmmo (source, 8))
      setAccountData (account, "funmodev2-weaponAmmo9", getPedTotalAmmo (source, 9))
      setAccountData (account, "funmodev2-weaponAmmo10", getPedTotalAmmo (source, 10))
      setAccountData (account, "funmodev2-weaponAmmo11", getPedTotalAmmo (source, 11))
      setAccountData (account, "funmodev2-weaponAmmo12", getPedTotalAmmo (source, 12))
    end
  end
end
addEventHandler ("onPlayerQuit", getRootElement(), onQuit)

function onWasted(totalAmmo, killer, killerWeapon, bodypart, stealth)
  if not( isGuestAccount (getPlayerAccount(source)) ) then
    local theWeapon = getPedWeapon (source)
    local weaponAmmo = getPedTotalAmmo (source)
    fadeCamera (source, false)
    setTimer (spawnPlayer, 1000, 1, source, 2036.1735839844, -1413.0563964844, 16.9921875, 0, getPedSkin (source), 0, 0, getPlayerTeam(source))
    setTimer (setCameraTarget, 1250, 1, source, source)
    setTimer (fadeCamera, 2000, 1, source, true)
    setTimer (giveWeapon, 2000, 1, source, theWeapon, weaponAmmo, true)
  end
end
addEventHandler ("onPlayerWasted", getRootElement(), onWasted)

---

function setTeam()
local account = getPlayerAccount(source) -- gets players account
local team = getAccountData (account, "team") -- gets players team
if (team) and getTeamFromName(team) then
      setPlayerTeam(source, getTeamFromName(team)) -- sets players team
     end
end
addEventHandler("onPlayerLogin",root,setTeam) -- sets players team on login
 
function save()
 local team = getPlayerTeam(source) -- Gets the players team
local account = getPlayerAccount(source)
if (team) and not isGuestAccount(account) then -- Checks to see if the player is a guest or not
setAccountData(account, "team", getTeamName(team)) --saves team
 end
    end
addEventHandler("onPlayerQuit", getRootElement(), save) -- saves team on quit

mas, quando eu deslogo e entro no server , não volta minhas armas, só vida,posição e dinheiro.Queria saber se tem algum erro ou alguem tem um funcional

Link to comment
  • Other Languages Moderators

Favor não criar tópicos repetidos. Utilize a busca do fórum antes de criar seu tópico para ver se já existe este problema já respondido.

 

No entanto, considerando que o outro tópico não houve solução pois o usuário não deu maiores informações. Você pode continuar com sua dúvida por aqui.

Link to comment
  • Other Languages Moderators

Testei seu sistema e ele está funcionando normalmente. Quando loguei ele apareceu sem arma pois estava no slot 0. Só troquei de slot apertando Q ou E dai a arma apareceu na minha mão com a munição certa.

No entanto, vale deixar claro que eu sai do server pelo ESC e não dei /logout. Pois vi que o sistema kicka os jogadores que deslogam no server.

Edited by Lord Henry
Link to comment
3 minutes ago, Lord Henry said:

Testei seu sistema e ele está funcionando normalmente. Quando loguei ele apareceu sem arma pois estava no slot 0. Só troquei de slot apertando Q ou E dai a arma apareceu na minha mão com a munição certa.

No entanto, vale deixar claro que eu sai do server pelo ESC e não dei /logout. Pois vi que o sistema kicka os jogadores que deslogam no server.

eu tou pegando uma m4 e uma ak47 e dou /reconnect, só que eu aperto 'e' e o 'q' e bolinha do mouse, só que n aparece nenhuma arma

 

Link to comment
  • Other Languages Moderators

Aumente um pouco o tamanho ali da coluna KEY para ver melhor. E vc está verificando o slot errado. O slot da AK-47 é o 5.

Pelo que deu pra ver mais abaixo, ele salvou a arma sim no slot 5. Mas tem que ver se salvou a munição. Pois sem munição, a arma não aparece na HUD, mesmo que o jogador tenha ela.

Verifique mais abaixo na data funmodev2-weaponAmmo5

E recomendo que vc coloque a janela de Editar Célula de volta no lugar.

Link to comment
2 minutes ago, Lord Henry said:

Aumente um pouco o tamanho ali da coluna KEY para ver melhor. E vc está verificando o slot errado. O slot da AK-47 é o 5.

Pelo que deu pra ver mais abaixo, ele salvou a arma sim no slot 5. Mas tem que ver se salvou a munição. Pois sem munição, a arma não aparece na HUD, mesmo que o jogador tenha ela.

Verifique mais abaixo na data funmodev2-weaponAmmo5

https://imge.to/i/jitEH

pelo visto tem 697 de municao, mas mesmo assim a arma nao aparece quando eu logo

Link to comment
  • Other Languages Moderators

Certo. Então o problema não está no save. Pode estar no load.

Pode fechar o banco de dados. Abra o script e na função playerLogin, depois da linha do spawnPlayer coloque isso:

outputChatBox ("Slot5: "..playerWeaponID5, source)
outputChatBox ("Munição: "..playerWeaponAmmo5, source)

Salve o script, reinicie o resource, reconecte no servidor, logue e me diga o que aparece.

Edited by Lord Henry
Link to comment
11 minutes ago, Lord Henry said:

Certo. Então o problema não está no save. Pode estar no load.

Pode fechar o banco de dados. Abra o script e na função playerLogin, depois da linha do spawnPlayer coloque isso:


outputChatBox ("Slot5: "..playerWeaponID5, source)
outputChatBox ("Munição: "..playerWeaponAmmo5, source)

Salve o script, reinicie o resource, reconecte no servidor, logue e me diga o que aparece.

https://imge.to/i/jiDKj

mostra tudo da arma mas n me seta ela

Link to comment
  • Other Languages Moderators

Apague aquelas duas linhas que eu disse, e agora substitua essa linha:

giveWeapon(source, playerWeaponID5, playerWeaponAmmo5, false)

por isso:

if giveWeapon(source, playerWeaponID5, playerWeaponAmmo5, false) then
	outputChatBox ("Arma "..getWeaponNameFromID (playerWeaponID5).." recebida no slot 5 com munição "..playerWeaponAmmo5, source)
else
	outputChatBox ("Erro ao atribir arma no slot 5.", source)
end

Teste novamente.

Link to comment
3 minutes ago, Lord Henry said:

Apague aquelas duas linhas que eu disse, e agora substitua essa linha:


giveWeapon(source, playerWeaponID5, playerWeaponAmmo5, false)

por isso:


if giveWeapon(source, playerWeaponID5, playerWeaponAmmo5, false) then	outputChatBox ("Arma "..getWeaponNameFromID (playerWeaponID5).." recebida no slot 5 com munição "..playerWeaponAmmo5, source)else	outputChatBox ("Erro ao atribir arma no slot 5.", source)end

Teste novamente.

https://imge.to/i/jinEh

mandou a msg, mas continua nao setando a arma

Link to comment
  • Other Languages Moderators

Abra o painel Admin, vá na aba Resources, cole esse comando no prompt e clique em server.

getPedWeapon (source, 5)

Não precisa relogar nem reiniciar o resource do save-system.

Link to comment
  • Other Languages Moderators

Hum... realmente não setou a arma. Parece que tem um problema com a função giveWeapon.

Execute agora esse comando e clique em server:

giveWeapon (source, 30, 10, true)

 

Link to comment
  • Other Languages Moderators

Ela tem 10 de munição, certo?

Agora aperte E para trocar pro slot 0 (a arma vai sair da sua mão) e então execute o mesmo comando mas coloque false no lugar de true. Depois volte pro slot da arma e verifique se aumentou a munição.

Link to comment
3 minutes ago, Lord Henry said:

Ela tem 10 de munição, certo?

Agora aperte E para trocar pro slot 0 (a arma vai sair da sua mão) e então execute o mesmo comando mas coloque false no lugar de true. Depois volte pro slot da arma e verifique se aumentou a munição.

sim ta dando 10, e quando eu boto false da 10 de munição

 

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...