Jump to content

save-system


Recommended Posts

  • Other Languages Moderators
Posted

Não fica com 20 depois que vc volta pro slot dela?

  • Other Languages Moderators
Posted

Execute o comando de novo pra ver se aumenta pra 20 guardada.

  • Other Languages Moderators
Posted

Então volte pro script e troque aqueles false por true.

Aquele IF que eu passei no slot 5 vc pode desfazer.

Posted
12 minutes ago, Lord Henry said:

Então volte pro script e troque aqueles false por true.

Aquele IF que eu passei no slot 5 vc pode desfazer.

botei e nao ta indo

      giveWeapon(source, playerWeaponID0, playerWeaponAmmo0, true)
      giveWeapon(source, playerWeaponID1, playerWeaponAmmo1, true)
      giveWeapon(source, playerWeaponID2, playerWeaponAmmo2, true)
      giveWeapon(source, playerWeaponID3, playerWeaponAmmo3, true)
      giveWeapon(source, playerWeaponID4, playerWeaponAmmo4, true)
      giveWeapon(source, playerWeaponID5, playerWeaponAmmo5, true)
      giveWeapon(source, playerWeaponID6, playerWeaponAmmo6, true)
      giveWeapon(source, playerWeaponID7, playerWeaponAmmo7, true)
      giveWeapon(source, playerWeaponID8, playerWeaponAmmo8, true)
      giveWeapon(source, playerWeaponID9, playerWeaponAmmo9, true)
      giveWeapon(source, playerWeaponID10, playerWeaponAmmo10, true)
      giveWeapon(source, playerWeaponID11, playerWeaponAmmo11, true)
      giveWeapon(source, playerWeaponID12, playerWeaponAmmo12, true)

 

  • Other Languages Moderators
Posted

Fiz o mesmo aqui e ocorreu o seguinte: 

Dei essas armas pelo painel e depois reloguei.

  • 0 = socadeira
  • 1 = faca
  • 2 = Colt 45
  • 3 = Shotgun
  • 4 = MP5
  • 5 = AK-47
  • 6 = Sniper
  • 7 = Lança Chamas
  • 8 = Granada
  • 9 = Extintor
  • 10 = Flor
  • 11 = Paraquedas
  • 12 = (não atribui nenhum)

Ele setou todas exceto a socadeira, que fica no slot 0. A questão de estar true ou false não fez ele funcionar nem fez as outras deixarem de funcionar. Ou seja, não mudou em nada.

Deixei todos em false, continua no mesmo. Deixei todos em true, continua no mesmo. Voltei ao original, só o slot 0 como true e o resto false, continua no mesmo. Deixei só o slot 1 como true e o resto false, continua no mesmo. (só que dai ele nasce com a faca na mão, já que ele muda pro slot 1 por causa do true.)

Dando a socadeira via comando admin funciona normalmente.

Faça o mesmo teste, dê uma arma de cada slot pra si mesmo. Deixe o script original e teste pra ver se alguma delas aparece.

Posted
6 minutes ago, Lord Henry said:

Fiz o mesmo aqui e ocorreu o seguinte: 

Dei essas armas pelo painel e depois reloguei.

  • 0 = socadeira
  • 1 = faca
  • 2 = Colt 45
  • 3 = Shotgun
  • 4 = MP5
  • 5 = AK-47
  • 6 = Sniper
  • 7 = Lança Chamas
  • 8 = Granada
  • 9 = Extintor
  • 10 = Flor
  • 11 = Paraquedas
  • 12 = (não atribui nenhum)

Ele setou todas exceto a socadeira, que fica no slot 0. A questão de estar true ou false não fez ele funcionar nem fez as outras deixarem de funcionar. Ou seja, não mudou em nada.

Deixei todos em false, continua no mesmo. Deixei todos em true, continua no mesmo. Voltei ao original, só o slot 0 como true e o resto false, continua no mesmo. Deixei só o slot 1 como true e o resto false, continua no mesmo. (só que dai ele nasce com a faca na mão, já que ele muda pro slot 1 por causa do true.)

Dando a socadeira via comando admin funciona normalmente.

Faça o mesmo teste, dê uma arma de cada slot pra si mesmo. Deixe o script original e teste pra ver se alguma delas aparece.

não salvou nenhuma

  • Other Languages Moderators
Posted

Putz...

Então temos um problema de script mesmo.

Posted
1 minute ago, Lord Henry said:

Putz...

Então temos um problema de script mesmo.

o pior é que eu peguei um monte de save-system da net, e todos tem o mesmo probela.Se vc tiver algum que funcione se poder me ajudar

  • Other Languages Moderators
Posted

Testei o save-system que eu fiz junto do painel de login e ele salva todas, sem erro nenhum.

