Jump to content

AJUDA Codigo Marker MTA


Recommended Posts

Olá preciso de ajuda com esse codigo basicamente quero que se o player estiver dentro do carro nao abra as portas 

esse é um codigo de portao por acl que é feito atraves de um marker porem ja tentei muita coisa para nao funcionar se o player estiver dentro de um veiculo tentei ispedinvehicle nao foi , nao sei se alguem poder ajudar agradecia so tem server side

Gate10 = createObject ( 1569, 954.40002441406, -1721.9000244141, 12.60000038147, 0, 0, 270 )
Gate11 = createObject ( 1569, 954.40002441406, -1724.9000244141, 12.60000038147, 0, 0, 90 ) 
local markerlojacarros = createMarker(954.40002441406, -1723.6000244141, 12.60000038147, "cylinder", 3, 0, 0, 0, 0) 

function PortaoDoor1Loja(thePlayer)
			moveObject (Gate10, 200, 954.40002441406, -1720.6999511719, 12.60000038147 )
			moveObject (Gate11, 200, 954.40002441406, -1726.0999755859, 12.60000038147 )
end
addCommandHandler("open",PortaoDoor1Loja)
addEventHandler("onMarkerHit", markerlojacarros, PortaoDoor1Loja) 

function PortaoDoor2Loja()
			moveObject (Gate10, 200, 954.40002441406, -1721.9000244141, 12.60000038147 )
			moveObject (Gate11, 200, 954.40002441406, -1724.9000244141, 12.60000038147 )
end
addCommandHandler("close",PortaoDoor2Loja)
addEventHandler("onMarkerLeave", markerlojacarros, PortaoDoor2Loja) 

 

Link to comment
  • Other Languages Moderators

Primeiramente você precisa prestar atenção que thePlayer nem sempre será um jogador quando a função foi ativada pelo onMarkerHit. Ele pode ser qualquer elemento que colidiu no marker.
Sendo assim, você precisa verificar se thePlayer é mesmo um player.
Depois disso, aí sim você verifica se thePlayer está em um veículo. Pois se ele não for um player ou ped, dará erro.

function PortaoDoor1Loja (thePlayer)
    if (getElementType(thePlayer) == "player") then -- Se o elemento thePlayer for um jogador, então:
        if not (getPedOccupiedVehicle(thePlayer)) then -- Se o thePlayer não está em um veículo, então:
            moveObject (Gate10, 200, 954.4, -1720.7, 12.6) -- Não é necessário utilizar números com tantos decimais para este objetivo.
            moveObject (Gate11, 200, 954.4, -1726.1, 12.6)
        else -- Se o thePlayer está em um veículo, então:
            outputChatBox ("Não é possível passar enquanto estiver em um veículo.", thePlayer, 255, 0, 0)
        end
    end
end
addCommandHandler ("open", PortaoDoor1Loja)
addEventHandler ("onMarkerHit", markerlojacarros, PortaoDoor1Loja)

 

Link to comment
2 hours ago, Lord Henry said:

Primeiramente você precisa prestar atenção que thePlayer nem sempre será um jogador quando a função foi ativada pelo onMarkerHit. Ele pode ser qualquer elemento que colidiu no marker.
Sendo assim, você precisa verificar se thePlayer é mesmo um player.
Depois disso, aí sim você verifica se thePlayer está em um veículo. Pois se ele não for um player ou ped, dará erro.

function PortaoDoor1Loja (thePlayer)
    if (getElementType(thePlayer) == "player") then -- Se o elemento thePlayer for um jogador, então:
        if not (getPedOccupiedVehicle(thePlayer)) then -- Se o thePlayer não está em um veículo, então:
            moveObject (Gate10, 200, 954.4, -1720.7, 12.6) -- Não é necessário utilizar números com tantos decimais para este objetivo.
            moveObject (Gate11, 200, 954.4, -1726.1, 12.6)
        else -- Se o thePlayer está em um veículo, então:
            outputChatBox ("Não é possível passar enquanto estiver em um veículo.", thePlayer, 255, 0, 0)
        end
    end
end
addCommandHandler ("open", PortaoDoor1Loja)
addEventHandler ("onMarkerHit", markerlojacarros, PortaoDoor1Loja)

 

Obrigado! :)

E Obrigado pela explicação não tem muita gente aqui que o faça...

 

Link to comment
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...