KaiqueMachareth Posted April 15 Share Posted April 15 Oi, como faço pra um carro não explodir ao capotar? to usando um script da internet, ele funciona com batidas, tiros, mas de vez em quando buga com capotamento e explode do mesmo jeito, script embaixo: Client: function veiculo() if (getElementHealth(source) < 300) then setElementHealth(source, 300) setVehicleDamageProof(source, false) setVehicleEngineState(source, false) cancelEvent() end end addEventHandler("onClientVehicleDamage", getRootElement(), veiculo) addEventHandler("onClientVehicleExplode", getRootElement(), function() setVehicleDamageProof(source, false) setVehicleEngineState(source, false) setElementHealth(source, 300) end) Server: --[[function vehicleHPVerify (loss) local thePlayer = getVehicleController (source) if (getElementHealth (source) < 300) then setVehicleDamageProof (source, true) setVehicleEngineState (source, false) setElementHealth( vehicle, 300 ) if (thePlayer) then outputChatBox ("Seu veículo quebrou o motor. Chame um mecânico.", thePlayer) end end end addEventHandler ("onVehicleDamage", root, vehicleHPVerify) function vehicleEngineDisable (thePlayer, seat, jacked) if (getElementHealth (source) < 300) then if (seat == 0) then setVehicleDamageProof (source, true) setVehicleEngineState (source, false) setElementHealth( vehicle, 300 ) end else setVehicleDamageProof (source, false) end end addEventHandler ("onVehicleDamage", root, vehicleEngineDisable) function antiVehicleEngine (cmd) if (cmd == "motor") then local theVehicle = getPlayerOccupiedVehicle (source) if (theVehicle) then if (getPedOccupiedVehicleSeat (source) == 0) then if (getElementHealth (theVehicle) < 300) then cancelEvent() setVehicleEngineState (theVehicle, false) setElementHealth( vehicle, 300 ) end end end end end addEventHandler ("onPlayerCommand", root, antiVehicleEngine)--]] Também veio um desktop.ini com isso: [.ShellClassInfo] LocalizedResourceName=[HYPERMODS]explodir Link to comment
Other Languages Moderators Lord Henry Posted April 16 Other Languages Moderators Share Posted April 16 (edited) Tente isso: -- SERVER-SIDE function vehicleHPVerify(loss) if getElementHealth(source) - loss < 300 then -- setVehicleDamageProof (source, true) -- Neste caso não funciona. Faz com que este evento não seja mais acionado. setVehicleEngineState (source, false) setElementHealth(source, 300) local thePlayer = getVehicleController (source) if thePlayer then outputChatBox ("Seu veículo quebrou o motor. Chame um mecânico.", thePlayer) end cancelEvent() end end addEventHandler ("onVehicleDamage", root, vehicleHPVerify) function antiVehicleEngine (cmd) if cmd == "motor" then local theVehicle = getPlayerOccupiedVehicle (source) if theVehicle then if getPedOccupiedVehicleSeat (source) == 0 then if getElementHealth (theVehicle) <= 300 then setVehicleEngineState (theVehicle, false) cancelEvent() end end end end end addEventHandler ("onPlayerCommand", root, antiVehicleEngine) addEventHandler("onVehicleEnter", root, function(thePlayer) if getElementHealth(source) <= 300 then setVehicleEngineState(source, false) outputChatBox ("Este veículo está com o motor quebrado. Chame um mecânico.", thePlayer) end end) Edited April 16 by Lord Henry Link to comment
KaiqueMachareth Posted April 16 Author Share Posted April 16 19 hours ago, Lord Henry said: Tente isso: -- SERVER-SIDE function vehicleHPVerify(loss) if getElementHealth(source) - loss < 300 then -- setVehicleDamageProof (source, true) -- Neste caso não funciona. Faz com que este evento não seja mais acionado. setVehicleEngineState (source, false) setElementHealth(source, 300) local thePlayer = getVehicleController (source) if thePlayer then outputChatBox ("Seu veículo quebrou o motor. Chame um mecânico.", thePlayer) end cancelEvent() end end addEventHandler ("onVehicleDamage", root, vehicleHPVerify) function antiVehicleEngine (cmd) if cmd == "motor" then local theVehicle = getPlayerOccupiedVehicle (source) if theVehicle then if getPedOccupiedVehicleSeat (source) == 0 then if getElementHealth (theVehicle) <= 300 then setVehicleEngineState (theVehicle, false) cancelEvent() end end end end end addEventHandler ("onPlayerCommand", root, antiVehicleEngine) addEventHandler("onVehicleEnter", root, function(thePlayer) if getElementHealth(source) <= 300 then setVehicleEngineState(source, false) outputChatBox ("Este veículo está com o motor quebrado. Chame um mecânico.", thePlayer) end end) Na verdade deu na mesma, mesmo se eu continuar dentro do carro, capotando ele explode ;( Link to comment
Other Languages Moderators Lord Henry Posted April 18 Other Languages Moderators Share Posted April 18 Eu testei e funciona. Ele inicia o fogo para explodir, depois conserta, depois inicia o fogo e fica nesse loop até você descapotar o carro. Mas não explode. 2 Link to comment
Other Languages Moderators androksi Posted April 21 Other Languages Moderators Share Posted April 21 Só para complementar, recentemente foi criado uma nova propriedade para a função setWorldSpecialPropertyEnabled. Basta você usar desta maneira e nenhum carro do servidor irá pegar fogo e/ou explodir ao capotar. -- Server addEventHandler("onResourceStart", resourceRoot, function() setWorldSpecialPropertyEnabled("burnflippedcars", false) end) 1 Link to comment
KaiqueMachareth Posted April 21 Author Share Posted April 21 3 hours ago, androksi said: Só para complementar, recentemente foi criado uma nova propriedade para a função setWorldSpecialPropertyEnabled. Basta você usar desta maneira e nenhum carro do servidor irá pegar fogo e/ou explodir ao capotar. -- Server addEventHandler("onResourceStart", resourceRoot, function() setWorldSpecialPropertyEnabled("burnflippedcars", false) end) Nossa cara eu te amo kkkkkkk Link to comment
Recommended Posts