A diferença é que ele salva todas as armas e suas munições em uma table JSON e depois passa um loop pela table atribuindo todas no player. Esse sistema aí salva cada arma numa data e cada munição em outra e vai atribuindo uma por uma.

Posted
4 minutes ago, Lord Henry said:

Testei o save-system que eu fiz junto do painel de login e ele salva todas, sem erro nenhum.

A diferença é que ele salva todas as armas e suas munições em uma table JSON e depois passa um loop pela table atribuindo todas no player. Esse sistema aí salva cada arma numa data e cada munição em outra e vai atribuindo uma por uma.

é pago esse save-system?

 

  • Other Languages Moderators
Posted

O painel é. E como o sistema faz parte dele, então é também.

  • Other Languages Moderators
Posted

Parte do save das armas: (já troquei o nome da data pra ficar parecido com o seu sistema)

Acesse o banco de dados antes de qualquer coisa e delete todos os registros das armas e munições do seu save-system.

local ammo = {}
for i=0,12 do --Weapon Slots
	for k=1,46 do --Weapon IDs (seria do 0 ao 46, mas não precisa obter a mão do jogador, arma 0.)
		if getPedWeapon (source, i) == k then
			ammo[k] = getPedTotalAmmo (source, i)
		end
	end
end
setAccountData (previousAcc, "funmodev2-weapons", toJSON ( { ammo[1], ammo[2], ammo[3], ammo[4], ammo[5], ammo[6], ammo[7], ammo[8], ammo[9], ammo[10], ammo[11], ammo[12], ammo[13], ammo[14], ammo[15], ammo[16], ammo[17], ammo[18], ammo[19], ammo[20], ammo[21], ammo[22], ammo[23], ammo[24], ammo[25], ammo[26], ammo[27], ammo[28], ammo[29], ammo[30], ammo[31], ammo[32], ammo[33], ammo[34], ammo[35], ammo[36], ammo[37], ammo[38], ammo[39], ammo[40], ammo[41], ammo[42], ammo[43], ammo[44], ammo[45], ammo[46] } ))

Parte do load das armas:

if getAccountData (currentAcc, "funmodev2-weapons") then
	local weaponData = fromJSON (getAccountData (currentAcc, "funmodev2-weapons")) -- Converte a string JSON em uma table.
	for i=1, 46 do -- Para cada ID de arma, faça: (seria do 0 ao 46, mas não precisa obter a mão do jogador)
		if weaponData[tostring(i)] then -- Se existe o ID "i" de arma na table, então:
			giveWeapon (source, i, weaponData[tostring(i)]) -- Os índices da table JSON sempre são em string.
		end
	end
end

 

Posted
9 minutes ago, Lord Henry said:

Parte do save das armas: (já troquei o nome da data pra ficar parecido com o seu sistema)

Acesse o banco de dados antes de qualquer coisa e delete todos os registros das armas e munições do seu save-system.


local ammo = {}
for i=0,12 do --Weapon Slots
	for k=1,46 do --Weapon IDs (seria do 0 ao 46, mas não precisa obter a mão do jogador, arma 0.)
		if getPedWeapon (source, i) == k then
			ammo[k] = getPedTotalAmmo (source, i)
		end
	end
end
setAccountData (previousAcc, "funmodev2-weapons", toJSON ( { ammo[1], ammo[2], ammo[3], ammo[4], ammo[5], ammo[6], ammo[7], ammo[8], ammo[9], ammo[10], ammo[11], ammo[12], ammo[13], ammo[14], ammo[15], ammo[16], ammo[17], ammo[18], ammo[19], ammo[20], ammo[21], ammo[22], ammo[23], ammo[24], ammo[25], ammo[26], ammo[27], ammo[28], ammo[29], ammo[30], ammo[31], ammo[32], ammo[33], ammo[34], ammo[35], ammo[36], ammo[37], ammo[38], ammo[39], ammo[40], ammo[41], ammo[42], ammo[43], ammo[44], ammo[45], ammo[46] } ))

Parte do load das armas:


if getAccountData (currentAcc, "funmodev2-weapons") then
	local weaponData = fromJSON (getAccountData (currentAcc, "funmodev2-weapons")) -- Converte a string JSON em uma table.
	for i=1, 46 do -- Para cada ID de arma, faça: (seria do 0 ao 46, mas não precisa obter a mão do jogador)
		if weaponData[tostring(i)] then -- Se existe o ID "i" de arma na table, então:
			giveWeapon (source, i, weaponData[tostring(i)]) -- Os índices da table JSON sempre são em string.
		end
	end
end

 

deixar assim quanto o player quitar

	  local ammo = {}
		for i=0,12 do --Weapon Slots
			for k=1,46 do --Weapon IDs (seria do 0 ao 46, mas não precisa obter a mão do jogador, arma 0.)
				if getPedWeapon (source, i) == k then
				ammo[k] = getPedTotalAmmo (source, i)
			end
		end
