Recommended Posts

3 hours ago, #Horus said:

mas o código que fiz esta certo ?

Não tenho certeza, mas creio que dentro da função do timer, source não existe.

Share this post


Link to post
2 hours ago, Lord Henry said:

Não tenho certeza, mas creio que dentro da função do timer, source não existe.

Acho que também deve ser isso! Pois no outro set times que apliquei no fim, ele parece que não tinha source! Já executou pelo hitElement,

Share this post


Link to post
4 hours ago, Lord Henry said:

Não tenho certeza, mas creio que dentro da função do timer, source não existe.

setTimer(function()      >      setTimer(function(source) 

eu testei tambem com hitElement mais tambem não funcionou, oque nao entendi, foi porque o outro funcionou normalmente! 

function fim3 (hitElement)
	if (hitElement == getElementData (source, "owner")) then -- Se o elemento que colidiu for o dono do marker, então:
		if veh[hitElement] and isElement(veh[hitElement]) then -- Se existe o veículo do trampo do jogador, então:
			if (getElementData (source, "trip") < #destinos) then -- Se a data do marker é menor que a quantidade de destinos, então: (indicando que não é a última viagem)
				local x, y, z = unpack (destinos[getElementData (source, "trip") + 1]) -- x, y, z recebem a próxima coordenada da table destinos.
				dxMsg(hitElement, "Entregando as Pizzas, Aguarde...", "info")
			setTimer(function(source)
				setElementPosition (source, x, y, z) -- Coloca o marker de objetivo nessa nova coordenada.
				setElementData (source, "trip", getElementData (source, "trip") + 1) -- Seta a nova viagem nesse marker.
				outputChatBox ("Você entregou as Pizzas no destino. Siga para o próximo. ("..getElementData (source, "trip").."/"..#destinos..")", hitElement) -- Avisa o jogador quantas viagens ele fez e quantas são no total, pra ele não pensar que está trabalhando de graça.
                end, 5000, 1)
			else -- Se o marker de objetivo colidido não tem data menor que a quantidade de viagens, então: (indicando que esse é o último objetivo)
				dxMsg(hitElement, "Recebendo Pagamento Agurde...", "info")
			setTimer(function()
				removeEventHandler ("onMarkerHit", Mfim3[hitElement], fim3) -- Remove o evento que ativa este marker, pois ele não será mais usado.
				destroyElement (veh[hitElement]) -- Destroi o veículo do trampo do jogador.
				givePlayerMoney (hitElement, 2000) -- Dá o dinheiro do trampo.
				destroyElement (Bfim3[hitElement]) -- Destroi o blip anexado ao marker de objetivo.
				Bfim3[hitElement] = nil
				destroyElement (Mfim3[hitElement]) -- Destroi o marker de objetivo.
				Mfim3[hitElement] = nil
				dxMsg(hitElement, "Pagamento recebido campeão (R$ 2000)!", "sucess") -- Avisa o jogador que ele completou o trampo.
                end, 5000, 1)
			end
		end
	end
end

 

Share this post


Link to post
function fim3 (hitElement)
	if (hitElement == getElementData (source, "owner")) then -- Se o elemento que colidiu for o dono do marker, então:
		if veh[hitElement] and isElement(veh[hitElement]) then -- Se existe o veículo do trampo do jogador, então:
			if (getElementData (source, "trip") < #destinos) then -- Se a data do marker é menor que a quantidade de destinos, então: (indicando que não é a última viagem)
				dxMsg(hitElement, "Entregando as Pizzas, Aguarde...", "info")
				
				setTimer(function( hitElement, marker )
					local x, y, z = unpack (destinos[getElementData (marker, "trip") + 1]) -- x, y, z recebem a próxima coordenada da table destinos.
					setElementPosition (marker, x, y, z) -- Coloca o marker de objetivo nessa nova coordenada.
					setElementData (marker, "trip", getElementData (marker, "trip") + 1) -- Seta a nova viagem nesse marker.
					outputChatBox ("Você entregou as Pizzas no destino. Siga para o próximo. ("..getElementData (marker, "trip").."/"..#destinos..")", hitElement) -- Avisa o jogador quantas viagens ele fez e quantas são no total, pra ele não pensar que está trabalhando de graça.
				end, 5000, 1, hitElement, source)
			else -- Se o marker de objetivo colidido não tem data menor que a quantidade de viagens, então: (indicando que esse é o último objetivo)
				dxMsg(hitElement, "Recebendo Pagamento Agurde...", "info")
				
				setTimer(function(hitElement)
					removeEventHandler ("onMarkerHit", Mfim3[hitElement], fim3) -- Remove o evento que ativa este marker, pois ele não será mais usado.
					destroyElement (veh[hitElement]) -- Destroi o veículo do trampo do jogador.
					givePlayerMoney (hitElement, 2000) -- Dá o dinheiro do trampo.
					if isElement(Bfim3[hitElement]) then destroyElement (Bfim3[hitElement]) end -- Destroi o blip anexado ao marker de objetivo.
					Bfim3[hitElement] = nil
					if isElement(Mfim3[hitElement]) then destroyElement (Mfim3[hitElement]) end -- Destroi o marker de objetivo.
					Mfim3[hitElement] = nil
					dxMsg(hitElement, "Pagamento recebido campeão (R$ 2000)!", "sucess") -- Avisa o jogador que ele completou o trampo.
				end, 5000, 1,hitElement)
			end
		end
	end
end

Tente isso.

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.