Jump to content

Trabalho de traficante


Recommended Posts

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

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
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 by +MarceloM.
Link to comment

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

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