end
setAccountData (previousAcc, "funmodev2-weapons", toJSON ( { ammo[1], ammo[2], ammo[3], ammo[4], ammo[5], ammo[6], ammo[7], ammo[8], ammo[9], ammo[10], ammo[11], ammo[12], ammo[13], ammo[14], ammo[15], ammo[16], ammo[17], ammo[18], ammo[19], ammo[20], ammo[21], ammo[22], ammo[23], ammo[24], ammo[25], ammo[26], ammo[27], ammo[28], ammo[29], ammo[30], ammo[31], ammo[32], ammo[33], ammo[34], ammo[35], ammo[36], ammo[37], ammo[38], ammo[39], ammo[40], ammo[41], ammo[42], ammo[43], ammo[44], ammo[45], ammo[46] } ))
    end
  end
end
addEventHandler ("onPlayerQuit", getRootElement(), onQuit)

e assim quando o player logar?

if getAccountData (currentAcc, "funmodev2-weapons") then
	local weaponData = fromJSON (getAccountData (currentAcc, "funmodev2-weapons")) -- Converte a string JSON em uma table.
	for i=1, 46 do -- Para cada ID de arma, faça: (seria do 0 ao 46, mas não precisa obter a mão do jogador)
		if weaponData[tostring(i)] then -- Se existe o ID "i" de arma na table, então:
			giveWeapon (source, i, weaponData[tostring(i)]) -- Os índices da table JSON sempre são em string.
		end
	end
end
      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)

 

  • Other Languages Moderators
Posted
28 minutes ago, carlos eduardo said:

deixar assim quanto o player quitar

Troque o previousAcc por account

Posted
6 minutes ago, Lord Henry said:

Troque o previousAcc por account

O codigo ficou assim, mas nao da as armas, mesmo não aparecendo nada no /debugscript 3

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)
if getAccountData (currentAcc, "funmodev2-weapons", account) then
	local weaponData = fromJSON (getAccountData (account, "funmodev2-weapons")) -- Converte a string JSON em uma table.
	for i=1, 46 do -- Para cada ID de arma, faça: (seria do 0 ao 46, mas não precisa obter a mão do jogador)
		if weaponData[tostring(i)] then -- Se existe o ID "i" de arma na table, então:
			giveWeapon (source, i, weaponData[tostring(i)]) -- Os índices da table JSON sempre são em string.
		end
	end
end
      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))
	  local ammo = {}
		for i=0,12 do --Weapon Slots
			for k=1,46 do --Weapon IDs (seria do 0 ao 46, mas não precisa obter a mão do jogador, arma 0.)
				if getPedWeapon (source, i) == k then
				ammo[k] = getPedTotalAmmo (source, i)
			end
		end
end
setAccountData (previousAcc, "funmodev2-weapons", toJSON ( { ammo[1], ammo[2], ammo[3], ammo[4], ammo[5], ammo[6], ammo[7], ammo[8], ammo[9], ammo[10], ammo[11], ammo[12], ammo[13], ammo[14], ammo[15], ammo[16], ammo[17], ammo[18], ammo[19], ammo[20], ammo[21], ammo[22], ammo[23], ammo[24], ammo[25], ammo[26], ammo[27], ammo[28], ammo[29], ammo[30], ammo[31], ammo[32], ammo[33], ammo[34], ammo[35], ammo[36], ammo[37], ammo[38], ammo[39], ammo[40], ammo[41], ammo[42], ammo[43], ammo[44], ammo[45], ammo[46] } ))
    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

 

  • Other Languages Moderators
Posted

Você copiou errado.

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")
			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)
			if getAccountData (theCurrentAccount, "funmodev2-weapons") then
				local weaponData = fromJSON (getAccountData (account, "funmodev2-weapons")) -- Converte a string JSON em uma table.
				for i=1, 46 do -- Para cada ID de arma, faça: (seria do 0 ao 46, mas não precisa obter a mão do jogador)
					if weaponData[tostring(i)] then -- Se existe o ID "i" de arma na table, então:
						giveWeapon (source, i, weaponData[tostring(i)]) -- Os índices da table JSON sempre são em string.
					end
				end
			end
			setCameraTarget (source)
			fadeCamera (source, true, 2.0)
		else
			spawnPlayer (source, 1481.0855712891, -1771.2996826172, 18.795753479004, 0, 78, 0, 0)
			setPlayerMoney (source, 200)
			setCameraTarget (source)
			fadeCamera (source, true, 2.0)
		end
	end
end
addEventHandler ("onPlayerLogin", root, playerLogin)

function onLogout ()
	kickPlayer (source, nil, "Logging out is disallowed.")
