+MarceloM. Posted July 28, 2019 Posted July 28, 2019 Olá, recentemente começei a criar o meu primeiro script, e o meu script é o trabalho de entregador de drogas. Irei resumir o script, para vocês terem uma ideia do que eu estou querendo fazer O script consiste em um jogador ir pegar a van de drogas em uma localização e leva-la até um marker, onde ele sairá da van e ira até um outro marker onde ele pegara uma caixa, e depois de ter pego essa caixa, o player ira depositar esta caixa atras da van (onde terá um marker), e depois o jogador finalizando o trabalho entregando a van na favela. Estou com alguns problemas pois como estou começando agora nessa area, eu não estou sabe como faz algumas coisas. Por exemplo: 1- Não consigo criar a animação onde o player pega uma caixa em um lugar e leva para a van; 2-O jogador ele pega a van e vai direto para o ultimo marker e finaliza o trabalho sem mesmo ter feito o resto; 3-O jogador sem mesmo estar no trabalho de traficante ele passa por cima do marker e ganha o dinheiro que o traficante iria receber quando finalizasse o trabalho; 4-Não consigo criar um marker atras da van independente de onde ela estiver para que o player deposite a caixa, ou seja, não é um marker fixo; 5-Não consigo fazer com que o player fique com o grupo "Traficante", e assim apenas esse grupo pode entregar a encomenda e pegar o veiculo. Obs: Desculpa se alguma dessas dúvidas for algo simples e facil de se corrigir. Obrigado a todos! -------------------------------------MARKERS------------------------------------- inicioMarker = createMarker(2259.829, 63.234, 25.484, "cylinder", 1.5, 0, 250, 154, 20)-------------------------------------MARKER AONDE PEGA O TRABALHO------------------------------------- meioMarker = createMarker(2854.894, 907.383, 9.75, "cylinder", 3.5, 255, 0, 0, 100)-------------------------------------MARKER AONDE LEVA A VAN------------------------------------- finalMarker = createMarker(2200.081, -1000.931, 61.302, "cylinder", 3.5, 255, 0, 0, 100)-------------------------------------MARKER AONDE ACABA O TRABALHO------------------------------------- -------------------------------------BLIPS------------------------------------- inicioBlip = createBlipAttachedTo(inicioMarker, 42)-------------------------------------BLIP AONDE PEGA O TRABALHO------------------------------------- meioBlip = createBlipAttachedTo(meioMarker, 19)-------------------------------------BLIP AONDE LEVA A VAN------------------------------------- setElementVisibleTo(meioBlip, root, false)-------------------------------------FUNCAO PARA NAO MOSTRAR O BLIP PARA TODO MUNDO, APENAS PARA QUEM ESTA TRABALHANDO------------------------------------- setElementVisibleTo(meioMarker, root, false)-------------------------------------FUNCAO PARA NAO MOSTRAR O MARKER PARA TODO MUNDO, APENAS PARA QUEM ESTA TRABALHANDO------------------------------------- finalBlip = createBlipAttachedTo(finalMarker, 19)-------------------------------------BLIP AONDE ACABA O TRABALHO------------------------------------- setElementVisibleTo(finalBlip, root, false)-------------------------------------FUNCAO PARA NAO MOSTRAR O BLIP PARA TODO MUNDO, APENAS PARA QUEM ESTA TRABALHANDO------------------------------------- setElementVisibleTo(finalMarker, root, false)-------------------------------------FUNCAO PARA NAO MOSTRAR O MARKER PARA TODO MUNDO, APENAS PARA QUEM ESTA TRABALHANDO------------------------------------- vehjob = {}-------------------------------------VARIAVEL DO VEICULO------------------------------------- -------------------------------------FUNCAO DO PAGAMENTO QUANDO O TRABALHO FOR CONCLUIDO------------------------------------- function pagamento() for i,player in pairs(getElementsByType("player")) do local salario = math.random(1000, 1700)-------------------------------------QUANTO O PLAYER VAI RECEBER(EX: DE 1000 A 1700)------------------------------------- givePlayerMoney(player, salario) outputChatBox("#ffffffPor conseguir enviar a mercadoria com sucesso vocë recebeu R$"..salario, player, 0, 0, 0, true) end end addEventHandler("onMarkerHit", finalMarker, pagamento) -------------------------------------MENSAGEM QUE APARECE QUANDO O PLAYER VAI NO MARKER------------------------------------- function pegar(player) outputChatBox("#ffffffPara pegar o trabalho de traficante digite #00ff00/traficante#ffffff.", player, 255, 255, 255, true) end addEventHandler("onMarkerHit", inicioMarker, pegar) -------------------------------------O QUE ACONTECE QUANDO O PLAYER DIGITA O COMANDO FORA DO MARKER------------------------------------- function foradomarker(player) if isElementWithinMarker(player, inicioMarker) then vehjob[player] = createVehicle(405, 2267.751, 61.764, 26.484, -0, 0, 272.061) setElementPosition(player, 2268.108, 63.464, 26.484) else cancelEvent() outputChatBox("#ffffffAqui não é o trabalho de traficante.", player, 255, 255, 255, true) end end addCommandHandler("traficante", foradomarker) -------------------------------------O QUE ACONTECE QUANDO O PLAYER DIGITA O COMANDO DENTRO DO MARKER------------------------------------- function inicio(player) if isElementWithinMarker(player, inicioMarker) then if vehjob[player] and isElement(vehjob[player]) then destroyElement(vehjob[player]) vehjob[player] = nil -------------------------------------DESTROI O VEICULO QUANDO O PLAYER PEGA OUTRO------------------------------------- vehjob[player] = createVehicle(405, 2267.751, 61.764, 26.484, -0, 0, 272.061) outputChatBox("A van foi criada! Leve-a até o marcador onde ira fazer o carregamento de drogas.", player, 0, 250, 154, true) outputChatBox("Caso queira cancelar a entrega digite #FF0000/cancelar#00FA9A.", player, 0, 250, 154, true) setElementVisibleTo(meioBlip, player, true) setElementVisibleTo(meioMarker, player, true) end end addCommandHandler("traficante", inicio) function entergrupo(source) if getElementData(source, "Traficante") == false then setElementData(source, "Traficante", true) outputChatBox("Você é um traficante agora.", source, 0, 250, 154, true) end end addCommandHandler("traficante", entergrupo) function enterVehicle (thePlayer, seat, jacked) if getElementData(thePlayer, "Traficante") == false then removePedFromVehicle(thePlayer) outputChatBox("Essa van pertence a um traficante, e você não é ele.") end end addEventHandler ("onVehicleEnter", getRootElement(), enterVehicle) -------------------------------------SEGUNDO MARKER DE ENTREGA------------------------------------- function meio(player) if vehjob[player] and isElement(vehjob[player]) then outputChatBox("#ffffffPegue a caixa no marker e a coloque na van.", player, 255, 255, 255, true) setVehicleFrozen(vehjob[player], true) setTimer(setVehicleFrozen, 10000, 1, vehjob[player], false)-------------------------------------TEMPO CONGELADO (EM MILISEGUNDOS)------------------------------------- setElementVisibleTo(pegarBlip, player, true) setElementVisibleTo(pegarMarker, player, true) setElementVisibleTo(meioBlip, player, false) setElementVisibleTo(meioMarker, player, false) end end addEventHandler("onMarkerHit", meioMarker, meio) -------------------------------------FUNCAO DA ULTIMA ENTREGA------------------------------------- function fim(player) if vehjob[player] and isElement(vehjob[player]) then destroyElement(vehjob[player]) setElementVisibleTo(finalBlip, player, false) setElementVisibleTo(finalMarker, player, false) end end addEventHandler("onMarkerHit", finalMarker, fim) -------------------------------------FUNCAO PARA CANCELAR O TRABALHO COM COMANDO------------------------------------- function cancelarjob(player) destroyElement(vehjob[player]) setElementVisibleTo(finalBlip, player, false) setElementVisibleTo(finalMarker, player, false) outputChatBox("#ffffffO trabalho foi finalizado") end addCommandHandler("cancelar", cancelarjob)-------------------------------------COMANDO USADO PARA CANCELAR O TRABALHO-------------------------------------
DNL291 Posted July 28, 2019 Posted July 28, 2019 Movido para Portuguese / Português > Programação em Lua @+MarceloM. Please do not PM me with scripting related question nor support, use the forums instead.
Moderators Lord Henry Posted July 28, 2019 Moderators Posted July 28, 2019 @+MarceloM. favor não exagerar no uso de negrito. Use no bom senso. Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanks! 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.
Eficiencia Posted July 31, 2019 Posted July 31, 2019 tente usar SetPedAnimation, sobre o segundo caso recomendo que faça uma variavel no primeiro marker e dai verifique ela no segundo e depois faça uma nova variavel e verifique no ultimo marker. Sobre o terceiro caso recomendo que faça um lugar pra setar essa data como por exemplo uma agencia de emprego de ilegais. o caso quatro basta obter a posição do veiculo com GetElementPosition e crie um marker e adicione +2 na coordenadas x e y e -1 na z. e no quinto caso so verificar se o player possui a data setada pela agencia de empregos. Uma vida sem desafios não vale a pena ser vivida. Sócrates
+MarceloM. Posted July 31, 2019 Author Posted July 31, 2019 (edited) 34 minutes ago, Eficiencia said: tente usar SetPedAnimation, sobre o segundo caso recomendo que faça uma variavel no primeiro marker e dai verifique ela no segundo e depois faça uma nova variavel e verifique no ultimo marker. Sobre o terceiro caso recomendo que faça um lugar pra setar essa data como por exemplo uma agencia de emprego de ilegais. o caso quatro basta obter a posição do veiculo com GetElementPosition e crie um marker e adicione +2 na coordenadas x e y e -1 na z. e no quinto caso so verificar se o player possui a data setada pela agencia de empregos. Consegui resolver o 3 e o 5. Em relação ao 4, eu usei este código: local x,y,z = getElementPosition(vehjob) local rx,ry,rz = getElementRotation(vehjob) caixaMarker = createMarker(vehjob, x+2, y+2, z-1, "cylinder", 1.5, 0, 250, 154, 100) ccaixaBlip = createBlipAttachedTo(ccaixaMarker, 19) e não criou mesmo assim. Sabe o que eu fiz de errado ou o que eu não coloquei? E poderia me dar um exemplo de como fazer o 2? Se não conseguir me ajudar obrigado mesmo assim. Edited July 31, 2019 by +MarceloM.
Eficiencia Posted July 31, 2019 Posted July 31, 2019 2: local marker1 = createMarker(x, y, z, "cylinder", 1.2, 255, 255, 255) addEventHandler("OnMarkerHit", marker1, function() variavel = true end local marker2 = createMarker(x, y, z, "cylinder", 1.2, 255, 255, 255) addEventHandler("OnMarkerHit", marker2, function() if variavel == true then .... end end local x,y,z = getElementPosition(vehjob) local rx,ry,rz = getElementRotation(vehjob) caixaMarker = createMarker(x+2, y+2, z-1, "cylinder", 1.5, 0, 250, 154, 100) caixaBlip = createBlipAttachedTo(caixaMarker, 19) Uma vida sem desafios não vale a pena ser vivida. Sócrates
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now