Jump to content

[Ajuda] Salvar skin


Recommended Posts

Quero salvar a skin após a compra mas não ela não salva o que pode ser?

function SkinsBVR(thePlayer, page, t)
	if getPlayerMoney(thePlayer) >= skins[t][page][3] then
		takePlayerMoney(thePlayer, skins[t][page][3])
		setElementModel(thePlayer, skins[t][page][2])
		setElementData(thePlayer, "v.Skin"..skins[t][page][2], true)
		outputChatBox("#FFFFFFVocê comprou uma skin!", thePlayer, 255, 255, 255, true)
	else
		outputChatBox("#FFFFFFDinheiro insuficiente!", thePlayer, 255, 255, 255, true)
	end
end

--Save
function salvardados(conta)
	if conta then
	local source = getAccountPlayer(conta)
	local skin = getElementData(source, "v.Skin"..skins[t][page][2])
	setAccountData ( conta, "v.Skin"..skins[t][page][2], skin )
	end	
end

function dardados(conta)
	if not (isGuestAccount (conta)) then
		if (conta) then	
			local source = getAccountPlayer(conta)	
			local skin2 = getAccountData(conta, "v.Skin"..skins[t][page][2])
			setElementData ( source, "v.Skin"..skins[t][page][2], skin2)
		end
	end	
end

addEventHandler("onPlayerLogin", root,
  function( _, acc )
	setTimer(dardados,50,1,acc)
  end
)

function startScript ( res )
	if res == getThisResource() then
		for i, player in ipairs(getElementsByType("player")) do
			local acc = getPlayerAccount(player)
			if not isGuestAccount(acc) then
				dardados(acc)
			end
		end
	end
end
addEventHandler ( "onResourceStart", getRootElement(), startScript )

function stopScript( res )
    if res == getThisResource() then
		for i, player in ipairs(getElementsByType("player")) do
			local acc = getPlayerAccount(player)
			if not isGuestAccount(acc) then
				salvardados(acc)
			end
		end
	end
end 
addEventHandler ( "onResourceStop", getRootElement(), stopScript )

function sair ( quitType )
	local acc = getPlayerAccount(source)
	if not (isGuestAccount (acc)) then
		if acc then
			salvardados(acc)
		end
	end
end
addEventHandler ( "onPlayerQuit", getRootElement(), sair )
function startScript ( res )
	if res == getThisResource() then
		for i, player in ipairs(getElementsByType("player")) do
			local acc = getPlayerAccount(player)
			if not isGuestAccount(acc) then
				dardados(acc)
			end
		end
	end
end
addEventHandler ( "onResourceStart", getRootElement(), startScript )

function stopScript( res )
    if res == getThisResource() then
		for i, player in ipairs(getElementsByType("player")) do
			local acc = getPlayerAccount(player)
			if not isGuestAccount(acc) then
				salvardados(acc)
			end
		end
	end
end 
addEventHandler ( "onResourceStop", getRootElement(), stopScript )

function sair ( quitType )
	local acc = getPlayerAccount(source)
	if not (isGuestAccount (acc)) then
		if acc then
			salvardados(acc)
		end
	end
end
addEventHandler ( "onPlayerQuit", getRootElement(), sair )

 

Link to comment
9 hours ago, Instity said:

Quero salvar a skin após a compra mas não ela não salva o que pode ser?


function SkinsBVR(thePlayer, page, t)
	if getPlayerMoney(thePlayer) >= skins[t][page][3] then
		takePlayerMoney(thePlayer, skins[t][page][3])
		setElementModel(thePlayer, skins[t][page][2])
		setElementData(thePlayer, "v.Skin"..skins[t][page][2], true)
		outputChatBox("#FFFFFFVocê comprou uma skin!", thePlayer, 255, 255, 255, true)
	else
		outputChatBox("#FFFFFFDinheiro insuficiente!", thePlayer, 255, 255, 255, true)
	end
end

--Save
function salvardados(conta)
	if conta then
	local source = getAccountPlayer(conta)
	local skin = getElementData(source, "v.Skin"..skins[t][page][2])
	setAccountData ( conta, "v.Skin"..skins[t][page][2], skin )
	end	
end

function dardados(conta)
	if not (isGuestAccount (conta)) then
		if (conta) then	
			local source = getAccountPlayer(conta)	
			local skin2 = getAccountData(conta, "v.Skin"..skins[t][page][2])
			setElementData ( source, "v.Skin"..skins[t][page][2], skin2)
		end
	end	
