Recommended Posts

Estou querendo fazer com que o player inicie uma animação e ele fique congelado.

Isso foi o que eu fiz:

function anim (player)
  local animation = setPedAnimation (player, "int_house", "wash_up", 10000, true, false, false, false)
  if animation then
    setElementFrozen (player, true)
    setTimer (setElementFrozen, 10000, 1, player, false)
    end
  end
addEventHandler ("onMarkerHit", m1, anim)

 

Share this post


Link to post

Eu fiz um teste aqui e por algum motivo a animação só executa depois que digita o comando pela segunda vez, não sei se é uma falha da função, se quiser testar:

addCommandHandler ("teste", function (thePlayer, cmd)
	setPedAnimation (thePlayer, "int_house", "wash_up", 1000, false, false, nil, false)
	setElementFrozen (thePlayer, true)
	outputChatBox ("@TRAVADO", thePlayer, 255, 0, 0)
	setTimer (function ()
		outputChatBox ("@DESTRAVADO", thePlayer, 0, 255, 0)
		setElementFrozen (thePlayer, false)
		setPedAnimation (thePlayer)
	end, 1000, 1)
end)

Sobre o ficar travado esta funcionando, só não entendi realmente o porque da animação não funcionar.

Share this post


Link to post

O 7º argumento da animação (interruptable) é um booleano e não nil.

Share this post


Link to post

Sim, eu fiz um teste com bool e mesmo assim ele continuou funcionando após a segunda execução do comando, acho que é alguma falha na função.

@Lord Henry

Share this post


Link to post

Sim, testei agora e não funciona de qualquer maneira.

local myMarker = createMarker (-2511, -481, 90, "cylinder", 1.5, 255, 255, 0, 170)

addEventHandler ("onMarkerHit", myMarker, function (hitElement, matchingDimension) 
	setPedAnimation (hitElement, "int_house", "wash_up", 1000, false, false, false, false)
	setElementFrozen (hitElement, true)
	outputChatBox ("@TRAVADO", hitElement, 255, 0, 0)
	setTimer (function ()
		outputChatBox ("@DESTRAVADO", hitElement, 0, 255, 0)
		setElementFrozen (hitElement, false)
		setPedAnimation (hitElement)
	end, 1000, 1)
end)

 

Já vi gente falar disso do setPedAnimation mas nunca havia testado e realmente parece que tem uma falha.

Share this post


Link to post

Então, esse é meu problema, quando o jogador passa pelo marker ele freeza primeiro e nem inicia a animação (apenas se der restart no resource em cima do marker)

Share this post


Link to post
Posted (edited)

Então cara. Eu testei aqui. Solução:

Aparentemente o setElementFrozen é capaz de cancelar animações. Quando vc anima o personagem na linha anterior, ao dar freeze na linha seguinte, cancela a animação. Trocando as linhas de lugar, corrige o problema.

local m1 = createMarker (-2511, -481, 90, "cylinder", 1.5, 255, 255, 0, 170) -- Marker do Jonas^ substitua pelo seu.

addEventHandler ("onMarkerHit", m1, function (hitElement, matchingDimension)
	setElementFrozen (hitElement, true)
	setPedAnimation (hitElement, "int_house", "wash_up", 10000, true, false, false, false)
	setTimer (setElementFrozen, 10000, 1, hitElement, false)
end)

 

Edited by Lord Henry
  • Thanks 1

Share this post


Link to post
11 minutes ago, Lord Henry said:

Então cara. Eu testei aqui. Solução:

Aparentemente o setElementFrozen é capaz de cancelar animações. Quando vc anima o personagem na linha anterior, ao dar freeze na linha seguinte, cancela a animação. Trocando as linhas de lugar, corrige o problema.


local m1 = createMarker (-2511, -481, 90, "cylinder", 1.5, 255, 255, 0, 170) -- Marker do Jonas^ substitua pelo seu.

addEventHandler ("onMarkerHit", m1, function (hitElement, matchingDimension)
	setElementFrozen (hitElement, true)
	setPedAnimation (hitElement, "int_house", "wash_up", 10000, true, false, false, false)
	setTimer (setElementFrozen, 10000, 1, hitElement, false)
end)

 

Estranho na wiki deveria informar que o frozen cancelava qualquer tipo de animação.

Share this post


Link to post

Sim, acabei de testar colocando o setElementFrozen após 1 segundo de animação, ele realmente cancela a animação ao ser chamado, no caso, a animação durou só aquele 1 segundo antes do freeze.

Share this post


Link to post

Interessante descoberta uashasuas, o certo era a página da wiki do frozen ser atualizada informando isso.

Share this post


Link to post
9 minutes ago, Jonas^ said:

o certo era a página da wiki do frozen ser atualizada informando isso

Leia a página novamente. 8)

Share this post


Link to post
7 minutes ago, Lord Henry said:

Leia a página novamente. 8)

Agora sim aeuhafueefa

Share this post


Link to post

Se me permitem, eu faria um upgrade nesse script de congelar, ficaria assim:

local m1 = createMarker (-2511, -481, 90, "cylinder", 1.5, 255, 255, 0, 170) -- Marker do Jonas^ Brothers

addEventHandler ("onMarkerHit", m1, function (hitElement, matchingDimension) 
	if hitElement and getElementType (hitElement) == "player" and matchingDimension then
		setElementFrozen (hitElement, true)
		toggleAllControls (hitElement, false)
		setTimer (function ()
			setPedAnimation (hitElement, "int_house", "wash_up", 10000, true, false, false, false)
			setTimer (function ()
				setElementFrozen (hitElement, false)
				toggleAllControls (hitElement, true)
			end, 10000, 1)
		end, 1000, 1)
	end
end)

 

  • Haha 2

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

  • Recently Browsing   0 members

    No registered users viewing this page.