Jump to content

Recommended Posts

12 hours ago, DNL291 said:

Sim, a tabela 'veh' também estava armazenando o elemento player. Meu último código tem um 'end' extra na linha 8, remova ele.

Eu poderia usar este  mesmo script para quando o player morresse, perdesse o trabalho ? Ou o "onVehicleExit" já atende a quando o player morre pois sai do veículo ?

Edited by #Horus
Link to comment
16 minutes ago, Lord Henry said:

Não cara. Só usar /kill pra se matar e testar. (se estiver usando Freeroam)

Ah, para ver se o onVehicleExit já atende quando o player morre certo ?

Aí se não atender, eu uso o mesmo script do onPlayerQuit, só que configuro pra kill certo ?

Edited by #Horus
Link to comment
4 hours ago, Lord Henry said:

é

Obrigado! Henry meu servidor é Freeroam/RPG, mas assim, antigamente muita gente entrava e saía porque não tinha nada para eles fazerem, aí resolvi fazer uma atualização que já faz mais de 2 meses e ainda estou atualizando, já coloquei várias coisas legais, mais assim, voce me dá uma ideia de mods para colocar ? Mods que possam animar aos players sabe ? 

Link to comment
7 hours ago, Lord Henry said:

é

function kill3 ()
		if isElement(Bfim3[source]) then destroyElement (Bfim3[source]) end
		if isElement(Mfim3[source]) then destroyElement (Mfim3[source]) end
		if isElement(veh[source]) then destroyElement(veh[source]) end
		Bfim3[source] = nil
		Mfim3[source] = nil
		veh[source] = nil
end
addEventHandler("onPlayerWasted", getRootElement(), kill3)

Henry, eu tentei colocar um outputChatBox, mas quando coloco, mesmo nao estando na data do trabalho, aparece o outputChatBox toda hora que me mato

Link to comment
2 hours ago, Lord Henry said:

O output era só pra testes. Deixe sem o output mesmo. E ele está executando sempre pois o evento funciona quando qualquer um morre.

Obrigado novamente mano! Deu certo!! Mas eu usei o script que vc praticamente fez por completo pra mim, para fazer um trabalho de papai Noel, E esse trabalho ficará como um trabalho extra sabe ? Aí eu queira colocar um output apenas nele, porque aí ficaria meio que moderno sabe ? Aí pra colocar este output oque é necessário ? Eu tentei coloca-lo, aí no argumento dele, coloquei source, mas não deu, depois coloquei thePlayer e também não deu , assim a mensagem aparece normalmente mas aparecem toda hora que me mato mesmo não estando na data do trabalho sabe ?

Edited by #Horus
Link to comment
  • Other Languages Moderators
function kill3 ()
	if isElement(Bfim3[source]) then destroyElement (Bfim3[source]) end
	if isElement(Mfim3[source]) then
		destroyElement (Mfim3[source])
		outputChatBox ("Você perdeu o emprego porque morreu.", source)
	end
	if isElement(veh[source]) then destroyElement(veh[source]) end
	Bfim3[source] = nil
	Mfim3[source] = nil
	veh[source] = nil
end
addEventHandler("onPlayerWasted", getRootElement(), kill3)

 

Link to comment
26 minutes ago, Lord Henry said:

function kill3 ()
	if isElement(Bfim3[source]) then destroyElement (Bfim3[source]) end
	if isElement(Mfim3[source]) then
		destroyElement (Mfim3[source])
		outputChatBox ("Você perdeu o emprego porque morreu.", source)
	end
	if isElement(veh[source]) then destroyElement(veh[source]) end
	Bfim3[source] = nil
	Mfim3[source] = nil
	veh[source] = nil
end
addEventHandler("onPlayerWasted", getRootElement(), kill3)

 

Vendo seu código, Acabei de descobrir meu erro... Eu coloquei o output em baixo do veh[source] = nil.. foi isso mesmo que fiz de errado né ?

 

Link to comment
  • Other Languages Moderators
11 hours ago, DNL291 said:

Esse código vai executar pra qualquer player não vai? Precisa de uma verificação pra saber se a pessoa está no emprego.

Se a pessoa não estiver no emprego, não vai existir o Mfim3[source] e então o output não irá aparecer pra ela.

Edited by Lord Henry
Link to comment
  • Moderators
6 hours ago, Lord Henry said:

Se a pessoa não estiver no emprego, não vai existir o Mfim3[source] e então o output não irá aparecer pra ela.

Verdade. Por algum motivo eu pensei que o jogador poderia continuar na tabela sem estar no emprego e sair do jogo, mas o script já remove ele quando sai do emprego.

Edited by DNL291
Link to comment
1 hour ago, VazErn said:

Não tem nada haver, o erro, é que você não fez uma verificação (como esta do @Lord Henry om o Mfim3[elemento]).

Então assim, Quando passa no marker do Mfim3 e digita o comando, ele ganha a data do trabalho automaticamente, e essa verificação serve pra quando ele se matar, sair do Mfim3 que já tem a data, mais não terá mais ?

Link to comment
  • Other Languages Moderators
11 hours ago, #Horus said:

Então assim, Quando passa no marker do Mfim3 e digita o comando, ele ganha a data do trabalho automaticamente, e essa verificação serve pra quando ele se matar, sair do Mfim3 que já tem a data, mais não terá mais ?

Quando o player inicia o trabalho, é criado um marker com esse player. Logo, se não existir o marker com esse player, significa que ele não está no emprego, pois quando o emprego é cancelado ou concluído, o marker é destruído.

O marker com esse player só vai existir enquanto ele estiver no emprego.

Link to comment
14 hours ago, Lord Henry said:

Quando o player inicia o trabalho, é criado um marker com esse player. Logo, se não existir o marker com esse player, significa que ele não está no emprego, pois quando o emprego é cancelado ou concluído, o marker é destruído.

O marker com esse player só vai existir enquanto ele estiver no emprego.

Henry, me informa oque fiz de errado ? apliquei um setTimer pra quando o player chegar em qualquer marker das tables, aparecer "Entregando as Pizzas, Aguarde..." Mas apareçe a mensagem e depois some e não aparece o proximo destino, vou deixar a função abaixo, fiz algumas modificações com a ajuda de vcs!

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()
				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

 

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