Jump to content

erro no setTimer


Recommended Posts

olá eu estava a criar um codigo que cria um marker e é possivel "fabricar" uma arma neste marker
quando a pessoa fabricasse uma arma seria setada uma animação e ela seria congelada
e depois de um tempo seria descongelada e a animação seria setada em "nil" mais esta dando erro
no setTimer codigo e erro abaixo:
 

function FabricarAK(source)
   if isElementWithinMarker (source, markerAk47) then
      if getPlayerMoney(source) >= 3000 then
         setElementPosition(source, 1050.2840039062, -305.37005615234, 72.99308013916)
         setElementRotation(source, 0, 0, 270)
         setPedAnimation(source, "INT_HOUSE", "wash_up", -1, true, false, false)
         setElementFrozen(source, true)
         setTimer(function(thePlayer)
            setPedAnimation(source, nil)
            setElementFrozen(source, false)
            local retirou = takePlayerMoney(source, 3000)
            if retirou then
            giveWeapon(thePlayer, 30, 300)
            end, 3000, 1, thePlayer)
         end
      end
   end
end
addCommandHandler("ak47", FabricarAK)

ERROR: loading script failed fabrica/script.lua:24 unexpected symbol near ' , ' 

Edited by SciptNovato
Link to comment
  • Other Languages Moderators
  • Não existe source dentro da função do setTimer, ele sempre se torna nulo. Portanto nunca use source dentro de uma função de setTimer.
  • Você errou na indentação, por isso não percebeu que end do timer está na posição incorreta. Ele deveria estar depois do end seguinte.
Edited by Lord Henry
  • Thanks 1
Link to comment
On 18/11/2021 at 20:58, Lord Henry said:
  • Não existe source dentro da função do setTimer, ele sempre se torna nulo. Portanto nunca use source dentro de uma função de setTimer.
  • Você errou na indentação, por isso não percebeu que end do timer está na posição incorreta. Ele deveria estar depois do end seguinte.

não entendi muito bem, eu tentei desta forma aqui e mesmo assim o erro permanece:
 

function FabricarAK(source)
	if isElementWithinMarker (source, markerAk47) then
		if getPlayerMoney(source) >= 3000 then
		setElementPosition(source, 1050.2840039062, -305.37005615234, 72.99308013916)
		setElementRotation(source, 0, 0, 270)
		setPedAnimation(source, "INT_HOUSE", "wash_up", -1, true, false, false)
		setElementFrozen(source, true)
	   		setTimer(function(thePlayer)
			setPedAnimation(thePlayer, nil)
			setElementFrozen(thePlayer, false)
			local retirou = takePlayerMoney(thePlayer, 3000)
				if retirou then
				giveWeapon(thePlayer, 30, 300)
		 end, 3000, 1)
	  end
   end
end
end
addCommandHandler("ak47", FabricarAK)

 

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