Sign in to follow this  
AnnaBelle

[Script] Salvar função por serial

Recommended Posts

 

-- Server-side

addCommandHandler('vip',function()
	if getElementData(localPlayer,'isVIP') == 1 then
		triggerClientEvent(source,'PainelVIP',source) -- Para abrir o painel
	end
end)

addEventHandler("onPlayerQuit",getRootElement(),function()
	local account = getPlayerSerial(source)
	if account then
		setAccountData(account,'isVIP',getElementData(source,'isVIP')) -- Erro Aqui <<
	end	
	setElementData(source,"logedin",false)
end)

addEventHandler("onResourceStop",getRootElement(),function()
	for i,player in ipairs(getElementsByType("player")) do
		local account = getPlayerSerial(player)
		if account then
			setAccountData(account,'isVIP',getElementData(player,'isVIP'))  -- Erro Aqui <<
		end	
	end	
end)

-- Client-side

addEvent('PainelVIP',true)
addEventHandler('PainelVIP',root,function()
	if getElementData(localPlayer,"logedin") then
		if guiGetVisible(SistemaVIP) then
			guiSetVisible(SistemaVIP,false)
			showCursor(false)
		else
			guiSetVisible(SistemaVIP,true)
			showCursor(true)
		end
	end
end)

To tentando fazer essa função " if getElementData(localPlayer,'isVIP') == 1 then " salvar no serial do jogador problema que esta dando erro

Share this post


Link to post

Quê erro?

Bom, pra começar vc está usando localPlayer em um script server-side. Isso não existe.

3 minutes ago, AnnaBelle said:

 salvar no serial do jogador

Isso também não existe. Só é possível salvar na conta do jogador. O serial nada mais é do que uma data do jogador. Não tem como salvar data em uma data.

Share this post


Link to post

Já que já há o data "isVIP", porque um evento serverside pra dar trigger no evento de abrir o painel? 
nao seria mais facil checar se é vip direto clientside?

adicione o argumento source dentro dos parametros da funcao que tem o comando adicionado

  • addCommandHandler('vip',function(source)
  • usa source no lugar de localPlayer na verificacao se ha vip


outro erros estao nas linhas 10 e 19, você está usando o serial (string) como conta, se o seu sistema de login é por meio de serial, voce deve usar a funcao getAccount.

  • tem que usar getAccount(getPlayerSerial(source)), então vai poder usar o set/getAccountData corretamente


outra coisa, você está salvando que o player é VIP, mas nao está dando o VIp dele de volta quando ele faz login, adicione um evento de login, fazendo a verificacao se na conta do cara tem o vip com getAccountData, e devolva-o com setElementData

Share this post


Link to post

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
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.