Jump to content

mensagem caso jogador não tenha money suficiente


Recommended Posts

então estou quase terminando a fabrica de armas, so gostaria de saber como que eu 
encaixo uma mensagem de erro no codigo caso o player esteja na acl mais não tenha
dinheiro o suficiente para fabricar codigo abaixo:
 

function FabricarAK(thePlayer)
	if isObjectInACLGroup("user." ..getAccountName(getPlayerAccount(thePlayer)), aclGetGroup ("Gang")) then
		if isElementWithinMarker(thePlayer, markerAk47) then
			if getPlayerMoney(thePlayer) >= 30000 then
				setElementPosition(thePlayer, 1050.5540039062, -305.37005615234, 72.99308013916)
				setElementRotation(thePlayer, 0, 0, 270)
				setPedAnimation(thePlayer, "INT_HOUSE", "wash_up", -1, true, false, false)
				toggleAllControls(thePlayer, false)
				outputChatBox("Fabricando#FF0000...", thePlayer2, 255, 255, 255, true)
	   			setTimer(function(thePlayer2)
				setPedAnimation(thePlayer2, nil)
				toggleAllControls(thePlayer, true)
				local pagou = takePlayerMoney(thePlayer2, 30000)
					if pagou then
						local recebeu = giveWeapon(thePlayer2, 30, 300)
						if recebeu then
							outputChatBox("Você Fabricou Uma AK47 Com Sucesso!", thePlayer2, 0, 255, 0, true)
						end
				    end
				end, 4000, 1, thePlayer)
			end
		end
	end
end
addCommandHandler("ak47", FabricarAK)

 

Edited by SciptNovato
Link to comment
  • Other Languages Moderators

Primeiramente, correção de indentação. Você deve considerar o function do setTimer como um escopo novo, então tudo que estiver depois do setTimer deve ter +1 recuo.

Outra coisa, depois da variável (local pagou = ...) não se adiciona +1 recuo, só depois de funções e condições.

			setTimer(function(thePlayer2)
				setPedAnimation(thePlayer2, nil)
				toggleAllControls(thePlayer, true)
				local pagou = takePlayerMoney(thePlayer2, 30000)
				if pagou then
					local recebeu = giveWeapon(thePlayer2, 30, 300)
					if recebeu then
						outputChatBox("Você Fabricou Uma AK47 Com Sucesso!", thePlayer2, 0, 255, 0, true)
					end
				end
			end, 4000, 1, thePlayer)

Segundamente, respondendo sua dúvida:

Adicione um else antes daquele end que pertence ao if getPlayerMoney...
Dai dentro desse else, coloque um outputChatBox do erro.

Link to comment
1 hour ago, Lord Henry said:

Primeiramente, correção de indentação. Você deve considerar o function do setTimer como um escopo novo, então tudo que estiver depois do setTimer deve ter +1 recuo.

Outra coisa, depois da variável (local pagou = ...) não se adiciona +1 recuo, só depois de funções e condições.

			setTimer(function(thePlayer2)
				setPedAnimation(thePlayer2, nil)
				toggleAllControls(thePlayer, true)
				local pagou = takePlayerMoney(thePlayer2, 30000)
				if pagou then
					local recebeu = giveWeapon(thePlayer2, 30, 300)
					if recebeu then
						outputChatBox("Você Fabricou Uma AK47 Com Sucesso!", thePlayer2, 0, 255, 0, true)
					end
				end
			end, 4000, 1, thePlayer)

Segundamente, respondendo sua dúvida:

Adicione um else antes daquele end que pertence ao if getPlayerMoney...
Dai dentro desse else, coloque um outputChatBox do erro.

obrigado, compreendi, so mais uma duvida, queria saber se aquele thePlayer2 que eu coloquei no outputchatbox esta certo.

Link to comment
  • Other Languages Moderators

Não precisa passar thePlayer por parâmetro, só se fosse um source.

			setTimer(function()
				setPedAnimation(thePlayer, nil)
				toggleAllControls(thePlayer, true)
				local pagou = takePlayerMoney(thePlayer, 30000)
				if pagou then
					local recebeu = giveWeapon(thePlayer, 30, 300)
					if recebeu then
						outputChatBox("Você Fabricou Uma AK47 Com Sucesso!", thePlayer, 0, 255, 0, true)
					end
				end
			end, 4000, 1)

 

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