Jump to content

Não explodir ao capotar


Recommended Posts

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
Posted (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 by Lord Henry
Link to comment
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

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.

  • Thanks 2
Link to comment
  • Other Languages Moderators

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)

 

  • Like 1
Link to comment
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
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

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