Jump to content

[HELP] setElementFrozen (Vehicle)


Recommended Posts

Good evening, Community!

I need some help regarding this code, I am modifying it so that when the vehicle passes by the marker it starts the timer (the car freezes) 
and then continues on its way to the next one.

The drawback is that although the marker is deleted after the vehicle passes through it, the timer is not activated and the car doesn't freeze.

 

function crearMarcadores(variable)
    local var = variable
    local x, y, z = marcadoresTrabajo[var][1], marcadoresTrabajo[var][2], marcadoresTrabajo[var][3]
    local playerVehicle = getPedOccupiedVehicle(localPlayer)
    marcadorBusetero = createMarker( x, y, z, "cylinder",3, 229, 236, 17, 255 )
    bl = createBlipAttachedTo(marcadorBusetero,0, 2, 255, 0, 0)

    addEventHandler ( "onClientPlayerVehicleExit", getRootElement(), function (vehicle)
        ocupa = getElementData(localPlayer, "Ocupacion" ) or ""
        if(ocupa:find "Busetero" ~= nil) then
            verifyIsElement(marcadorBusetero)
            verifyIsElement(bl)
        end
    end)

    addEventHandler('onClientMarkerHit', marcadorBusetero, function ( hitPlayer )
        if ( getElementType ( hitPlayer ) == "player" ) and ( hitPlayer == localPlayer ) then
            ocupa = getElementData(localPlayer, "Ocupacion" ) or ""
            if(ocupa:find "Busetero" ~= nil) then
                triggerServerEvent ( "giveMoneyPlayerServer", getLocalPlayer(), pagoParada)
                verifyIsElement(marcadorBusetero)
                verifyIsElement(bl)    
                var = var + 1
                if (var == 10) then    
                    setElementFrozen(playerVehicle, true)
                    levelBus = getElementData(localPlayer, "nivelBusetero") or 0
                    setElementData(localPlayer, "nivelBusetero", levelBus +1)
                    totalPago = pagoFinal + (levelBus * 6)
                    triggerServerEvent ( "giveMoneyPlayerServer", getLocalPlayer(), totalPago)
                    addNotificationBusetero("[Estacion] Finalizaste la ruta, has ganado $"..totalPago..", ve por otro bus", "info")
                    setPedExitVehicle ( localPlayer )
                    setTimer ( function ( )
                        triggerServerEvent ( "endJobBusServer", getLocalPlayer() ) 
                    end,3300, 1)
                else
                    addNotificationBusetero("[Estacion] Has ganado $"..pagoParada.." , Ve a la siguiente parada", "info")
                    setElementFrozen(playerVehicle, true)
                    toggleControl ( "accelerate", false )
                    toggleControl ( "brake_reverse", false )
                    toggleControl ( "handbrake", false )
                    toggleControl ( "enter_exit", true )
                    setTimer ( function ( )
						setElementFrozen(playerVehicle, false)
                        toggleControl ( "accelerate", true )
                        toggleControl ( "brake_reverse", true )
                        toggleControl ( "handbrake", true )
                        toggleControl ( "enter_exit", true )
                    end,3300, 1)
                    crearMarcadores(var)
                end    
            end
        end
    end)
end
Edited by Manfredo
Link to comment
Fixed, I was putting the "local playerVehicle = getPedOccupiedVehicle(hitPlayer)" too high in the code and it was not linking to the frozen code, If someone can explain to me technically why this didn't work before, I would be grateful.
Link to comment

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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