end

addEventHandler("onPlayerLogin", root,
  function( _, acc )
	setTimer(dardados,50,1,acc)
  end
)

function startScript ( res )
	if res == getThisResource() then
		for i, player in ipairs(getElementsByType("player")) do
			local acc = getPlayerAccount(player)
			if not isGuestAccount(acc) then
				dardados(acc)
			end
		end
	end
end
addEventHandler ( "onResourceStart", getRootElement(), startScript )

function stopScript( res )
    if res == getThisResource() then
		for i, player in ipairs(getElementsByType("player")) do
			local acc = getPlayerAccount(player)
			if not isGuestAccount(acc) then
				salvardados(acc)
			end
		end
	end
end 
addEventHandler ( "onResourceStop", getRootElement(), stopScript )

function sair ( quitType )
	local acc = getPlayerAccount(source)
	if not (isGuestAccount (acc)) then
		if acc then
			salvardados(acc)
		end
	end
end
addEventHandler ( "onPlayerQuit", getRootElement(), sair )
function startScript ( res )
	if res == getThisResource() then
		for i, player in ipairs(getElementsByType("player")) do
			local acc = getPlayerAccount(player)
			if not isGuestAccount(acc) then
				dardados(acc)
			end
		end
	end
end
addEventHandler ( "onResourceStart", getRootElement(), startScript )

function stopScript( res )
    if res == getThisResource() then
		for i, player in ipairs(getElementsByType("player")) do
			local acc = getPlayerAccount(player)
			if not isGuestAccount(acc) then
				salvardados(acc)
			end
		end
	end
end 
addEventHandler ( "onResourceStop", getRootElement(), stopScript )

function sair ( quitType )
	local acc = getPlayerAccount(source)
	if not (isGuestAccount (acc)) then
		if acc then
			salvardados(acc)
		end
	end
end
addEventHandler ( "onPlayerQuit", getRootElement(), sair )

 

Porquê voce faz uma variavel de source? Sendo que source é uma variavel predefinida do MTA?

Link to comment
10 hours ago, Instity said:

Quero salvar a skin após a compra mas não ela não salva o que pode ser?


function SkinsBVR(thePlayer, page, t)
	if getPlayerMoney(thePlayer) >= skins[t][page][3] then
		takePlayerMoney(thePlayer, skins[t][page][3])
		setElementModel(thePlayer, skins[t][page][2])
		setElementData(thePlayer, "v.Skin"..skins[t][page][2], true)
		outputChatBox("#FFFFFFVocê comprou uma skin!", thePlayer, 255, 255, 255, true)
	else
		outputChatBox("#FFFFFFDinheiro insuficiente!", thePlayer, 255, 255, 255, true)
	end
end

--Save
function salvardados(conta)
	if conta then
	local source = getAccountPlayer(conta)
	local skin = getElementData(source, "v.Skin"..skins[t][page][2])
	setAccountData ( conta, "v.Skin"..skins[t][page][2], skin )
	end	
end

function dardados(conta)
	if not (isGuestAccount (conta)) then
		if (conta) then	
			local source = getAccountPlayer(conta)	
			local skin2 = getAccountData(conta, "v.Skin"..skins[t][page][2])
			setElementData ( source, "v.Skin"..skins[t][page][2], skin2)
		end
	end	
end

addEventHandler("onPlayerLogin", root,
  function( _, acc )
	setTimer(dardados,50,1,acc)
  end
)

function startScript ( res )
	if res == getThisResource() then
		for i, player in ipairs(getElementsByType("player")) do
			local acc = getPlayerAccount(player)
			if not isGuestAccount(acc) then
				dardados(acc)
			end
		end
	end
end
addEventHandler ( "onResourceStart", getRootElement(), startScript )

function stopScript( res )
    if res == getThisResource() then
		for i, player in ipairs(getElementsByType("player")) do
			local acc = getPlayerAccount(player)
			if not isGuestAccount(acc) then
				salvardados(acc)
			end
		end
	end
end 
addEventHandler ( "onResourceStop", getRootElement(), stopScript )

function sair ( quitType )
	local acc = getPlayerAccount(source)
	if not (isGuestAccount (acc)) then
		if acc then
			salvardados(acc)
		end
	end
