[M]ister Posted February 5, 2017 Share Posted February 5, 2017 Eae pessoal, hoje eu pensei em criar um script que possibilitasse que ao sair do veículo as rodas permanecessem do modo em que estavam, exemplificando, eu estou com a roda virada, e ao sair do carro, a roda continua virada... No entanto, ao tentar voltar ao veículo que está com o ped mantendo a roda virada, eu não consigo realizar a ação de entrar no veículo, nem se quer é chamado o evento onPlayerVehicleEnter, e com isso penso que não seja possível fazer carjack com um ped, e gostaria de saber se existe algum outro modo para realizar o que tenho em mente ? Server: local peds = {} addEventHandler("onVehicleStartExit",getRootElement(), function(player,seat) if (seat == 0) then if (getControlState(player, "vehicle_left" )) then control = "vehicle_left" elseif (getControlState(player, "vehicle_right" )) then control = "vehicle_right" else return end ped = createPed(0,0,0,0) warpPedIntoVehicle (ped, source) setElementAlpha(ped,0) peds[source] = ped --setElementData() --setElementCollisionsEnabled ( ped, false) triggerClientEvent ( root, "setControl", root, ped, source, control ) end end ) addEventHandler ( "onPlayerVehicleEnter", getRootElement(), function(veh,seat) if (seat == 0) then if (peds[veh]) then destroyElement(peds[veh]) peds[veh] = nil end end end ) Client: addEvent( "setControl", true ) addEventHandler( "setControl", localPlayer, function(ped,veh,control) --warpPedIntoVehicle (ped, veh) setPedControlState(ped,control,true) end ) Link to comment
DNL291 Posted February 6, 2017 Share Posted February 6, 2017 Nunca tentei isso, mas acho que não dá pra entrar no veículo com o ped. Você pode usar como alternativas, a função setControlState pra fazer o ped sair quando você entrar no veículo ou usar a função removePedFromVehicle. 1 Link to comment
[M]ister Posted February 6, 2017 Author Share Posted February 6, 2017 (edited) O complicado é como saber a hora de remover o ped, já que nenhum dos eventos abaixo é chamado quando tento entrar em um veículo com ped: onPlayerVehicleEnter / onVehicleEnter / onVehicleStartEnter Ontem eu tive a ideia de criar um veículo secundário, setando sua colisão false e alpha 0, anexando ao veículo primário, para então poder acionar tais eventos. No evento do carro secundário, eu então identifiquei o carro primário, e seu ped, desanexando o carro secundário do primário, e removendo, logo após eu utilizei o removePedFromVehicle para remover o ped do carro primário, e até ai ocorreu tudo como esperado, o carro primário já estava sem ped, e eu poderia entrar normalmente... Mas não foi o que ocorreu, estranhamente “bugo” minha entrada em qualquer veículo próximo a min ali, nem mesmo conseguia entrar como passageiro, precisei dar /kill para então voltar a conseguir entrar em veículos. Quando eu chegar em casa hoje anoite, posto o código... Edited February 6, 2017 by MaligNos Link to comment
[M]ister Posted February 7, 2017 Author Share Posted February 7, 2017 local elements = {} addEventHandler("onVehicleStartExit",getRootElement(), function(player,seat) if (seat == 0) then if (getControlState(player, "vehicle_left" )) then control = "vehicle_left" elseif (getControlState(player, "vehicle_right" )) then control = "vehicle_right" else return end vehPrimario = source vehSecundario = createVehicle(411, 0, 0, 0) setElementCollisionsEnabled(vehSecundario, false) setElementAlpha(vehSecundario, 0) attachElements(vehSecundario, vehPrimario) ped = createPed(0,0,0,0) warpPedIntoVehicle (ped, vehPrimario) --setElementAlpha(ped,0) elements[vehSecundario] = {vehPrimario, ped} triggerClientEvent ( root, "setControl", root, ped, source, control ) end end ) addEventHandler ( "onVehicleStartEnter", getRootElement(), function(_,seat) if (seat == 0) then if (elements[source]) then vehSecundario = source vehPrimario = elements[vehSecundario][1] ped = elements[vehSecundario][2] detachElements(vehSecundario, vehPrimario) destroyElement(vehSecundario) removePedFromVehicle(ped) destroyElement(ped) end end end ) 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