+MarceloM. Posted July 28, 2019 Share 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------------------------------------- Link to comment
DNL291 Posted July 28, 2019 Share Posted July 28, 2019 Movido para Portuguese / Português > Programação em Lua @+MarceloM. Link to comment
Other Languages Moderators Lord Henry Posted July 28, 2019 Other Languages Moderators Share Posted July 28, 2019 @+MarceloM. favor não exagerar no uso de negrito. Use no bom senso. Link to comment
Eficiencia Posted July 31, 2019 Share 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. Link to comment
+MarceloM. Posted July 31, 2019 Author Share 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. Link to comment
Eficiencia Posted July 31, 2019 Share 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) Link to comment
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