Jump to content

Recommended Posts

Posted

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

Please do not PM me with scripting related question nor support, use the forums instead.

Posted (edited)
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
  • Moderators
Posted

Você poderia testar isso colocando um output na função de sair do veículo e então dando /kill no emprego pra ver se aparece o output no chat.

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanksspacer.png

Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile
Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment
Discord Oficial do MTA: https://mtasa.com/discord
Blacklist e Whitelist de Scripters: Planilha

Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.

Posted (edited)
6 minutes ago, Lord Henry said:

Você poderia testar isso colocando um output na função de sair do veículo e então dando /kill no emprego pra ver se aparece o output no chat.

E assim ? Um exemplo:

addEventHandler ( "kill", getRootElement(), teste )

Edited by #Horus
  • Moderators
Posted

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

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanksspacer.png

Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile
Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment
Discord Oficial do MTA: https://mtasa.com/discord
Blacklist e Whitelist de Scripters: Planilha

Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.

Posted (edited)
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
  • Moderators
Posted

é

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanksspacer.png

Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile
Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment
Discord Oficial do MTA: https://mtasa.com/discord
Blacklist e Whitelist de Scripters: Planilha

Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.

Posted
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 ? 

Posted
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

  • Moderators
Posted (edited)

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

Edited by Lord Henry

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanksspacer.png

Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile
Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment
Discord Oficial do MTA: https://mtasa.com/discord
Blacklist e Whitelist de Scripters: Planilha

Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.

Posted (edited)
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
  • Moderators
Posted
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)

 

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanksspacer.png

Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile
Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment
Discord Oficial do MTA: https://mtasa.com/discord
Blacklist e Whitelist de Scripters: Planilha

Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.

Posted
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é ?

 

Posted

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

 

Please do not PM me with scripting related question nor support, use the forums instead.

Posted
12 minutes 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.

 

Eu testei e realmente deu certo!!

  • Moderators
Posted (edited)
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

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanksspacer.png

Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile
Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment
Discord Oficial do MTA: https://mtasa.com/discord
Blacklist e Whitelist de Scripters: Planilha

Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.

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

Please do not PM me with scripting related question nor support, use the forums instead.

Posted
22 hours ago, #Horus said:

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é ?

 

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

8a9Heuv.png

Posted
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 ?

  • Moderators
Posted
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.

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanksspacer.png

Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile
Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment
Discord Oficial do MTA: https://mtasa.com/discord
Blacklist e Whitelist de Scripters: Planilha

Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.

Posted
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

 

  • Moderators
Posted

Aparece alguma mensagem de erro no /debugscript 3?

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanksspacer.png

Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile
Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment
Discord Oficial do MTA: https://mtasa.com/discord
Blacklist e Whitelist de Scripters: Planilha

Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.

Posted
5 hours ago, Lord Henry said:

Aparece alguma mensagem de erro no /debugscript 3?

Perdão, Acabei de chegar do meu curso e mais tarde vou ir trabalhar, vou testar o /debugsript 3 , mas o código que fiz esta certo ?

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