ImSoCrzy Posted March 12, 2022 Share Posted March 12, 2022 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 Lord Henry Posted March 14, 2022 Other Languages Moderators Share Posted March 14, 2022 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
ImSoCrzy Posted March 14, 2022 Author Share Posted March 14, 2022 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
Recommended Posts