end
addEventHandler ( "onPlayerQuit", getRootElement(), sair )
function startScript ( res )
	if res == getThisResource() then
		for i, player in ipairs(getElementsByType("player")) do
			local acc = getPlayerAccount(player)
			if not isGuestAccount(acc) then
				dardados(acc)
			end
		end
	end
end
addEventHandler ( "onResourceStart", getRootElement(), startScript )

function stopScript( res )
    if res == getThisResource() then
		for i, player in ipairs(getElementsByType("player")) do
			local acc = getPlayerAccount(player)
			if not isGuestAccount(acc) then
				salvardados(acc)
			end
		end
	end
end 
addEventHandler ( "onResourceStop", getRootElement(), stopScript )

function sair ( quitType )
	local acc = getPlayerAccount(source)
	if not (isGuestAccount (acc)) then
		if acc then
			salvardados(acc)
		end
	end
end
addEventHandler ( "onPlayerQuit", getRootElement(), sair )

 

Envie a tabela skins e uma parte do client-side para que eu possa entender melhor o seu código.

Link to comment

1 hour ago, Tommy. said:

Envie a tabela skins e uma parte do client-side para que eu possa entender melhor o seu código.

skins ={{{"Masculina",108,200},{"Masculina",20,200},{"Masculina",21,200},{"Masculina",24,200},{"Masculina",25,200},{"Criança",31,200},{"Criança",34,200},{"Feminina",85,200},{"Feminina",88,200},{"Masculina",18,200},{"Masculina",19,200},{"Feminina",89,200},{"Feminina",90,200},{"Masculina",2,200},{"Masculina",23,200},{"Feminina",188,200},{"Feminina",249,200},{"Masculina",115,200},{"Masculina",176,200},{"Masculina",271,200},{"Masculina",306,200},}}
function render() 
		dxDrawText("Enter - Comprar",711,630,770,650, tocolor(255,255,255,255),0.90,"clear","left","top",false,false,false,false,false)
		dxDrawRectangle(568,601,238,77, tocolor(,,,181),false)--FUNDO
        dxDrawText("Roupas",620,607,715,622, tocolor(255,255,255,184),1.00,"clear","left","top",false,false,false,false,false)
        dxDrawText("Roupa:"..skins[t][page][1],578,637,637,650, tocolor(255,255,255,255),0.90,"clear","left","top",false,false,false,false,false)
        dxDrawText("Valor:"..skins[t][page][3],578,660,637,673, tocolor(255,255,255,255),0.90,"clear","left","top",false,false,false,false,false)endfunction panel(asd)ifnot show then
		t = asd
		page =1
		show =true
		setElementFrozen(localPlayer,true)
		toggleAllControls(false)
		setElementPosition(localPlayer,199.78810119629,-1588.57592773438,1000.5234375)
		showChat(false)
		setElementDimension(localPlayer,50)
		addEventHandler("onClientRender", root, render)
		setElementInterior(localPlayer,14)
		ped = createPed(skins[t][page][2],199.78810119629,-158.57592773438,1000.5234375,219)
		setElementInterior(ped,14)
		setElementDimension(ped,50)
		camera = setCameraMatrix(201.98789978027,-161.17990112305,1001.8842773438,201.35806274414,-160.43432617188,1001.6665039063)endend
addEvent("skinPanel",true)
addEventHandler("skinPanel", root, panel)

skins[t]


[1] -- Nome , skins[t]


[2] -- Skin , skins[t]


[3] --Valor

2 hours ago, MesaDowN said:

Porquê voce faz uma variavel de source? Sendo que source é uma variavel predefinida do MTA?

Bem não fiz só acabei pegando este código para testar

Link to comment
  • Moderators

source naquelas funções estarão como nil por padrão, não terá conflito por não estar em um evento

A skin não salva ou não seta no jogador ao logar? Você precisa descobrir onde surge o erro. Na função 'dardados' só consta o setElementData; não vejo setElementModel no carregamento. Um erro que acabei de perceber, setElementData ao comprar a skin está armazenando uma boolean.

Link to comment
10 hours ago, DNL291 said:

source naquelas funções estarão como nil por padrão, não terá conflito por não estar em um evento

A skin não salva ou não seta no jogador ao logar? Você precisa descobrir onde surge o erro. Na função 'dardados' só consta o setElementData; não vejo setElementModel no carregamento. Um erro que acabei de perceber, setElementData ao comprar a skin está armazenando uma boolean.

Ela não salva ao sair do servidor ou entrar, vou ver aqui os erros

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