end
addEventHandler ("onPlayerLogout", root, 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))
			local ammo = {}
			for i=0,12 do --Weapon Slots
				for k=1,46 do --Weapon IDs (seria do 0 ao 46, mas não precisa obter a mão do jogador, arma 0.)
					if getPedWeapon (source, i) == k then
						ammo[k] = getPedTotalAmmo (source, i)
					end
				end
			end
			setAccountData (account, "funmodev2-weapons", toJSON ( { ammo[1], ammo[2], ammo[3], ammo[4], ammo[5], ammo[6], ammo[7], ammo[8], ammo[9], ammo[10], ammo[11], ammo[12], ammo[13], ammo[14], ammo[15], ammo[16], ammo[17], ammo[18], ammo[19], ammo[20], ammo[21], ammo[22], ammo[23], ammo[24], ammo[25], ammo[26], ammo[27], ammo[28], ammo[29], ammo[30], ammo[31], ammo[32], ammo[33], ammo[34], ammo[35], ammo[36], ammo[37], ammo[38], ammo[39], ammo[40], ammo[41], ammo[42], ammo[43], ammo[44], ammo[45], ammo[46] } ))
		end
	end
end
addEventHandler ("onPlayerQuit", root, 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)
		setTimer (fadeCamera, 2000, 1, source, true)
		setTimer (giveWeapon, 2000, 1, source, theWeapon, weaponAmmo, true)
	end
end
addEventHandler ("onPlayerWasted", root, 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", root, save) -- saves team on quit

 

Posted (edited)
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")
			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)
			if getAccountData (theCurrentAccount, "funmodev2-weapons") then
				local weaponData = fromJSON (getAccountData (account, "funmodev2-weapons")) -- Converte a string JSON em uma table.
				for i=1, 46 do -- Para cada ID de arma, faça: (seria do 0 ao 46, mas não precisa obter a mão do jogador)
					if weaponData[tostring(i)] then -- Se existe o ID "i" de arma na table, então:
						giveWeapon (source, i, weaponData[tostring(i)]) -- Os índices da table JSON sempre são em string.
					end
				end
			end
			setCameraTarget (source)
			fadeCamera (source, true, 2.0)
		else
			spawnPlayer (source, 1481.0855712891, -1771.2996826172, 18.795753479004, 0, 78, 0, 0)
			setPlayerMoney (source, 200)
			setCameraTarget (source)
			fadeCamera (source, true, 2.0)
		end
	end
end
addEventHandler ("onPlayerLogin", root, playerLogin)

function onLogout ()
	kickPlayer (source, nil, "Logging out is disallowed.")
end
addEventHandler ("onPlayerLogout", root, 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))
			local ammo = {}
			for i=0,12 do --Weapon Slots
				for k=1,46 do --Weapon IDs (seria do 0 ao 46, mas não precisa obter a mão do jogador, arma 0.)
					if getPedWeapon (source, i) == k then
						ammo[k] = getPedTotalAmmo (source, i)
					end
				end
			end
			setAccountData (account, "funmodev2-weapons", toJSON ( { ammo[1], ammo[2], ammo[3], ammo[4], ammo[5], ammo[6], ammo[7], ammo[8], ammo[9], ammo[10], ammo[11], ammo[12], ammo[13], ammo[14], ammo[15], ammo[16], ammo[17], ammo[18], ammo[19], ammo[20], ammo[21], ammo[22], ammo[23], ammo[24], ammo[25], ammo[26], ammo[27], ammo[28], ammo[29], ammo[30], ammo[31], ammo[32], ammo[33], ammo[34], ammo[35], ammo[36], ammo[37], ammo[38], ammo[39], ammo[40], ammo[41], ammo[42], ammo[43], ammo[44], ammo[45], ammo[46] } ))
		end
	end
end
addEventHandler ("onPlayerQuit", root, 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)
		setTimer (fadeCamera, 2000, 1, source, true)
		setTimer (giveWeapon, 2000, 1, source, theWeapon, weaponAmmo, true)
	end
end
addEventHandler ("onPlayerWasted", root, 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", root, save) -- saves team on quit

esse é o codigo

 

3 minutes ago, DNL291 said:

Mostre o seu código completo, vai ficar mais fácil pra ajudar.

 

Edited by carlos eduardo
  • Other Languages Moderators
Posted (edited)
15 minutes ago, carlos eduardo said:

aqui ta pedindo uma data que não existe no codigo

Ele está verificando se essa data existe. Não é pra dar erro nessa linha. Mesmo que a data não exista.

Ele cria essa data ao sair do servidor.

Edited by Lord Henry
  • Other Languages Moderators
Posted

Cara, isso não é possível. Deve ter algum resource entrando em conflito. Aqui funciona perfeitamente.

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