Jump to content

Vinicios Pfeil

Members
  • Posts

    8
  • Joined

  • Last visited

Posts posted by Vinicios Pfeil

  1. 7 hours ago, DNL291 said:

    Dei uma olhada rápida e a verificação do getElementData tá certa, mas não tive a paciência pra ver toda essa gambiarra e má organização/repetição no código :bad-words:

    Digite /debugscript 3 e veja se o debug mostra algum erro.

    Tentei de novo e finalmente consegui, porém agora ele não tá mandando as Msg de aprovado ou não.. Vou mandar pra ti só o do carro! se puderes verificar!

    eu achei esse erro tb, não consegui identificar..

    Quote

    [-] MTA: San Andreas :: 1/300 players :: 244 resources :: 139 fps (27)
    Dxmessages) [string "?"]
    [22:12:40] ERROR: [gameplay]\[APP]Habilitacoes\AirNew_s.lua:753: exports: Call to non-running server resource (Scripts_Dxmessages) [string "?"]
    [22:13:17] SCRIPT: ~#SR.VINI|PF(viniciospfeil) set their script debug mode to 3
    [22:13:31] ERROR: [gameplay]\[APP]Habilitacoes\AirNew_s.lua:278: exports: Call to non-running server resource (Scripts_Dxmessages) [string "?"]
    [22:13:31] ERROR: [gameplay]\[APP]Habilitacoes\AirNew_s.lua:753: exports: Call to non-running server resource (Scripts_Dxmessages) [string "?"]
    [22:13:38] WARNING: [gameplay]\car_lock\car_locks_server.lua:116: Bad argument @ 'removeElementData' [Expected element at argument 1]
    [22:13:38] WARNING: [gameplay]\car_lock\car_locks_server.lua:117: Bad argument @ 'removeElementData' [Expected element at argument 1]
    [22:13:38] WARNING: [gameplay]\car_lock\car_locks_server.lua:118: Bad argument @ 'removeElementData' [Expected element at argument 1]
    [22:13:38] WARNING: [gameplay]\car_lock\car_locks_server.lua:119: Bad argument @ 'setVehicleLocked' [Expected element at argument 1]
    [22:13:38] ERROR: [gameplay]\[APP]Habilitacoes\AirNew_s.lua:1223: exports: Call to non-running server resource (Scripts_Dxmessages) [string "?"]
    [22:13:45] ERROR: [gameplay]\[APP]Habilitacoes\AirNew_s.lua:1482: exports: Call to non-running server resource (Scripts_Dxmessages) [string "?"]
    [22:13:54] ADMIN: Resource '[APP]Habilitacoes' reiniciado by ~#SR.VINI|PF(viniciospfeil)
    [22:13:54] Stopping [APP]Habilitacoes
    [22:13:54] Starting [APP]Habilitacoes
    [22:13:54] [APP]Habilitacoes restarted successfully
    [22:14:04] ERROR: [gameplay]\[APP]Habilitacoes\AirNew_s.lua:753: exports: Call to non-running server resource (Scripts_Dxmessages) [string "?"]
    [22:14:08] ERROR: [gameplay]\[APP]Habilitacoes\AirNew_s.lua:278: exports: Call to non-running server resource (Scripts_Dxmessages) [string "?"]
     

    -- ( Começo ) Percurso de Carro
    
    CarroRX, CarroRY, CarroRZ       = -270.44916, 1547.39783, 75.35938 -- Coordenadas de Respawn do Carro
    CarroRotA, CarroRotB, CarroRotC = 0, 0, 135.25268554688 -- Rotação do Veiculo ao Spawnar
    CarroID                         = 516 -- ID do Carro
    HabValorCarro                   = 1000 -- Valor da Habilitação Categoria "Carros"
    CarrosDanoParaReprovar          = 950 -- 95%
    
    MsgCarro01 = "Prova Iniciada, Siga-os Checkpoints Para Concluir o seu Objetivo!"
    MsgCarro02 = "Você Não Tem Dinheiro Suficiente!"
    MsgCarro03 = "Você Ja Possui Essa Habilitação!"
    MsgCarro04 = "Você Reprovou no Teste, Evite Bater na Proxima Vez!"
    MsgCarro05 = "Carteira de Habilitação Categoria 'Carros' Concedida!"
    MsgCarro06 = "Você Saiu do Veiculo, Por Esse Motivo o Teste foi Cancelado!"
    MsgCarro07 = "Você Morreu, Por Esse Motivo o Teste foi Cancelado!"
    
    CarroX01, CarroY01, CarroZ01 = -304.31372, 1497.35303, 75.67019
    CarroX02, CarroY02, CarroZ02 = -297.91571, 1412.75647, 72.31325
    CarroX03, CarroY03, CarroZ03 = -358.71982, 1398.42810, 58.37130
    CarroX04, CarroY04, CarroZ04 = -383.39719, 1397.47485, 42.07113
    CarroX05, CarroY05, CarroZ05 = -453.04425, 1579.76025, 36.17015
    CarroX06, CarroY06, CarroZ06 = -403.00198, 1714.00647, 40.57639
    CarroX07, CarroY07, CarroZ07 = -388.58905, 1880.69397, 55.31573
    CarroX08, CarroY08, CarroZ08 = -429.19666, 1818.11926, 67.87206
    CarroX09, CarroY09, CarroZ09 = -468.87231, 1869.95264, 82.43024
    CarroX10, CarroY10, CarroZ10 = -397.42804, 2034.05908, 65.20287
    CarroX11, CarroY11, CarroZ11 = -458.04187, 2028.86401, 60.53470
    CarroX12, CarroY12, CarroZ12 = -541.70868, 2008.56213, 60.21884
    CarroX13, CarroY13, CarroZ13 = -652.17749, 2064.89575, 60.21832
    CarroX14, CarroY14, CarroZ14 = -757.40155, 2064.42749, 60.22342
    CarroX15, CarroY15, CarroZ15 = -851.88013, 2019.84998, 60.22160
    CarroX16, CarroY16, CarroZ16 = -912.48688, 2008.76563, 60.94514
    
    MarkerCarro01 = createMarker ( CarroX01, CarroY01, CarroZ01 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro01 = createBlipAttachedTo ( MarkerCarro01, 0 )
    setElementVisibleTo ( MarkerCarro01, root, false )
    setElementVisibleTo ( BlipCarro01, root, false )
    
    MarkerCarro02 = createMarker ( CarroX02, CarroY02, CarroZ02 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro02 = createBlipAttachedTo ( MarkerCarro02, 0 )
    setElementVisibleTo ( MarkerCarro02, root, false )
    setElementVisibleTo ( BlipCarro02, root, false )
    
    MarkerCarro03 = createMarker ( CarroX03, CarroY03, CarroZ03 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro03 = createBlipAttachedTo ( MarkerCarro03, 0 )
    setElementVisibleTo ( MarkerCarro03, root, false )
    setElementVisibleTo ( BlipCarro03, root, false )
    
    MarkerCarro04 = createMarker ( CarroX04, CarroY04, CarroZ04 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro04 = createBlipAttachedTo ( MarkerCarro04, 0 )
    setElementVisibleTo ( MarkerCarro04, root, false )
    setElementVisibleTo ( BlipCarro04, root, false )
    
    MarkerCarro05 = createMarker ( CarroX05, CarroY05, CarroZ05 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro05 = createBlipAttachedTo ( MarkerCarro05, 0 )
    setElementVisibleTo ( MarkerCarro05, root, false )
    setElementVisibleTo ( BlipCarro05, root, false )
    
    MarkerCarro06 = createMarker ( CarroX06, CarroY06, CarroZ06 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro06 = createBlipAttachedTo ( MarkerCarro06, 0 )
    setElementVisibleTo ( MarkerCarro06, root, false )
    setElementVisibleTo ( BlipCarro06, root, false )
    
    MarkerCarro07 = createMarker ( CarroX07, CarroY07, CarroZ07 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro07 = createBlipAttachedTo ( MarkerCarro07, 0 )
    setElementVisibleTo ( MarkerCarro07, root, false )
    setElementVisibleTo ( BlipCarro07, root, false )
    
    MarkerCarro08 = createMarker ( CarroX08, CarroY08, CarroZ08 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro08 = createBlipAttachedTo ( MarkerCarro08, 0 )
    setElementVisibleTo ( MarkerCarro08, root, false )
    setElementVisibleTo ( BlipCarro08, root, false )
    
    MarkerCarro09 = createMarker ( CarroX09, CarroY09, CarroZ09 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro09 = createBlipAttachedTo ( MarkerCarro09, 0 )
    setElementVisibleTo ( MarkerCarro09, root, false )
    setElementVisibleTo ( BlipCarro09, root, false )
    
    MarkerCarro10 = createMarker ( CarroX10, CarroY10, CarroZ10 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro10 = createBlipAttachedTo ( MarkerCarro10, 0 )
    setElementVisibleTo ( MarkerCarro10, root, false )
    setElementVisibleTo ( BlipCarro10, root, false )
    
    MarkerCarro11 = createMarker ( CarroX11, CarroY11, CarroZ11 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro11 = createBlipAttachedTo ( MarkerCarro11, 0 )
    setElementVisibleTo ( MarkerCarro11, root, false )
    setElementVisibleTo ( BlipCarro11, root, false )
    
    MarkerCarro12 = createMarker ( CarroX12, CarroY12, CarroZ12 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro12 = createBlipAttachedTo ( MarkerCarro12, 0 )
    setElementVisibleTo ( MarkerCarro12, root, false )
    setElementVisibleTo ( BlipCarro12, root, false )
    
    MarkerCarro13 = createMarker ( CarroX13, CarroY13, CarroZ13 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro13 = createBlipAttachedTo ( MarkerCarro13, 0 )
    setElementVisibleTo ( MarkerCarro13, root, false )
    setElementVisibleTo ( BlipCarro13, root, false )
    
    MarkerCarro14 = createMarker ( CarroX14, CarroY14, CarroZ14 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro14 = createBlipAttachedTo ( MarkerCarro14, 0 )
    setElementVisibleTo ( MarkerCarro14, root, false )
    setElementVisibleTo ( BlipCarro14, root, false )
    
    MarkerCarro15 = createMarker ( CarroX15, CarroY15, CarroZ15 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro15 = createBlipAttachedTo ( MarkerCarro15, 0 )
    setElementVisibleTo ( MarkerCarro15, root, false )
    setElementVisibleTo ( BlipCarro15, root, false )
    
    MarkerCarro16 = createMarker ( CarroX16, CarroY16, CarroZ16 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro16 = createBlipAttachedTo ( MarkerCarro16, 0 )
    setElementVisibleTo ( MarkerCarro16, root, false )
    setElementVisibleTo ( BlipCarro16, root, false )
    
    AutoEscolaCarro = {}
    
    function CarrosHab(entrar)
    if (getElementData ( source, "PontosNacarteira" ) or 0) > 0 then
    exports.Scripts_Dxmessages:outputDx(source, MsgMultas, "error") return end
    if not getElementData(source, "Habilitacoes:Carros" ) == true then
    if getPlayerMoney(source) >= HabValorCarro then
    takePlayerMoney(source, HabValorCarro)
    if AutoEscolaCarro[source] and isElement( AutoEscolaCarro[source] ) then destroyElement ( AutoEscolaCarro[source] )
    AutoEscolaCarro[source] = nil
    end
    setElementInterior ( source, 0 )
    setElementDimension ( source, 0 )
    triggerClientEvent ( source, "AirNew:FecharAutoEscola", root )
    AutoEscolaCarro[source] = createVehicle( CarroID, CarroRX, CarroRY, CarroRZ )
    setElementRotation ( AutoEscolaCarro[source], CarroRotA, CarroRotB, CarroRotC )
    setVehicleLocked ( AutoEscolaCarro[source], true )
    warpPedIntoVehicle ( source, AutoEscolaCarro[source] )
    setCameraTarget ( source )
    setElementData ( source, "Carteira:StartCarro00", true )
    setElementData ( source, "AirNew_TirandoCarta", "Sim" )
    setElementVisibleTo ( MarkerCarro01, source, true )
    setElementVisibleTo ( BlipCarro01, source, true )
    exports.Scripts_Dxmessages:outputDx(source, MsgCarro01, "info")
    else
    exports.Scripts_Dxmessages:outputDx(source, MsgCarro02, "error")
    end
    else
    exports.Scripts_Dxmessages:outputDx(source, MsgCarro03, "warning")
    end
    end
    addEvent("Hab:Carro", true)
    addEventHandler ( "Hab:Carro", root, CarrosHab)
    
    function emarkerCarros(marker,md) 
    	if (md) then
    	  if AutoEscolaCarro[source] and isElement( AutoEscolaCarro[source] ) then
    		if marker == MarkerCarro01 then
    		if getElementData( source, "Carteira:StartCarro00", true ) then
            setElementVisibleTo ( MarkerCarro01, source, false )
            setElementVisibleTo ( BlipCarro01, source, false )
            setElementVisibleTo ( MarkerCarro02, source, true )
            setElementVisibleTo ( BlipCarro02, source, true )
            setElementData ( source, "Carteira:StartCarro01", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro00", false )
    		playSoundFrontEnd ( source, 43 )
            end
    		end
    		if marker == MarkerCarro02 then
            if getElementData( source, "Carteira:StartCarro01", true ) then
            setElementVisibleTo ( MarkerCarro02, source, false )
            setElementVisibleTo ( BlipCarro02, source, false )
            setElementVisibleTo ( MarkerCarro03, source, true )
            setElementVisibleTo ( BlipCarro03, source, true )
            setElementData ( source, "Carteira:StartCarro02", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro01", false )
            playSoundFrontEnd ( source, 43 )
    		end
    		end
    		if marker == MarkerCarro03 then
            if getElementData( source, "Carteira:StartCarro02", true ) then
            setElementVisibleTo ( MarkerCarro03, source, false )
            setElementVisibleTo ( BlipCarro03, source, false )
            setElementVisibleTo ( MarkerCarro04, source, true )
            setElementVisibleTo ( BlipCarro04, source, true )
            setElementData ( source, "Carteira:StartCarro03", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro02", false )
    		playSoundFrontEnd ( source, 43 )
            end
    		end
    		if marker == MarkerCarro04 then
            if getElementData( source, "Carteira:StartCarro03", true ) then
            setElementVisibleTo ( MarkerCarro04, source, false )
            setElementVisibleTo ( BlipCarro04, source, false )
            setElementVisibleTo ( MarkerCarro05, source, true )
            setElementVisibleTo ( BlipCarro05, source, true )
            setElementData ( source, "Carteira:StartCarro04", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro03", false )
    		playSoundFrontEnd ( source, 43 )
            end
    		end
    		if marker == MarkerCarro05 then
            if getElementData( source, "Carteira:StartCarro04", true ) then
            setElementVisibleTo ( MarkerCarro05, source, false )
            setElementVisibleTo ( BlipCarro05, source, false )
            setElementVisibleTo ( MarkerCarro06, source, true )
            setElementVisibleTo ( BlipCarro06, source, true )
            setElementData ( source, "Carteira:StartCarro05", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro04", false )
    		playSoundFrontEnd ( source, 43 )
            end
    		end
    		if marker == MarkerCarro06 then
            if getElementData( source, "Carteira:StartCarro05", true ) then
            setElementVisibleTo ( MarkerCarro06, source, false )
            setElementVisibleTo ( BlipCarro06, source, false )
            setElementVisibleTo ( MarkerCarro07, source, true )
            setElementVisibleTo ( BlipCarro07, source, true )
            setElementData ( source, "Carteira:StartCarro06", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro05", false )
    		playSoundFrontEnd ( source, 43 )
            end
    		end
    		if marker == MarkerCarro07 then
            if getElementData( source, "Carteira:StartCarro06", true ) then
            setElementVisibleTo ( MarkerCarro07, source, false )
            setElementVisibleTo ( BlipCarro07, source, false )
            setElementVisibleTo ( MarkerCarro08, source, true )
            setElementVisibleTo ( BlipCarro08, source, true )
            setElementData ( source, "Carteira:StartCarro07", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro06", false )
    		playSoundFrontEnd ( source, 43 )
            end
    		end
    		if marker == MarkerCarro08 then
            if getElementData( source, "Carteira:StartCarro07", true ) then
            setElementVisibleTo ( MarkerCarro08, source, false )
            setElementVisibleTo ( BlipCarro08, source, false )
            setElementVisibleTo ( MarkerCarro09, source, true )
            setElementVisibleTo ( BlipCarro09, source, true )
            setElementData ( source, "Carteira:StartCarro08", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro07", false )
    		playSoundFrontEnd ( source, 43 )
            end
    		end
    		if marker == MarkerCarro09 then
            if getElementData( source, "Carteira:StartCarro08", true ) then
            setElementVisibleTo ( MarkerCarro09, source, false )
            setElementVisibleTo ( BlipCarro09, source, false )
            setElementVisibleTo ( MarkerCarro10, source, true )
            setElementVisibleTo ( BlipCarro10, source, true )
            setElementData ( source, "Carteira:StartCarro09", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro08", false )
    		playSoundFrontEnd ( source, 43 )
            end
    		end
    		if marker == MarkerCarro10 then
            if getElementData( source, "Carteira:StartCarro09", true ) then
            setElementVisibleTo ( MarkerCarro10, source, false )
            setElementVisibleTo ( BlipCarro10, source, false )
            setElementVisibleTo ( MarkerCarro11, source, true )
            setElementVisibleTo ( BlipCarro11, source, true )
            setElementData ( source, "Carteira:StartCarro10", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro09", false )
    		playSoundFrontEnd ( source, 43 )
            end
    		end
    		if marker == MarkerCarro11 then
            if getElementData( source, "Carteira:StartCarro10", true ) then
            setElementVisibleTo ( MarkerCarro11, source, false )
            setElementVisibleTo ( BlipCarro11, source, false )
            setElementVisibleTo ( MarkerCarro12, source, true )
            setElementVisibleTo ( BlipCarro12, source, true )
            setElementData ( source, "Carteira:StartCarro11", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro10", false )
    		playSoundFrontEnd ( source, 43 )
            end
    		end
    		if marker == MarkerCarro12 then
            if getElementData( source, "Carteira:StartCarro11", true ) then
            setElementVisibleTo ( MarkerCarro12, source, false )
            setElementVisibleTo ( BlipCarro12, source, false )
            setElementVisibleTo ( MarkerCarro13, source, true )
            setElementVisibleTo ( BlipCarro13, source, true )
            setElementData ( source, "Carteira:StartCarro12", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro11", false )
    		playSoundFrontEnd ( source, 43 )
            end
    		end
    		if marker == MarkerCarro13 then
            if getElementData( source, "Carteira:StartCarro12", true ) then
            setElementVisibleTo ( MarkerCarro13, source, false )
            setElementVisibleTo ( BlipCarro13, source, false )
            setElementVisibleTo ( MarkerCarro14, source, true )
            setElementVisibleTo ( BlipCarro14, source, true )
            setElementData ( source, "Carteira:StartCarro13", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro12", false )
    		playSoundFrontEnd ( source, 43 )
            end
    		end
    		if marker == MarkerCarro14 then
            if getElementData( source, "Carteira:StartCarro13", true ) then
            setElementVisibleTo ( MarkerCarro14, source, false )
            setElementVisibleTo ( BlipCarro14, source, false )
            setElementVisibleTo ( MarkerCarro15, source, true )
            setElementVisibleTo ( BlipCarro15, source, true )
            setElementData ( source, "Carteira:StartCarro14", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro13", false )
    		playSoundFrontEnd ( source, 43 )
            end
    		end
    		if marker == MarkerCarro15 then
            if getElementData( source, "Carteira:StartCarro14", true ) then
            setElementVisibleTo ( MarkerCarro15, source, false )
            setElementVisibleTo ( BlipCarro15, source, false )
            setElementVisibleTo ( MarkerCarro16, source, true )
            setElementVisibleTo ( BlipCarro16, source, true )
            setElementData ( source, "Carteira:StartCarro15", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro14", false )
    		playSoundFrontEnd ( source, 43 )
            end
    		end
    		if marker == MarkerCarro16 then
    		if getElementData( source, "Carteira:StartCarro15", true ) then
    		AutoEscolaCarroVida = getElementHealth ( AutoEscolaCarro[source] )
    		if AutoEscolaCarroVida <= CarrosDanoParaReprovar then
    		exports.Scripts_Dxmessages:outputDx(source, MsgCarro04, "error")
    		else
    		setElementData( source, "Habilitacoes:Carros", true)
    		exports.Scripts_Dxmessages:outputDx(source, MsgCarro05, "success")
    		end
    		setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro15", false )
    		setElementVisibleTo ( MarkerCarro16, source, false )
    		setElementVisibleTo ( BlipCarro16, source, false )
    		setElementData ( source, "AirNew_TirandoCarta", "Não" )
    		destroyElement ( AutoEscolaCarro[source] )
            setTimer ( setElementInterior, 400, 1, source, 3 )
            setTimer ( setElementDimension, 400, 1, source, 10 )
            setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
            setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
            fadeCamera ( source, false, 0.1, 0, 0, 0 )   
            setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
            setTimer ( setCameraTarget, 600, 1, source )
            end
    		end
    	  end 
    	end	
    end
    addEventHandler("onPlayerMarkerHit",getRootElement(),emarkerCarros)
    
    function SairDoVeiculoAutoEscolaCarro (source)
    if ( AutoEscolaCarro[source] ) and isElement( AutoEscolaCarro[source] ) then
    setElementData ( source, "AirNew_TirandoCarta", "Não" )
    destroyElement ( AutoEscolaCarro[source] )
    setElementData ( source, "Carteira:StartCarro00", false )
    setElementData ( source, "Carteira:StartCarro01", false )
    setElementData ( source, "Carteira:StartCarro02", false )
    setElementData ( source, "Carteira:StartCarro03", false )
    setElementData ( source, "Carteira:StartCarro04", false )
    setElementData ( source, "Carteira:StartCarro05", false )
    setElementData ( source, "Carteira:StartCarro06", false )
    setElementData ( source, "Carteira:StartCarro07", false )
    setElementData ( source, "Carteira:StartCarro08", false )
    setElementData ( source, "Carteira:StartCarro09", false )
    setElementData ( source, "Carteira:StartCarro10", false )
    setElementData ( source, "Carteira:StartCarro11", false )
    setElementData ( source, "Carteira:StartCarro12", false )
    setElementData ( source, "Carteira:StartCarro13", false )
    setElementData ( source, "Carteira:StartCarro14", false )
    setElementData ( source, "Carteira:StartCarro15", false )
    setElementVisibleTo ( MarkerCarro01, source, false )
    setElementVisibleTo ( BlipCarro01, source, false )
    setElementVisibleTo ( MarkerCarro02, source, false )
    setElementVisibleTo ( BlipCarro02, source, false )
    setElementVisibleTo ( MarkerCarro03, source, false )
    setElementVisibleTo ( BlipCarro03, source, false )
    setElementVisibleTo ( MarkerCarro04, source, false )
    setElementVisibleTo ( BlipCarro04, source, false )
    setElementVisibleTo ( MarkerCarro05, source, false )
    setElementVisibleTo ( BlipCarro05, source, false )
    setElementVisibleTo ( MarkerCarro06, source, false )
    setElementVisibleTo ( BlipCarro06, source, false )
    setElementVisibleTo ( MarkerCarro07, source, false )
    setElementVisibleTo ( BlipCarro07, source, false )
    setElementVisibleTo ( MarkerCarro08, source, false )
    setElementVisibleTo ( BlipCarro08, source, false )
    setElementVisibleTo ( MarkerCarro09, source, false )
    setElementVisibleTo ( BlipCarro09, source, false )
    setElementVisibleTo ( MarkerCarro10, source, false )
    setElementVisibleTo ( BlipCarro10, source, false )
    setElementVisibleTo ( MarkerCarro11, source, false )
    setElementVisibleTo ( BlipCarro11, source, false )
    setElementVisibleTo ( MarkerCarro12, source, false )
    setElementVisibleTo ( BlipCarro12, source, false )
    setElementVisibleTo ( MarkerCarro13, source, false )
    setElementVisibleTo ( BlipCarro13, source, false )
    setElementVisibleTo ( MarkerCarro14, source, false )
    setElementVisibleTo ( BlipCarro14, source, false )
    setElementVisibleTo ( MarkerCarro15, source, false )
    setElementVisibleTo ( BlipCarro15, source, false )
    setElementVisibleTo ( MarkerCarro16, source, false )
    setElementVisibleTo ( BlipCarro16, source, false )
    exports.Scripts_Dxmessages:outputDx(source, MsgCarro06, "error")
    setTimer ( setElementInterior, 400, 1, source, 3 )
    setTimer ( setElementDimension, 400, 1, source, 10 )
    setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
    setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
    fadeCamera ( source, false, 0.1, 0, 0, 0 )   
    setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
    setTimer ( setCameraTarget, 600, 1, source )
    end
    end
    addEventHandler ( "onVehicleExit", getRootElement(), SairDoVeiculoAutoEscolaCarro )
    
    function MorrerAutoEscolaCarro ()
    if ( AutoEscolaCarro[source] ) and isElement( AutoEscolaCarro[source] ) then
    setElementData ( source, "AirNew_TirandoCarta", "Não" )
    destroyElement ( AutoEscolaCarro[source] )
    setElementData ( source, "Carteira:StartCarro00", false )
    setElementData ( source, "Carteira:StartCarro01", false )
    setElementData ( source, "Carteira:StartCarro02", false )
    setElementData ( source, "Carteira:StartCarro03", false )
    setElementData ( source, "Carteira:StartCarro04", false )
    setElementData ( source, "Carteira:StartCarro05", false )
    setElementData ( source, "Carteira:StartCarro06", false )
    setElementData ( source, "Carteira:StartCarro07", false )
    setElementData ( source, "Carteira:StartCarro08", false )
    setElementData ( source, "Carteira:StartCarro09", false )
    setElementData ( source, "Carteira:StartCarro10", false )
    setElementData ( source, "Carteira:StartCarro11", false )
    setElementData ( source, "Carteira:StartCarro12", false )
    setElementData ( source, "Carteira:StartCarro13", false )
    setElementData ( source, "Carteira:StartCarro14", false )
    setElementData ( source, "Carteira:StartCarro15", false )
    setElementVisibleTo ( MarkerCarro01, source, false )
    setElementVisibleTo ( BlipCarro01, source, false )
    setElementVisibleTo ( MarkerCarro02, source, false )
    setElementVisibleTo ( BlipCarro02, source, false )
    setElementVisibleTo ( MarkerCarro03, source, false )
    setElementVisibleTo ( BlipCarro03, source, false )
    setElementVisibleTo ( MarkerCarro04, source, false )
    setElementVisibleTo ( BlipCarro04, source, false )
    setElementVisibleTo ( MarkerCarro05, source, false )
    setElementVisibleTo ( BlipCarro05, source, false )
    setElementVisibleTo ( MarkerCarro06, source, false )
    setElementVisibleTo ( BlipCarro06, source, false )
    setElementVisibleTo ( MarkerCarro07, source, false )
    setElementVisibleTo ( BlipCarro07, source, false )
    setElementVisibleTo ( MarkerCarro08, source, false )
    setElementVisibleTo ( BlipCarro08, source, false )
    setElementVisibleTo ( MarkerCarro09, source, false )
    setElementVisibleTo ( BlipCarro09, source, false )
    setElementVisibleTo ( MarkerCarro10, source, false )
    setElementVisibleTo ( BlipCarro10, source, false )
    setElementVisibleTo ( MarkerCarro11, source, false )
    setElementVisibleTo ( BlipCarro11, source, false )
    setElementVisibleTo ( MarkerCarro12, source, false )
    setElementVisibleTo ( BlipCarro12, source, false )
    setElementVisibleTo ( MarkerCarro13, source, false )
    setElementVisibleTo ( BlipCarro13, source, false )
    setElementVisibleTo ( MarkerCarro14, source, false )
    setElementVisibleTo ( BlipCarro14, source, false )
    setElementVisibleTo ( MarkerCarro15, source, false )
    setElementVisibleTo ( BlipCarro15, source, false )
    setElementVisibleTo ( MarkerCarro16, source, false )
    setElementVisibleTo ( BlipCarro16, source, false )
    exports.Scripts_Dxmessages:outputDx(source, MsgCarro07, "error")
    end
    end
    addEventHandler ( "onPlayerWasted", getRootElement(), MorrerAutoEscolaCarro )
    
    function SairDoServidorAutoEscolaCarro ( quitType )	
    if isElement( AutoEscolaCarro[source] ) then
    destroyElement ( AutoEscolaCarro[source] )
    end
    end
    addEventHandler ( "onPlayerQuit", getRootElement(), SairDoServidorAutoEscolaCarro )
    
    -- ( Final ) Percurso de Carro

    MUITO OBRIGADO!

  2. 5 hours ago, DNL291 said:

    Mostre o código pra mim ver como você fez.

    Spoiler

    function reset ( source )
    setElementData ( source, "Habilitacoes:Motos", false )
    setElementData ( source, "Habilitacoes:Carros", false )
    setElementData ( source, "Habilitacoes:Caminhoes", false )
    setElementData ( source, "Habilitacoes:Onibus", false )
    setElementData ( source, "Habilitacoes:Carretas", false )
    setElementData ( source, "Habilitacoes:Barcos", false )
    setElementData ( source, "Habilitacoes:Helicopteros", false )
    setElementData ( source, "Habilitacoes:Avioes", false )
    end
    addCommandHandler ( "rs", reset )

    function reset2 ( source )
    setElementData ( source, "Habilitacoes:Motos", true )
    setElementData ( source, "Habilitacoes:Carros", true )
    setElementData ( source, "Habilitacoes:Caminhoes", true )
    setElementData ( source, "Habilitacoes:Onibus", true )
    setElementData ( source, "Habilitacoes:Carretas", true )
    setElementData ( source, "Habilitacoes:Barcos", true )
    setElementData ( source, "Habilitacoes:Helicopteros", true )
    setElementData ( source, "Habilitacoes:Avioes", true )
    end
    addCommandHandler ( "rs2", reset2 )

    --------------------------------------------------------------------------------

    -- Config Auto-Escola Geral

    Tamanho, R, G, B, Alpha = 1.2, 22, 86, 231, 150

    MarkerHab = createMarker( -2033.04480, -117.46468, 1035.17188 -1, "cylinder", Tamanho, 255, 0, 0, Alpha )
    setElementInterior ( MarkerHab, 3 )
    setElementDimension ( MarkerHab, 10 )

    SaidaAutoEscola = createMarker ( -2026.86194, -104.12791, 1035.17188 -1, "cylinder", Tamanho, R, G, B, Alpha )
    setElementInterior ( SaidaAutoEscola, 3 )
    setElementDimension ( SaidaAutoEscola, 10 )

    EntradaSF = createMarker ( -2026.62073, -101.46782, 35.16406 -1, "cylinder", Tamanho, R, G, B, Alpha )
    local EntradaSFBlip = createBlipAttachedTo ( EntradaSF, 36 )
    setBlipVisibleDistance ( EntradaSFBlip, 150)

    EntradaLV = createMarker ( 2634.10547, 1716.65076, 11.02344 -1, "cylinder", Tamanho, R, G, B, Alpha )
    local EntradaLVBlip = createBlipAttachedTo ( EntradaLV, 36 )
    setBlipVisibleDistance ( EntradaLVBlip, 150)

    EntradaLS = createMarker ( 1699.13550, -1667.85620, 20.19406 -1, "cylinder", Tamanho, R, G, B, Alpha )
    local EntradaLSBlip = createBlipAttachedTo ( EntradaLS, 36 )
    setBlipVisibleDistance ( EntradaLSBlip, 150)

    function emarker(marker,md) 
        if (md) then
            if marker == MarkerHab then
                triggerClientEvent (source, "AirNew:AbrirAutoEscola", root )
            end
            if marker == SaidaAutoEscola then
                setTimer ( setElementInterior, 400, 1, source, 0 )
                setTimer ( setElementDimension, 400, 1, source, 0 )
                
                if getElementData ( source, "AirNew:AutoEscola" ) == "SF" then
                setTimer ( setElementPosition, 400, 1, source, -2026.62073, -101.46782 +2, 35.16406 )
                setTimer ( setElementRotation, 600, 1, source, 0, 0, 0 )
                elseif getElementData ( source, "AirNew:AutoEscola" ) == "LV" then
                setTimer ( setElementPosition, 400, 1, source, 2634.10547 -2, 1716.65076, 11.02344 )
                setTimer ( setElementRotation, 600, 1, source, 0, 0, 0 )
                elseif getElementData ( source, "AirNew:AutoEscola" ) == "LS" then
                setTimer ( setElementPosition, 400, 1, source, 1699.13550 -2, -1667.85620, 20.19406 )
                setTimer ( setElementRotation, 600, 1, source, 0, 0, 90 )
                end
                fadeCamera ( source, false, 0.1, 0, 0, 0 )   
                setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
                setTimer ( setCameraTarget, 600, 1, source )
            end
            if marker == EntradaSF then
                setElementData ( source, "AirNew:AutoEscola", "SF" )
                setTimer ( setElementInterior, 400, 1, source, 3 )
                setTimer ( setElementDimension, 400, 1, source, 10 )
                setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
                setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
                fadeCamera ( source, false, 0.1, 0, 0, 0 )   
                setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
                setTimer ( setCameraTarget, 600, 1, source )
            end
            if marker == EntradaLV then
                setElementData ( source, "AirNew:AutoEscola", "LV" )
                setTimer ( setElementInterior, 400, 1, source, 3 )
                setTimer ( setElementDimension, 400, 1, source, 10 )
                setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
                setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
                fadeCamera ( source, false, 0.1, 0, 0, 0 )   
                setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
                setTimer ( setCameraTarget, 600, 1, source )
            end
            if marker == EntradaLS then
                setElementData ( source, "AirNew:AutoEscola", "LS" )
                setTimer ( setElementInterior, 400, 1, source, 3 )
                setTimer ( setElementDimension, 400, 1, source, 10 )
                setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
                setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
                fadeCamera ( source, false, 0.1, 0, 0, 0 )   
                setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
                setTimer ( setCameraTarget, 600, 1, source )
            end
        end    
    end
    addEventHandler("onPlayerMarkerHit",getRootElement(),emarker)

    function lmarker(marker,md)
        if (md) then
            if marker == MarkerHab then
                triggerClientEvent (source, "AirNew:FecharAutoEscola", root )
            end
        end
    end
    addEventHandler("onPlayerMarkerLeave",getRootElement(),lmarker)

    MsgMultas = "Pague Suas Multas no Detran (Letra D no Mapa) Para Poder Tirar Suas Habilitações!"

    --------------------------------------------------------------------------------

    -- ( Começo ) Percurso de Moto

    MotoRX, MotoRY, MotoRZ       = -2396.43237, -594.70099, 132.64844 -- Coordenadas de Respawn da Moto
    MotoRotA, MotoRotB, MotoRotC = 0, 0, 124.86428833008 -- Rotação do Veiculo ao Spawnar
    MotoID                       = 522 -- ID da Moto
    HabValorMoto                 = 800 -- Valor da Habilitação Categoria "Motos"
    MotosDanoParaReprovar        = 950 -- 95%

    MsgMoto01 = "Prova Iniciada, Siga-os Checkpoints Para Concluir o seu Objetivo!"
    MsgMoto02 = "Você Não Tem Dinheiro Suficiente!"
    MsgMoto03 = "Você Ja Possui Essa Habilitação!"
    MsgMoto04 = "Você Reprovou no Teste, Evite Bater na Proxima Vez!"
    MsgMoto05 = "Carteira de Habilitação Categoria 'Motos' Concedida!"
    MsgMoto06 = "Você Saiu do Veiculo, Por Esse Motivo o Teste foi Cancelado!"
    MsgMoto07 = "Você Morreu, Por Esse Motivo o Teste foi Cancelado!"

    MotoX01, MotoY01, MotoZ01 = -2422.07007, -605.07965, 132.56250
    MotoX02, MotoY02, MotoZ02 = -2445.08643, -561.66852, 127.07077
    MotoX03, MotoY03, MotoZ03 = -2483.30347, -478.62625, 97.87623
    MotoX04, MotoY04, MotoZ04 = -2560.02051, -488.40961, 78.45337
    MotoX05, MotoY05, MotoZ05 = -2625.70630, -488.14209, 69.72830
    MotoX06, MotoY06, MotoZ06 = -2534.92261, -466.62216, 70.20143
    MotoX07, MotoY07, MotoZ07 = -2439.25806, -422.37332, 85.08891
    MotoX08, MotoY08, MotoZ08 = -2375.37891, -438.73767, 81.99551
    MotoX09, MotoY09, MotoZ09 = -2317.64746, -440.15088, 79.54469
    MotoX10, MotoY10, MotoZ10 = -2403.41187, -369.33237, 74.28725
    MotoX11, MotoY11, MotoZ11 = -2597.68823, -368.77106, 44.60019
    MotoX12, MotoY12, MotoZ12 = -2680.39307, -440.12732, 30.35506
    MotoX13, MotoY13, MotoZ13 = -2716.07153, -526.10675, 9.80222
    MotoX14, MotoY14, MotoZ14 = -2812.60352, -461.69827, 7.03906
    MotoX15, MotoY15, MotoZ15 = -2803.00708, -331.57635, 7.03906
    MotoX16, MotoY16, MotoZ16 = -2785.26929, -311.93359, 7.03906

    MarkerMoto01 = createMarker ( MotoX01, MotoY01, MotoZ01 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipMoto01 = createBlipAttachedTo ( MarkerMoto01, 0 )
    setElementVisibleTo ( MarkerMoto01, root, false )
    setElementVisibleTo ( BlipMoto01, root, false )

    MarkerMoto02 = createMarker ( MotoX02, MotoY02, MotoZ02 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipMoto02 = createBlipAttachedTo ( MarkerMoto02, 0 )
    setElementVisibleTo ( MarkerMoto02, root, false )
    setElementVisibleTo ( BlipMoto02, root, false )

    MarkerMoto03 = createMarker ( MotoX03, MotoY03, MotoZ03 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipMoto03 = createBlipAttachedTo ( MarkerMoto03, 0 )
    setElementVisibleTo ( MarkerMoto03, root, false )
    setElementVisibleTo ( BlipMoto03, root, false )

    MarkerMoto04 = createMarker ( MotoX04, MotoY04, MotoZ04 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipMoto04 = createBlipAttachedTo ( MarkerMoto04, 0 )
    setElementVisibleTo ( MarkerMoto04, root, false )
    setElementVisibleTo ( BlipMoto04, root, false )

    MarkerMoto05 = createMarker ( MotoX05, MotoY05, MotoZ05 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipMoto05 = createBlipAttachedTo ( MarkerMoto05, 0 )
    setElementVisibleTo ( MarkerMoto05, root, false )
    setElementVisibleTo ( BlipMoto05, root, false )

    MarkerMoto06 = createMarker ( MotoX06, MotoY06, MotoZ06 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipMoto06 = createBlipAttachedTo ( MarkerMoto06, 0 )
    setElementVisibleTo ( MarkerMoto06, root, false )
    setElementVisibleTo ( BlipMoto06, root, false )

    MarkerMoto07 = createMarker ( MotoX07, MotoY07, MotoZ07 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipMoto07 = createBlipAttachedTo ( MarkerMoto07, 0 )
    setElementVisibleTo ( MarkerMoto07, root, false )
    setElementVisibleTo ( BlipMoto07, root, false )

    MarkerMoto08 = createMarker ( MotoX08, MotoY08, MotoZ08 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipMoto08 = createBlipAttachedTo ( MarkerMoto08, 0 )
    setElementVisibleTo ( MarkerMoto08, root, false )
    setElementVisibleTo ( BlipMoto08, root, false )

    MarkerMoto09 = createMarker ( MotoX09, MotoY09, MotoZ09 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipMoto09 = createBlipAttachedTo ( MarkerMoto09, 0 )
    setElementVisibleTo ( MarkerMoto09, root, false )
    setElementVisibleTo ( BlipMoto09, root, false )

    MarkerMoto10 = createMarker ( MotoX10, MotoY10, MotoZ10 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipMoto10 = createBlipAttachedTo ( MarkerMoto10, 0 )
    setElementVisibleTo ( MarkerMoto10, root, false )
    setElementVisibleTo ( BlipMoto10, root, false )

    MarkerMoto11 = createMarker ( MotoX11, MotoY11, MotoZ11 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipMoto11 = createBlipAttachedTo ( MarkerMoto11, 0 )
    setElementVisibleTo ( MarkerMoto11, root, false )
    setElementVisibleTo ( BlipMoto11, root, false )

    MarkerMoto12 = createMarker ( MotoX12, MotoY12, MotoZ12 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipMoto12 = createBlipAttachedTo ( MarkerMoto12, 0 )
    setElementVisibleTo ( MarkerMoto12, root, false )
    setElementVisibleTo ( BlipMoto12, root, false )

    MarkerMoto13 = createMarker ( MotoX13, MotoY13, MotoZ13 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipMoto13 = createBlipAttachedTo ( MarkerMoto13, 0 )
    setElementVisibleTo ( MarkerMoto13, root, false )
    setElementVisibleTo ( BlipMoto13, root, false )

    MarkerMoto14 = createMarker ( MotoX14, MotoY14, MotoZ14 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipMoto14 = createBlipAttachedTo ( MarkerMoto14, 0 )
    setElementVisibleTo ( MarkerMoto14, root, false )
    setElementVisibleTo ( BlipMoto14, root, false )

    MarkerMoto15 = createMarker ( MotoX15, MotoY15, MotoZ15 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipMoto15 = createBlipAttachedTo ( MarkerMoto15, 0 )
    setElementVisibleTo ( MarkerMoto15, root, false )
    setElementVisibleTo ( BlipMoto15, root, false )

    MarkerMoto16 = createMarker ( MotoX16, MotoY16, MotoZ16 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipMoto16 = createBlipAttachedTo ( MarkerMoto16, 0 )
    setElementVisibleTo ( MarkerMoto16, root, false )
    setElementVisibleTo ( BlipMoto16, root, false )

    AutoEscolaMoto = {}

    function MotosHab(entrar)
    if (getElementData ( source, "PontosNacarteira" ) or 0) > 0 then
    exports.Scripts_Dxmessages:outputDx(source, MsgMultas, "error") return end
    if not getElementData(source, "Habilitacoes:Motos" ) == true then
    if getPlayerMoney(source) >= HabValorMoto then
    takePlayerMoney(source, HabValorMoto)
    if AutoEscolaMoto[source] and isElement( AutoEscolaMoto[source] ) then destroyElement ( AutoEscolaMoto[source] )
    AutoEscolaMoto[source] = nil
    end
    setElementInterior ( source, 0 )
    setElementDimension ( source, 0 )
    triggerClientEvent ( source, "AirNew:FecharAutoEscola", root )
    AutoEscolaMoto[source] = createVehicle( MotoID, MotoRX, MotoRY, MotoRZ )
    setElementRotation ( AutoEscolaMoto[source], MotoRotA, MotoRotB, MotoRotC )
    setVehicleLocked ( AutoEscolaMoto[source], true )
    warpPedIntoVehicle ( source, AutoEscolaMoto[source] )
    setCameraTarget ( source )
    setElementData ( source, "Carteira:StartMoto00", true )
    setElementData ( source, "AirNew_TirandoCarta", "Sim" )
    setElementVisibleTo ( MarkerMoto01, source, true )
    setElementVisibleTo ( BlipMoto01, source, true )
    exports.Scripts_Dxmessages:outputDx(source, MsgMoto01, "info")
    else
    exports.Scripts_Dxmessages:outputDx(source, MsgMoto02, "error")
    end
    else
    exports.Scripts_Dxmessages:outputDx(source, MsgMoto03, "warning")
    end
    end
    addEvent("Hab:Moto", true)
    addEventHandler ( "Hab:Moto", root, MotosHab)

    function emarkerMotos(marker,md) 
        if (md) then
          if AutoEscolaMoto[source] and isElement( AutoEscolaMoto[source] ) then
            if marker == MarkerMoto01 then
            if getElementData( source, "Carteira:StartMoto00", true ) then
            setElementVisibleTo ( MarkerMoto01, source, false )
            setElementVisibleTo ( BlipMoto01, source, false )
            setElementVisibleTo ( MarkerMoto02, source, true )
            setElementVisibleTo ( BlipMoto02, source, true )
            setElementData ( source, "Carteira:StartMoto01", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartMoto00", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerMoto02 then
            if getElementData( source, "Carteira:StartMoto01", true ) then
            setElementVisibleTo ( MarkerMoto02, source, false )
            setElementVisibleTo ( BlipMoto02, source, false )
            setElementVisibleTo ( MarkerMoto03, source, true )
            setElementVisibleTo ( BlipMoto03, source, true )
            setElementData ( source, "Carteira:StartMoto02", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartMoto01", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerMoto03 then
            if getElementData( source, "Carteira:StartMoto02", true ) then
            setElementVisibleTo ( MarkerMoto03, source, false )
            setElementVisibleTo ( BlipMoto03, source, false )
            setElementVisibleTo ( MarkerMoto04, source, true )
            setElementVisibleTo ( BlipMoto04, source, true )
            setElementData ( source, "Carteira:StartMoto03", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartMoto02", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerMoto04 then
            if getElementData( source, "Carteira:StartMoto03", true ) then
            setElementVisibleTo ( MarkerMoto04, source, false )
            setElementVisibleTo ( BlipMoto04, source, false )
            setElementVisibleTo ( MarkerMoto05, source, true )
            setElementVisibleTo ( BlipMoto05, source, true )
            setElementData ( source, "Carteira:StartMoto04", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartMoto03", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerMoto05 then
            if getElementData( source, "Carteira:StartMoto04", true ) then
            setElementVisibleTo ( MarkerMoto05, source, false )
            setElementVisibleTo ( BlipMoto05, source, false )
            setElementVisibleTo ( MarkerMoto06, source, true )
            setElementVisibleTo ( BlipMoto06, source, true )
            setElementData ( source, "Carteira:StartMoto05", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartMoto04", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerMoto06 then
            if getElementData( source, "Carteira:StartMoto05", true ) then
            setElementVisibleTo ( MarkerMoto06, source, false )
            setElementVisibleTo ( BlipMoto06, source, false )
            setElementVisibleTo ( MarkerMoto07, source, true )
            setElementVisibleTo ( BlipMoto07, source, true )
            setElementData ( source, "Carteira:StartMoto06", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartMoto05", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerMoto07 then
            if getElementData( source, "Carteira:StartMoto06", true ) then
            setElementVisibleTo ( MarkerMoto07, source, false )
            setElementVisibleTo ( BlipMoto07, source, false )
            setElementVisibleTo ( MarkerMoto08, source, true )
            setElementVisibleTo ( BlipMoto08, source, true )
            setElementData ( source, "Carteira:StartMoto07", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartMoto06", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerMoto08 then
            if getElementData( source, "Carteira:StartMoto07", true ) then
            setElementVisibleTo ( MarkerMoto08, source, false )
            setElementVisibleTo ( BlipMoto08, source, false )
            setElementVisibleTo ( MarkerMoto09, source, true )
            setElementVisibleTo ( BlipMoto09, source, true )
            setElementData ( source, "Carteira:StartMoto08", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartMoto07", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerMoto09 then
            if getElementData( source, "Carteira:StartMoto08", true ) then
            setElementVisibleTo ( MarkerMoto09, source, false )
            setElementVisibleTo ( BlipMoto09, source, false )
            setElementVisibleTo ( MarkerMoto10, source, true )
            setElementVisibleTo ( BlipMoto10, source, true )
            setElementData ( source, "Carteira:StartMoto09", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartMoto08", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerMoto10 then
            if getElementData( source, "Carteira:StartMoto09", true ) then
            setElementVisibleTo ( MarkerMoto10, source, false )
            setElementVisibleTo ( BlipMoto10, source, false )
            setElementVisibleTo ( MarkerMoto11, source, true )
            setElementVisibleTo ( BlipMoto11, source, true )
            setElementData ( source, "Carteira:StartMoto10", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartMoto09", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerMoto11 then
            if getElementData( source, "Carteira:StartMoto10", true ) then
            setElementVisibleTo ( MarkerMoto11, source, false )
            setElementVisibleTo ( BlipMoto11, source, false )
            setElementVisibleTo ( MarkerMoto12, source, true )
            setElementVisibleTo ( BlipMoto12, source, true )
            setElementData ( source, "Carteira:StartMoto11", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartMoto10", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerMoto12 then
            if getElementData( source, "Carteira:StartMoto11", true ) then
            setElementVisibleTo ( MarkerMoto12, source, false )
            setElementVisibleTo ( BlipMoto12, source, false )
            setElementVisibleTo ( MarkerMoto13, source, true )
            setElementVisibleTo ( BlipMoto13, source, true )
            setElementData ( source, "Carteira:StartMoto12", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartMoto11", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerMoto13 then
            if getElementData( source, "Carteira:StartMoto12", true ) then
            setElementVisibleTo ( MarkerMoto13, source, false )
            setElementVisibleTo ( BlipMoto13, source, false )
            setElementVisibleTo ( MarkerMoto14, source, true )
            setElementVisibleTo ( BlipMoto14, source, true )
            setElementData ( source, "Carteira:StartMoto13", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartMoto12", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerMoto14 then
            if getElementData( source, "Carteira:StartMoto13", true ) then
            setElementVisibleTo ( MarkerMoto14, source, false )
            setElementVisibleTo ( BlipMoto14, source, false )
            setElementVisibleTo ( MarkerMoto15, source, true )
            setElementVisibleTo ( BlipMoto15, source, true )
            setElementData ( source, "Carteira:StartMoto14", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartMoto13", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerMoto15 then
            if getElementData( source, "Carteira:StartMoto14", true ) then
            setElementVisibleTo ( MarkerMoto15, source, false )
            setElementVisibleTo ( BlipMoto15, source, false )
            setElementVisibleTo ( MarkerMoto16, source, true )
            setElementVisibleTo ( BlipMoto16, source, true )
            setElementData ( source, "Carteira:StartMoto15", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartMoto14", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerMoto16 then
            if getElementData( source, "Carteira:StartMoto15", true ) then
            AutoEscolaMotoVida = getElementHealth ( AutoEscolaMoto[source] )
            if AutoEscolaMotoVida <= MotosDanoParaReprovar then
            exports.Scripts_Dxmessages:outputDx(source, MsgMoto04, "error")
            else
            setElementData( source, "Habilitacoes:Motos", true)
            exports.Scripts_Dxmessages:outputDx(source, MsgMoto05, "success")
            end
            setTimer ( setElementData, 50, 1, source, "Carteira:StartMoto15", false )
            setElementVisibleTo ( MarkerMoto16, source, false )
            setElementVisibleTo ( BlipMoto16, source, false )
            setElementData ( source, "AirNew_TirandoCarta", "Não" )
            destroyElement ( AutoEscolaMoto[source] )
            setTimer ( setElementInterior, 400, 1, source, 3 )
            setTimer ( setElementDimension, 400, 1, source, 10 )
            setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
            setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
            fadeCamera ( source, false, 0.1, 0, 0, 0 )   
            setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
            setTimer ( setCameraTarget, 600, 1, source )
            end
            end
          end 
        end    
    end
    addEventHandler("onPlayerMarkerHit",getRootElement(),emarkerMotos)

    function SairDoVeiculoAutoEscolaMoto (source)
    if ( AutoEscolaMoto[source] ) and isElement( AutoEscolaMoto[source] ) then
    setElementData ( source, "AirNew_TirandoCarta", "Não" )
    destroyElement ( AutoEscolaMoto[source] )
    setElementData ( source, "Carteira:StartMoto00", false )
    setElementData ( source, "Carteira:StartMoto01", false )
    setElementData ( source, "Carteira:StartMoto02", false )
    setElementData ( source, "Carteira:StartMoto03", false )
    setElementData ( source, "Carteira:StartMoto04", false )
    setElementData ( source, "Carteira:StartMoto05", false )
    setElementData ( source, "Carteira:StartMoto06", false )
    setElementData ( source, "Carteira:StartMoto07", false )
    setElementData ( source, "Carteira:StartMoto08", false )
    setElementData ( source, "Carteira:StartMoto09", false )
    setElementData ( source, "Carteira:StartMoto10", false )
    setElementData ( source, "Carteira:StartMoto11", false )
    setElementData ( source, "Carteira:StartMoto12", false )
    setElementData ( source, "Carteira:StartMoto13", false )
    setElementData ( source, "Carteira:StartMoto14", false )
    setElementData ( source, "Carteira:StartMoto15", false )
    setElementVisibleTo ( MarkerMoto01, source, false )
    setElementVisibleTo ( BlipMoto01, source, false )
    setElementVisibleTo ( MarkerMoto02, source, false )
    setElementVisibleTo ( BlipMoto02, source, false )
    setElementVisibleTo ( MarkerMoto03, source, false )
    setElementVisibleTo ( BlipMoto03, source, false )
    setElementVisibleTo ( MarkerMoto04, source, false )
    setElementVisibleTo ( BlipMoto04, source, false )
    setElementVisibleTo ( MarkerMoto05, source, false )
    setElementVisibleTo ( BlipMoto05, source, false )
    setElementVisibleTo ( MarkerMoto06, source, false )
    setElementVisibleTo ( BlipMoto06, source, false )
    setElementVisibleTo ( MarkerMoto07, source, false )
    setElementVisibleTo ( BlipMoto07, source, false )
    setElementVisibleTo ( MarkerMoto08, source, false )
    setElementVisibleTo ( BlipMoto08, source, false )
    setElementVisibleTo ( MarkerMoto09, source, false )
    setElementVisibleTo ( BlipMoto09, source, false )
    setElementVisibleTo ( MarkerMoto10, source, false )
    setElementVisibleTo ( BlipMoto10, source, false )
    setElementVisibleTo ( MarkerMoto11, source, false )
    setElementVisibleTo ( BlipMoto11, source, false )
    setElementVisibleTo ( MarkerMoto12, source, false )
    setElementVisibleTo ( BlipMoto12, source, false )
    setElementVisibleTo ( MarkerMoto13, source, false )
    setElementVisibleTo ( BlipMoto13, source, false )
    setElementVisibleTo ( MarkerMoto14, source, false )
    setElementVisibleTo ( BlipMoto14, source, false )
    setElementVisibleTo ( MarkerMoto15, source, false )
    setElementVisibleTo ( BlipMoto15, source, false )
    setElementVisibleTo ( MarkerMoto16, source, false )
    setElementVisibleTo ( BlipMoto16, source, false )
    exports.Scripts_Dxmessages:outputDx(source, MsgMoto06, "error")
    setTimer ( setElementInterior, 400, 1, source, 3 )
    setTimer ( setElementDimension, 400, 1, source, 10 )
    setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
    setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
    fadeCamera ( source, false, 0.1, 0, 0, 0 )   
    setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
    setTimer ( setCameraTarget, 600, 1, source )
    end
    end
    addEventHandler ( "onVehicleExit", getRootElement(), SairDoVeiculoAutoEscolaMoto )

    function MorrerAutoEscolaMoto ()
    if ( AutoEscolaMoto[source] ) and isElement( AutoEscolaMoto[source] ) then
    setElementData ( source, "AirNew_TirandoCarta", "Não" )
    destroyElement ( AutoEscolaMoto[source] )
    setElementData ( source, "Carteira:StartMoto00", false )
    setElementData ( source, "Carteira:StartMoto01", false )
    setElementData ( source, "Carteira:StartMoto02", false )
    setElementData ( source, "Carteira:StartMoto03", false )
    setElementData ( source, "Carteira:StartMoto04", false )
    setElementData ( source, "Carteira:StartMoto05", false )
    setElementData ( source, "Carteira:StartMoto06", false )
    setElementData ( source, "Carteira:StartMoto07", false )
    setElementData ( source, "Carteira:StartMoto08", false )
    setElementData ( source, "Carteira:StartMoto09", false )
    setElementData ( source, "Carteira:StartMoto10", false )
    setElementData ( source, "Carteira:StartMoto11", false )
    setElementData ( source, "Carteira:StartMoto12", false )
    setElementData ( source, "Carteira:StartMoto13", false )
    setElementData ( source, "Carteira:StartMoto14", false )
    setElementData ( source, "Carteira:StartMoto15", false )
    setElementVisibleTo ( MarkerMoto01, source, false )
    setElementVisibleTo ( BlipMoto01, source, false )
    setElementVisibleTo ( MarkerMoto02, source, false )
    setElementVisibleTo ( BlipMoto02, source, false )
    setElementVisibleTo ( MarkerMoto03, source, false )
    setElementVisibleTo ( BlipMoto03, source, false )
    setElementVisibleTo ( MarkerMoto04, source, false )
    setElementVisibleTo ( BlipMoto04, source, false )
    setElementVisibleTo ( MarkerMoto05, source, false )
    setElementVisibleTo ( BlipMoto05, source, false )
    setElementVisibleTo ( MarkerMoto06, source, false )
    setElementVisibleTo ( BlipMoto06, source, false )
    setElementVisibleTo ( MarkerMoto07, source, false )
    setElementVisibleTo ( BlipMoto07, source, false )
    setElementVisibleTo ( MarkerMoto08, source, false )
    setElementVisibleTo ( BlipMoto08, source, false )
    setElementVisibleTo ( MarkerMoto09, source, false )
    setElementVisibleTo ( BlipMoto09, source, false )
    setElementVisibleTo ( MarkerMoto10, source, false )
    setElementVisibleTo ( BlipMoto10, source, false )
    setElementVisibleTo ( MarkerMoto11, source, false )
    setElementVisibleTo ( BlipMoto11, source, false )
    setElementVisibleTo ( MarkerMoto12, source, false )
    setElementVisibleTo ( BlipMoto12, source, false )
    setElementVisibleTo ( MarkerMoto13, source, false )
    setElementVisibleTo ( BlipMoto13, source, false )
    setElementVisibleTo ( MarkerMoto14, source, false )
    setElementVisibleTo ( BlipMoto14, source, false )
    setElementVisibleTo ( MarkerMoto15, source, false )
    setElementVisibleTo ( BlipMoto15, source, false )
    setElementVisibleTo ( MarkerMoto16, source, false )
    setElementVisibleTo ( BlipMoto16, source, false )
    exports.Scripts_Dxmessages:outputDx(source, MsgMoto07, "error")
    end
    end
    addEventHandler ( "onPlayerWasted", getRootElement(), MorrerAutoEscolaMoto )

    function SairDoServidorAutoEscolaMoto ( quitType )    
    if isElement( AutoEscolaMoto[source] ) then
    destroyElement ( AutoEscolaMoto[source] )
    end
    end
    addEventHandler ( "onPlayerQuit", getRootElement(), SairDoServidorAutoEscolaMoto )

    -- ( Final ) Percurso de Moto

    --------------------------------------------------------------------------------

    -- ( Começo ) Percurso de Carro

    CarroRX, CarroRY, CarroRZ       = -270.44916, 1547.39783, 75.35938 -- Coordenadas de Respawn do Carro
    CarroRotA, CarroRotB, CarroRotC = 0, 0, 135.25268554688 -- Rotação do Veiculo ao Spawnar
    CarroID                         = 516 -- ID do Carro
    HabValorCarro                   = 1000 -- Valor da Habilitação Categoria "Carros"
    CarrosDanoParaReprovar          = 950 -- 95%

    MsgCarro01 = "Prova Iniciada, Siga-os Checkpoints Para Concluir o seu Objetivo!"
    MsgCarro02 = "Você Não Tem Dinheiro Suficiente!"
    MsgCarro03 = "Você Ja Possui Essa Habilitação!"
    MsgCarro04 = "Você Reprovou no Teste, Evite Bater na Proxima Vez!"
    MsgCarro05 = "Carteira de Habilitação Categoria 'Carros' Concedida!"
    MsgCarro06 = "Você Saiu do Veiculo, Por Esse Motivo o Teste foi Cancelado!"
    MsgCarro07 = "Você Morreu, Por Esse Motivo o Teste foi Cancelado!"

    CarroX01, CarroY01, CarroZ01 = -304.31372, 1497.35303, 75.67019
    CarroX02, CarroY02, CarroZ02 = -297.91571, 1412.75647, 72.31325
    CarroX03, CarroY03, CarroZ03 = -358.71982, 1398.42810, 58.37130
    CarroX04, CarroY04, CarroZ04 = -383.39719, 1397.47485, 42.07113
    CarroX05, CarroY05, CarroZ05 = -453.04425, 1579.76025, 36.17015
    CarroX06, CarroY06, CarroZ06 = -403.00198, 1714.00647, 40.57639
    CarroX07, CarroY07, CarroZ07 = -388.58905, 1880.69397, 55.31573
    CarroX08, CarroY08, CarroZ08 = -429.19666, 1818.11926, 67.87206
    CarroX09, CarroY09, CarroZ09 = -468.87231, 1869.95264, 82.43024
    CarroX10, CarroY10, CarroZ10 = -397.42804, 2034.05908, 65.20287
    CarroX11, CarroY11, CarroZ11 = -458.04187, 2028.86401, 60.53470
    CarroX12, CarroY12, CarroZ12 = -541.70868, 2008.56213, 60.21884
    CarroX13, CarroY13, CarroZ13 = -652.17749, 2064.89575, 60.21832
    CarroX14, CarroY14, CarroZ14 = -757.40155, 2064.42749, 60.22342
    CarroX15, CarroY15, CarroZ15 = -851.88013, 2019.84998, 60.22160
    CarroX16, CarroY16, CarroZ16 = -912.48688, 2008.76563, 60.94514

    MarkerCarro01 = createMarker ( CarroX01, CarroY01, CarroZ01 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro01 = createBlipAttachedTo ( MarkerCarro01, 0 )
    setElementVisibleTo ( MarkerCarro01, root, false )
    setElementVisibleTo ( BlipCarro01, root, false )

    MarkerCarro02 = createMarker ( CarroX02, CarroY02, CarroZ02 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro02 = createBlipAttachedTo ( MarkerCarro02, 0 )
    setElementVisibleTo ( MarkerCarro02, root, false )
    setElementVisibleTo ( BlipCarro02, root, false )

    MarkerCarro03 = createMarker ( CarroX03, CarroY03, CarroZ03 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro03 = createBlipAttachedTo ( MarkerCarro03, 0 )
    setElementVisibleTo ( MarkerCarro03, root, false )
    setElementVisibleTo ( BlipCarro03, root, false )

    MarkerCarro04 = createMarker ( CarroX04, CarroY04, CarroZ04 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro04 = createBlipAttachedTo ( MarkerCarro04, 0 )
    setElementVisibleTo ( MarkerCarro04, root, false )
    setElementVisibleTo ( BlipCarro04, root, false )

    MarkerCarro05 = createMarker ( CarroX05, CarroY05, CarroZ05 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro05 = createBlipAttachedTo ( MarkerCarro05, 0 )
    setElementVisibleTo ( MarkerCarro05, root, false )
    setElementVisibleTo ( BlipCarro05, root, false )

    MarkerCarro06 = createMarker ( CarroX06, CarroY06, CarroZ06 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro06 = createBlipAttachedTo ( MarkerCarro06, 0 )
    setElementVisibleTo ( MarkerCarro06, root, false )
    setElementVisibleTo ( BlipCarro06, root, false )

    MarkerCarro07 = createMarker ( CarroX07, CarroY07, CarroZ07 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro07 = createBlipAttachedTo ( MarkerCarro07, 0 )
    setElementVisibleTo ( MarkerCarro07, root, false )
    setElementVisibleTo ( BlipCarro07, root, false )

    MarkerCarro08 = createMarker ( CarroX08, CarroY08, CarroZ08 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro08 = createBlipAttachedTo ( MarkerCarro08, 0 )
    setElementVisibleTo ( MarkerCarro08, root, false )
    setElementVisibleTo ( BlipCarro08, root, false )

    MarkerCarro09 = createMarker ( CarroX09, CarroY09, CarroZ09 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro09 = createBlipAttachedTo ( MarkerCarro09, 0 )
    setElementVisibleTo ( MarkerCarro09, root, false )
    setElementVisibleTo ( BlipCarro09, root, false )

    MarkerCarro10 = createMarker ( CarroX10, CarroY10, CarroZ10 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro10 = createBlipAttachedTo ( MarkerCarro10, 0 )
    setElementVisibleTo ( MarkerCarro10, root, false )
    setElementVisibleTo ( BlipCarro10, root, false )

    MarkerCarro11 = createMarker ( CarroX11, CarroY11, CarroZ11 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro11 = createBlipAttachedTo ( MarkerCarro11, 0 )
    setElementVisibleTo ( MarkerCarro11, root, false )
    setElementVisibleTo ( BlipCarro11, root, false )

    MarkerCarro12 = createMarker ( CarroX12, CarroY12, CarroZ12 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro12 = createBlipAttachedTo ( MarkerCarro12, 0 )
    setElementVisibleTo ( MarkerCarro12, root, false )
    setElementVisibleTo ( BlipCarro12, root, false )

    MarkerCarro13 = createMarker ( CarroX13, CarroY13, CarroZ13 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro13 = createBlipAttachedTo ( MarkerCarro13, 0 )
    setElementVisibleTo ( MarkerCarro13, root, false )
    setElementVisibleTo ( BlipCarro13, root, false )

    MarkerCarro14 = createMarker ( CarroX14, CarroY14, CarroZ14 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro14 = createBlipAttachedTo ( MarkerCarro14, 0 )
    setElementVisibleTo ( MarkerCarro14, root, false )
    setElementVisibleTo ( BlipCarro14, root, false )

    MarkerCarro15 = createMarker ( CarroX15, CarroY15, CarroZ15 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro15 = createBlipAttachedTo ( MarkerCarro15, 0 )
    setElementVisibleTo ( MarkerCarro15, root, false )
    setElementVisibleTo ( BlipCarro15, root, false )

    MarkerCarro16 = createMarker ( CarroX16, CarroY16, CarroZ16 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro16 = createBlipAttachedTo ( MarkerCarro16, 0 )
    setElementVisibleTo ( MarkerCarro16, root, false )
    setElementVisibleTo ( BlipCarro16, root, false )

    AutoEscolaCarro = {}

    function CarrosHab(entrar)
    if (getElementData ( source, "PontosNacarteira" ) or 0) > 0 then
    exports.Scripts_Dxmessages:outputDx(source, MsgMultas, "error") return end
    if not getElementData(source, "Habilitacoes:Carros" ) == true then
    if getPlayerMoney(source) >= HabValorCarro then
    takePlayerMoney(source, HabValorCarro)
    if AutoEscolaCarro[source] and isElement( AutoEscolaCarro[source] ) then destroyElement ( AutoEscolaCarro[source] )
    AutoEscolaCarro[source] = nil
    end
    setElementInterior ( source, 0 )
    setElementDimension ( source, 0 )
    triggerClientEvent ( source, "AirNew:FecharAutoEscola", root )
    AutoEscolaCarro[source] = createVehicle( CarroID, CarroRX, CarroRY, CarroRZ )
    setElementRotation ( AutoEscolaCarro[source], CarroRotA, CarroRotB, CarroRotC )
    setVehicleLocked ( AutoEscolaCarro[source], true )
    warpPedIntoVehicle ( source, AutoEscolaCarro[source] )
    setCameraTarget ( source )
    setElementData ( source, "Carteira:StartCarro00", true )
    setElementData ( source, "AirNew_TirandoCarta", "Sim" )
    setElementVisibleTo ( MarkerCarro01, source, true )
    setElementVisibleTo ( BlipCarro01, source, true )
    exports.Scripts_Dxmessages:outputDx(source, MsgCarro01, "info")
    else
    exports.Scripts_Dxmessages:outputDx(source, MsgCarro02, "error")
    end
    else
    exports.Scripts_Dxmessages:outputDx(source, MsgCarro03, "warning")
    end
    end
    addEvent("Hab:Carro", true)
    addEventHandler ( "Hab:Carro", root, CarrosHab)

    function emarkerCarros(marker,md) 
        if (md) then
          if AutoEscolaCarro[source] and isElement( AutoEscolaCarro[source] ) then
            if marker == MarkerCarro01 then
            if getElementData( source, "Carteira:StartCarro00", true ) then
            setElementVisibleTo ( MarkerCarro01, source, false )
            setElementVisibleTo ( BlipCarro01, source, false )
            setElementVisibleTo ( MarkerCarro02, source, true )
            setElementVisibleTo ( BlipCarro02, source, true )
            setElementData ( source, "Carteira:StartCarro01", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro00", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarro02 then
            if getElementData( source, "Carteira:StartCarro01", true ) then
            setElementVisibleTo ( MarkerCarro02, source, false )
            setElementVisibleTo ( BlipCarro02, source, false )
            setElementVisibleTo ( MarkerCarro03, source, true )
            setElementVisibleTo ( BlipCarro03, source, true )
            setElementData ( source, "Carteira:StartCarro02", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro01", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarro03 then
            if getElementData( source, "Carteira:StartCarro02", true ) then
            setElementVisibleTo ( MarkerCarro03, source, false )
            setElementVisibleTo ( BlipCarro03, source, false )
            setElementVisibleTo ( MarkerCarro04, source, true )
            setElementVisibleTo ( BlipCarro04, source, true )
            setElementData ( source, "Carteira:StartCarro03", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro02", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarro04 then
            if getElementData( source, "Carteira:StartCarro03", true ) then
            setElementVisibleTo ( MarkerCarro04, source, false )
            setElementVisibleTo ( BlipCarro04, source, false )
            setElementVisibleTo ( MarkerCarro05, source, true )
            setElementVisibleTo ( BlipCarro05, source, true )
            setElementData ( source, "Carteira:StartCarro04", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro03", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarro05 then
            if getElementData( source, "Carteira:StartCarro04", true ) then
            setElementVisibleTo ( MarkerCarro05, source, false )
            setElementVisibleTo ( BlipCarro05, source, false )
            setElementVisibleTo ( MarkerCarro06, source, true )
            setElementVisibleTo ( BlipCarro06, source, true )
            setElementData ( source, "Carteira:StartCarro05", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro04", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarro06 then
            if getElementData( source, "Carteira:StartCarro05", true ) then
            setElementVisibleTo ( MarkerCarro06, source, false )
            setElementVisibleTo ( BlipCarro06, source, false )
            setElementVisibleTo ( MarkerCarro07, source, true )
            setElementVisibleTo ( BlipCarro07, source, true )
            setElementData ( source, "Carteira:StartCarro06", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro05", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarro07 then
            if getElementData( source, "Carteira:StartCarro06", true ) then
            setElementVisibleTo ( MarkerCarro07, source, false )
            setElementVisibleTo ( BlipCarro07, source, false )
            setElementVisibleTo ( MarkerCarro08, source, true )
            setElementVisibleTo ( BlipCarro08, source, true )
            setElementData ( source, "Carteira:StartCarro07", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro06", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarro08 then
            if getElementData( source, "Carteira:StartCarro07", true ) then
            setElementVisibleTo ( MarkerCarro08, source, false )
            setElementVisibleTo ( BlipCarro08, source, false )
            setElementVisibleTo ( MarkerCarro09, source, true )
            setElementVisibleTo ( BlipCarro09, source, true )
            setElementData ( source, "Carteira:StartCarro08", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro07", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarro09 then
            if getElementData( source, "Carteira:StartCarro08", true ) then
            setElementVisibleTo ( MarkerCarro09, source, false )
            setElementVisibleTo ( BlipCarro09, source, false )
            setElementVisibleTo ( MarkerCarro10, source, true )
            setElementVisibleTo ( BlipCarro10, source, true )
            setElementData ( source, "Carteira:StartCarro09", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro08", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarro10 then
            if getElementData( source, "Carteira:StartCarro09", true ) then
            setElementVisibleTo ( MarkerCarro10, source, false )
            setElementVisibleTo ( BlipCarro10, source, false )
            setElementVisibleTo ( MarkerCarro11, source, true )
            setElementVisibleTo ( BlipCarro11, source, true )
            setElementData ( source, "Carteira:StartCarro10", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro09", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarro11 then
            if getElementData( source, "Carteira:StartCarro10", true ) then
            setElementVisibleTo ( MarkerCarro11, source, false )
            setElementVisibleTo ( BlipCarro11, source, false )
            setElementVisibleTo ( MarkerCarro12, source, true )
            setElementVisibleTo ( BlipCarro12, source, true )
            setElementData ( source, "Carteira:StartCarro11", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro10", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarro12 then
            if getElementData( source, "Carteira:StartCarro11", true ) then
            setElementVisibleTo ( MarkerCarro12, source, false )
            setElementVisibleTo ( BlipCarro12, source, false )
            setElementVisibleTo ( MarkerCarro13, source, true )
            setElementVisibleTo ( BlipCarro13, source, true )
            setElementData ( source, "Carteira:StartCarro12", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro11", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarro13 then
            if getElementData( source, "Carteira:StartCarro12", true ) then
            setElementVisibleTo ( MarkerCarro13, source, false )
            setElementVisibleTo ( BlipCarro13, source, false )
            setElementVisibleTo ( MarkerCarro14, source, true )
            setElementVisibleTo ( BlipCarro14, source, true )
            setElementData ( source, "Carteira:StartCarro13", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro12", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarro14 then
            if getElementData( source, "Carteira:StartCarro13", true ) then
            setElementVisibleTo ( MarkerCarro14, source, false )
            setElementVisibleTo ( BlipCarro14, source, false )
            setElementVisibleTo ( MarkerCarro15, source, true )
            setElementVisibleTo ( BlipCarro15, source, true )
            setElementData ( source, "Carteira:StartCarro14", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro13", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarro15 then
            if getElementData( source, "Carteira:StartCarro14", true ) then
            setElementVisibleTo ( MarkerCarro15, source, false )
            setElementVisibleTo ( BlipCarro15, source, false )
            setElementVisibleTo ( MarkerCarro16, source, true )
            setElementVisibleTo ( BlipCarro16, source, true )
            setElementData ( source, "Carteira:StartCarro15", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro14", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarro16 then
            if getElementData( source, "Carteira:StartCarro15", true ) then
            AutoEscolaCarroVida = getElementHealth ( AutoEscolaCarro[source] )
            if AutoEscolaCarroVida <= CarrosDanoParaReprovar then
            exports.Scripts_Dxmessages:outputDx(source, MsgCarro04, "error")
            else
            setElementData( source, "Habilitacoes:Carros", true)
            exports.Scripts_Dxmessages:outputDx(source, MsgCarro05, "success")
            end
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro15", false )
            setElementVisibleTo ( MarkerCarro16, source, false )
            setElementVisibleTo ( BlipCarro16, source, false )
            setElementData ( source, "AirNew_TirandoCarta", "Não" )
            destroyElement ( AutoEscolaCarro[source] )
            setTimer ( setElementInterior, 400, 1, source, 3 )
            setTimer ( setElementDimension, 400, 1, source, 10 )
            setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
            setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
            fadeCamera ( source, false, 0.1, 0, 0, 0 )   
            setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
            setTimer ( setCameraTarget, 600, 1, source )
            end
            end
          end 
        end    
    end
    addEventHandler("onPlayerMarkerHit",getRootElement(),emarkerCarros)

    function SairDoVeiculoAutoEscolaCarro (source)
    if ( AutoEscolaCarro[source] ) and isElement( AutoEscolaCarro[source] ) then
    setElementData ( source, "AirNew_TirandoCarta", "Não" )
    destroyElement ( AutoEscolaCarro[source] )
    setElementData ( source, "Carteira:StartCarro00", false )
    setElementData ( source, "Carteira:StartCarro01", false )
    setElementData ( source, "Carteira:StartCarro02", false )
    setElementData ( source, "Carteira:StartCarro03", false )
    setElementData ( source, "Carteira:StartCarro04", false )
    setElementData ( source, "Carteira:StartCarro05", false )
    setElementData ( source, "Carteira:StartCarro06", false )
    setElementData ( source, "Carteira:StartCarro07", false )
    setElementData ( source, "Carteira:StartCarro08", false )
    setElementData ( source, "Carteira:StartCarro09", false )
    setElementData ( source, "Carteira:StartCarro10", false )
    setElementData ( source, "Carteira:StartCarro11", false )
    setElementData ( source, "Carteira:StartCarro12", false )
    setElementData ( source, "Carteira:StartCarro13", false )
    setElementData ( source, "Carteira:StartCarro14", false )
    setElementData ( source, "Carteira:StartCarro15", false )
    setElementVisibleTo ( MarkerCarro01, source, false )
    setElementVisibleTo ( BlipCarro01, source, false )
    setElementVisibleTo ( MarkerCarro02, source, false )
    setElementVisibleTo ( BlipCarro02, source, false )
    setElementVisibleTo ( MarkerCarro03, source, false )
    setElementVisibleTo ( BlipCarro03, source, false )
    setElementVisibleTo ( MarkerCarro04, source, false )
    setElementVisibleTo ( BlipCarro04, source, false )
    setElementVisibleTo ( MarkerCarro05, source, false )
    setElementVisibleTo ( BlipCarro05, source, false )
    setElementVisibleTo ( MarkerCarro06, source, false )
    setElementVisibleTo ( BlipCarro06, source, false )
    setElementVisibleTo ( MarkerCarro07, source, false )
    setElementVisibleTo ( BlipCarro07, source, false )
    setElementVisibleTo ( MarkerCarro08, source, false )
    setElementVisibleTo ( BlipCarro08, source, false )
    setElementVisibleTo ( MarkerCarro09, source, false )
    setElementVisibleTo ( BlipCarro09, source, false )
    setElementVisibleTo ( MarkerCarro10, source, false )
    setElementVisibleTo ( BlipCarro10, source, false )
    setElementVisibleTo ( MarkerCarro11, source, false )
    setElementVisibleTo ( BlipCarro11, source, false )
    setElementVisibleTo ( MarkerCarro12, source, false )
    setElementVisibleTo ( BlipCarro12, source, false )
    setElementVisibleTo ( MarkerCarro13, source, false )
    setElementVisibleTo ( BlipCarro13, source, false )
    setElementVisibleTo ( MarkerCarro14, source, false )
    setElementVisibleTo ( BlipCarro14, source, false )
    setElementVisibleTo ( MarkerCarro15, source, false )
    setElementVisibleTo ( BlipCarro15, source, false )
    setElementVisibleTo ( MarkerCarro16, source, false )
    setElementVisibleTo ( BlipCarro16, source, false )
    exports.Scripts_Dxmessages:outputDx(source, MsgCarro06, "error")
    setTimer ( setElementInterior, 400, 1, source, 3 )
    setTimer ( setElementDimension, 400, 1, source, 10 )
    setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
    setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
    fadeCamera ( source, false, 0.1, 0, 0, 0 )   
    setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
    setTimer ( setCameraTarget, 600, 1, source )
    end
    end
    addEventHandler ( "onVehicleExit", getRootElement(), SairDoVeiculoAutoEscolaCarro )

    function MorrerAutoEscolaCarro ()
    if ( AutoEscolaCarro[source] ) and isElement( AutoEscolaCarro[source] ) then
    setElementData ( source, "AirNew_TirandoCarta", "Não" )
    destroyElement ( AutoEscolaCarro[source] )
    setElementData ( source, "Carteira:StartCarro00", false )
    setElementData ( source, "Carteira:StartCarro01", false )
    setElementData ( source, "Carteira:StartCarro02", false )
    setElementData ( source, "Carteira:StartCarro03", false )
    setElementData ( source, "Carteira:StartCarro04", false )
    setElementData ( source, "Carteira:StartCarro05", false )
    setElementData ( source, "Carteira:StartCarro06", false )
    setElementData ( source, "Carteira:StartCarro07", false )
    setElementData ( source, "Carteira:StartCarro08", false )
    setElementData ( source, "Carteira:StartCarro09", false )
    setElementData ( source, "Carteira:StartCarro10", false )
    setElementData ( source, "Carteira:StartCarro11", false )
    setElementData ( source, "Carteira:StartCarro12", false )
    setElementData ( source, "Carteira:StartCarro13", false )
    setElementData ( source, "Carteira:StartCarro14", false )
    setElementData ( source, "Carteira:StartCarro15", false )
    setElementVisibleTo ( MarkerCarro01, source, false )
    setElementVisibleTo ( BlipCarro01, source, false )
    setElementVisibleTo ( MarkerCarro02, source, false )
    setElementVisibleTo ( BlipCarro02, source, false )
    setElementVisibleTo ( MarkerCarro03, source, false )
    setElementVisibleTo ( BlipCarro03, source, false )
    setElementVisibleTo ( MarkerCarro04, source, false )
    setElementVisibleTo ( BlipCarro04, source, false )
    setElementVisibleTo ( MarkerCarro05, source, false )
    setElementVisibleTo ( BlipCarro05, source, false )
    setElementVisibleTo ( MarkerCarro06, source, false )
    setElementVisibleTo ( BlipCarro06, source, false )
    setElementVisibleTo ( MarkerCarro07, source, false )
    setElementVisibleTo ( BlipCarro07, source, false )
    setElementVisibleTo ( MarkerCarro08, source, false )
    setElementVisibleTo ( BlipCarro08, source, false )
    setElementVisibleTo ( MarkerCarro09, source, false )
    setElementVisibleTo ( BlipCarro09, source, false )
    setElementVisibleTo ( MarkerCarro10, source, false )
    setElementVisibleTo ( BlipCarro10, source, false )
    setElementVisibleTo ( MarkerCarro11, source, false )
    setElementVisibleTo ( BlipCarro11, source, false )
    setElementVisibleTo ( MarkerCarro12, source, false )
    setElementVisibleTo ( BlipCarro12, source, false )
    setElementVisibleTo ( MarkerCarro13, source, false )
    setElementVisibleTo ( BlipCarro13, source, false )
    setElementVisibleTo ( MarkerCarro14, source, false )
    setElementVisibleTo ( BlipCarro14, source, false )
    setElementVisibleTo ( MarkerCarro15, source, false )
    setElementVisibleTo ( BlipCarro15, source, false )
    setElementVisibleTo ( MarkerCarro16, source, false )
    setElementVisibleTo ( BlipCarro16, source, false )
    exports.Scripts_Dxmessages:outputDx(source, MsgCarro07, "error")
    end
    end
    addEventHandler ( "onPlayerWasted", getRootElement(), MorrerAutoEscolaCarro )

    function SairDoServidorAutoEscolaCarro ( quitType )    
    if isElement( AutoEscolaCarro[source] ) then
    destroyElement ( AutoEscolaCarro[source] )
    end
    end
    addEventHandler ( "onPlayerQuit", getRootElement(), SairDoServidorAutoEscolaCarro )

    -- ( Final ) Percurso de Carro

    --------------------------------------------------------------------------------

    -- ( Começo ) Percurso de Caminhoes

    CaminhoesRX, CaminhoesRY, CaminhoesRZ       = -186.86996, -282.80127, 2 -- Coordenadas de Respawn do Caminhão
    CaminhoesRotA, CaminhoesRotB, CaminhoesRotC = 0, 0, 89.390258789062 -- Rotação do Veiculo ao Spawnar
    CaminhoesID                                 = 578 -- ID do Caminhão
    HabValorCaminhoes                           = 1200 -- Valor da Habilitação Categoria "Caminhoes"
    CaminhoesDanoParaReprovar                   = 950 -- 95%

    MsgCaminhoes01 = "Prova Iniciada, Siga-os Checkpoints Para Concluir o seu Objetivo!"
    MsgCaminhoes02 = "Você Não Tem Dinheiro Suficiente!"
    MsgCaminhoes03 = "Você Ja Possui Essa Habilitação!"
    MsgCaminhoes04 = "Você Reprovou no Teste, Evite Bater na Proxima Vez!"
    MsgCaminhoes05 = "Carteira de Habilitação Categoria 'Caminhões' Concedida!"
    MsgCaminhoes06 = "Você Saiu do Veiculo, Por Esse Motivo o Teste foi Cancelado!"
    MsgCaminhoes07 = "Você Morreu, Por Esse Motivo o Teste foi Cancelado!"

    CaminhoesX01, CaminhoesY01, CaminhoesZ01 = -363.84027, -259.21094, 18.09703
    CaminhoesX02, CaminhoesY02, CaminhoesZ02 = -622.80951, -239.56918, 63.33517
    CaminhoesX03, CaminhoesY03, CaminhoesZ03 = -834.09595, -244.60388, 39.88686
    CaminhoesX04, CaminhoesY04, CaminhoesZ04 = -922.18018, -161.59911, 51.42817
    CaminhoesX05, CaminhoesY05, CaminhoesZ05 = -729.85437, -81.97001, 68.00546
    CaminhoesX06, CaminhoesY06, CaminhoesZ06 = -704.71832, 14.58052, 63.10910
    CaminhoesX07, CaminhoesY07, CaminhoesZ07 = -883.24341, -35.44294, 33.93914
    CaminhoesX08, CaminhoesY08, CaminhoesZ08 = -701.52087, 117.37077, 17.28315
    CaminhoesX09, CaminhoesY09, CaminhoesZ09 = -612.81458, 272.79623, 2.11294
    CaminhoesX10, CaminhoesY10, CaminhoesZ10 = -454.35080, 279.44788, 2.12201
    CaminhoesX11, CaminhoesY11, CaminhoesZ11 = -282.21484, 256.32724, 5.90919
    CaminhoesX12, CaminhoesY12, CaminhoesZ12 = -52.85775, 186.78911, 2.11299
    CaminhoesX13, CaminhoesY13, CaminhoesZ13 = 148.15988, 70.31498, 2.10743
    CaminhoesX14, CaminhoesY14, CaminhoesZ14 = 230.43140, -11.07954, 1.54030
    CaminhoesX15, CaminhoesY15, CaminhoesZ15 = 280.68811, -74.20872, 1.46440
    CaminhoesX16, CaminhoesY16, CaminhoesZ16 = 319.41028, -53.83272, 1.60561

    MarkerCaminhoes01 = createMarker ( CaminhoesX01, CaminhoesY01, CaminhoesZ01 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCaminhoes01 = createBlipAttachedTo ( MarkerCaminhoes01, 0 )
    setElementVisibleTo ( MarkerCaminhoes01, root, false )
    setElementVisibleTo ( BlipCaminhoes01, root, false )

    MarkerCaminhoes02 = createMarker ( CaminhoesX02, CaminhoesY02, CaminhoesZ02 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCaminhoes02 = createBlipAttachedTo ( MarkerCaminhoes02, 0 )
    setElementVisibleTo ( MarkerCaminhoes02, root, false )
    setElementVisibleTo ( BlipCaminhoes02, root, false )

    MarkerCaminhoes03 = createMarker ( CaminhoesX03, CaminhoesY03, CaminhoesZ03 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCaminhoes03 = createBlipAttachedTo ( MarkerCaminhoes03, 0 )
    setElementVisibleTo ( MarkerCaminhoes03, root, false )
    setElementVisibleTo ( BlipCaminhoes03, root, false )

    MarkerCaminhoes04 = createMarker ( CaminhoesX04, CaminhoesY04, CaminhoesZ04 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCaminhoes04 = createBlipAttachedTo ( MarkerCaminhoes04, 0 )
    setElementVisibleTo ( MarkerCaminhoes04, root, false )
    setElementVisibleTo ( BlipCaminhoes04, root, false )

    MarkerCaminhoes05 = createMarker ( CaminhoesX05, CaminhoesY05, CaminhoesZ05 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCaminhoes05 = createBlipAttachedTo ( MarkerCaminhoes05, 0 )
    setElementVisibleTo ( MarkerCaminhoes05, root, false )
    setElementVisibleTo ( BlipCaminhoes05, root, false )

    MarkerCaminhoes06 = createMarker ( CaminhoesX06, CaminhoesY06, CaminhoesZ06 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCaminhoes06 = createBlipAttachedTo ( MarkerCaminhoes06, 0 )
    setElementVisibleTo ( MarkerCaminhoes06, root, false )
    setElementVisibleTo ( BlipCaminhoes06, root, false )

    MarkerCaminhoes07 = createMarker ( CaminhoesX07, CaminhoesY07, CaminhoesZ07 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCaminhoes07 = createBlipAttachedTo ( MarkerCaminhoes07, 0 )
    setElementVisibleTo ( MarkerCaminhoes07, root, false )
    setElementVisibleTo ( BlipCaminhoes07, root, false )

    MarkerCaminhoes08 = createMarker ( CaminhoesX08, CaminhoesY08, CaminhoesZ08 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCaminhoes08 = createBlipAttachedTo ( MarkerCaminhoes08, 0 )
    setElementVisibleTo ( MarkerCaminhoes08, root, false )
    setElementVisibleTo ( BlipCaminhoes08, root, false )

    MarkerCaminhoes09 = createMarker ( CaminhoesX09, CaminhoesY09, CaminhoesZ09 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCaminhoes09 = createBlipAttachedTo ( MarkerCaminhoes09, 0 )
    setElementVisibleTo ( MarkerCaminhoes09, root, false )
    setElementVisibleTo ( BlipCaminhoes09, root, false )

    MarkerCaminhoes10 = createMarker ( CaminhoesX10, CaminhoesY10, CaminhoesZ10 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCaminhoes10 = createBlipAttachedTo ( MarkerCaminhoes10, 0 )
    setElementVisibleTo ( MarkerCaminhoes10, root, false )
    setElementVisibleTo ( BlipCaminhoes10, root, false )

    MarkerCaminhoes11 = createMarker ( CaminhoesX11, CaminhoesY11, CaminhoesZ11 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCaminhoes11 = createBlipAttachedTo ( MarkerCaminhoes11, 0 )
    setElementVisibleTo ( MarkerCaminhoes11, root, false )
    setElementVisibleTo ( BlipCaminhoes11, root, false )

    MarkerCaminhoes12 = createMarker ( CaminhoesX12, CaminhoesY12, CaminhoesZ12 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCaminhoes12 = createBlipAttachedTo ( MarkerCaminhoes12, 0 )
    setElementVisibleTo ( MarkerCaminhoes12, root, false )
    setElementVisibleTo ( BlipCaminhoes12, root, false )

    MarkerCaminhoes13 = createMarker ( CaminhoesX13, CaminhoesY13, CaminhoesZ13 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCaminhoes13 = createBlipAttachedTo ( MarkerCaminhoes13, 0 )
    setElementVisibleTo ( MarkerCaminhoes13, root, false )
    setElementVisibleTo ( BlipCaminhoes13, root, false )

    MarkerCaminhoes14 = createMarker ( CaminhoesX14, CaminhoesY14, CaminhoesZ14 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCaminhoes14 = createBlipAttachedTo ( MarkerCaminhoes14, 0 )
    setElementVisibleTo ( MarkerCaminhoes14, root, false )
    setElementVisibleTo ( BlipCaminhoes14, root, false )

    MarkerCaminhoes15 = createMarker ( CaminhoesX15, CaminhoesY15, CaminhoesZ15 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCaminhoes15 = createBlipAttachedTo ( MarkerCaminhoes15, 0 )
    setElementVisibleTo ( MarkerCaminhoes15, root, false )
    setElementVisibleTo ( BlipCaminhoes15, root, false )

    MarkerCaminhoes16 = createMarker ( CaminhoesX16, CaminhoesY16, CaminhoesZ16 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCaminhoes16 = createBlipAttachedTo ( MarkerCaminhoes16, 0 )
    setElementVisibleTo ( MarkerCaminhoes16, root, false )
    setElementVisibleTo ( BlipCaminhoes16, root, false )

    AutoEscolaCaminhoes = {}

    function CaminhoesHab(entrar)
    if (getElementData ( source, "PontosNacarteira" ) or 0) > 0 then
    exports.Scripts_Dxmessages:outputDx(source, MsgMultas, "error") return end
    if not getElementData(source, "Habilitacoes:Caminhoes" ) == true then
    if getPlayerMoney(source) >= HabValorCaminhoes then
    takePlayerMoney(source, HabValorCaminhoes)
    if AutoEscolaCaminhoes[source] and isElement( AutoEscolaCaminhoes[source] ) then destroyElement ( AutoEscolaCaminhoes[source] )
    AutoEscolaCaminhoes[source] = nil
    end
    setElementInterior ( source, 0 )
    setElementDimension ( source, 0 )
    triggerClientEvent ( source, "AirNew:FecharAutoEscola", root )
    AutoEscolaCaminhoes[source] = createVehicle( CaminhoesID, CaminhoesRX, CaminhoesRY, CaminhoesRZ )
    setElementRotation ( AutoEscolaCaminhoes[source], CaminhoesRotA, CaminhoesRotB, CaminhoesRotC )
    setVehicleLocked ( AutoEscolaCaminhoes[source], true )
    warpPedIntoVehicle ( source, AutoEscolaCaminhoes[source] )
    setCameraTarget ( source )
    setElementData ( source, "Carteira:StartCaminhoes00", true )
    setElementData ( source, "AirNew_TirandoCarta", "Sim" )
    setElementVisibleTo ( MarkerCaminhoes01, source, true )
    setElementVisibleTo ( BlipCaminhoes01, source, true )
    exports.Scripts_Dxmessages:outputDx(source, MsgCaminhoes01, "info")
    else
    exports.Scripts_Dxmessages:outputDx(source, MsgCaminhoes02, "error")
    end
    else
    exports.Scripts_Dxmessages:outputDx(source, MsgCaminhoes03, "warning")
    end
    end
    addEvent("Hab:Caminhao", true)
    addEventHandler ( "Hab:Caminhao", root, CaminhoesHab)

    function emarkerCaminhoes(marker,md) 
        if (md) then
          if AutoEscolaCaminhoes[source] and isElement( AutoEscolaCaminhoes[source] ) then
            if marker == MarkerCaminhoes01 then
            if getElementData( source, "Carteira:StartCaminhoes00", true ) then
            setElementVisibleTo ( MarkerCaminhoes01, source, false )
            setElementVisibleTo ( BlipCaminhoes01, source, false )
            setElementVisibleTo ( MarkerCaminhoes02, source, true )
            setElementVisibleTo ( BlipCaminhoes02, source, true )
            setElementData ( source, "Carteira:StartCaminhoes01", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCaminhoes00", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCaminhoes02 then
            if getElementData( source, "Carteira:StartCaminhoes01", true ) then
            setElementVisibleTo ( MarkerCaminhoes02, source, false )
            setElementVisibleTo ( BlipCaminhoes02, source, false )
            setElementVisibleTo ( MarkerCaminhoes03, source, true )
            setElementVisibleTo ( BlipCaminhoes03, source, true )
            setElementData ( source, "Carteira:StartCaminhoes02", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCaminhoes01", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCaminhoes03 then
            if getElementData( source, "Carteira:StartCaminhoes02", true ) then
            setElementVisibleTo ( MarkerCaminhoes03, source, false )
            setElementVisibleTo ( BlipCaminhoes03, source, false )
            setElementVisibleTo ( MarkerCaminhoes04, source, true )
            setElementVisibleTo ( BlipCaminhoes04, source, true )
            setElementData ( source, "Carteira:StartCaminhoes03", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCaminhoes02", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCaminhoes04 then
            if getElementData( source, "Carteira:StartCaminhoes03", true ) then
            setElementVisibleTo ( MarkerCaminhoes04, source, false )
            setElementVisibleTo ( BlipCaminhoes04, source, false )
            setElementVisibleTo ( MarkerCaminhoes05, source, true )
            setElementVisibleTo ( BlipCaminhoes05, source, true )
            setElementData ( source, "Carteira:StartCaminhoes04", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCaminhoes03", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCaminhoes05 then
            if getElementData( source, "Carteira:StartCaminhoes04", true ) then
            setElementVisibleTo ( MarkerCaminhoes05, source, false )
            setElementVisibleTo ( BlipCaminhoes05, source, false )
            setElementVisibleTo ( MarkerCaminhoes06, source, true )
            setElementVisibleTo ( BlipCaminhoes06, source, true )
            setElementData ( source, "Carteira:StartCaminhoes05", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCaminhoes04", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCaminhoes06 then
            if getElementData( source, "Carteira:StartCaminhoes05", true ) then
            setElementVisibleTo ( MarkerCaminhoes06, source, false )
            setElementVisibleTo ( BlipCaminhoes06, source, false )
            setElementVisibleTo ( MarkerCaminhoes07, source, true )
            setElementVisibleTo ( BlipCaminhoes07, source, true )
            setElementData ( source, "Carteira:StartCaminhoes06", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCaminhoes05", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCaminhoes07 then
            if getElementData( source, "Carteira:StartCaminhoes06", true ) then
            setElementVisibleTo ( MarkerCaminhoes07, source, false )
            setElementVisibleTo ( BlipCaminhoes07, source, false )
            setElementVisibleTo ( MarkerCaminhoes08, source, true )
            setElementVisibleTo ( BlipCaminhoes08, source, true )
            setElementData ( source, "Carteira:StartCaminhoes07", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCaminhoes06", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCaminhoes08 then
            if getElementData( source, "Carteira:StartCaminhoes07", true ) then
            setElementVisibleTo ( MarkerCaminhoes08, source, false )
            setElementVisibleTo ( BlipCaminhoes08, source, false )
            setElementVisibleTo ( MarkerCaminhoes09, source, true )
            setElementVisibleTo ( BlipCaminhoes09, source, true )
            setElementData ( source, "Carteira:StartCaminhoes08", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCaminhoes07", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCaminhoes09 then
            if getElementData( source, "Carteira:StartCaminhoes08", true ) then
            setElementVisibleTo ( MarkerCaminhoes09, source, false )
            setElementVisibleTo ( BlipCaminhoes09, source, false )
            setElementVisibleTo ( MarkerCaminhoes10, source, true )
            setElementVisibleTo ( BlipCaminhoes10, source, true )
            setElementData ( source, "Carteira:StartCaminhoes09", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCaminhoes08", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCaminhoes10 then
            if getElementData( source, "Carteira:StartCaminhoes09", true ) then
            setElementVisibleTo ( MarkerCaminhoes10, source, false )
            setElementVisibleTo ( BlipCaminhoes10, source, false )
            setElementVisibleTo ( MarkerCaminhoes11, source, true )
            setElementVisibleTo ( BlipCaminhoes11, source, true )
            setElementData ( source, "Carteira:StartCaminhoes10", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCaminhoes09", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCaminhoes11 then
            if getElementData( source, "Carteira:StartCaminhoes10", true ) then
            setElementVisibleTo ( MarkerCaminhoes11, source, false )
            setElementVisibleTo ( BlipCaminhoes11, source, false )
            setElementVisibleTo ( MarkerCaminhoes12, source, true )
            setElementVisibleTo ( BlipCaminhoes12, source, true )
            setElementData ( source, "Carteira:StartCaminhoes11", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCaminhoes10", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCaminhoes12 then
            if getElementData( source, "Carteira:StartCaminhoes11", true ) then
            setElementVisibleTo ( MarkerCaminhoes12, source, false )
            setElementVisibleTo ( BlipCaminhoes12, source, false )
            setElementVisibleTo ( MarkerCaminhoes13, source, true )
            setElementVisibleTo ( BlipCaminhoes13, source, true )
            setElementData ( source, "Carteira:StartCaminhoes12", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCaminhoes11", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCaminhoes13 then
            if getElementData( source, "Carteira:StartCaminhoes12", true ) then
            setElementVisibleTo ( MarkerCaminhoes13, source, false )
            setElementVisibleTo ( BlipCaminhoes13, source, false )
            setElementVisibleTo ( MarkerCaminhoes14, source, true )
            setElementVisibleTo ( BlipCaminhoes14, source, true )
            setElementData ( source, "Carteira:StartCaminhoes13", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCaminhoes12", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCaminhoes14 then
            if getElementData( source, "Carteira:StartCaminhoes13", true ) then
            setElementVisibleTo ( MarkerCaminhoes14, source, false )
            setElementVisibleTo ( BlipCaminhoes14, source, false )
            setElementVisibleTo ( MarkerCaminhoes15, source, true )
            setElementVisibleTo ( BlipCaminhoes15, source, true )
            setElementData ( source, "Carteira:StartCaminhoes14", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCaminhoes13", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCaminhoes15 then
            if getElementData( source, "Carteira:StartCaminhoes14", true ) then
            setElementVisibleTo ( MarkerCaminhoes15, source, false )
            setElementVisibleTo ( BlipCaminhoes15, source, false )
            setElementVisibleTo ( MarkerCaminhoes16, source, true )
            setElementVisibleTo ( BlipCaminhoes16, source, true )
            setElementData ( source, "Carteira:StartCaminhoes15", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCaminhoes14", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCaminhoes16 then
            if getElementData( source, "Carteira:StartCaminhoes15", true ) then
            AutoEscolaCaminhoesVida = getElementHealth ( AutoEscolaCaminhoes[source] )
            if AutoEscolaCaminhoesVida <= CaminhoesDanoParaReprovar then
            exports.Scripts_Dxmessages:outputDx(source, MsgCaminhoes04, "error")
            else
            setElementData( source, "Habilitacoes:Caminhoes", true)
            exports.Scripts_Dxmessages:outputDx(source, MsgCaminhoes05, "success")
            end
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCaminhoes15", false )
            setElementVisibleTo ( MarkerCaminhoes16, source, false )
            setElementVisibleTo ( BlipCaminhoes16, source, false )
            setElementData ( source, "AirNew_TirandoCarta", "Não" )
            destroyElement ( AutoEscolaCaminhoes[source] )
            setTimer ( setElementInterior, 400, 1, source, 3 )
            setTimer ( setElementDimension, 400, 1, source, 10 )
            setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
            setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
            fadeCamera ( source, false, 0.1, 0, 0, 0 )   
            setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
            setTimer ( setCameraTarget, 600, 1, source )
            end
            end
          end 
        end    
    end
    addEventHandler("onPlayerMarkerHit",getRootElement(),emarkerCaminhoes)

    function SairDoVeiculoAutoEscolaCaminhoes (source)
    if ( AutoEscolaCaminhoes[source] ) and isElement( AutoEscolaCaminhoes[source] ) then
    setElementData ( source, "AirNew_TirandoCarta", "Não" )
    destroyElement ( AutoEscolaCaminhoes[source] )
    setElementData ( source, "Carteira:StartCaminhoes00", false )
    setElementData ( source, "Carteira:StartCaminhoes01", false )
    setElementData ( source, "Carteira:StartCaminhoes02", false )
    setElementData ( source, "Carteira:StartCaminhoes03", false )
    setElementData ( source, "Carteira:StartCaminhoes04", false )
    setElementData ( source, "Carteira:StartCaminhoes05", false )
    setElementData ( source, "Carteira:StartCaminhoes06", false )
    setElementData ( source, "Carteira:StartCaminhoes07", false )
    setElementData ( source, "Carteira:StartCaminhoes08", false )
    setElementData ( source, "Carteira:StartCaminhoes09", false )
    setElementData ( source, "Carteira:StartCaminhoes10", false )
    setElementData ( source, "Carteira:StartCaminhoes11", false )
    setElementData ( source, "Carteira:StartCaminhoes12", false )
    setElementData ( source, "Carteira:StartCaminhoes13", false )
    setElementData ( source, "Carteira:StartCaminhoes14", false )
    setElementData ( source, "Carteira:StartCaminhoes15", false )
    setElementVisibleTo ( MarkerCaminhoes01, source, false )
    setElementVisibleTo ( BlipCaminhoes01, source, false )
    setElementVisibleTo ( MarkerCaminhoes02, source, false )
    setElementVisibleTo ( BlipCaminhoes02, source, false )
    setElementVisibleTo ( MarkerCaminhoes03, source, false )
    setElementVisibleTo ( BlipCaminhoes03, source, false )
    setElementVisibleTo ( MarkerCaminhoes04, source, false )
    setElementVisibleTo ( BlipCaminhoes04, source, false )
    setElementVisibleTo ( MarkerCaminhoes05, source, false )
    setElementVisibleTo ( BlipCaminhoes05, source, false )
    setElementVisibleTo ( MarkerCaminhoes06, source, false )
    setElementVisibleTo ( BlipCaminhoes06, source, false )
    setElementVisibleTo ( MarkerCaminhoes07, source, false )
    setElementVisibleTo ( BlipCaminhoes07, source, false )
    setElementVisibleTo ( MarkerCaminhoes08, source, false )
    setElementVisibleTo ( BlipCaminhoes08, source, false )
    setElementVisibleTo ( MarkerCaminhoes09, source, false )
    setElementVisibleTo ( BlipCaminhoes09, source, false )
    setElementVisibleTo ( MarkerCaminhoes10, source, false )
    setElementVisibleTo ( BlipCaminhoes10, source, false )
    setElementVisibleTo ( MarkerCaminhoes11, source, false )
    setElementVisibleTo ( BlipCaminhoes11, source, false )
    setElementVisibleTo ( MarkerCaminhoes12, source, false )
    setElementVisibleTo ( BlipCaminhoes12, source, false )
    setElementVisibleTo ( MarkerCaminhoes13, source, false )
    setElementVisibleTo ( BlipCaminhoes13, source, false )
    setElementVisibleTo ( MarkerCaminhoes14, source, false )
    setElementVisibleTo ( BlipCaminhoes14, source, false )
    setElementVisibleTo ( MarkerCaminhoes15, source, false )
    setElementVisibleTo ( BlipCaminhoes15, source, false )
    setElementVisibleTo ( MarkerCaminhoes16, source, false )
    setElementVisibleTo ( BlipCaminhoes16, source, false )
    exports.Scripts_Dxmessages:outputDx(source, MsgCaminhoes06, "error")
    setTimer ( setElementInterior, 400, 1, source, 3 )
    setTimer ( setElementDimension, 400, 1, source, 10 )
    setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
    setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
    fadeCamera ( source, false, 0.1, 0, 0, 0 )   
    setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
    setTimer ( setCameraTarget, 600, 1, source )
    end
    end
    addEventHandler ( "onVehicleExit", getRootElement(), SairDoVeiculoAutoEscolaCaminhoes )

    function MorrerAutoEscolaCaminhoes ()
    if ( AutoEscolaCaminhoes[source] ) and isElement( AutoEscolaCaminhoes[source] ) then
    setElementData ( source, "AirNew_TirandoCarta", "Não" )
    destroyElement ( AutoEscolaCaminhoes[source] )
    setElementData ( source, "Carteira:StartCaminhoes00", false )
    setElementData ( source, "Carteira:StartCaminhoes01", false )
    setElementData ( source, "Carteira:StartCaminhoes02", false )
    setElementData ( source, "Carteira:StartCaminhoes03", false )
    setElementData ( source, "Carteira:StartCaminhoes04", false )
    setElementData ( source, "Carteira:StartCaminhoes05", false )
    setElementData ( source, "Carteira:StartCaminhoes06", false )
    setElementData ( source, "Carteira:StartCaminhoes07", false )
    setElementData ( source, "Carteira:StartCaminhoes08", false )
    setElementData ( source, "Carteira:StartCaminhoes09", false )
    setElementData ( source, "Carteira:StartCaminhoes10", false )
    setElementData ( source, "Carteira:StartCaminhoes11", false )
    setElementData ( source, "Carteira:StartCaminhoes12", false )
    setElementData ( source, "Carteira:StartCaminhoes13", false )
    setElementData ( source, "Carteira:StartCaminhoes14", false )
    setElementData ( source, "Carteira:StartCaminhoes15", false )
    setElementVisibleTo ( MarkerCaminhoes01, source, false )
    setElementVisibleTo ( BlipCaminhoes01, source, false )
    setElementVisibleTo ( MarkerCaminhoes02, source, false )
    setElementVisibleTo ( BlipCaminhoes02, source, false )
    setElementVisibleTo ( MarkerCaminhoes03, source, false )
    setElementVisibleTo ( BlipCaminhoes03, source, false )
    setElementVisibleTo ( MarkerCaminhoes04, source, false )
    setElementVisibleTo ( BlipCaminhoes04, source, false )
    setElementVisibleTo ( MarkerCaminhoes05, source, false )
    setElementVisibleTo ( BlipCaminhoes05, source, false )
    setElementVisibleTo ( MarkerCaminhoes06, source, false )
    setElementVisibleTo ( BlipCaminhoes06, source, false )
    setElementVisibleTo ( MarkerCaminhoes07, source, false )
    setElementVisibleTo ( BlipCaminhoes07, source, false )
    setElementVisibleTo ( MarkerCaminhoes08, source, false )
    setElementVisibleTo ( BlipCaminhoes08, source, false )
    setElementVisibleTo ( MarkerCaminhoes09, source, false )
    setElementVisibleTo ( BlipCaminhoes09, source, false )
    setElementVisibleTo ( MarkerCaminhoes10, source, false )
    setElementVisibleTo ( BlipCaminhoes10, source, false )
    setElementVisibleTo ( MarkerCaminhoes11, source, false )
    setElementVisibleTo ( BlipCaminhoes11, source, false )
    setElementVisibleTo ( MarkerCaminhoes12, source, false )
    setElementVisibleTo ( BlipCaminhoes12, source, false )
    setElementVisibleTo ( MarkerCaminhoes13, source, false )
    setElementVisibleTo ( BlipCaminhoes13, source, false )
    setElementVisibleTo ( MarkerCaminhoes14, source, false )
    setElementVisibleTo ( BlipCaminhoes14, source, false )
    setElementVisibleTo ( MarkerCaminhoes15, source, false )
    setElementVisibleTo ( BlipCaminhoes15, source, false )
    setElementVisibleTo ( MarkerCaminhoes16, source, false )
    setElementVisibleTo ( BlipCaminhoes16, source, false )
    exports.Scripts_Dxmessages:outputDx(source, MsgCaminhoes07, "error")
    end
    end
    addEventHandler ( "onPlayerWasted", getRootElement(), MorrerAutoEscolaCaminhoes )

    function SairDoServidorAutoEscolaCaminhoes ( quitType )    
    if isElement( AutoEscolaCaminhoes[source] ) then
    destroyElement ( AutoEscolaCaminhoes[source] )
    end
    end
    addEventHandler ( "onPlayerQuit", getRootElement(), SairDoServidorAutoEscolaCaminhoes )

    -- ( Final ) Percurso de Caminhoes

    --------------------------------------------------------------------------------

    -- ( Começo ) Percurso de Onibus

    OnibusRX, OnibusRY, OnibusRZ       = 2131.74976, 2728.53027, 10.82031 -- Coordenadas de Respawn do Onibus
    OnibusRotA, OnibusRotB, OnibusRotC = 0, 0, 0 -- Rotação do Veiculo ao Spawnar
    OnibusID                           = 437 -- ID do Onibus
    HabValorOnibus                     = 1400 -- Valor da Habilitação Categoria "Onibus"
    OnibusDanoParaReprovar             = 950 -- 95%

    MsgOnibus01 = "Prova Iniciada, Siga-os Checkpoints Para Concluir o seu Objetivo!"
    MsgOnibus02 = "Você Não Tem Dinheiro Suficiente!"
    MsgOnibus03 = "Você Ja Possui Essa Habilitação!"
    MsgOnibus04 = "Você Reprovou no Teste, Evite Bater na Proxima Vez!"
    MsgOnibus05 = "Carteira de Habilitação Categoria 'Ônibus' Concedida!"
    MsgOnibus06 = "Você Saiu do Veiculo, Por Esse Motivo o Teste foi Cancelado!"
    MsgOnibus07 = "Você Morreu, Por Esse Motivo o Teste foi Cancelado!"

    OnibusX01, OnibusY01, OnibusZ01 = 2127.71118, 2755.46826, 10.85947
    OnibusX02, OnibusY02, OnibusZ02 = 2091.51147, 2774.08960, 10.70245
    OnibusX03, OnibusY03, OnibusZ03 = 2085.05054, 2660.39233, 10.70181
    OnibusX04, OnibusY04, OnibusZ04 = 2025.16162, 2602.87573, 11.88449
    OnibusX05, OnibusY05, OnibusZ05 = 2025.23767, 2518.30054, 12.31421
    OnibusX06, OnibusY06, OnibusZ06 = 2025.44836, 2420.84473, 10.72500
    OnibusX07, OnibusY07, OnibusZ07 = 2043.32520, 2334.30859, 10.71358
    OnibusX08, OnibusY08, OnibusZ08 = 2121.86963, 2249.28174, 10.70663
    OnibusX09, OnibusY09, OnibusZ09 = 2125.64185, 2072.61621, 10.70400
    OnibusX10, OnibusY10, OnibusZ10 = 2125.50269, 1963.75562, 10.71333
    OnibusX11, OnibusY11, OnibusZ11 = 2119.42822, 1850.72949, 10.70842
    OnibusX12, OnibusY12, OnibusZ12 = 2059.43579, 1730.45862, 10.69846
    OnibusX13, OnibusY13, OnibusZ13 = 2045.76147, 1581.07239, 10.70090
    OnibusX14, OnibusY14, OnibusZ14 = 2104.10229, 1531.17041, 10.70718
    OnibusX15, OnibusY15, OnibusZ15 = 2215.26343, 1530.97510, 10.72500
    OnibusX16, OnibusY16, OnibusZ16 = 2307.06714, 1516.97119, 10.84756

    MarkerOnibus01 = createMarker ( OnibusX01, OnibusY01, OnibusZ01 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipOnibus01 = createBlipAttachedTo ( MarkerOnibus01, 0 )
    setElementVisibleTo ( MarkerOnibus01, root, false )
    setElementVisibleTo ( BlipOnibus01, root, false )

    MarkerOnibus02 = createMarker ( OnibusX02, OnibusY02, OnibusZ02 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipOnibus02 = createBlipAttachedTo ( MarkerOnibus02, 0 )
    setElementVisibleTo ( MarkerOnibus02, root, false )
    setElementVisibleTo ( BlipOnibus02, root, false )

    MarkerOnibus03 = createMarker ( OnibusX03, OnibusY03, OnibusZ03 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipOnibus03 = createBlipAttachedTo ( MarkerOnibus03, 0 )
    setElementVisibleTo ( MarkerOnibus03, root, false )
    setElementVisibleTo ( BlipOnibus03, root, false )

    MarkerOnibus04 = createMarker ( OnibusX04, OnibusY04, OnibusZ04 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipOnibus04 = createBlipAttachedTo ( MarkerOnibus04, 0 )
    setElementVisibleTo ( MarkerOnibus04, root, false )
    setElementVisibleTo ( BlipOnibus04, root, false )

    MarkerOnibus05 = createMarker ( OnibusX05, OnibusY05, OnibusZ05 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipOnibus05 = createBlipAttachedTo ( MarkerOnibus05, 0 )
    setElementVisibleTo ( MarkerOnibus05, root, false )
    setElementVisibleTo ( BlipOnibus05, root, false )

    MarkerOnibus06 = createMarker ( OnibusX06, OnibusY06, OnibusZ06 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipOnibus06 = createBlipAttachedTo ( MarkerOnibus06, 0 )
    setElementVisibleTo ( MarkerOnibus06, root, false )
    setElementVisibleTo ( BlipOnibus06, root, false )

    MarkerOnibus07 = createMarker ( OnibusX07, OnibusY07, OnibusZ07 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipOnibus07 = createBlipAttachedTo ( MarkerOnibus07, 0 )
    setElementVisibleTo ( MarkerOnibus07, root, false )
    setElementVisibleTo ( BlipOnibus07, root, false )

    MarkerOnibus08 = createMarker ( OnibusX08, OnibusY08, OnibusZ08 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipOnibus08 = createBlipAttachedTo ( MarkerOnibus08, 0 )
    setElementVisibleTo ( MarkerOnibus08, root, false )
    setElementVisibleTo ( BlipOnibus08, root, false )

    MarkerOnibus09 = createMarker ( OnibusX09, OnibusY09, OnibusZ09 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipOnibus09 = createBlipAttachedTo ( MarkerOnibus09, 0 )
    setElementVisibleTo ( MarkerOnibus09, root, false )
    setElementVisibleTo ( BlipOnibus09, root, false )

    MarkerOnibus10 = createMarker ( OnibusX10, OnibusY10, OnibusZ10 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipOnibus10 = createBlipAttachedTo ( MarkerOnibus10, 0 )
    setElementVisibleTo ( MarkerOnibus10, root, false )
    setElementVisibleTo ( BlipOnibus10, root, false )

    MarkerOnibus11 = createMarker ( OnibusX11, OnibusY11, OnibusZ11 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipOnibus11 = createBlipAttachedTo ( MarkerOnibus11, 0 )
    setElementVisibleTo ( MarkerOnibus11, root, false )
    setElementVisibleTo ( BlipOnibus11, root, false )

    MarkerOnibus12 = createMarker ( OnibusX12, OnibusY12, OnibusZ12 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipOnibus12 = createBlipAttachedTo ( MarkerOnibus12, 0 )
    setElementVisibleTo ( MarkerOnibus12, root, false )
    setElementVisibleTo ( BlipOnibus12, root, false )

    MarkerOnibus13 = createMarker ( OnibusX13, OnibusY13, OnibusZ13 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipOnibus13 = createBlipAttachedTo ( MarkerOnibus13, 0 )
    setElementVisibleTo ( MarkerOnibus13, root, false )
    setElementVisibleTo ( BlipOnibus13, root, false )

    MarkerOnibus14 = createMarker ( OnibusX14, OnibusY14, OnibusZ14 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipOnibus14 = createBlipAttachedTo ( MarkerOnibus14, 0 )
    setElementVisibleTo ( MarkerOnibus14, root, false )
    setElementVisibleTo ( BlipOnibus14, root, false )

    MarkerOnibus15 = createMarker ( OnibusX15, OnibusY15, OnibusZ15 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipOnibus15 = createBlipAttachedTo ( MarkerOnibus15, 0 )
    setElementVisibleTo ( MarkerOnibus15, root, false )
    setElementVisibleTo ( BlipOnibus15, root, false )

    MarkerOnibus16 = createMarker ( OnibusX16, OnibusY16, OnibusZ16 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipOnibus16 = createBlipAttachedTo ( MarkerOnibus16, 0 )
    setElementVisibleTo ( MarkerOnibus16, root, false )
    setElementVisibleTo ( BlipOnibus16, root, false )

    AutoEscolaOnibus = {}

    function OnibusHab(entrar)
    if (getElementData ( source, "PontosNacarteira" ) or 0) > 0 then
    exports.Scripts_Dxmessages:outputDx(source, MsgMultas, "error") return end
    if not getElementData(source, "Habilitacoes:Onibus" ) == true then
    if getPlayerMoney(source) >= HabValorOnibus then
    takePlayerMoney(source, HabValorOnibus)
    if AutoEscolaOnibus[source] and isElement( AutoEscolaOnibus[source] ) then destroyElement ( AutoEscolaOnibus[source] )
    AutoEscolaOnibus[source] = nil
    end
    setElementInterior ( source, 0 )
    setElementDimension ( source, 0 )
    triggerClientEvent ( source, "AirNew:FecharAutoEscola", root )
    AutoEscolaOnibus[source] = createVehicle( OnibusID, OnibusRX, OnibusRY, OnibusRZ )
    setElementRotation ( AutoEscolaOnibus[source], OnibusRotA, OnibusRotB, OnibusRotC )
    setVehicleLocked ( AutoEscolaOnibus[source], true )
    warpPedIntoVehicle ( source, AutoEscolaOnibus[source] )
    setCameraTarget ( source )
    setElementData ( source, "Carteira:StartOnibus00", true )
    setElementData ( source, "AirNew_TirandoCarta", "Sim" )
    setElementVisibleTo ( MarkerOnibus01, source, true )
    setElementVisibleTo ( BlipOnibus01, source, true )
    exports.Scripts_Dxmessages:outputDx(source, MsgOnibus01, "info")
    else
    exports.Scripts_Dxmessages:outputDx(source, MsgOnibus02, "error")
    end
    else
    exports.Scripts_Dxmessages:outputDx(source, MsgOnibus03, "warning")
    end
    end
    addEvent("Hab:Onibus", true)
    addEventHandler ( "Hab:Onibus", root, OnibusHab)

    function emarkerOnibus(marker,md) 
        if (md) then
          if AutoEscolaOnibus[source] and isElement( AutoEscolaOnibus[source] ) then
            if marker == MarkerOnibus01 then
            if getElementData( source, "Carteira:StartOnibus00", true ) then
            setElementVisibleTo ( MarkerOnibus01, source, false )
            setElementVisibleTo ( BlipOnibus01, source, false )
            setElementVisibleTo ( MarkerOnibus02, source, true )
            setElementVisibleTo ( BlipOnibus02, source, true )
            setElementData ( source, "Carteira:StartOnibus01", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartOnibus00", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerOnibus02 then
            if getElementData( source, "Carteira:StartOnibus01", true ) then
            setElementVisibleTo ( MarkerOnibus02, source, false )
            setElementVisibleTo ( BlipOnibus02, source, false )
            setElementVisibleTo ( MarkerOnibus03, source, true )
            setElementVisibleTo ( BlipOnibus03, source, true )
            setElementData ( source, "Carteira:StartOnibus02", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartOnibus01", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerOnibus03 then
            if getElementData( source, "Carteira:StartOnibus02", true ) then
            setElementVisibleTo ( MarkerOnibus03, source, false )
            setElementVisibleTo ( BlipOnibus03, source, false )
            setElementVisibleTo ( MarkerOnibus04, source, true )
            setElementVisibleTo ( BlipOnibus04, source, true )
            setElementData ( source, "Carteira:StartOnibus03", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartOnibus02", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerOnibus04 then
            if getElementData( source, "Carteira:StartOnibus03", true ) then
            setElementVisibleTo ( MarkerOnibus04, source, false )
            setElementVisibleTo ( BlipOnibus04, source, false )
            setElementVisibleTo ( MarkerOnibus05, source, true )
            setElementVisibleTo ( BlipOnibus05, source, true )
            setElementData ( source, "Carteira:StartOnibus04", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartOnibus03", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerOnibus05 then
            if getElementData( source, "Carteira:StartOnibus04", true ) then
            setElementVisibleTo ( MarkerOnibus05, source, false )
            setElementVisibleTo ( BlipOnibus05, source, false )
            setElementVisibleTo ( MarkerOnibus06, source, true )
            setElementVisibleTo ( BlipOnibus06, source, true )
            setElementData ( source, "Carteira:StartOnibus05", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartOnibus04", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerOnibus06 then
            if getElementData( source, "Carteira:StartOnibus05", true ) then
            setElementVisibleTo ( MarkerOnibus06, source, false )
            setElementVisibleTo ( BlipOnibus06, source, false )
            setElementVisibleTo ( MarkerOnibus07, source, true )
            setElementVisibleTo ( BlipOnibus07, source, true )
            setElementData ( source, "Carteira:StartOnibus06", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartOnibus05", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerOnibus07 then
            if getElementData( source, "Carteira:StartOnibus06", true ) then
            setElementVisibleTo ( MarkerOnibus07, source, false )
            setElementVisibleTo ( BlipOnibus07, source, false )
            setElementVisibleTo ( MarkerOnibus08, source, true )
            setElementVisibleTo ( BlipOnibus08, source, true )
            setElementData ( source, "Carteira:StartOnibus07", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartOnibus06", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerOnibus08 then
            if getElementData( source, "Carteira:StartOnibus07", true ) then
            setElementVisibleTo ( MarkerOnibus08, source, false )
            setElementVisibleTo ( BlipOnibus08, source, false )
            setElementVisibleTo ( MarkerOnibus09, source, true )
            setElementVisibleTo ( BlipOnibus09, source, true )
            setElementData ( source, "Carteira:StartOnibus08", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartOnibus07", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerOnibus09 then
            if getElementData( source, "Carteira:StartOnibus08", true ) then
            setElementVisibleTo ( MarkerOnibus09, source, false )
            setElementVisibleTo ( BlipOnibus09, source, false )
            setElementVisibleTo ( MarkerOnibus10, source, true )
            setElementVisibleTo ( BlipOnibus10, source, true )
            setElementData ( source, "Carteira:StartOnibus09", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartOnibus08", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerOnibus10 then
            if getElementData( source, "Carteira:StartOnibus09", true ) then
            setElementVisibleTo ( MarkerOnibus10, source, false )
            setElementVisibleTo ( BlipOnibus10, source, false )
            setElementVisibleTo ( MarkerOnibus11, source, true )
            setElementVisibleTo ( BlipOnibus11, source, true )
            setElementData ( source, "Carteira:StartOnibus10", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartOnibus09", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerOnibus11 then
            if getElementData( source, "Carteira:StartOnibus10", true ) then
            setElementVisibleTo ( MarkerOnibus11, source, false )
            setElementVisibleTo ( BlipOnibus11, source, false )
            setElementVisibleTo ( MarkerOnibus12, source, true )
            setElementVisibleTo ( BlipOnibus12, source, true )
            setElementData ( source, "Carteira:StartOnibus11", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartOnibus10", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerOnibus12 then
            if getElementData( source, "Carteira:StartOnibus11", true ) then
            setElementVisibleTo ( MarkerOnibus12, source, false )
            setElementVisibleTo ( BlipOnibus12, source, false )
            setElementVisibleTo ( MarkerOnibus13, source, true )
            setElementVisibleTo ( BlipOnibus13, source, true )
            setElementData ( source, "Carteira:StartOnibus12", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartOnibus11", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerOnibus13 then
            if getElementData( source, "Carteira:StartOnibus12", true ) then
            setElementVisibleTo ( MarkerOnibus13, source, false )
            setElementVisibleTo ( BlipOnibus13, source, false )
            setElementVisibleTo ( MarkerOnibus14, source, true )
            setElementVisibleTo ( BlipOnibus14, source, true )
            setElementData ( source, "Carteira:StartOnibus13", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartOnibus12", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerOnibus14 then
            if getElementData( source, "Carteira:StartOnibus13", true ) then
            setElementVisibleTo ( MarkerOnibus14, source, false )
            setElementVisibleTo ( BlipOnibus14, source, false )
            setElementVisibleTo ( MarkerOnibus15, source, true )
            setElementVisibleTo ( BlipOnibus15, source, true )
            setElementData ( source, "Carteira:StartOnibus14", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartOnibus13", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerOnibus15 then
            if getElementData( source, "Carteira:StartOnibus14", true ) then
            setElementVisibleTo ( MarkerOnibus15, source, false )
            setElementVisibleTo ( BlipOnibus15, source, false )
            setElementVisibleTo ( MarkerOnibus16, source, true )
            setElementVisibleTo ( BlipOnibus16, source, true )
            setElementData ( source, "Carteira:StartOnibus15", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartOnibus14", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerOnibus16 then
            if getElementData( source, "Carteira:StartOnibus15", true ) then
            AutoEscolaOnibusVida = getElementHealth ( AutoEscolaOnibus[source] )
            if AutoEscolaOnibusVida <= OnibusDanoParaReprovar then
            exports.Scripts_Dxmessages:outputDx(source, MsgOnibus04, "error")
            else
            setElementData( source, "Habilitacoes:Onibus", true)
            exports.Scripts_Dxmessages:outputDx(source, MsgOnibus05, "success")
            end
            setTimer ( setElementData, 50, 1, source, "Carteira:StartOnibus15", false )
            setElementVisibleTo ( MarkerOnibus16, source, false )
            setElementVisibleTo ( BlipOnibus16, source, false )
            setElementData ( source, "AirNew_TirandoCarta", "Não" )
            destroyElement ( AutoEscolaOnibus[source] )
            setTimer ( setElementInterior, 400, 1, source, 3 )
            setTimer ( setElementDimension, 400, 1, source, 10 )
            setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
            setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
            fadeCamera ( source, false, 0.1, 0, 0, 0 )   
            setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
            setTimer ( setCameraTarget, 600, 1, source )
            end
            end
          end 
        end    
    end
    addEventHandler("onPlayerMarkerHit",getRootElement(),emarkerOnibus)

    function SairDoVeiculoAutoEscolaOnibus (source)
    if ( AutoEscolaOnibus[source] ) and isElement( AutoEscolaOnibus[source] ) then
    setElementData ( source, "AirNew_TirandoCarta", "Não" )
    destroyElement ( AutoEscolaOnibus[source] )
    setElementData ( source, "Carteira:StartOnibus00", false )
    setElementData ( source, "Carteira:StartOnibus01", false )
    setElementData ( source, "Carteira:StartOnibus02", false )
    setElementData ( source, "Carteira:StartOnibus03", false )
    setElementData ( source, "Carteira:StartOnibus04", false )
    setElementData ( source, "Carteira:StartOnibus05", false )
    setElementData ( source, "Carteira:StartOnibus06", false )
    setElementData ( source, "Carteira:StartOnibus07", false )
    setElementData ( source, "Carteira:StartOnibus08", false )
    setElementData ( source, "Carteira:StartOnibus09", false )
    setElementData ( source, "Carteira:StartOnibus10", false )
    setElementData ( source, "Carteira:StartOnibus11", false )
    setElementData ( source, "Carteira:StartOnibus12", false )
    setElementData ( source, "Carteira:StartOnibus13", false )
    setElementData ( source, "Carteira:StartOnibus14", false )
    setElementData ( source, "Carteira:StartOnibus15", false )
    setElementVisibleTo ( MarkerOnibus01, source, false )
    setElementVisibleTo ( BlipOnibus01, source, false )
    setElementVisibleTo ( MarkerOnibus02, source, false )
    setElementVisibleTo ( BlipOnibus02, source, false )
    setElementVisibleTo ( MarkerOnibus03, source, false )
    setElementVisibleTo ( BlipOnibus03, source, false )
    setElementVisibleTo ( MarkerOnibus04, source, false )
    setElementVisibleTo ( BlipOnibus04, source, false )
    setElementVisibleTo ( MarkerOnibus05, source, false )
    setElementVisibleTo ( BlipOnibus05, source, false )
    setElementVisibleTo ( MarkerOnibus06, source, false )
    setElementVisibleTo ( BlipOnibus06, source, false )
    setElementVisibleTo ( MarkerOnibus07, source, false )
    setElementVisibleTo ( BlipOnibus07, source, false )
    setElementVisibleTo ( MarkerOnibus08, source, false )
    setElementVisibleTo ( BlipOnibus08, source, false )
    setElementVisibleTo ( MarkerOnibus09, source, false )
    setElementVisibleTo ( BlipOnibus09, source, false )
    setElementVisibleTo ( MarkerOnibus10, source, false )
    setElementVisibleTo ( BlipOnibus10, source, false )
    setElementVisibleTo ( MarkerOnibus11, source, false )
    setElementVisibleTo ( BlipOnibus11, source, false )
    setElementVisibleTo ( MarkerOnibus12, source, false )
    setElementVisibleTo ( BlipOnibus12, source, false )
    setElementVisibleTo ( MarkerOnibus13, source, false )
    setElementVisibleTo ( BlipOnibus13, source, false )
    setElementVisibleTo ( MarkerOnibus14, source, false )
    setElementVisibleTo ( BlipOnibus14, source, false )
    setElementVisibleTo ( MarkerOnibus15, source, false )
    setElementVisibleTo ( BlipOnibus15, source, false )
    setElementVisibleTo ( MarkerOnibus16, source, false )
    setElementVisibleTo ( BlipOnibus16, source, false )
    exports.Scripts_Dxmessages:outputDx(source, MsgOnibus06, "error")
    setTimer ( setElementInterior, 400, 1, source, 3 )
    setTimer ( setElementDimension, 400, 1, source, 10 )
    setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
    setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
    fadeCamera ( source, false, 0.1, 0, 0, 0 )   
    setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
    setTimer ( setCameraTarget, 600, 1, source )
    end
    end
    addEventHandler ( "onVehicleExit", getRootElement(), SairDoVeiculoAutoEscolaOnibus )

    function MorrerAutoEscolaOnibus ()
    if ( AutoEscolaOnibus[source] ) and isElement( AutoEscolaOnibus[source] ) then
    setElementData ( source, "AirNew_TirandoCarta", "Não" )
    destroyElement ( AutoEscolaOnibus[source] )
    setElementData ( source, "Carteira:StartOnibus00", false )
    setElementData ( source, "Carteira:StartOnibus01", false )
    setElementData ( source, "Carteira:StartOnibus02", false )
    setElementData ( source, "Carteira:StartOnibus03", false )
    setElementData ( source, "Carteira:StartOnibus04", false )
    setElementData ( source, "Carteira:StartOnibus05", false )
    setElementData ( source, "Carteira:StartOnibus06", false )
    setElementData ( source, "Carteira:StartOnibus07", false )
    setElementData ( source, "Carteira:StartOnibus08", false )
    setElementData ( source, "Carteira:StartOnibus09", false )
    setElementData ( source, "Carteira:StartOnibus10", false )
    setElementData ( source, "Carteira:StartOnibus11", false )
    setElementData ( source, "Carteira:StartOnibus12", false )
    setElementData ( source, "Carteira:StartOnibus13", false )
    setElementData ( source, "Carteira:StartOnibus14", false )
    setElementData ( source, "Carteira:StartOnibus15", false )
    setElementVisibleTo ( MarkerOnibus01, source, false )
    setElementVisibleTo ( BlipOnibus01, source, false )
    setElementVisibleTo ( MarkerOnibus02, source, false )
    setElementVisibleTo ( BlipOnibus02, source, false )
    setElementVisibleTo ( MarkerOnibus03, source, false )
    setElementVisibleTo ( BlipOnibus03, source, false )
    setElementVisibleTo ( MarkerOnibus04, source, false )
    setElementVisibleTo ( BlipOnibus04, source, false )
    setElementVisibleTo ( MarkerOnibus05, source, false )
    setElementVisibleTo ( BlipOnibus05, source, false )
    setElementVisibleTo ( MarkerOnibus06, source, false )
    setElementVisibleTo ( BlipOnibus06, source, false )
    setElementVisibleTo ( MarkerOnibus07, source, false )
    setElementVisibleTo ( BlipOnibus07, source, false )
    setElementVisibleTo ( MarkerOnibus08, source, false )
    setElementVisibleTo ( BlipOnibus08, source, false )
    setElementVisibleTo ( MarkerOnibus09, source, false )
    setElementVisibleTo ( BlipOnibus09, source, false )
    setElementVisibleTo ( MarkerOnibus10, source, false )
    setElementVisibleTo ( BlipOnibus10, source, false )
    setElementVisibleTo ( MarkerOnibus11, source, false )
    setElementVisibleTo ( BlipOnibus11, source, false )
    setElementVisibleTo ( MarkerOnibus12, source, false )
    setElementVisibleTo ( BlipOnibus12, source, false )
    setElementVisibleTo ( MarkerOnibus13, source, false )
    setElementVisibleTo ( BlipOnibus13, source, false )
    setElementVisibleTo ( MarkerOnibus14, source, false )
    setElementVisibleTo ( BlipOnibus14, source, false )
    setElementVisibleTo ( MarkerOnibus15, source, false )
    setElementVisibleTo ( BlipOnibus15, source, false )
    setElementVisibleTo ( MarkerOnibus16, source, false )
    setElementVisibleTo ( BlipOnibus16, source, false )
    exports.Scripts_Dxmessages:outputDx(source, MsgOnibus07, "error")
    end
    end
    addEventHandler ( "onPlayerWasted", getRootElement(), MorrerAutoEscolaOnibus )

    function SairDoServidorAutoEscolaOnibus ( quitType )    
    if isElement( AutoEscolaOnibus[source] ) then
    destroyElement ( AutoEscolaOnibus[source] )
    end
    end
    addEventHandler ( "onPlayerQuit", getRootElement(), SairDoServidorAutoEscolaOnibus )

    -- ( Final ) Percurso de Onibus

    --------------------------------------------------------------------------------

    -- ( Começo ) Percurso de Carretas

    CarretasRX, CarretasRY, CarretasRZ       = -1291.52820, 2710.38794, 51 -- Coordenadas de Respawn do Carreta
    CarretasRotA, CarretasRotB, CarretasRotC = 0, 0, 182.73559570312 -- Rotação do Veiculo ao Spawnar
    CarretasID                               = 403 -- ID do Carreta
    HabValorCarretas                         = 1600 -- Valor da Habilitação Categoria "Carretas"
    CarretasDanoParaReprovar                 = 950 -- 95%

    MsgCarretas01 = "Prova Iniciada, Siga-os Checkpoints Para Concluir o seu Objetivo!"
    MsgCarretas02 = "Você Não Tem Dinheiro Suficiente!"
    MsgCarretas03 = "Você Ja Possui Essa Habilitação!"
    MsgCarretas04 = "Você Reprovou no Teste, Evite Bater na Proxima Vez!"
    MsgCarretas05 = "Carteira de Habilitação Categoria 'Carretas' Concedida!"
    MsgCarretas06 = "Você Saiu do Veiculo, Por Esse Motivo o Teste foi Cancelado!"
    MsgCarretas07 = "Você Morreu, Por Esse Motivo o Teste foi Cancelado!"

    CarretasX01, CarretasY01, CarretasZ01 = -1292.75232, 2661.98853, 49.58909
    CarretasX02, CarretasY02, CarretasZ02 = -1371.68579, 2678.74536, 52.65607
    CarretasX03, CarretasY03, CarretasZ03 = -1480.98108, 2733.20776, 65.90062
    CarretasX04, CarretasY04, CarretasZ04 = -1643.80920, 2726.40698, 58.57969
    CarretasX05, CarretasY05, CarretasZ05 = -1747.70764, 2729.60181, 59.95318
    CarretasX06, CarretasY06, CarretasZ06 = -1849.49866, 2617.99048, 50.53489
    CarretasX07, CarretasY07, CarretasZ07 = -1910.04419, 2512.77075, 44.94999
    CarretasX08, CarretasY08, CarretasZ08 = -2002.78674, 2440.17944, 35.19661
    CarretasX09, CarretasY09, CarretasZ09 = -1986.44226, 2352.16357, 28.50075
    CarretasX10, CarretasY10, CarretasZ10 = -1960.02039, 2224.11255, 11.43757
    CarretasX11, CarretasY11, CarretasZ11 = -1860.70874, 2192.22119, 5.79754
    CarretasX12, CarretasY12, CarretasZ12 = -1821.54529, 2123.84326, 8.04688
    CarretasX13, CarretasY13, CarretasZ13 = -1801.09155, 1990.08398, 13.05490
    CarretasX14, CarretasY14, CarretasZ14 = -1736.97876, 1820.46912, 23.67095
    CarretasX15, CarretasY15, CarretasZ15 = -1574.65247, 1835.91235, 26.51335
    CarretasX16, CarretasY16, CarretasZ16 = -1486.08936, 1877.73352, 32.66355

    MarkerCarretas01 = createMarker ( CarretasX01, CarretasY01, CarretasZ01 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarretas01 = createBlipAttachedTo ( MarkerCarretas01, 0 )
    setElementVisibleTo ( MarkerCarretas01, root, false )
    setElementVisibleTo ( BlipCarretas01, root, false )

    MarkerCarretas02 = createMarker ( CarretasX02, CarretasY02, CarretasZ02 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarretas02 = createBlipAttachedTo ( MarkerCarretas02, 0 )
    setElementVisibleTo ( MarkerCarretas02, root, false )
    setElementVisibleTo ( BlipCarretas02, root, false )

    MarkerCarretas03 = createMarker ( CarretasX03, CarretasY03, CarretasZ03 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarretas03 = createBlipAttachedTo ( MarkerCarretas03, 0 )
    setElementVisibleTo ( MarkerCarretas03, root, false )
    setElementVisibleTo ( BlipCarretas03, root, false )

    MarkerCarretas04 = createMarker ( CarretasX04, CarretasY04, CarretasZ04 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarretas04 = createBlipAttachedTo ( MarkerCarretas04, 0 )
    setElementVisibleTo ( MarkerCarretas04, root, false )
    setElementVisibleTo ( BlipCarretas04, root, false )

    MarkerCarretas05 = createMarker ( CarretasX05, CarretasY05, CarretasZ05 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarretas05 = createBlipAttachedTo ( MarkerCarretas05, 0 )
    setElementVisibleTo ( MarkerCarretas05, root, false )
    setElementVisibleTo ( BlipCarretas05, root, false )

    MarkerCarretas06 = createMarker ( CarretasX06, CarretasY06, CarretasZ06 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarretas06 = createBlipAttachedTo ( MarkerCarretas06, 0 )
    setElementVisibleTo ( MarkerCarretas06, root, false )
    setElementVisibleTo ( BlipCarretas06, root, false )

    MarkerCarretas07 = createMarker ( CarretasX07, CarretasY07, CarretasZ07 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarretas07 = createBlipAttachedTo ( MarkerCarretas07, 0 )
    setElementVisibleTo ( MarkerCarretas07, root, false )
    setElementVisibleTo ( BlipCarretas07, root, false )

    MarkerCarretas08 = createMarker ( CarretasX08, CarretasY08, CarretasZ08 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarretas08 = createBlipAttachedTo ( MarkerCarretas08, 0 )
    setElementVisibleTo ( MarkerCarretas08, root, false )
    setElementVisibleTo ( BlipCarretas08, root, false )

    MarkerCarretas09 = createMarker ( CarretasX09, CarretasY09, CarretasZ09 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarretas09 = createBlipAttachedTo ( MarkerCarretas09, 0 )
    setElementVisibleTo ( MarkerCarretas09, root, false )
    setElementVisibleTo ( BlipCarretas09, root, false )

    MarkerCarretas10 = createMarker ( CarretasX10, CarretasY10, CarretasZ10 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarretas10 = createBlipAttachedTo ( MarkerCarretas10, 0 )
    setElementVisibleTo ( MarkerCarretas10, root, false )
    setElementVisibleTo ( BlipCarretas10, root, false )

    MarkerCarretas11 = createMarker ( CarretasX11, CarretasY11, CarretasZ11 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarretas11 = createBlipAttachedTo ( MarkerCarretas11, 0 )
    setElementVisibleTo ( MarkerCarretas11, root, false )
    setElementVisibleTo ( BlipCarretas11, root, false )

    MarkerCarretas12 = createMarker ( CarretasX12, CarretasY12, CarretasZ12 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarretas12 = createBlipAttachedTo ( MarkerCarretas12, 0 )
    setElementVisibleTo ( MarkerCarretas12, root, false )
    setElementVisibleTo ( BlipCarretas12, root, false )

    MarkerCarretas13 = createMarker ( CarretasX13, CarretasY13, CarretasZ13 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarretas13 = createBlipAttachedTo ( MarkerCarretas13, 0 )
    setElementVisibleTo ( MarkerCarretas13, root, false )
    setElementVisibleTo ( BlipCarretas13, root, false )

    MarkerCarretas14 = createMarker ( CarretasX14, CarretasY14, CarretasZ14 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarretas14 = createBlipAttachedTo ( MarkerCarretas14, 0 )
    setElementVisibleTo ( MarkerCarretas14, root, false )
    setElementVisibleTo ( BlipCarretas14, root, false )

    MarkerCarretas15 = createMarker ( CarretasX15, CarretasY15, CarretasZ15 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarretas15 = createBlipAttachedTo ( MarkerCarretas15, 0 )
    setElementVisibleTo ( MarkerCarretas15, root, false )
    setElementVisibleTo ( BlipCarretas15, root, false )

    MarkerCarretas16 = createMarker ( CarretasX16, CarretasY16, CarretasZ16 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarretas16 = createBlipAttachedTo ( MarkerCarretas16, 0 )
    setElementVisibleTo ( MarkerCarretas16, root, false )
    setElementVisibleTo ( BlipCarretas16, root, false )

    AutoEscolaCarretas = {}

    function CarretasHab(entrar)
    if (getElementData ( source, "PontosNacarteira" ) or 0) > 0 then
    exports.Scripts_Dxmessages:outputDx(source, MsgMultas, "error") return end
    if not getElementData(source, "Habilitacoes:Carretas" ) == true then
    if getPlayerMoney(source) >= HabValorCarretas then
    takePlayerMoney(source, HabValorCarretas)
    if AutoEscolaCarretas[source] and isElement( AutoEscolaCarretas[source] ) then destroyElement ( AutoEscolaCarretas[source] )
    AutoEscolaCarretas[source] = nil
    end
    setElementInterior ( source, 0 )
    setElementDimension ( source, 0 )
    triggerClientEvent ( source, "AirNew:FecharAutoEscola", root )
    AutoEscolaCarretas[source] = createVehicle( CarretasID, CarretasRX, CarretasRY, CarretasRZ )
    setElementRotation ( AutoEscolaCarretas[source], CarretasRotA, CarretasRotB, CarretasRotC )
    setVehicleLocked ( AutoEscolaCarretas[source], true )
    warpPedIntoVehicle ( source, AutoEscolaCarretas[source] )
    setCameraTarget ( source )
    setElementData ( source, "Carteira:StartCarretas00", true )
    setElementData ( source, "AirNew_TirandoCarta", "Sim" )
    setElementVisibleTo ( MarkerCarretas01, source, true )
    setElementVisibleTo ( BlipCarretas01, source, true )
    exports.Scripts_Dxmessages:outputDx(source, MsgCarretas01, "info")
    else
    exports.Scripts_Dxmessages:outputDx(source, MsgCarretas02, "error")
    end
    else
    exports.Scripts_Dxmessages:outputDx(source, MsgCarretas03, "warning")
    end
    end
    addEvent("Hab:Carreta", true)
    addEventHandler ( "Hab:Carreta", root, CarretasHab)

    function emarkerCarretas(marker,md) 
        if (md) then
          if AutoEscolaCarretas[source] and isElement( AutoEscolaCarretas[source] ) then
            if marker == MarkerCarretas01 then
            if getElementData( source, "Carteira:StartCarretas00", true ) then
            setElementVisibleTo ( MarkerCarretas01, source, false )
            setElementVisibleTo ( BlipCarretas01, source, false )
            setElementVisibleTo ( MarkerCarretas02, source, true )
            setElementVisibleTo ( BlipCarretas02, source, true )
            setElementData ( source, "Carteira:StartCarretas01", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarretas00", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarretas02 then
            if getElementData( source, "Carteira:StartCarretas01", true ) then
            setElementVisibleTo ( MarkerCarretas02, source, false )
            setElementVisibleTo ( BlipCarretas02, source, false )
            setElementVisibleTo ( MarkerCarretas03, source, true )
            setElementVisibleTo ( BlipCarretas03, source, true )
            setElementData ( source, "Carteira:StartCarretas02", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarretas01", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarretas03 then
            if getElementData( source, "Carteira:StartCarretas02", true ) then
            setElementVisibleTo ( MarkerCarretas03, source, false )
            setElementVisibleTo ( BlipCarretas03, source, false )
            setElementVisibleTo ( MarkerCarretas04, source, true )
            setElementVisibleTo ( BlipCarretas04, source, true )
            setElementData ( source, "Carteira:StartCarretas03", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarretas02", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarretas04 then
            if getElementData( source, "Carteira:StartCarretas03", true ) then
            setElementVisibleTo ( MarkerCarretas04, source, false )
            setElementVisibleTo ( BlipCarretas04, source, false )
            setElementVisibleTo ( MarkerCarretas05, source, true )
            setElementVisibleTo ( BlipCarretas05, source, true )
            setElementData ( source, "Carteira:StartCarretas04", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarretas03", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarretas05 then
            if getElementData( source, "Carteira:StartCarretas04", true ) then
            setElementVisibleTo ( MarkerCarretas05, source, false )
            setElementVisibleTo ( BlipCarretas05, source, false )
            setElementVisibleTo ( MarkerCarretas06, source, true )
            setElementVisibleTo ( BlipCarretas06, source, true )
            setElementData ( source, "Carteira:StartCarretas05", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarretas04", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarretas06 then
            if getElementData( source, "Carteira:StartCarretas05", true ) then
            setElementVisibleTo ( MarkerCarretas06, source, false )
            setElementVisibleTo ( BlipCarretas06, source, false )
            setElementVisibleTo ( MarkerCarretas07, source, true )
            setElementVisibleTo ( BlipCarretas07, source, true )
            setElementData ( source, "Carteira:StartCarretas06", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarretas05", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarretas07 then
            if getElementData( source, "Carteira:StartCarretas06", true ) then
            setElementVisibleTo ( MarkerCarretas07, source, false )
            setElementVisibleTo ( BlipCarretas07, source, false )
            setElementVisibleTo ( MarkerCarretas08, source, true )
            setElementVisibleTo ( BlipCarretas08, source, true )
            setElementData ( source, "Carteira:StartCarretas07", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarretas06", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarretas08 then
            if getElementData( source, "Carteira:StartCarretas07", true ) then
            setElementVisibleTo ( MarkerCarretas08, source, false )
            setElementVisibleTo ( BlipCarretas08, source, false )
            setElementVisibleTo ( MarkerCarretas09, source, true )
            setElementVisibleTo ( BlipCarretas09, source, true )
            setElementData ( source, "Carteira:StartCarretas08", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarretas07", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarretas09 then
            if getElementData( source, "Carteira:StartCarretas08", true ) then
            setElementVisibleTo ( MarkerCarretas09, source, false )
            setElementVisibleTo ( BlipCarretas09, source, false )
            setElementVisibleTo ( MarkerCarretas10, source, true )
            setElementVisibleTo ( BlipCarretas10, source, true )
            setElementData ( source, "Carteira:StartCarretas09", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarretas08", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarretas10 then
            if getElementData( source, "Carteira:StartCarretas09", true ) then
            setElementVisibleTo ( MarkerCarretas10, source, false )
            setElementVisibleTo ( BlipCarretas10, source, false )
            setElementVisibleTo ( MarkerCarretas11, source, true )
            setElementVisibleTo ( BlipCarretas11, source, true )
            setElementData ( source, "Carteira:StartCarretas10", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarretas09", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarretas11 then
            if getElementData( source, "Carteira:StartCarretas10", true ) then
            setElementVisibleTo ( MarkerCarretas11, source, false )
            setElementVisibleTo ( BlipCarretas11, source, false )
            setElementVisibleTo ( MarkerCarretas12, source, true )
            setElementVisibleTo ( BlipCarretas12, source, true )
            setElementData ( source, "Carteira:StartCarretas11", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarretas10", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarretas12 then
            if getElementData( source, "Carteira:StartCarretas11", true ) then
            setElementVisibleTo ( MarkerCarretas12, source, false )
            setElementVisibleTo ( BlipCarretas12, source, false )
            setElementVisibleTo ( MarkerCarretas13, source, true )
            setElementVisibleTo ( BlipCarretas13, source, true )
            setElementData ( source, "Carteira:StartCarretas12", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarretas11", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarretas13 then
            if getElementData( source, "Carteira:StartCarretas12", true ) then
            setElementVisibleTo ( MarkerCarretas13, source, false )
            setElementVisibleTo ( BlipCarretas13, source, false )
            setElementVisibleTo ( MarkerCarretas14, source, true )
            setElementVisibleTo ( BlipCarretas14, source, true )
            setElementData ( source, "Carteira:StartCarretas13", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarretas12", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarretas14 then
            if getElementData( source, "Carteira:StartCarretas13", true ) then
            setElementVisibleTo ( MarkerCarretas14, source, false )
            setElementVisibleTo ( BlipCarretas14, source, false )
            setElementVisibleTo ( MarkerCarretas15, source, true )
            setElementVisibleTo ( BlipCarretas15, source, true )
            setElementData ( source, "Carteira:StartCarretas14", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarretas13", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarretas15 then
            if getElementData( source, "Carteira:StartCarretas14", true ) then
            setElementVisibleTo ( MarkerCarretas15, source, false )
            setElementVisibleTo ( BlipCarretas15, source, false )
            setElementVisibleTo ( MarkerCarretas16, source, true )
            setElementVisibleTo ( BlipCarretas16, source, true )
            setElementData ( source, "Carteira:StartCarretas15", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarretas14", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarretas16 then
            if getElementData( source, "Carteira:StartCarretas15", true ) then
            AutoEscolaCarretasVida = getElementHealth ( AutoEscolaCarretas[source] )
            if AutoEscolaCarretasVida <= CarretasDanoParaReprovar then
            exports.Scripts_Dxmessages:outputDx(source, MsgCarretas04, "error")
            else
            setElementData( source, "Habilitacoes:Carretas", true)
            exports.Scripts_Dxmessages:outputDx(source, MsgCarretas05, "success")
            end
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarretas15", false )
            setElementVisibleTo ( MarkerCarretas16, source, false )
            setElementVisibleTo ( BlipCarretas16, source, false )
            setElementData ( source, "AirNew_TirandoCarta", "Não" )
            destroyElement ( AutoEscolaCarretas[source] )
            setTimer ( setElementInterior, 400, 1, source, 3 )
            setTimer ( setElementDimension, 400, 1, source, 10 )
            setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
            setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
            fadeCamera ( source, false, 0.1, 0, 0, 0 )   
            setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
            setTimer ( setCameraTarget, 600, 1, source )
            end
            end
          end 
        end    
    end
    addEventHandler("onPlayerMarkerHit",getRootElement(),emarkerCarretas)

    function SairDoVeiculoAutoEscolaCarretas (source)
    if ( AutoEscolaCarretas[source] ) and isElement( AutoEscolaCarretas[source] ) then
    setElementData ( source, "AirNew_TirandoCarta", "Não" )
    destroyElement ( AutoEscolaCarretas[source] )
    setElementData ( source, "Carteira:StartCarretas00", false )
    setElementData ( source, "Carteira:StartCarretas01", false )
    setElementData ( source, "Carteira:StartCarretas02", false )
    setElementData ( source, "Carteira:StartCarretas03", false )
    setElementData ( source, "Carteira:StartCarretas04", false )
    setElementData ( source, "Carteira:StartCarretas05", false )
    setElementData ( source, "Carteira:StartCarretas06", false )
    setElementData ( source, "Carteira:StartCarretas07", false )
    setElementData ( source, "Carteira:StartCarretas08", false )
    setElementData ( source, "Carteira:StartCarretas09", false )
    setElementData ( source, "Carteira:StartCarretas10", false )
    setElementData ( source, "Carteira:StartCarretas11", false )
    setElementData ( source, "Carteira:StartCarretas12", false )
    setElementData ( source, "Carteira:StartCarretas13", false )
    setElementData ( source, "Carteira:StartCarretas14", false )
    setElementData ( source, "Carteira:StartCarretas15", false )
    setElementVisibleTo ( MarkerCarretas01, source, false )
    setElementVisibleTo ( BlipCarretas01, source, false )
    setElementVisibleTo ( MarkerCarretas02, source, false )
    setElementVisibleTo ( BlipCarretas02, source, false )
    setElementVisibleTo ( MarkerCarretas03, source, false )
    setElementVisibleTo ( BlipCarretas03, source, false )
    setElementVisibleTo ( MarkerCarretas04, source, false )
    setElementVisibleTo ( BlipCarretas04, source, false )
    setElementVisibleTo ( MarkerCarretas05, source, false )
    setElementVisibleTo ( BlipCarretas05, source, false )
    setElementVisibleTo ( MarkerCarretas06, source, false )
    setElementVisibleTo ( BlipCarretas06, source, false )
    setElementVisibleTo ( MarkerCarretas07, source, false )
    setElementVisibleTo ( BlipCarretas07, source, false )
    setElementVisibleTo ( MarkerCarretas08, source, false )
    setElementVisibleTo ( BlipCarretas08, source, false )
    setElementVisibleTo ( MarkerCarretas09, source, false )
    setElementVisibleTo ( BlipCarretas09, source, false )
    setElementVisibleTo ( MarkerCarretas10, source, false )
    setElementVisibleTo ( BlipCarretas10, source, false )
    setElementVisibleTo ( MarkerCarretas11, source, false )
    setElementVisibleTo ( BlipCarretas11, source, false )
    setElementVisibleTo ( MarkerCarretas12, source, false )
    setElementVisibleTo ( BlipCarretas12, source, false )
    setElementVisibleTo ( MarkerCarretas13, source, false )
    setElementVisibleTo ( BlipCarretas13, source, false )
    setElementVisibleTo ( MarkerCarretas14, source, false )
    setElementVisibleTo ( BlipCarretas14, source, false )
    setElementVisibleTo ( MarkerCarretas15, source, false )
    setElementVisibleTo ( BlipCarretas15, source, false )
    setElementVisibleTo ( MarkerCarretas16, source, false )
    setElementVisibleTo ( BlipCarretas16, source, false )
    exports.Scripts_Dxmessages:outputDx(source, MsgCarretas06, "error")
    setTimer ( setElementInterior, 400, 1, source, 3 )
    setTimer ( setElementDimension, 400, 1, source, 10 )
    setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
    setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
    fadeCamera ( source, false, 0.1, 0, 0, 0 )   
    setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
    setTimer ( setCameraTarget, 600, 1, source )
    end
    end
    addEventHandler ( "onVehicleExit", getRootElement(), SairDoVeiculoAutoEscolaCarretas )

    function MorrerAutoEscolaCarretas ()
    if ( AutoEscolaCarretas[source] ) and isElement( AutoEscolaCarretas[source] ) then
    setElementData ( source, "AirNew_TirandoCarta", "Não" )
    destroyElement ( AutoEscolaCarretas[source] )
    setElementData ( source, "Carteira:StartCarretas00", false )
    setElementData ( source, "Carteira:StartCarretas01", false )
    setElementData ( source, "Carteira:StartCarretas02", false )
    setElementData ( source, "Carteira:StartCarretas03", false )
    setElementData ( source, "Carteira:StartCarretas04", false )
    setElementData ( source, "Carteira:StartCarretas05", false )
    setElementData ( source, "Carteira:StartCarretas06", false )
    setElementData ( source, "Carteira:StartCarretas07", false )
    setElementData ( source, "Carteira:StartCarretas08", false )
    setElementData ( source, "Carteira:StartCarretas09", false )
    setElementData ( source, "Carteira:StartCarretas10", false )
    setElementData ( source, "Carteira:StartCarretas11", false )
    setElementData ( source, "Carteira:StartCarretas12", false )
    setElementData ( source, "Carteira:StartCarretas13", false )
    setElementData ( source, "Carteira:StartCarretas14", false )
    setElementData ( source, "Carteira:StartCarretas15", false )
    setElementVisibleTo ( MarkerCarretas01, source, false )
    setElementVisibleTo ( BlipCarretas01, source, false )
    setElementVisibleTo ( MarkerCarretas02, source, false )
    setElementVisibleTo ( BlipCarretas02, source, false )
    setElementVisibleTo ( MarkerCarretas03, source, false )
    setElementVisibleTo ( BlipCarretas03, source, false )
    setElementVisibleTo ( MarkerCarretas04, source, false )
    setElementVisibleTo ( BlipCarretas04, source, false )
    setElementVisibleTo ( MarkerCarretas05, source, false )
    setElementVisibleTo ( BlipCarretas05, source, false )
    setElementVisibleTo ( MarkerCarretas06, source, false )
    setElementVisibleTo ( BlipCarretas06, source, false )
    setElementVisibleTo ( MarkerCarretas07, source, false )
    setElementVisibleTo ( BlipCarretas07, source, false )
    setElementVisibleTo ( MarkerCarretas08, source, false )
    setElementVisibleTo ( BlipCarretas08, source, false )
    setElementVisibleTo ( MarkerCarretas09, source, false )
    setElementVisibleTo ( BlipCarretas09, source, false )
    setElementVisibleTo ( MarkerCarretas10, source, false )
    setElementVisibleTo ( BlipCarretas10, source, false )
    setElementVisibleTo ( MarkerCarretas11, source, false )
    setElementVisibleTo ( BlipCarretas11, source, false )
    setElementVisibleTo ( MarkerCarretas12, source, false )
    setElementVisibleTo ( BlipCarretas12, source, false )
    setElementVisibleTo ( MarkerCarretas13, source, false )
    setElementVisibleTo ( BlipCarretas13, source, false )
    setElementVisibleTo ( MarkerCarretas14, source, false )
    setElementVisibleTo ( BlipCarretas14, source, false )
    setElementVisibleTo ( MarkerCarretas15, source, false )
    setElementVisibleTo ( BlipCarretas15, source, false )
    setElementVisibleTo ( MarkerCarretas16, source, false )
    setElementVisibleTo ( BlipCarretas16, source, false )
    exports.Scripts_Dxmessages:outputDx(source, MsgCarretas07, "error")
    end
    end
    addEventHandler ( "onPlayerWasted", getRootElement(), MorrerAutoEscolaCarretas )

    function SairDoServidorAutoEscolaCarretas ( quitType )    
    if isElement( AutoEscolaCarretas[source] ) then
    destroyElement ( AutoEscolaCarretas[source] )
    end
    end
    addEventHandler ( "onPlayerQuit", getRootElement(), SairDoServidorAutoEscolaCarretas )

    --------------------------------------------------------------------------------

    -- ( Começo ) Percurso de Barcos

    BarcosRX, BarcosRY, BarcosRZ           = 2094.08521, -102.32258, 0.51715 -- Coordenadas de Respawn do Barco
    BarcosRotA, BarcosRotB, BarcosRotC     = 0, 0, 125.45202636719 -- Rotação do Veiculo ao Spawnar
    BarcosID                               = 446 -- ID do Barco
    HabValorBarcos                         = 3000 -- Valor da Habilitação Categoria "Barcos"
    BarcosDanoParaReprovar                 = 950 -- 95%

    MsgBarcos01 = "Prova Iniciada, Siga-os Checkpoints Para Concluir o seu Objetivo!"
    MsgBarcos02 = "Você Não Tem Dinheiro Suficiente!"
    MsgBarcos03 = "Você Ja Possui Essa Habilitação!"
    MsgBarcos04 = "Você Reprovou no Teste, Evite Bater na Proxima Vez!"
    MsgBarcos05 = "Carteira de Habilitação Categoria 'Barcos' Concedida!"
    MsgBarcos06 = "Você Saiu do Veiculo, Por Esse Motivo o Teste foi Cancelado!"
    MsgBarcos07 = "Você Morreu, Por Esse Motivo o Teste foi Cancelado!"

    BarcosX01, BarcosY01, BarcosZ01 = 1969.37048, -76.51154, 0.61060
    BarcosX02, BarcosY02, BarcosZ02 = 1778.74304, -25.28976, 1.06329
    BarcosX03, BarcosY03, BarcosZ03 = 1604.60706, -42.24431, 0.20777
    BarcosX04, BarcosY04, BarcosZ04 = 1564.81091, -188.31783, 1.03013
    BarcosX05, BarcosY05, BarcosZ05 = 1351.16663, -255.22849, 0.64836
    BarcosX06, BarcosY06, BarcosZ06 = 1224.50562, -147.91315, 0.70902
    BarcosX07, BarcosY07, BarcosZ07 = 1078.58972, -103.00694, 0.49749
    BarcosX08, BarcosY08, BarcosZ08 = 872.80511, -122.47253, 0.59834
    BarcosX09, BarcosY09, BarcosZ09 = 752.33319, -192.47580, 0.66709
    BarcosX10, BarcosY10, BarcosZ10 = 565.60455, -235.80785, 0.71552
    BarcosX11, BarcosY11, BarcosZ11 = 389.19714, -285.92471, 0.58013
    BarcosX12, BarcosY12, BarcosZ12 = 271.44901, -375.78848, 0.61753
    BarcosX13, BarcosY13, BarcosZ13 = 109.00140, -434.07193, 0.24948
    BarcosX14, BarcosY14, BarcosZ14 = -87.17338, -609.55768, -0.14524
    BarcosX15, BarcosY15, BarcosZ15 = -217.76225, -535.85645, 0.12518
    BarcosX16, BarcosY16, BarcosZ16 = -331.42117, -468.58258, 0.62195

    MarkerBarcos01 = createMarker ( BarcosX01, BarcosY01, BarcosZ01 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipBarcos01 = createBlipAttachedTo ( MarkerBarcos01, 0 )
    setElementVisibleTo ( MarkerBarcos01, root, false )
    setElementVisibleTo ( BlipBarcos01, root, false )

    MarkerBarcos02 = createMarker ( BarcosX02, BarcosY02, BarcosZ02 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipBarcos02 = createBlipAttachedTo ( MarkerBarcos02, 0 )
    setElementVisibleTo ( MarkerBarcos02, root, false )
    setElementVisibleTo ( BlipBarcos02, root, false )

    MarkerBarcos03 = createMarker ( BarcosX03, BarcosY03, BarcosZ03 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipBarcos03 = createBlipAttachedTo ( MarkerBarcos03, 0 )
    setElementVisibleTo ( MarkerBarcos03, root, false )
    setElementVisibleTo ( BlipBarcos03, root, false )

    MarkerBarcos04 = createMarker ( BarcosX04, BarcosY04, BarcosZ04 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipBarcos04 = createBlipAttachedTo ( MarkerBarcos04, 0 )
    setElementVisibleTo ( MarkerBarcos04, root, false )
    setElementVisibleTo ( BlipBarcos04, root, false )

    MarkerBarcos05 = createMarker ( BarcosX05, BarcosY05, BarcosZ05 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipBarcos05 = createBlipAttachedTo ( MarkerBarcos05, 0 )
    setElementVisibleTo ( MarkerBarcos05, root, false )
    setElementVisibleTo ( BlipBarcos05, root, false )

    MarkerBarcos06 = createMarker ( BarcosX06, BarcosY06, BarcosZ06 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipBarcos06 = createBlipAttachedTo ( MarkerBarcos06, 0 )
    setElementVisibleTo ( MarkerBarcos06, root, false )
    setElementVisibleTo ( BlipBarcos06, root, false )

    MarkerBarcos07 = createMarker ( BarcosX07, BarcosY07, BarcosZ07 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipBarcos07 = createBlipAttachedTo ( MarkerBarcos07, 0 )
    setElementVisibleTo ( MarkerBarcos07, root, false )
    setElementVisibleTo ( BlipBarcos07, root, false )

    MarkerBarcos08 = createMarker ( BarcosX08, BarcosY08, BarcosZ08 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipBarcos08 = createBlipAttachedTo ( MarkerBarcos08, 0 )
    setElementVisibleTo ( MarkerBarcos08, root, false )
    setElementVisibleTo ( BlipBarcos08, root, false )

    MarkerBarcos09 = createMarker ( BarcosX09, BarcosY09, BarcosZ09 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipBarcos09 = createBlipAttachedTo ( MarkerBarcos09, 0 )
    setElementVisibleTo ( MarkerBarcos09, root, false )
    setElementVisibleTo ( BlipBarcos09, root, false )

    MarkerBarcos10 = createMarker ( BarcosX10, BarcosY10, BarcosZ10 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipBarcos10 = createBlipAttachedTo ( MarkerBarcos10, 0 )
    setElementVisibleTo ( MarkerBarcos10, root, false )
    setElementVisibleTo ( BlipBarcos10, root, false )

    MarkerBarcos11 = createMarker ( BarcosX11, BarcosY11, BarcosZ11 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipBarcos11 = createBlipAttachedTo ( MarkerBarcos11, 0 )
    setElementVisibleTo ( MarkerBarcos11, root, false )
    setElementVisibleTo ( BlipBarcos11, root, false )

    MarkerBarcos12 = createMarker ( BarcosX12, BarcosY12, BarcosZ12 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipBarcos12 = createBlipAttachedTo ( MarkerBarcos12, 0 )
    setElementVisibleTo ( MarkerBarcos12, root, false )
    setElementVisibleTo ( BlipBarcos12, root, false )

    MarkerBarcos13 = createMarker ( BarcosX13, BarcosY13, BarcosZ13 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipBarcos13 = createBlipAttachedTo ( MarkerBarcos13, 0 )
    setElementVisibleTo ( MarkerBarcos13, root, false )
    setElementVisibleTo ( BlipBarcos13, root, false )

    MarkerBarcos14 = createMarker ( BarcosX14, BarcosY14, BarcosZ14 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipBarcos14 = createBlipAttachedTo ( MarkerBarcos14, 0 )
    setElementVisibleTo ( MarkerBarcos14, root, false )
    setElementVisibleTo ( BlipBarcos14, root, false )

    MarkerBarcos15 = createMarker ( BarcosX15, BarcosY15, BarcosZ15 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipBarcos15 = createBlipAttachedTo ( MarkerBarcos15, 0 )
    setElementVisibleTo ( MarkerBarcos15, root, false )
    setElementVisibleTo ( BlipBarcos15, root, false )

    MarkerBarcos16 = createMarker ( BarcosX16, BarcosY16, BarcosZ16 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipBarcos16 = createBlipAttachedTo ( MarkerBarcos16, 0 )
    setElementVisibleTo ( MarkerBarcos16, root, false )
    setElementVisibleTo ( BlipBarcos16, root, false )

    AutoEscolaBarcos = {}

    function BarcosHab(entrar)
    if (getElementData ( source, "PontosNacarteira" ) or 0) > 0 then
    exports.Scripts_Dxmessages:outputDx(source, MsgMultas, "error") return end
    if not getElementData(source, "Habilitacoes:Barcos" ) == true then
    if getPlayerMoney(source) >= HabValorBarcos then
    takePlayerMoney(source, HabValorBarcos)
    if AutoEscolaBarcos[source] and isElement( AutoEscolaBarcos[source] ) then destroyElement ( AutoEscolaBarcos[source] )
    AutoEscolaBarcos[source] = nil
    end
    setElementInterior ( source, 0 )
    setElementDimension ( source, 0 )
    triggerClientEvent ( source, "AirNew:FecharAutoEscola", root )
    AutoEscolaBarcos[source] = createVehicle( BarcosID, BarcosRX, BarcosRY, BarcosRZ )
    setElementRotation ( AutoEscolaBarcos[source], BarcosRotA, BarcosRotB, BarcosRotC )
    setVehicleLocked ( AutoEscolaBarcos[source], true )
    warpPedIntoVehicle ( source, AutoEscolaBarcos[source] )
    setCameraTarget ( source )
    setElementData ( source, "Carteira:StartBarcos00", true )
    setElementData ( source, "AirNew_TirandoCarta", "Sim" )
    setElementVisibleTo ( MarkerBarcos01, source, true )
    setElementVisibleTo ( BlipBarcos01, source, true )
    exports.Scripts_Dxmessages:outputDx(source, MsgBarcos01, "info")
    else
    exports.Scripts_Dxmessages:outputDx(source, MsgBarcos02, "error")
    end
    else
    exports.Scripts_Dxmessages:outputDx(source, MsgBarcos03, "warning")
    end
    end
    addEvent("Hab:Barco", true)
    addEventHandler ( "Hab:Barco", root, BarcosHab)

    function emarkerBarcos(marker,md) 
        if (md) then
          if AutoEscolaBarcos[source] and isElement( AutoEscolaBarcos[source] ) then
            if marker == MarkerBarcos01 then
            if getElementData( source, "Carteira:StartBarcos00", true ) then
            setElementVisibleTo ( MarkerBarcos01, source, false )
            setElementVisibleTo ( BlipBarcos01, source, false )
            setElementVisibleTo ( MarkerBarcos02, source, true )
            setElementVisibleTo ( BlipBarcos02, source, true )
            setElementData ( source, "Carteira:StartBarcos01", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartBarcos00", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerBarcos02 then
            if getElementData( source, "Carteira:StartBarcos01", true ) then
            setElementVisibleTo ( MarkerBarcos02, source, false )
            setElementVisibleTo ( BlipBarcos02, source, false )
            setElementVisibleTo ( MarkerBarcos03, source, true )
            setElementVisibleTo ( BlipBarcos03, source, true )
            setElementData ( source, "Carteira:StartBarcos02", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartBarcos01", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerBarcos03 then
            if getElementData( source, "Carteira:StartBarcos02", true ) then
            setElementVisibleTo ( MarkerBarcos03, source, false )
            setElementVisibleTo ( BlipBarcos03, source, false )
            setElementVisibleTo ( MarkerBarcos04, source, true )
            setElementVisibleTo ( BlipBarcos04, source, true )
            setElementData ( source, "Carteira:StartBarcos03", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartBarcos02", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerBarcos04 then
            if getElementData( source, "Carteira:StartBarcos03", true ) then
            setElementVisibleTo ( MarkerBarcos04, source, false )
            setElementVisibleTo ( BlipBarcos04, source, false )
            setElementVisibleTo ( MarkerBarcos05, source, true )
            setElementVisibleTo ( BlipBarcos05, source, true )
            setElementData ( source, "Carteira:StartBarcos04", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartBarcos03", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerBarcos05 then
            if getElementData( source, "Carteira:StartBarcos04", true ) then
            setElementVisibleTo ( MarkerBarcos05, source, false )
            setElementVisibleTo ( BlipBarcos05, source, false )
            setElementVisibleTo ( MarkerBarcos06, source, true )
            setElementVisibleTo ( BlipBarcos06, source, true )
            setElementData ( source, "Carteira:StartBarcos05", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartBarcos04", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerBarcos06 then
            if getElementData( source, "Carteira:StartBarcos05", true ) then
            setElementVisibleTo ( MarkerBarcos06, source, false )
            setElementVisibleTo ( BlipBarcos06, source, false )
            setElementVisibleTo ( MarkerBarcos07, source, true )
            setElementVisibleTo ( BlipBarcos07, source, true )
            setElementData ( source, "Carteira:StartBarcos06", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartBarcos05", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerBarcos07 then
            if getElementData( source, "Carteira:StartBarcos06", true ) then
            setElementVisibleTo ( MarkerBarcos07, source, false )
            setElementVisibleTo ( BlipBarcos07, source, false )
            setElementVisibleTo ( MarkerBarcos08, source, true )
            setElementVisibleTo ( BlipBarcos08, source, true )
            setElementData ( source, "Carteira:StartBarcos07", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartBarcos06", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerBarcos08 then
            if getElementData( source, "Carteira:StartBarcos07", true ) then
            setElementVisibleTo ( MarkerBarcos08, source, false )
            setElementVisibleTo ( BlipBarcos08, source, false )
            setElementVisibleTo ( MarkerBarcos09, source, true )
            setElementVisibleTo ( BlipBarcos09, source, true )
            setElementData ( source, "Carteira:StartBarcos08", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartBarcos07", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerBarcos09 then
            if getElementData( source, "Carteira:StartBarcos08", true ) then
            setElementVisibleTo ( MarkerBarcos09, source, false )
            setElementVisibleTo ( BlipBarcos09, source, false )
            setElementVisibleTo ( MarkerBarcos10, source, true )
            setElementVisibleTo ( BlipBarcos10, source, true )
            setElementData ( source, "Carteira:StartBarcos09", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartBarcos08", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerBarcos10 then
            if getElementData( source, "Carteira:StartBarcos09", true ) then
            setElementVisibleTo ( MarkerBarcos10, source, false )
            setElementVisibleTo ( BlipBarcos10, source, false )
            setElementVisibleTo ( MarkerBarcos11, source, true )
            setElementVisibleTo ( BlipBarcos11, source, true )
            setElementData ( source, "Carteira:StartBarcos10", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartBarcos09", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerBarcos11 then
            if getElementData( source, "Carteira:StartBarcos10", true ) then
            setElementVisibleTo ( MarkerBarcos11, source, false )
            setElementVisibleTo ( BlipBarcos11, source, false )
            setElementVisibleTo ( MarkerBarcos12, source, true )
            setElementVisibleTo ( BlipBarcos12, source, true )
            setElementData ( source, "Carteira:StartBarcos11", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartBarcos10", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerBarcos12 then
            if getElementData( source, "Carteira:StartBarcos11", true ) then
            setElementVisibleTo ( MarkerBarcos12, source, false )
            setElementVisibleTo ( BlipBarcos12, source, false )
            setElementVisibleTo ( MarkerBarcos13, source, true )
            setElementVisibleTo ( BlipBarcos13, source, true )
            setElementData ( source, "Carteira:StartBarcos12", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartBarcos11", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerBarcos13 then
            if getElementData( source, "Carteira:StartBarcos12", true ) then
            setElementVisibleTo ( MarkerBarcos13, source, false )
            setElementVisibleTo ( BlipBarcos13, source, false )
            setElementVisibleTo ( MarkerBarcos14, source, true )
            setElementVisibleTo ( BlipBarcos14, source, true )
            setElementData ( source, "Carteira:StartBarcos13", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartBarcos12", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerBarcos14 then
            if getElementData( source, "Carteira:StartBarcos13", true ) then
            setElementVisibleTo ( MarkerBarcos14, source, false )
            setElementVisibleTo ( BlipBarcos14, source, false )
            setElementVisibleTo ( MarkerBarcos15, source, true )
            setElementVisibleTo ( BlipBarcos15, source, true )
            setElementData ( source, "Carteira:StartBarcos14", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartBarcos13", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerBarcos15 then
            if getElementData( source, "Carteira:StartBarcos14", true ) then
            setElementVisibleTo ( MarkerBarcos15, source, false )
            setElementVisibleTo ( BlipBarcos15, source, false )
            setElementVisibleTo ( MarkerBarcos16, source, true )
            setElementVisibleTo ( BlipBarcos16, source, true )
            setElementData ( source, "Carteira:StartBarcos15", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartBarcos14", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerBarcos16 then
            if getElementData( source, "Carteira:StartBarcos15", true ) then
            AutoEscolaBarcosVida = getElementHealth ( AutoEscolaBarcos[source] )
            if AutoEscolaBarcosVida <= BarcosDanoParaReprovar then
            exports.Scripts_Dxmessages:outputDx(source, MsgBarcos04, "error")
            else
            setElementData( source, "Habilitacoes:Barcos", true)
            exports.Scripts_Dxmessages:outputDx(source, MsgBarcos05, "success")
            end
            setTimer ( setElementData, 50, 1, source, "Carteira:StartBarcos15", false )
            setElementVisibleTo ( MarkerBarcos16, source, false )
            setElementVisibleTo ( BlipBarcos16, source, false )
            setElementData ( source, "AirNew_TirandoCarta", "Não" )
            destroyElement ( AutoEscolaBarcos[source] )
            setTimer ( setElementInterior, 400, 1, source, 3 )
            setTimer ( setElementDimension, 400, 1, source, 10 )
            setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
            setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
            fadeCamera ( source, false, 0.1, 0, 0, 0 )   
            setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
            setTimer ( setCameraTarget, 600, 1, source )
            end
            end
          end 
        end    
    end
    addEventHandler("onPlayerMarkerHit",getRootElement(),emarkerBarcos)

    function SairDoVeiculoAutoEscolaBarcos (source)
    if ( AutoEscolaBarcos[source] ) and isElement( AutoEscolaBarcos[source] ) then
    setElementData ( source, "AirNew_TirandoCarta", "Não" )
    destroyElement ( AutoEscolaBarcos[source] )
    setElementData ( source, "Carteira:StartBarcos00", false )
    setElementData ( source, "Carteira:StartBarcos01", false )
    setElementData ( source, "Carteira:StartBarcos02", false )
    setElementData ( source, "Carteira:StartBarcos03", false )
    setElementData ( source, "Carteira:StartBarcos04", false )
    setElementData ( source, "Carteira:StartBarcos05", false )
    setElementData ( source, "Carteira:StartBarcos06", false )
    setElementData ( source, "Carteira:StartBarcos07", false )
    setElementData ( source, "Carteira:StartBarcos08", false )
    setElementData ( source, "Carteira:StartBarcos09", false )
    setElementData ( source, "Carteira:StartBarcos10", false )
    setElementData ( source, "Carteira:StartBarcos11", false )
    setElementData ( source, "Carteira:StartBarcos12", false )
    setElementData ( source, "Carteira:StartBarcos13", false )
    setElementData ( source, "Carteira:StartBarcos14", false )
    setElementData ( source, "Carteira:StartBarcos15", false )
    setElementVisibleTo ( MarkerBarcos01, source, false )
    setElementVisibleTo ( BlipBarcos01, source, false )
    setElementVisibleTo ( MarkerBarcos02, source, false )
    setElementVisibleTo ( BlipBarcos02, source, false )
    setElementVisibleTo ( MarkerBarcos03, source, false )
    setElementVisibleTo ( BlipBarcos03, source, false )
    setElementVisibleTo ( MarkerBarcos04, source, false )
    setElementVisibleTo ( BlipBarcos04, source, false )
    setElementVisibleTo ( MarkerBarcos05, source, false )
    setElementVisibleTo ( BlipBarcos05, source, false )
    setElementVisibleTo ( MarkerBarcos06, source, false )
    setElementVisibleTo ( BlipBarcos06, source, false )
    setElementVisibleTo ( MarkerBarcos07, source, false )
    setElementVisibleTo ( BlipBarcos07, source, false )
    setElementVisibleTo ( MarkerBarcos08, source, false )
    setElementVisibleTo ( BlipBarcos08, source, false )
    setElementVisibleTo ( MarkerBarcos09, source, false )
    setElementVisibleTo ( BlipBarcos09, source, false )
    setElementVisibleTo ( MarkerBarcos10, source, false )
    setElementVisibleTo ( BlipBarcos10, source, false )
    setElementVisibleTo ( MarkerBarcos11, source, false )
    setElementVisibleTo ( BlipBarcos11, source, false )
    setElementVisibleTo ( MarkerBarcos12, source, false )
    setElementVisibleTo ( BlipBarcos12, source, false )
    setElementVisibleTo ( MarkerBarcos13, source, false )
    setElementVisibleTo ( BlipBarcos13, source, false )
    setElementVisibleTo ( MarkerBarcos14, source, false )
    setElementVisibleTo ( BlipBarcos14, source, false )
    setElementVisibleTo ( MarkerBarcos15, source, false )
    setElementVisibleTo ( BlipBarcos15, source, false )
    setElementVisibleTo ( MarkerBarcos16, source, false )
    setElementVisibleTo ( BlipBarcos16, source, false )
    exports.Scripts_Dxmessages:outputDx(source, MsgBarcos06, "error")
    setTimer ( setElementInterior, 400, 1, source, 3 )
    setTimer ( setElementDimension, 400, 1, source, 10 )
    setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
    setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
    fadeCamera ( source, false, 0.1, 0, 0, 0 )   
    setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
    setTimer ( setCameraTarget, 600, 1, source )
    end
    end
    addEventHandler ( "onVehicleExit", getRootElement(), SairDoVeiculoAutoEscolaBarcos )

    function MorrerAutoEscolaBarcos ()
    if ( AutoEscolaBarcos[source] ) and isElement( AutoEscolaBarcos[source] ) then
    setElementData ( source, "AirNew_TirandoCarta", "Não" )
    destroyElement ( AutoEscolaBarcos[source] )
    setElementData ( source, "Carteira:StartBarcos00", false )
    setElementData ( source, "Carteira:StartBarcos01", false )
    setElementData ( source, "Carteira:StartBarcos02", false )
    setElementData ( source, "Carteira:StartBarcos03", false )
    setElementData ( source, "Carteira:StartBarcos04", false )
    setElementData ( source, "Carteira:StartBarcos05", false )
    setElementData ( source, "Carteira:StartBarcos06", false )
    setElementData ( source, "Carteira:StartBarcos07", false )
    setElementData ( source, "Carteira:StartBarcos08", false )
    setElementData ( source, "Carteira:StartBarcos09", false )
    setElementData ( source, "Carteira:StartBarcos10", false )
    setElementData ( source, "Carteira:StartBarcos11", false )
    setElementData ( source, "Carteira:StartBarcos12", false )
    setElementData ( source, "Carteira:StartBarcos13", false )
    setElementData ( source, "Carteira:StartBarcos14", false )
    setElementData ( source, "Carteira:StartBarcos15", false )
    setElementVisibleTo ( MarkerBarcos01, source, false )
    setElementVisibleTo ( BlipBarcos01, source, false )
    setElementVisibleTo ( MarkerBarcos02, source, false )
    setElementVisibleTo ( BlipBarcos02, source, false )
    setElementVisibleTo ( MarkerBarcos03, source, false )
    setElementVisibleTo ( BlipBarcos03, source, false )
    setElementVisibleTo ( MarkerBarcos04, source, false )
    setElementVisibleTo ( BlipBarcos04, source, false )
    setElementVisibleTo ( MarkerBarcos05, source, false )
    setElementVisibleTo ( BlipBarcos05, source, false )
    setElementVisibleTo ( MarkerBarcos06, source, false )
    setElementVisibleTo ( BlipBarcos06, source, false )
    setElementVisibleTo ( MarkerBarcos07, source, false )
    setElementVisibleTo ( BlipBarcos07, source, false )
    setElementVisibleTo ( MarkerBarcos08, source, false )
    setElementVisibleTo ( BlipBarcos08, source, false )
    setElementVisibleTo ( MarkerBarcos09, source, false )
    setElementVisibleTo ( BlipBarcos09, source, false )
    setElementVisibleTo ( MarkerBarcos10, source, false )
    setElementVisibleTo ( BlipBarcos10, source, false )
    setElementVisibleTo ( MarkerBarcos11, source, false )
    setElementVisibleTo ( BlipBarcos11, source, false )
    setElementVisibleTo ( MarkerBarcos12, source, false )
    setElementVisibleTo ( BlipBarcos12, source, false )
    setElementVisibleTo ( MarkerBarcos13, source, false )
    setElementVisibleTo ( BlipBarcos13, source, false )
    setElementVisibleTo ( MarkerBarcos14, source, false )
    setElementVisibleTo ( BlipBarcos14, source, false )
    setElementVisibleTo ( MarkerBarcos15, source, false )
    setElementVisibleTo ( BlipBarcos15, source, false )
    setElementVisibleTo ( MarkerBarcos16, source, false )
    setElementVisibleTo ( BlipBarcos16, source, false )
    exports.Scripts_Dxmessages:outputDx(source, MsgBarcos07, "error")
    end
    end
    addEventHandler ( "onPlayerWasted", getRootElement(), MorrerAutoEscolaBarcos )

    function SairDoServidorAutoEscolaBarcos ( quitType )    
    if isElement( AutoEscolaBarcos[source] ) then
    destroyElement ( AutoEscolaBarcos[source] )
    end
    end
    addEventHandler ( "onPlayerQuit", getRootElement(), SairDoServidorAutoEscolaBarcos )

    --------------------------------------------------------------------------------

    -- ( Começo ) Percurso de Helicopteros

    HelicopterosRX, HelicopterosRY, HelicopterosRZ           = 190.13397, -302.89218, 1.57813 -- Coordenadas de Respawn do Helicoptero
    HelicopterosRotA, HelicopterosRotB, HelicopterosRotC     = 0, 0, 0 -- Rotação do Veiculo ao Spawnar
    HelicopterosID                               = 469 -- ID do Helicoptero
    HabValorHelicopteros                         = 10000 -- Valor da Habilitação Categoria "Helicopteros"
    HelicopterosDanoParaReprovar                 = 950 -- 95%

    MsgHelicopteros01 = "Prova Iniciada, Siga-os Checkpoints Para Concluir o seu Objetivo!"
    MsgHelicopteros02 = "Você Não Tem Dinheiro Suficiente!"
    MsgHelicopteros03 = "Você Ja Possui Essa Habilitação!"
    MsgHelicopteros04 = "Você Reprovou no Teste, Evite Bater na Proxima Vez!"
    MsgHelicopteros05 = "Carteira de Habilitação Categoria 'Helicopteros' Concedida!"
    MsgHelicopteros06 = "Você Saiu do Veiculo, Por Esse Motivo o Teste foi Cancelado!"
    MsgHelicopteros07 = "Você Morreu, Por Esse Motivo o Teste foi Cancelado!"

    HelicopterosX01, HelicopterosY01, HelicopterosZ01 = 192.54529, -255.43195, 19.71858
    HelicopterosX02, HelicopterosY02, HelicopterosZ02 = 289.75629, -62.69717, 38.09697
    HelicopterosX03, HelicopterosY03, HelicopterosZ03 = 387.02344, 109.72382, 49.56145
    HelicopterosX04, HelicopterosY04, HelicopterosZ04 = 523.74475, 401.76590, 59.54094
    HelicopterosX05, HelicopterosY05, HelicopterosZ05 = 648.68756, 623.60193, 53.53587
    HelicopterosX06, HelicopterosY06, HelicopterosZ06 = 821.34821, 797.55927, 57.30814
    HelicopterosX07, HelicopterosY07, HelicopterosZ07 = 923.19025, 960.18860, 59.13763
    HelicopterosX08, HelicopterosY08, HelicopterosZ08 = 1101.84985, 1189.58154, 66.81283
    HelicopterosX09, HelicopterosY09, HelicopterosZ09 = 1265.18176, 1356.48291, 64.21224
    HelicopterosX10, HelicopterosY10, HelicopterosZ10 = 1423.97729, 1519.96594, 74.06803
    HelicopterosX11, HelicopterosY11, HelicopterosZ11 = 1599.68640, 1664.47388, 70.88983
    HelicopterosX12, HelicopterosY12, HelicopterosZ12 = 1755.91052, 1766.84497, 103.27734
    HelicopterosX13, HelicopterosY13, HelicopterosZ13 = 1905.53833, 1863.55908, 143.65627
    HelicopterosX14, HelicopterosY14, HelicopterosZ14 = 2048.65479, 1947.74756, 106.53687
    HelicopterosX15, HelicopterosY15, HelicopterosZ15 = 2107.26782, 2225.87476, 99.85953
    HelicopterosX16, HelicopterosY16, HelicopterosZ16 = 2092.58252, 2415.30615, 74.52721

    MarkerHelicopteros01 = createMarker ( HelicopterosX01, HelicopterosY01, HelicopterosZ01 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipHelicopteros01 = createBlipAttachedTo ( MarkerHelicopteros01, 0 )
    setElementVisibleTo ( MarkerHelicopteros01, root, false )
    setElementVisibleTo ( BlipHelicopteros01, root, false )

    MarkerHelicopteros02 = createMarker ( HelicopterosX02, HelicopterosY02, HelicopterosZ02 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipHelicopteros02 = createBlipAttachedTo ( MarkerHelicopteros02, 0 )
    setElementVisibleTo ( MarkerHelicopteros02, root, false )
    setElementVisibleTo ( BlipHelicopteros02, root, false )

    MarkerHelicopteros03 = createMarker ( HelicopterosX03, HelicopterosY03, HelicopterosZ03 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipHelicopteros03 = createBlipAttachedTo ( MarkerHelicopteros03, 0 )
    setElementVisibleTo ( MarkerHelicopteros03, root, false )
    setElementVisibleTo ( BlipHelicopteros03, root, false )

    MarkerHelicopteros04 = createMarker ( HelicopterosX04, HelicopterosY04, HelicopterosZ04 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipHelicopteros04 = createBlipAttachedTo ( MarkerHelicopteros04, 0 )
    setElementVisibleTo ( MarkerHelicopteros04, root, false )
    setElementVisibleTo ( BlipHelicopteros04, root, false )

    MarkerHelicopteros05 = createMarker ( HelicopterosX05, HelicopterosY05, HelicopterosZ05 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipHelicopteros05 = createBlipAttachedTo ( MarkerHelicopteros05, 0 )
    setElementVisibleTo ( MarkerHelicopteros05, root, false )
    setElementVisibleTo ( BlipHelicopteros05, root, false )

    MarkerHelicopteros06 = createMarker ( HelicopterosX06, HelicopterosY06, HelicopterosZ06 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipHelicopteros06 = createBlipAttachedTo ( MarkerHelicopteros06, 0 )
    setElementVisibleTo ( MarkerHelicopteros06, root, false )
    setElementVisibleTo ( BlipHelicopteros06, root, false )

    MarkerHelicopteros07 = createMarker ( HelicopterosX07, HelicopterosY07, HelicopterosZ07 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipHelicopteros07 = createBlipAttachedTo ( MarkerHelicopteros07, 0 )
    setElementVisibleTo ( MarkerHelicopteros07, root, false )
    setElementVisibleTo ( BlipHelicopteros07, root, false )

    MarkerHelicopteros08 = createMarker ( HelicopterosX08, HelicopterosY08, HelicopterosZ08 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipHelicopteros08 = createBlipAttachedTo ( MarkerHelicopteros08, 0 )
    setElementVisibleTo ( MarkerHelicopteros08, root, false )
    setElementVisibleTo ( BlipHelicopteros08, root, false )

    MarkerHelicopteros09 = createMarker ( HelicopterosX09, HelicopterosY09, HelicopterosZ09 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipHelicopteros09 = createBlipAttachedTo ( MarkerHelicopteros09, 0 )
    setElementVisibleTo ( MarkerHelicopteros09, root, false )
    setElementVisibleTo ( BlipHelicopteros09, root, false )

    MarkerHelicopteros10 = createMarker ( HelicopterosX10, HelicopterosY10, HelicopterosZ10 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipHelicopteros10 = createBlipAttachedTo ( MarkerHelicopteros10, 0 )
    setElementVisibleTo ( MarkerHelicopteros10, root, false )
    setElementVisibleTo ( BlipHelicopteros10, root, false )

    MarkerHelicopteros11 = createMarker ( HelicopterosX11, HelicopterosY11, HelicopterosZ11 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipHelicopteros11 = createBlipAttachedTo ( MarkerHelicopteros11, 0 )
    setElementVisibleTo ( MarkerHelicopteros11, root, false )
    setElementVisibleTo ( BlipHelicopteros11, root, false )

    MarkerHelicopteros12 = createMarker ( HelicopterosX12, HelicopterosY12, HelicopterosZ12 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipHelicopteros12 = createBlipAttachedTo ( MarkerHelicopteros12, 0 )
    setElementVisibleTo ( MarkerHelicopteros12, root, false )
    setElementVisibleTo ( BlipHelicopteros12, root, false )

    MarkerHelicopteros13 = createMarker ( HelicopterosX13, HelicopterosY13, HelicopterosZ13 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipHelicopteros13 = createBlipAttachedTo ( MarkerHelicopteros13, 0 )
    setElementVisibleTo ( MarkerHelicopteros13, root, false )
    setElementVisibleTo ( BlipHelicopteros13, root, false )

    MarkerHelicopteros14 = createMarker ( HelicopterosX14, HelicopterosY14, HelicopterosZ14 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipHelicopteros14 = createBlipAttachedTo ( MarkerHelicopteros14, 0 )
    setElementVisibleTo ( MarkerHelicopteros14, root, false )
    setElementVisibleTo ( BlipHelicopteros14, root, false )

    MarkerHelicopteros15 = createMarker ( HelicopterosX15, HelicopterosY15, HelicopterosZ15 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipHelicopteros15 = createBlipAttachedTo ( MarkerHelicopteros15, 0 )
    setElementVisibleTo ( MarkerHelicopteros15, root, false )
    setElementVisibleTo ( BlipHelicopteros15, root, false )

    MarkerHelicopteros16 = createMarker ( HelicopterosX16, HelicopterosY16, HelicopterosZ16 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipHelicopteros16 = createBlipAttachedTo ( MarkerHelicopteros16, 0 )
    setElementVisibleTo ( MarkerHelicopteros16, root, false )
    setElementVisibleTo ( BlipHelicopteros16, root, false )

    AutoEscolaHelicopteros = {}

    function HelicopterosHab(entrar)
    if (getElementData ( source, "PontosNacarteira" ) or 0) > 0 then
    exports.Scripts_Dxmessages:outputDx(source, MsgMultas, "error") return end
    if not getElementData(source, "Habilitacoes:Helicopteros" ) == true then
    if getPlayerMoney(source) >= HabValorHelicopteros then
    takePlayerMoney(source, HabValorHelicopteros)
    if AutoEscolaHelicopteros[source] and isElement( AutoEscolaHelicopteros[source] ) then destroyElement ( AutoEscolaHelicopteros[source] )
    AutoEscolaHelicopteros[source] = nil
    end
    setElementInterior ( source, 0 )
    setElementDimension ( source, 0 )
    triggerClientEvent ( source, "AirNew:FecharAutoEscola", root )
    AutoEscolaHelicopteros[source] = createVehicle( HelicopterosID, HelicopterosRX, HelicopterosRY, HelicopterosRZ )
    setElementRotation ( AutoEscolaHelicopteros[source], HelicopterosRotA, HelicopterosRotB, HelicopterosRotC )
    setVehicleLocked ( AutoEscolaHelicopteros[source], true )
    warpPedIntoVehicle ( source, AutoEscolaHelicopteros[source] )
    setCameraTarget ( source )
    setElementData ( source, "Carteira:StartHelicopteros00", true )
    setElementData ( source, "AirNew_TirandoCarta", "Sim" )
    setElementVisibleTo ( MarkerHelicopteros01, source, true )
    setElementVisibleTo ( BlipHelicopteros01, source, true )
    exports.Scripts_Dxmessages:outputDx(source, MsgHelicopteros01, "info")
    else
    exports.Scripts_Dxmessages:outputDx(source, MsgHelicopteros02, "error")
    end
    else
    exports.Scripts_Dxmessages:outputDx(source, MsgHelicopteros03, "warning")
    end
    end
    addEvent("Hab:Helicoptero", true)
    addEventHandler ( "Hab:Helicoptero", root, HelicopterosHab)

    function emarkerHelicopteros(marker,md) 
        if (md) then
          if AutoEscolaHelicopteros[source] and isElement( AutoEscolaHelicopteros[source] ) then
            if marker == MarkerHelicopteros01 then
            if getElementData( source, "Carteira:StartHelicopteros00", true ) then
            setElementVisibleTo ( MarkerHelicopteros01, source, false )
            setElementVisibleTo ( BlipHelicopteros01, source, false )
            setElementVisibleTo ( MarkerHelicopteros02, source, true )
            setElementVisibleTo ( BlipHelicopteros02, source, true )
            setElementData ( source, "Carteira:StartHelicopteros01", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartHelicopteros00", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerHelicopteros02 then
            if getElementData( source, "Carteira:StartHelicopteros01", true ) then
            setElementVisibleTo ( MarkerHelicopteros02, source, false )
            setElementVisibleTo ( BlipHelicopteros02, source, false )
            setElementVisibleTo ( MarkerHelicopteros03, source, true )
            setElementVisibleTo ( BlipHelicopteros03, source, true )
            setElementData ( source, "Carteira:StartHelicopteros02", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartHelicopteros01", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerHelicopteros03 then
            if getElementData( source, "Carteira:StartHelicopteros02", true ) then
            setElementVisibleTo ( MarkerHelicopteros03, source, false )
            setElementVisibleTo ( BlipHelicopteros03, source, false )
            setElementVisibleTo ( MarkerHelicopteros04, source, true )
            setElementVisibleTo ( BlipHelicopteros04, source, true )
            setElementData ( source, "Carteira:StartHelicopteros03", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartHelicopteros02", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerHelicopteros04 then
            if getElementData( source, "Carteira:StartHelicopteros03", true ) then
            setElementVisibleTo ( MarkerHelicopteros04, source, false )
            setElementVisibleTo ( BlipHelicopteros04, source, false )
            setElementVisibleTo ( MarkerHelicopteros05, source, true )
            setElementVisibleTo ( BlipHelicopteros05, source, true )
            setElementData ( source, "Carteira:StartHelicopteros04", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartHelicopteros03", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerHelicopteros05 then
            if getElementData( source, "Carteira:StartHelicopteros04", true ) then
            setElementVisibleTo ( MarkerHelicopteros05, source, false )
            setElementVisibleTo ( BlipHelicopteros05, source, false )
            setElementVisibleTo ( MarkerHelicopteros06, source, true )
            setElementVisibleTo ( BlipHelicopteros06, source, true )
            setElementData ( source, "Carteira:StartHelicopteros05", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartHelicopteros04", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerHelicopteros06 then
            if getElementData( source, "Carteira:StartHelicopteros05", true ) then
            setElementVisibleTo ( MarkerHelicopteros06, source, false )
            setElementVisibleTo ( BlipHelicopteros06, source, false )
            setElementVisibleTo ( MarkerHelicopteros07, source, true )
            setElementVisibleTo ( BlipHelicopteros07, source, true )
            setElementData ( source, "Carteira:StartHelicopteros06", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartHelicopteros05", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerHelicopteros07 then
            if getElementData( source, "Carteira:StartHelicopteros06", true ) then
            setElementVisibleTo ( MarkerHelicopteros07, source, false )
            setElementVisibleTo ( BlipHelicopteros07, source, false )
            setElementVisibleTo ( MarkerHelicopteros08, source, true )
            setElementVisibleTo ( BlipHelicopteros08, source, true )
            setElementData ( source, "Carteira:StartHelicopteros07", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartHelicopteros06", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerHelicopteros08 then
            if getElementData( source, "Carteira:StartHelicopteros07", true ) then
            setElementVisibleTo ( MarkerHelicopteros08, source, false )
            setElementVisibleTo ( BlipHelicopteros08, source, false )
            setElementVisibleTo ( MarkerHelicopteros09, source, true )
            setElementVisibleTo ( BlipHelicopteros09, source, true )
            setElementData ( source, "Carteira:StartHelicopteros08", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartHelicopteros07", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerHelicopteros09 then
            if getElementData( source, "Carteira:StartHelicopteros08", true ) then
            setElementVisibleTo ( MarkerHelicopteros09, source, false )
            setElementVisibleTo ( BlipHelicopteros09, source, false )
            setElementVisibleTo ( MarkerHelicopteros10, source, true )
            setElementVisibleTo ( BlipHelicopteros10, source, true )
            setElementData ( source, "Carteira:StartHelicopteros09", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartHelicopteros08", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerHelicopteros10 then
            if getElementData( source, "Carteira:StartHelicopteros09", true ) then
            setElementVisibleTo ( MarkerHelicopteros10, source, false )
            setElementVisibleTo ( BlipHelicopteros10, source, false )
            setElementVisibleTo ( MarkerHelicopteros11, source, true )
            setElementVisibleTo ( BlipHelicopteros11, source, true )
            setElementData ( source, "Carteira:StartHelicopteros10", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartHelicopteros09", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerHelicopteros11 then
            if getElementData( source, "Carteira:StartHelicopteros10", true ) then
            setElementVisibleTo ( MarkerHelicopteros11, source, false )
            setElementVisibleTo ( BlipHelicopteros11, source, false )
            setElementVisibleTo ( MarkerHelicopteros12, source, true )
            setElementVisibleTo ( BlipHelicopteros12, source, true )
            setElementData ( source, "Carteira:StartHelicopteros11", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartHelicopteros10", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerHelicopteros12 then
            if getElementData( source, "Carteira:StartHelicopteros11", true ) then
            setElementVisibleTo ( MarkerHelicopteros12, source, false )
            setElementVisibleTo ( BlipHelicopteros12, source, false )
            setElementVisibleTo ( MarkerHelicopteros13, source, true )
            setElementVisibleTo ( BlipHelicopteros13, source, true )
            setElementData ( source, "Carteira:StartHelicopteros12", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartHelicopteros11", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerHelicopteros13 then
            if getElementData( source, "Carteira:StartHelicopteros12", true ) then
            setElementVisibleTo ( MarkerHelicopteros13, source, false )
            setElementVisibleTo ( BlipHelicopteros13, source, false )
            setElementVisibleTo ( MarkerHelicopteros14, source, true )
            setElementVisibleTo ( BlipHelicopteros14, source, true )
            setElementData ( source, "Carteira:StartHelicopteros13", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartHelicopteros12", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerHelicopteros14 then
            if getElementData( source, "Carteira:StartHelicopteros13", true ) then
            setElementVisibleTo ( MarkerHelicopteros14, source, false )
            setElementVisibleTo ( BlipHelicopteros14, source, false )
            setElementVisibleTo ( MarkerHelicopteros15, source, true )
            setElementVisibleTo ( BlipHelicopteros15, source, true )
            setElementData ( source, "Carteira:StartHelicopteros14", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartHelicopteros13", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerHelicopteros15 then
            if getElementData( source, "Carteira:StartHelicopteros14", true ) then
            setElementVisibleTo ( MarkerHelicopteros15, source, false )
            setElementVisibleTo ( BlipHelicopteros15, source, false )
            setElementVisibleTo ( MarkerHelicopteros16, source, true )
            setElementVisibleTo ( BlipHelicopteros16, source, true )
            setElementData ( source, "Carteira:StartHelicopteros15", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartHelicopteros14", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerHelicopteros16 then
            if getElementData( source, "Carteira:StartHelicopteros15", true ) then
            AutoEscolaHelicopterosVida = getElementHealth ( AutoEscolaHelicopteros[source] )
            if AutoEscolaHelicopterosVida <= HelicopterosDanoParaReprovar then
            exports.Scripts_Dxmessages:outputDx(source, MsgHelicopteros04, "error")
            else
            setElementData( source, "Habilitacoes:Helicopteros", true)
            exports.Scripts_Dxmessages:outputDx(source, MsgHelicopteros05, "success")
            end
            setTimer ( setElementData, 50, 1, source, "Carteira:StartHelicopteros15", false )
            setElementVisibleTo ( MarkerHelicopteros16, source, false )
            setElementVisibleTo ( BlipHelicopteros16, source, false )
            setElementData ( source, "AirNew_TirandoCarta", "Não" )
            destroyElement ( AutoEscolaHelicopteros[source] )
            setTimer ( setElementInterior, 400, 1, source, 3 )
            setTimer ( setElementDimension, 400, 1, source, 10 )
            setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
            setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
            fadeCamera ( source, false, 0.1, 0, 0, 0 )   
            setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
            setTimer ( setCameraTarget, 600, 1, source )
            end
            end
          end 
        end    
    end
    addEventHandler("onPlayerMarkerHit",getRootElement(),emarkerHelicopteros)

    function SairDoVeiculoAutoEscolaHelicopteros (source)
    if ( AutoEscolaHelicopteros[source] ) and isElement( AutoEscolaHelicopteros[source] ) then
    setElementData ( source, "AirNew_TirandoCarta", "Não" )
    destroyElement ( AutoEscolaHelicopteros[source] )
    setElementData ( source, "Carteira:StartHelicopteros00", false )
    setElementData ( source, "Carteira:StartHelicopteros01", false )
    setElementData ( source, "Carteira:StartHelicopteros02", false )
    setElementData ( source, "Carteira:StartHelicopteros03", false )
    setElementData ( source, "Carteira:StartHelicopteros04", false )
    setElementData ( source, "Carteira:StartHelicopteros05", false )
    setElementData ( source, "Carteira:StartHelicopteros06", false )
    setElementData ( source, "Carteira:StartHelicopteros07", false )
    setElementData ( source, "Carteira:StartHelicopteros08", false )
    setElementData ( source, "Carteira:StartHelicopteros09", false )
    setElementData ( source, "Carteira:StartHelicopteros10", false )
    setElementData ( source, "Carteira:StartHelicopteros11", false )
    setElementData ( source, "Carteira:StartHelicopteros12", false )
    setElementData ( source, "Carteira:StartHelicopteros13", false )
    setElementData ( source, "Carteira:StartHelicopteros14", false )
    setElementData ( source, "Carteira:StartHelicopteros15", false )
    setElementVisibleTo ( MarkerHelicopteros01, source, false )
    setElementVisibleTo ( BlipHelicopteros01, source, false )
    setElementVisibleTo ( MarkerHelicopteros02, source, false )
    setElementVisibleTo ( BlipHelicopteros02, source, false )
    setElementVisibleTo ( MarkerHelicopteros03, source, false )
    setElementVisibleTo ( BlipHelicopteros03, source, false )
    setElementVisibleTo ( MarkerHelicopteros04, source, false )
    setElementVisibleTo ( BlipHelicopteros04, source, false )
    setElementVisibleTo ( MarkerHelicopteros05, source, false )
    setElementVisibleTo ( BlipHelicopteros05, source, false )
    setElementVisibleTo ( MarkerHelicopteros06, source, false )
    setElementVisibleTo ( BlipHelicopteros06, source, false )
    setElementVisibleTo ( MarkerHelicopteros07, source, false )
    setElementVisibleTo ( BlipHelicopteros07, source, false )
    setElementVisibleTo ( MarkerHelicopteros08, source, false )
    setElementVisibleTo ( BlipHelicopteros08, source, false )
    setElementVisibleTo ( MarkerHelicopteros09, source, false )
    setElementVisibleTo ( BlipHelicopteros09, source, false )
    setElementVisibleTo ( MarkerHelicopteros10, source, false )
    setElementVisibleTo ( BlipHelicopteros10, source, false )
    setElementVisibleTo ( MarkerHelicopteros11, source, false )
    setElementVisibleTo ( BlipHelicopteros11, source, false )
    setElementVisibleTo ( MarkerHelicopteros12, source, false )
    setElementVisibleTo ( BlipHelicopteros12, source, false )
    setElementVisibleTo ( MarkerHelicopteros13, source, false )
    setElementVisibleTo ( BlipHelicopteros13, source, false )
    setElementVisibleTo ( MarkerHelicopteros14, source, false )
    setElementVisibleTo ( BlipHelicopteros14, source, false )
    setElementVisibleTo ( MarkerHelicopteros15, source, false )
    setElementVisibleTo ( BlipHelicopteros15, source, false )
    setElementVisibleTo ( MarkerHelicopteros16, source, false )
    setElementVisibleTo ( BlipHelicopteros16, source, false )
    exports.Scripts_Dxmessages:outputDx(source, MsgHelicopteros06, "error")
    setTimer ( setElementInterior, 400, 1, source, 3 )
    setTimer ( setElementDimension, 400, 1, source, 10 )
    setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
    setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
    fadeCamera ( source, false, 0.1, 0, 0, 0 )   
    setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
    setTimer ( setCameraTarget, 600, 1, source )
    end
    end
    addEventHandler ( "onVehicleExit", getRootElement(), SairDoVeiculoAutoEscolaHelicopteros )

    function MorrerAutoEscolaHelicopteros ()
    if ( AutoEscolaHelicopteros[source] ) and isElement( AutoEscolaHelicopteros[source] ) then
    setElementData ( source, "AirNew_TirandoCarta", "Não" )
    destroyElement ( AutoEscolaHelicopteros[source] )
    setElementData ( source, "Carteira:StartHelicopteros00", false )
    setElementData ( source, "Carteira:StartHelicopteros01", false )
    setElementData ( source, "Carteira:StartHelicopteros02", false )
    setElementData ( source, "Carteira:StartHelicopteros03", false )
    setElementData ( source, "Carteira:StartHelicopteros04", false )
    setElementData ( source, "Carteira:StartHelicopteros05", false )
    setElementData ( source, "Carteira:StartHelicopteros06", false )
    setElementData ( source, "Carteira:StartHelicopteros07", false )
    setElementData ( source, "Carteira:StartHelicopteros08", false )
    setElementData ( source, "Carteira:StartHelicopteros09", false )
    setElementData ( source, "Carteira:StartHelicopteros10", false )
    setElementData ( source, "Carteira:StartHelicopteros11", false )
    setElementData ( source, "Carteira:StartHelicopteros12", false )
    setElementData ( source, "Carteira:StartHelicopteros13", false )
    setElementData ( source, "Carteira:StartHelicopteros14", false )
    setElementData ( source, "Carteira:StartHelicopteros15", false )
    setElementVisibleTo ( MarkerHelicopteros01, source, false )
    setElementVisibleTo ( BlipHelicopteros01, source, false )
    setElementVisibleTo ( MarkerHelicopteros02, source, false )
    setElementVisibleTo ( BlipHelicopteros02, source, false )
    setElementVisibleTo ( MarkerHelicopteros03, source, false )
    setElementVisibleTo ( BlipHelicopteros03, source, false )
    setElementVisibleTo ( MarkerHelicopteros04, source, false )
    setElementVisibleTo ( BlipHelicopteros04, source, false )
    setElementVisibleTo ( MarkerHelicopteros05, source, false )
    setElementVisibleTo ( BlipHelicopteros05, source, false )
    setElementVisibleTo ( MarkerHelicopteros06, source, false )
    setElementVisibleTo ( BlipHelicopteros06, source, false )
    setElementVisibleTo ( MarkerHelicopteros07, source, false )
    setElementVisibleTo ( BlipHelicopteros07, source, false )
    setElementVisibleTo ( MarkerHelicopteros08, source, false )
    setElementVisibleTo ( BlipHelicopteros08, source, false )
    setElementVisibleTo ( MarkerHelicopteros09, source, false )
    setElementVisibleTo ( BlipHelicopteros09, source, false )
    setElementVisibleTo ( MarkerHelicopteros10, source, false )
    setElementVisibleTo ( BlipHelicopteros10, source, false )
    setElementVisibleTo ( MarkerHelicopteros11, source, false )
    setElementVisibleTo ( BlipHelicopteros11, source, false )
    setElementVisibleTo ( MarkerHelicopteros12, source, false )
    setElementVisibleTo ( BlipHelicopteros12, source, false )
    setElementVisibleTo ( MarkerHelicopteros13, source, false )
    setElementVisibleTo ( BlipHelicopteros13, source, false )
    setElementVisibleTo ( MarkerHelicopteros14, source, false )
    setElementVisibleTo ( BlipHelicopteros14, source, false )
    setElementVisibleTo ( MarkerHelicopteros15, source, false )
    setElementVisibleTo ( BlipHelicopteros15, source, false )
    setElementVisibleTo ( MarkerHelicopteros16, source, false )
    setElementVisibleTo ( BlipHelicopteros16, source, false )
    exports.Scripts_Dxmessages:outputDx(source, MsgHelicopteros07, "error")
    end
    end
    addEventHandler ( "onPlayerWasted", getRootElement(), MorrerAutoEscolaHelicopteros )

    function SairDoServidorAutoEscolaHelicopteros ( quitType )    
    if isElement( AutoEscolaHelicopteros[source] ) then
    destroyElement ( AutoEscolaHelicopteros[source] )
    end
    end
    addEventHandler ( "onPlayerQuit", getRootElement(), SairDoServidorAutoEscolaHelicopteros )

    --------------------------------------------------------------------------------

    -- ( Começo ) Percurso de Avioes

    AvioesRX, AvioesRY, AvioesRZ           = 390.00958, 2515.68384, 16.48438 -- Coordenadas de Respawn do Aviao
    AvioesRotA, AvioesRotB, AvioesRotC     = 0, 0, 90 -- Rotação do Veiculo ao Spawnar
    AvioesID                               = 593 -- ID do Aviao
    HabValorAvioes                         = 15000 -- Valor da Habilitação Categoria "Avioes"
    AvioesDanoParaReprovar                 = 950 -- 95%

    MsgAvioes01 = "Prova Iniciada, Siga-os Checkpoints Para Concluir o seu Objetivo!"
    MsgAvioes02 = "Você Não Tem Dinheiro Suficiente!"
    MsgAvioes03 = "Você Ja Possui Essa Habilitação!"
    MsgAvioes04 = "Você Reprovou no Teste, Evite Bater na Proxima Vez!"
    MsgAvioes05 = "Carteira de Habilitação Categoria 'Avioes' Concedida!"
    MsgAvioes06 = "Você Saiu do Veiculo, Por Esse Motivo o Teste foi Cancelado!"
    MsgAvioes07 = "Você Morreu, Por Esse Motivo o Teste foi Cancelado!"

    AvioesX01, AvioesY01, AvioesZ01 = 327.50638, 2512.08057, 16.56849
    AvioesX02, AvioesY02, AvioesZ02 = -27.39510, 2514.81250, 41.52960
    AvioesX03, AvioesY03, AvioesZ03 = -235.67519, 2590.04077, 87.09184
    AvioesX04, AvioesY04, AvioesZ04 = -403.73294, 2635.43262, 92.30322
    AvioesX05, AvioesY05, AvioesZ05 = -584.24835, 2685.85059, 91.69495
    AvioesX06, AvioesY06, AvioesZ06 = -767.21533, 2720.34180, 94.28947
    AvioesX07, AvioesY07, AvioesZ07 = -964.20673, 2691.60156, 83.17091
    AvioesX08, AvioesY08, AvioesZ08 = -991.19080, 2565.01172, 107.92737
    AvioesX09, AvioesY09, AvioesZ09 = -968.22424, 2412.37500, 106.02930
    AvioesX10, AvioesY10, AvioesZ10 = -938.10565, 2296.36255, 72.00851
    AvioesX11, AvioesY11, AvioesZ11 = -715.26495, 2211.76196, 85.63451
    AvioesX12, AvioesY12, AvioesZ12 = -430.74518, 2224.39038, 87.41293
    AvioesX13, AvioesY13, AvioesZ13 = -200.35358, 2237.01172, 80.83124
    AvioesX14, AvioesY14, AvioesZ14 = -24.59806, 2413.50269, 64.73052
    AvioesX15, AvioesY15, AvioesZ15 = 114.86245, 2467.75830, 41.54504
    AvioesX16, AvioesY16, AvioesZ16 = 318.45193, 2490.21558, 16.48438

    MarkerAvioes01 = createMarker ( AvioesX01, AvioesY01, AvioesZ01 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipAvioes01 = createBlipAttachedTo ( MarkerAvioes01, 0 )
    setElementVisibleTo ( MarkerAvioes01, root, false )
    setElementVisibleTo ( BlipAvioes01, root, false )

    MarkerAvioes02 = createMarker ( AvioesX02, AvioesY02, AvioesZ02 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipAvioes02 = createBlipAttachedTo ( MarkerAvioes02, 0 )
    setElementVisibleTo ( MarkerAvioes02, root, false )
    setElementVisibleTo ( BlipAvioes02, root, false )

    MarkerAvioes03 = createMarker ( AvioesX03, AvioesY03, AvioesZ03 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipAvioes03 = createBlipAttachedTo ( MarkerAvioes03, 0 )
    setElementVisibleTo ( MarkerAvioes03, root, false )
    setElementVisibleTo ( BlipAvioes03, root, false )

    MarkerAvioes04 = createMarker ( AvioesX04, AvioesY04, AvioesZ04 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipAvioes04 = createBlipAttachedTo ( MarkerAvioes04, 0 )
    setElementVisibleTo ( MarkerAvioes04, root, false )
    setElementVisibleTo ( BlipAvioes04, root, false )

    MarkerAvioes05 = createMarker ( AvioesX05, AvioesY05, AvioesZ05 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipAvioes05 = createBlipAttachedTo ( MarkerAvioes05, 0 )
    setElementVisibleTo ( MarkerAvioes05, root, false )
    setElementVisibleTo ( BlipAvioes05, root, false )

    MarkerAvioes06 = createMarker ( AvioesX06, AvioesY06, AvioesZ06 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipAvioes06 = createBlipAttachedTo ( MarkerAvioes06, 0 )
    setElementVisibleTo ( MarkerAvioes06, root, false )
    setElementVisibleTo ( BlipAvioes06, root, false )

    MarkerAvioes07 = createMarker ( AvioesX07, AvioesY07, AvioesZ07 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipAvioes07 = createBlipAttachedTo ( MarkerAvioes07, 0 )
    setElementVisibleTo ( MarkerAvioes07, root, false )
    setElementVisibleTo ( BlipAvioes07, root, false )

    MarkerAvioes08 = createMarker ( AvioesX08, AvioesY08, AvioesZ08 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipAvioes08 = createBlipAttachedTo ( MarkerAvioes08, 0 )
    setElementVisibleTo ( MarkerAvioes08, root, false )
    setElementVisibleTo ( BlipAvioes08, root, false )

    MarkerAvioes09 = createMarker ( AvioesX09, AvioesY09, AvioesZ09 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipAvioes09 = createBlipAttachedTo ( MarkerAvioes09, 0 )
    setElementVisibleTo ( MarkerAvioes09, root, false )
    setElementVisibleTo ( BlipAvioes09, root, false )

    MarkerAvioes10 = createMarker ( AvioesX10, AvioesY10, AvioesZ10 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipAvioes10 = createBlipAttachedTo ( MarkerAvioes10, 0 )
    setElementVisibleTo ( MarkerAvioes10, root, false )
    setElementVisibleTo ( BlipAvioes10, root, false )

    MarkerAvioes11 = createMarker ( AvioesX11, AvioesY11, AvioesZ11 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipAvioes11 = createBlipAttachedTo ( MarkerAvioes11, 0 )
    setElementVisibleTo ( MarkerAvioes11, root, false )
    setElementVisibleTo ( BlipAvioes11, root, false )

    MarkerAvioes12 = createMarker ( AvioesX12, AvioesY12, AvioesZ12 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipAvioes12 = createBlipAttachedTo ( MarkerAvioes12, 0 )
    setElementVisibleTo ( MarkerAvioes12, root, false )
    setElementVisibleTo ( BlipAvioes12, root, false )

    MarkerAvioes13 = createMarker ( AvioesX13, AvioesY13, AvioesZ13 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipAvioes13 = createBlipAttachedTo ( MarkerAvioes13, 0 )
    setElementVisibleTo ( MarkerAvioes13, root, false )
    setElementVisibleTo ( BlipAvioes13, root, false )

    MarkerAvioes14 = createMarker ( AvioesX14, AvioesY14, AvioesZ14 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipAvioes14 = createBlipAttachedTo ( MarkerAvioes14, 0 )
    setElementVisibleTo ( MarkerAvioes14, root, false )
    setElementVisibleTo ( BlipAvioes14, root, false )

    MarkerAvioes15 = createMarker ( AvioesX15, AvioesY15, AvioesZ15 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipAvioes15 = createBlipAttachedTo ( MarkerAvioes15, 0 )
    setElementVisibleTo ( MarkerAvioes15, root, false )
    setElementVisibleTo ( BlipAvioes15, root, false )

    MarkerAvioes16 = createMarker ( AvioesX16, AvioesY16, AvioesZ16 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipAvioes16 = createBlipAttachedTo ( MarkerAvioes16, 0 )
    setElementVisibleTo ( MarkerAvioes16, root, false )
    setElementVisibleTo ( BlipAvioes16, root, false )

    AutoEscolaAvioes = {}

    function AvioesHab(entrar)
    if (getElementData ( source, "PontosNacarteira" ) or 0) > 0 then
    exports.Scripts_Dxmessages:outputDx(source, MsgMultas, "error") return end
    if not getElementData(source, "Habilitacoes:Avioes" ) == true then
    if getPlayerMoney(source) >= HabValorAvioes then
    takePlayerMoney(source, HabValorAvioes)
    if AutoEscolaAvioes[source] and isElement( AutoEscolaAvioes[source] ) then destroyElement ( AutoEscolaAvioes[source] )
    AutoEscolaAvioes[source] = nil
    end
    setElementInterior ( source, 0 )
    setElementDimension ( source, 0 )
    triggerClientEvent ( source, "AirNew:FecharAutoEscola", root )
    AutoEscolaAvioes[source] = createVehicle( AvioesID, AvioesRX, AvioesRY, AvioesRZ )
    setElementRotation ( AutoEscolaAvioes[source], AvioesRotA, AvioesRotB, AvioesRotC )
    setVehicleLocked ( AutoEscolaAvioes[source], true )
    warpPedIntoVehicle ( source, AutoEscolaAvioes[source] )
    setCameraTarget ( source )
    setElementData ( source, "Carteira:StartAvioes00", true )
    setElementData ( source, "AirNew_TirandoCarta", "Sim" )
    setElementVisibleTo ( MarkerAvioes01, source, true )
    setElementVisibleTo ( BlipAvioes01, source, true )
    exports.Scripts_Dxmessages:outputDx(source, MsgAvioes01, "info")
    else
    exports.Scripts_Dxmessages:outputDx(source, MsgAvioes02, "error")
    end
    else
    exports.Scripts_Dxmessages:outputDx(source, MsgAvioes03, "warning")
    end
    end
    addEvent("Hab:Aviao", true)
    addEventHandler ( "Hab:Aviao", root, AvioesHab)

    function emarkerAvioes(marker,md) 
        if (md) then
          if AutoEscolaAvioes[source] and isElement( AutoEscolaAvioes[source] ) then
            if marker == MarkerAvioes01 then
            if getElementData( source, "Carteira:StartAvioes00", true ) then
            setElementVisibleTo ( MarkerAvioes01, source, false )
            setElementVisibleTo ( BlipAvioes01, source, false )
            setElementVisibleTo ( MarkerAvioes02, source, true )
            setElementVisibleTo ( BlipAvioes02, source, true )
            setElementData ( source, "Carteira:StartAvioes01", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartAvioes00", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerAvioes02 then
            if getElementData( source, "Carteira:StartAvioes01", true ) then
            setElementVisibleTo ( MarkerAvioes02, source, false )
            setElementVisibleTo ( BlipAvioes02, source, false )
            setElementVisibleTo ( MarkerAvioes03, source, true )
            setElementVisibleTo ( BlipAvioes03, source, true )
            setElementData ( source, "Carteira:StartAvioes02", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartAvioes01", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerAvioes03 then
            if getElementData( source, "Carteira:StartAvioes02", true ) then
            setElementVisibleTo ( MarkerAvioes03, source, false )
            setElementVisibleTo ( BlipAvioes03, source, false )
            setElementVisibleTo ( MarkerAvioes04, source, true )
            setElementVisibleTo ( BlipAvioes04, source, true )
            setElementData ( source, "Carteira:StartAvioes03", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartAvioes02", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerAvioes04 then
            if getElementData( source, "Carteira:StartAvioes03", true ) then
            setElementVisibleTo ( MarkerAvioes04, source, false )
            setElementVisibleTo ( BlipAvioes04, source, false )
            setElementVisibleTo ( MarkerAvioes05, source, true )
            setElementVisibleTo ( BlipAvioes05, source, true )
            setElementData ( source, "Carteira:StartAvioes04", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartAvioes03", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerAvioes05 then
            if getElementData( source, "Carteira:StartAvioes04", true ) then
            setElementVisibleTo ( MarkerAvioes05, source, false )
            setElementVisibleTo ( BlipAvioes05, source, false )
            setElementVisibleTo ( MarkerAvioes06, source, true )
            setElementVisibleTo ( BlipAvioes06, source, true )
            setElementData ( source, "Carteira:StartAvioes05", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartAvioes04", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerAvioes06 then
            if getElementData( source, "Carteira:StartAvioes05", true ) then
            setElementVisibleTo ( MarkerAvioes06, source, false )
            setElementVisibleTo ( BlipAvioes06, source, false )
            setElementVisibleTo ( MarkerAvioes07, source, true )
            setElementVisibleTo ( BlipAvioes07, source, true )
            setElementData ( source, "Carteira:StartAvioes06", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartAvioes05", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerAvioes07 then
            if getElementData( source, "Carteira:StartAvioes06", true ) then
            setElementVisibleTo ( MarkerAvioes07, source, false )
            setElementVisibleTo ( BlipAvioes07, source, false )
            setElementVisibleTo ( MarkerAvioes08, source, true )
            setElementVisibleTo ( BlipAvioes08, source, true )
            setElementData ( source, "Carteira:StartAvioes07", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartAvioes06", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerAvioes08 then
            if getElementData( source, "Carteira:StartAvioes07", true ) then
            setElementVisibleTo ( MarkerAvioes08, source, false )
            setElementVisibleTo ( BlipAvioes08, source, false )
            setElementVisibleTo ( MarkerAvioes09, source, true )
            setElementVisibleTo ( BlipAvioes09, source, true )
            setElementData ( source, "Carteira:StartAvioes08", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartAvioes07", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerAvioes09 then
            if getElementData( source, "Carteira:StartAvioes08", true ) then
            setElementVisibleTo ( MarkerAvioes09, source, false )
            setElementVisibleTo ( BlipAvioes09, source, false )
            setElementVisibleTo ( MarkerAvioes10, source, true )
            setElementVisibleTo ( BlipAvioes10, source, true )
            setElementData ( source, "Carteira:StartAvioes09", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartAvioes08", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerAvioes10 then
            if getElementData( source, "Carteira:StartAvioes09", true ) then
            setElementVisibleTo ( MarkerAvioes10, source, false )
            setElementVisibleTo ( BlipAvioes10, source, false )
            setElementVisibleTo ( MarkerAvioes11, source, true )
            setElementVisibleTo ( BlipAvioes11, source, true )
            setElementData ( source, "Carteira:StartAvioes10", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartAvioes09", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerAvioes11 then
            if getElementData( source, "Carteira:StartAvioes10", true ) then
            setElementVisibleTo ( MarkerAvioes11, source, false )
            setElementVisibleTo ( BlipAvioes11, source, false )
            setElementVisibleTo ( MarkerAvioes12, source, true )
            setElementVisibleTo ( BlipAvioes12, source, true )
            setElementData ( source, "Carteira:StartAvioes11", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartAvioes10", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerAvioes12 then
            if getElementData( source, "Carteira:StartAvioes11", true ) then
            setElementVisibleTo ( MarkerAvioes12, source, false )
            setElementVisibleTo ( BlipAvioes12, source, false )
            setElementVisibleTo ( MarkerAvioes13, source, true )
            setElementVisibleTo ( BlipAvioes13, source, true )
            setElementData ( source, "Carteira:StartAvioes12", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartAvioes11", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerAvioes13 then
            if getElementData( source, "Carteira:StartAvioes12", true ) then
            setElementVisibleTo ( MarkerAvioes13, source, false )
            setElementVisibleTo ( BlipAvioes13, source, false )
            setElementVisibleTo ( MarkerAvioes14, source, true )
            setElementVisibleTo ( BlipAvioes14, source, true )
            setElementData ( source, "Carteira:StartAvioes13", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartAvioes12", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerAvioes14 then
            if getElementData( source, "Carteira:StartAvioes13", true ) then
            setElementVisibleTo ( MarkerAvioes14, source, false )
            setElementVisibleTo ( BlipAvioes14, source, false )
            setElementVisibleTo ( MarkerAvioes15, source, true )
            setElementVisibleTo ( BlipAvioes15, source, true )
            setElementData ( source, "Carteira:StartAvioes14", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartAvioes13", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerAvioes15 then
            if getElementData( source, "Carteira:StartAvioes14", true ) then
            setElementVisibleTo ( MarkerAvioes15, source, false )
            setElementVisibleTo ( BlipAvioes15, source, false )
            setElementVisibleTo ( MarkerAvioes16, source, true )
            setElementVisibleTo ( BlipAvioes16, source, true )
            setElementData ( source, "Carteira:StartAvioes15", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartAvioes14", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerAvioes16 then
            if getElementData( source, "Carteira:StartAvioes15", true ) then
            AutoEscolaAvioesVida = getElementHealth ( AutoEscolaAvioes[source] )
            if AutoEscolaAvioesVida <= AvioesDanoParaReprovar then
            exports.Scripts_Dxmessages:outputDx(source, MsgAvioes04, "error")
            else
            setElementData( source, "Habilitacoes:Avioes", true)
            exports.Scripts_Dxmessages:outputDx(source, MsgAvioes05, "success")
            end
            setTimer ( setElementData, 50, 1, source, "Carteira:StartAvioes15", false )
            setElementVisibleTo ( MarkerAvioes16, source, false )
            setElementVisibleTo ( BlipAvioes16, source, false )
            setElementData ( source, "AirNew_TirandoCarta", "Não" )
            destroyElement ( AutoEscolaAvioes[source] )
            setTimer ( setElementInterior, 400, 1, source, 3 )
            setTimer ( setElementDimension, 400, 1, source, 10 )
            setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
            setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
            fadeCamera ( source, false, 0.1, 0, 0, 0 )   
            setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
            setTimer ( setCameraTarget, 600, 1, source )
            end
            end
          end 
        end    
    end
    addEventHandler("onPlayerMarkerHit",getRootElement(),emarkerAvioes)

    function SairDoVeiculoAutoEscolaAvioes (source)
    if ( AutoEscolaAvioes[source] ) and isElement( AutoEscolaAvioes[source] ) then
    setElementData ( source, "AirNew_TirandoCarta", "Não" )
    destroyElement ( AutoEscolaAvioes[source] )
    setElementData ( source, "Carteira:StartAvioes00", false )
    setElementData ( source, "Carteira:StartAvioes01", false )
    setElementData ( source, "Carteira:StartAvioes02", false )
    setElementData ( source, "Carteira:StartAvioes03", false )
    setElementData ( source, "Carteira:StartAvioes04", false )
    setElementData ( source, "Carteira:StartAvioes05", false )
    setElementData ( source, "Carteira:StartAvioes06", false )
    setElementData ( source, "Carteira:StartAvioes07", false )
    setElementData ( source, "Carteira:StartAvioes08", false )
    setElementData ( source, "Carteira:StartAvioes09", false )
    setElementData ( source, "Carteira:StartAvioes10", false )
    setElementData ( source, "Carteira:StartAvioes11", false )
    setElementData ( source, "Carteira:StartAvioes12", false )
    setElementData ( source, "Carteira:StartAvioes13", false )
    setElementData ( source, "Carteira:StartAvioes14", false )
    setElementData ( source, "Carteira:StartAvioes15", false )
    setElementVisibleTo ( MarkerAvioes01, source, false )
    setElementVisibleTo ( BlipAvioes01, source, false )
    setElementVisibleTo ( MarkerAvioes02, source, false )
    setElementVisibleTo ( BlipAvioes02, source, false )
    setElementVisibleTo ( MarkerAvioes03, source, false )
    setElementVisibleTo ( BlipAvioes03, source, false )
    setElementVisibleTo ( MarkerAvioes04, source, false )
    setElementVisibleTo ( BlipAvioes04, source, false )
    setElementVisibleTo ( MarkerAvioes05, source, false )
    setElementVisibleTo ( BlipAvioes05, source, false )
    setElementVisibleTo ( MarkerAvioes06, source, false )
    setElementVisibleTo ( BlipAvioes06, source, false )
    setElementVisibleTo ( MarkerAvioes07, source, false )
    setElementVisibleTo ( BlipAvioes07, source, false )
    setElementVisibleTo ( MarkerAvioes08, source, false )
    setElementVisibleTo ( BlipAvioes08, source, false )
    setElementVisibleTo ( MarkerAvioes09, source, false )
    setElementVisibleTo ( BlipAvioes09, source, false )
    setElementVisibleTo ( MarkerAvioes10, source, false )
    setElementVisibleTo ( BlipAvioes10, source, false )
    setElementVisibleTo ( MarkerAvioes11, source, false )
    setElementVisibleTo ( BlipAvioes11, source, false )
    setElementVisibleTo ( MarkerAvioes12, source, false )
    setElementVisibleTo ( BlipAvioes12, source, false )
    setElementVisibleTo ( MarkerAvioes13, source, false )
    setElementVisibleTo ( BlipAvioes13, source, false )
    setElementVisibleTo ( MarkerAvioes14, source, false )
    setElementVisibleTo ( BlipAvioes14, source, false )
    setElementVisibleTo ( MarkerAvioes15, source, false )
    setElementVisibleTo ( BlipAvioes15, source, false )
    setElementVisibleTo ( MarkerAvioes16, source, false )
    setElementVisibleTo ( BlipAvioes16, source, false )
    exports.Scripts_Dxmessages:outputDx(source, MsgAvioes06, "error")
    setTimer ( setElementInterior, 400, 1, source, 3 )
    setTimer ( setElementDimension, 400, 1, source, 10 )
    setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
    setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
    fadeCamera ( source, false, 0.1, 0, 0, 0 )   
    setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
    setTimer ( setCameraTarget, 600, 1, source )
    end
    end
    addEventHandler ( "onVehicleExit", getRootElement(), SairDoVeiculoAutoEscolaAvioes )

    function MorrerAutoEscolaAvioes ()
    if ( AutoEscolaAvioes[source] ) and isElement( AutoEscolaAvioes[source] ) then
    setElementData ( source, "AirNew_TirandoCarta", "Não" )
    destroyElement ( AutoEscolaAvioes[source] )
    setElementData ( source, "Carteira:StartAvioes00", false )
    setElementData ( source, "Carteira:StartAvioes01", false )
    setElementData ( source, "Carteira:StartAvioes02", false )
    setElementData ( source, "Carteira:StartAvioes03", false )
    setElementData ( source, "Carteira:StartAvioes04", false )
    setElementData ( source, "Carteira:StartAvioes05", false )
    setElementData ( source, "Carteira:StartAvioes06", false )
    setElementData ( source, "Carteira:StartAvioes07", false )
    setElementData ( source, "Carteira:StartAvioes08", false )
    setElementData ( source, "Carteira:StartAvioes09", false )
    setElementData ( source, "Carteira:StartAvioes10", false )
    setElementData ( source, "Carteira:StartAvioes11", false )
    setElementData ( source, "Carteira:StartAvioes12", false )
    setElementData ( source, "Carteira:StartAvioes13", false )
    setElementData ( source, "Carteira:StartAvioes14", false )
    setElementData ( source, "Carteira:StartAvioes15", false )
    setElementVisibleTo ( MarkerAvioes01, source, false )
    setElementVisibleTo ( BlipAvioes01, source, false )
    setElementVisibleTo ( MarkerAvioes02, source, false )
    setElementVisibleTo ( BlipAvioes02, source, false )
    setElementVisibleTo ( MarkerAvioes03, source, false )
    setElementVisibleTo ( BlipAvioes03, source, false )
    setElementVisibleTo ( MarkerAvioes04, source, false )
    setElementVisibleTo ( BlipAvioes04, source, false )
    setElementVisibleTo ( MarkerAvioes05, source, false )
    setElementVisibleTo ( BlipAvioes05, source, false )
    setElementVisibleTo ( MarkerAvioes06, source, false )
    setElementVisibleTo ( BlipAvioes06, source, false )
    setElementVisibleTo ( MarkerAvioes07, source, false )
    setElementVisibleTo ( BlipAvioes07, source, false )
    setElementVisibleTo ( MarkerAvioes08, source, false )
    setElementVisibleTo ( BlipAvioes08, source, false )
    setElementVisibleTo ( MarkerAvioes09, source, false )
    setElementVisibleTo ( BlipAvioes09, source, false )
    setElementVisibleTo ( MarkerAvioes10, source, false )
    setElementVisibleTo ( BlipAvioes10, source, false )
    setElementVisibleTo ( MarkerAvioes11, source, false )
    setElementVisibleTo ( BlipAvioes11, source, false )
    setElementVisibleTo ( MarkerAvioes12, source, false )
    setElementVisibleTo ( BlipAvioes12, source, false )
    setElementVisibleTo ( MarkerAvioes13, source, false )
    setElementVisibleTo ( BlipAvioes13, source, false )
    setElementVisibleTo ( MarkerAvioes14, source, false )
    setElementVisibleTo ( BlipAvioes14, source, false )
    setElementVisibleTo ( MarkerAvioes15, source, false )
    setElementVisibleTo ( BlipAvioes15, source, false )
    setElementVisibleTo ( MarkerAvioes16, source, false )
    setElementVisibleTo ( BlipAvioes16, source, false )
    exports.Scripts_Dxmessages:outputDx(source, MsgAvioes07, "error")
    end
    end
    addEventHandler ( "onPlayerWasted", getRootElement(), MorrerAutoEscolaAvioes )

    function SairDoServidorAutoEscolaAvioes ( quitType )    
    if isElement( AutoEscolaAvioes[source] ) then
    destroyElement ( AutoEscolaAvioes[source] )
    end
    end
    addEventHandler ( "onPlayerQuit", getRootElement(), SairDoServidorAutoEscolaAvioes )

    --------------------------------------------------------------------------------

    function SalvarDadosHab(conta)
        if conta then
        local source = getAccountPlayer(conta)
        local emp = getElementData(source,"Habilitacoes:Motos") or false
        setAccountData (conta, "Habilitacoes:Motos",emp)
        local emp = getElementData(source,"Habilitacoes:Carros") or false
        setAccountData (conta, "Habilitacoes:Carros",emp)
        local emp = getElementData(source,"Habilitacoes:Caminhoes") or false
        setAccountData (conta, "Habilitacoes:Caminhoes",emp)
        local emp = getElementData(source,"Habilitacoes:Onibus") or false
        setAccountData (conta, "Habilitacoes:Onibus",emp)
        local emp = getElementData(source,"Habilitacoes:Carretas") or false
        setAccountData (conta, "Habilitacoes:Carretas",emp)
        local emp = getElementData(source,"Habilitacoes:Barcos") or false
        setAccountData (conta, "Habilitacoes:Barcos",emp)
        local emp = getElementData(source,"Habilitacoes:Helicopteros") or false
        setAccountData (conta, "Habilitacoes:Helicopteros",emp)
        local emp = getElementData(source,"Habilitacoes:Avioes") or false
        setAccountData (conta, "Habilitacoes:Avioes",emp)
        local emp = getElementData ( source,"AirNew:AutoEscola") or false
        setAccountData (conta, "AirNew:AutoEscola", emp)
        end    
    end

    function CarregarDadosHab(conta)
        if not (isGuestAccount (conta)) then
            if (conta) then    
                local source = getAccountPlayer(conta)    
                local emp = getAccountData(conta,"Habilitacoes:Motos") or false
                setElementData (source, "Habilitacoes:Motos", emp)
                local emp = getAccountData(conta,"Habilitacoes:Carros") or false
                setElementData (source, "Habilitacoes:Carros", emp)
                local emp = getAccountData(conta,"Habilitacoes:Caminhoes") or false
                setElementData (source, "Habilitacoes:Caminhoes", emp)
                local emp = getAccountData(conta,"Habilitacoes:Onibus") or false
                setElementData (source, "Habilitacoes:Onibus", emp)
                local emp = getAccountData(conta,"Habilitacoes:Carretas") or false
                setElementData (source, "Habilitacoes:Carretas", emp)
                local emp = getAccountData(conta,"Habilitacoes:Barcos") or false
                setElementData (source, "Habilitacoes:Barcos", emp)
                local emp = getAccountData(conta,"Habilitacoes:Helicopteros") or false
                setElementData (source, "Habilitacoes:Helicopteros", emp)
                local emp = getAccountData(conta,"Habilitacoes:Avioes") or false
                setElementData (source, "Habilitacoes:Avioes", emp)
                local emp = getAccountData(conta,"AirNew:AutoEscola") or false
                setElementData (source, "AirNew:AutoEscola", emp)
            end
        end    
    end

    --------------------------------------------------------------------------------

    addEventHandler("onPlayerLogin", root,
      function( _, acc )
        setTimer(CarregarDadosHab,1000,1,acc)
      end
    )

    function startScript ( res )
        if res == getThisResource() then
            for i, player in ipairs(getElementsByType("player")) do
                local acc = getPlayerAccount(player)
                if not isGuestAccount(acc) then
                    CarregarDadosHab(acc)
                end
            end
        end
    end
    addEventHandler ( "onResourceStart", getRootElement(), startScript )

    function stopScript( res )
        if res == getThisResource() then
            for i, player in ipairs(getElementsByType("player")) do
                local acc = getPlayerAccount(player)
                if not isGuestAccount(acc) then
                    SalvarDadosHab(acc)
                end
            end
        end
    end 
    addEventHandler ( "onResourceStop", getRootElement(), stopScript )

    function sair ( quitType )
        local acc = getPlayerAccount(source)
        if not (isGuestAccount (acc)) then
            if acc then
                SalvarDadosHab(acc)
            end
        end
    end
    addEventHandler ( "onPlayerQuit", getRootElement(), sair )

    --------------------------------------------------------------------------------

    Infelizmente o Form não permite colocar o código em CODE, o mesmo é carregado e logo em seguida dá um erro, mas eu vou colocar em Spolier

    Eu fiz as alterações nas linhas como o DNL informou, porém o sistema não funciona, só a primeira alteração que deu certo, as demais não.. 

  3. 1 hour ago, DNL291 said:

    O erro ocorre sempre nesta verificação:

    
    if getElementData ( source, "PontosNacarteira" ) > 0 then
    

    Talvez isto corrija o aviso:

    
    if (getElementData ( source, "PontosNacarteira" ) or 0) > 0 then
    

     

    Olá! Olha na primeira linha a 253 deu certo(habilitação de moto), as outras deu algum problema, inclusive o sistema some.

  4. Pessoal, estou com esse erro, quando vou comprar a habilitação, o mesmo não permite, dizendo que está com erro "attempt to compare number with boolean" Alguém sabe como o que está errado?

    Sem-t-tulo.png

     

    já tentei de tudo... Se alguém souber o erro, estou deixando o código em baixo! 

     

    MUITO OBRIGADO!

    Código ?

    Spoiler
    Quote

    function reset ( source )
    setElementData ( source, "Habilitacoes:Motos", false )
    setElementData ( source, "Habilitacoes:Carros", false )
    setElementData ( source, "Habilitacoes:Caminhoes", false )
    setElementData ( source, "Habilitacoes:Onibus", false )
    setElementData ( source, "Habilitacoes:Carretas", false )
    setElementData ( source, "Habilitacoes:Barcos", false )
    setElementData ( source, "Habilitacoes:Helicopteros", false )
    setElementData ( source, "Habilitacoes:Avioes", false )
    end
    addCommandHandler ( "rs", reset )

    function reset2 ( source )
    setElementData ( source, "Habilitacoes:Motos", true )
    setElementData ( source, "Habilitacoes:Carros", true )
    setElementData ( source, "Habilitacoes:Caminhoes", true )
    setElementData ( source, "Habilitacoes:Onibus", true )
    setElementData ( source, "Habilitacoes:Carretas", true )
    setElementData ( source, "Habilitacoes:Barcos", true )
    setElementData ( source, "Habilitacoes:Helicopteros", true )
    setElementData ( source, "Habilitacoes:Avioes", true )
    end
    addCommandHandler ( "rs2", reset2 )

    --------------------------------------------------------------------------------

    -- Config Auto-Escola Geral

    Tamanho, R, G, B, Alpha = 1.2, 22, 86, 231, 150

    MarkerHab = createMarker( -2033.04480, -117.46468, 1035.17188 -1, "cylinder", Tamanho, 255, 0, 0, Alpha )
    setElementInterior ( MarkerHab, 3 )
    setElementDimension ( MarkerHab, 10 )

    SaidaAutoEscola = createMarker ( -2026.86194, -104.12791, 1035.17188 -1, "cylinder", Tamanho, R, G, B, Alpha )
    setElementInterior ( SaidaAutoEscola, 3 )
    setElementDimension ( SaidaAutoEscola, 10 )

    EntradaSF = createMarker ( -2026.62073, -101.46782, 35.16406 -1, "cylinder", Tamanho, R, G, B, Alpha )
    local EntradaSFBlip = createBlipAttachedTo ( EntradaSF, 36 )
    setBlipVisibleDistance ( EntradaSFBlip, 150)

    EntradaLV = createMarker ( 2634.10547, 1716.65076, 11.02344 -1, "cylinder", Tamanho, R, G, B, Alpha )
    local EntradaLVBlip = createBlipAttachedTo ( EntradaLV, 36 )
    setBlipVisibleDistance ( EntradaLVBlip, 150)

    EntradaLS = createMarker ( 1699.13550, -1667.85620, 20.19406 -1, "cylinder", Tamanho, R, G, B, Alpha )
    local EntradaLSBlip = createBlipAttachedTo ( EntradaLS, 36 )
    setBlipVisibleDistance ( EntradaLSBlip, 150)

    function emarker(marker,md) 
        if (md) then
            if marker == MarkerHab then
                triggerClientEvent (source, "AirNew:AbrirAutoEscola", root )
            end
            if marker == SaidaAutoEscola then
                setTimer ( setElementInterior, 400, 1, source, 0 )
                setTimer ( setElementDimension, 400, 1, source, 0 )
                
                if getElementData ( source, "AirNew:AutoEscola" ) == "SF" then
                setTimer ( setElementPosition, 400, 1, source, -2026.62073, -101.46782 +2, 35.16406 )
                setTimer ( setElementRotation, 600, 1, source, 0, 0, 0 )
                elseif getElementData ( source, "AirNew:AutoEscola" ) == "LV" then
                setTimer ( setElementPosition, 400, 1, source, 2634.10547 -2, 1716.65076, 11.02344 )
                setTimer ( setElementRotation, 600, 1, source, 0, 0, 0 )
                elseif getElementData ( source, "AirNew:AutoEscola" ) == "LS" then
                setTimer ( setElementPosition, 400, 1, source, 1699.13550 -2, -1667.85620, 20.19406 )
                setTimer ( setElementRotation, 600, 1, source, 0, 0, 90 )
                end
                fadeCamera ( source, false, 0.1, 0, 0, 0 )   
                setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
                setTimer ( setCameraTarget, 600, 1, source )
            end
            if marker == EntradaSF then
                setElementData ( source, "AirNew:AutoEscola", "SF" )
                setTimer ( setElementInterior, 400, 1, source, 3 )
                setTimer ( setElementDimension, 400, 1, source, 10 )
                setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
                setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
                fadeCamera ( source, false, 0.1, 0, 0, 0 )   
                setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
                setTimer ( setCameraTarget, 600, 1, source )
            end
            if marker == EntradaLV then
                setElementData ( source, "AirNew:AutoEscola", "LV" )
                setTimer ( setElementInterior, 400, 1, source, 3 )
                setTimer ( setElementDimension, 400, 1, source, 10 )
                setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
                setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
                fadeCamera ( source, false, 0.1, 0, 0, 0 )   
                setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
                setTimer ( setCameraTarget, 600, 1, source )
            end
            if marker == EntradaLS then
                setElementData ( source, "AirNew:AutoEscola", "LS" )
                setTimer ( setElementInterior, 400, 1, source, 3 )
                setTimer ( setElementDimension, 400, 1, source, 10 )
                setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
                setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
                fadeCamera ( source, false, 0.1, 0, 0, 0 )   
                setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
                setTimer ( setCameraTarget, 600, 1, source )
            end
        end    
    end
    addEventHandler("onPlayerMarkerHit",getRootElement(),emarker)

    function lmarker(marker,md)
        if (md) then
            if marker == MarkerHab then
                triggerClientEvent (source, "AirNew:FecharAutoEscola", root )
            end
        end
    end
    addEventHandler("onPlayerMarkerLeave",getRootElement(),lmarker)

    MsgMultas = "Pague Suas Multas no Detran (Letra D no Mapa) Para Poder Tirar Suas Habilitações!"

    --------------------------------------------------------------------------------

    -- ( Começo ) Percurso de Moto

    MotoRX, MotoRY, MotoRZ       = -2396.43237, -594.70099, 132.64844 -- Coordenadas de Respawn da Moto
    MotoRotA, MotoRotB, MotoRotC = 0, 0, 124.86428833008 -- Rotação do Veiculo ao Spawnar
    MotoID                       = 522 -- ID da Moto
    HabValorMoto                 = 800 -- Valor da Habilitação Categoria "Motos"
    MotosDanoParaReprovar        = 950 -- 95%

    MsgMoto01 = "Prova Iniciada, Siga-os Checkpoints Para Concluir o seu Objetivo!"
    MsgMoto02 = "Você Não Tem Dinheiro Suficiente!"
    MsgMoto03 = "Você Ja Possui Essa Habilitação!"
    MsgMoto04 = "Você Reprovou no Teste, Evite Bater na Proxima Vez!"
    MsgMoto05 = "Carteira de Habilitação Categoria 'Motos' Concedida!"
    MsgMoto06 = "Você Saiu do Veiculo, Por Esse Motivo o Teste foi Cancelado!"
    MsgMoto07 = "Você Morreu, Por Esse Motivo o Teste foi Cancelado!"

    MotoX01, MotoY01, MotoZ01 = -2422.07007, -605.07965, 132.56250
    MotoX02, MotoY02, MotoZ02 = -2445.08643, -561.66852, 127.07077
    MotoX03, MotoY03, MotoZ03 = -2483.30347, -478.62625, 97.87623
    MotoX04, MotoY04, MotoZ04 = -2560.02051, -488.40961, 78.45337
    MotoX05, MotoY05, MotoZ05 = -2625.70630, -488.14209, 69.72830
    MotoX06, MotoY06, MotoZ06 = -2534.92261, -466.62216, 70.20143
    MotoX07, MotoY07, MotoZ07 = -2439.25806, -422.37332, 85.08891
    MotoX08, MotoY08, MotoZ08 = -2375.37891, -438.73767, 81.99551
    MotoX09, MotoY09, MotoZ09 = -2317.64746, -440.15088, 79.54469
    MotoX10, MotoY10, MotoZ10 = -2403.41187, -369.33237, 74.28725
    MotoX11, MotoY11, MotoZ11 = -2597.68823, -368.77106, 44.60019
    MotoX12, MotoY12, MotoZ12 = -2680.39307, -440.12732, 30.35506
    MotoX13, MotoY13, MotoZ13 = -2716.07153, -526.10675, 9.80222
    MotoX14, MotoY14, MotoZ14 = -2812.60352, -461.69827, 7.03906
    MotoX15, MotoY15, MotoZ15 = -2803.00708, -331.57635, 7.03906
    MotoX16, MotoY16, MotoZ16 = -2785.26929, -311.93359, 7.03906

    MarkerMoto01 = createMarker ( MotoX01, MotoY01, MotoZ01 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipMoto01 = createBlipAttachedTo ( MarkerMoto01, 0 )
    setElementVisibleTo ( MarkerMoto01, root, false )
    setElementVisibleTo ( BlipMoto01, root, false )

    MarkerMoto02 = createMarker ( MotoX02, MotoY02, MotoZ02 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipMoto02 = createBlipAttachedTo ( MarkerMoto02, 0 )
    setElementVisibleTo ( MarkerMoto02, root, false )
    setElementVisibleTo ( BlipMoto02, root, false )

    MarkerMoto03 = createMarker ( MotoX03, MotoY03, MotoZ03 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipMoto03 = createBlipAttachedTo ( MarkerMoto03, 0 )
    setElementVisibleTo ( MarkerMoto03, root, false )
    setElementVisibleTo ( BlipMoto03, root, false )

    MarkerMoto04 = createMarker ( MotoX04, MotoY04, MotoZ04 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipMoto04 = createBlipAttachedTo ( MarkerMoto04, 0 )
    setElementVisibleTo ( MarkerMoto04, root, false )
    setElementVisibleTo ( BlipMoto04, root, false )

    MarkerMoto05 = createMarker ( MotoX05, MotoY05, MotoZ05 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipMoto05 = createBlipAttachedTo ( MarkerMoto05, 0 )
    setElementVisibleTo ( MarkerMoto05, root, false )
    setElementVisibleTo ( BlipMoto05, root, false )

    MarkerMoto06 = createMarker ( MotoX06, MotoY06, MotoZ06 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipMoto06 = createBlipAttachedTo ( MarkerMoto06, 0 )
    setElementVisibleTo ( MarkerMoto06, root, false )
    setElementVisibleTo ( BlipMoto06, root, false )

    MarkerMoto07 = createMarker ( MotoX07, MotoY07, MotoZ07 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipMoto07 = createBlipAttachedTo ( MarkerMoto07, 0 )
    setElementVisibleTo ( MarkerMoto07, root, false )
    setElementVisibleTo ( BlipMoto07, root, false )

    MarkerMoto08 = createMarker ( MotoX08, MotoY08, MotoZ08 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipMoto08 = createBlipAttachedTo ( MarkerMoto08, 0 )
    setElementVisibleTo ( MarkerMoto08, root, false )
    setElementVisibleTo ( BlipMoto08, root, false )

    MarkerMoto09 = createMarker ( MotoX09, MotoY09, MotoZ09 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipMoto09 = createBlipAttachedTo ( MarkerMoto09, 0 )
    setElementVisibleTo ( MarkerMoto09, root, false )
    setElementVisibleTo ( BlipMoto09, root, false )

    MarkerMoto10 = createMarker ( MotoX10, MotoY10, MotoZ10 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipMoto10 = createBlipAttachedTo ( MarkerMoto10, 0 )
    setElementVisibleTo ( MarkerMoto10, root, false )
    setElementVisibleTo ( BlipMoto10, root, false )

    MarkerMoto11 = createMarker ( MotoX11, MotoY11, MotoZ11 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipMoto11 = createBlipAttachedTo ( MarkerMoto11, 0 )
    setElementVisibleTo ( MarkerMoto11, root, false )
    setElementVisibleTo ( BlipMoto11, root, false )

    MarkerMoto12 = createMarker ( MotoX12, MotoY12, MotoZ12 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipMoto12 = createBlipAttachedTo ( MarkerMoto12, 0 )
    setElementVisibleTo ( MarkerMoto12, root, false )
    setElementVisibleTo ( BlipMoto12, root, false )

    MarkerMoto13 = createMarker ( MotoX13, MotoY13, MotoZ13 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipMoto13 = createBlipAttachedTo ( MarkerMoto13, 0 )
    setElementVisibleTo ( MarkerMoto13, root, false )
    setElementVisibleTo ( BlipMoto13, root, false )

    MarkerMoto14 = createMarker ( MotoX14, MotoY14, MotoZ14 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipMoto14 = createBlipAttachedTo ( MarkerMoto14, 0 )
    setElementVisibleTo ( MarkerMoto14, root, false )
    setElementVisibleTo ( BlipMoto14, root, false )

    MarkerMoto15 = createMarker ( MotoX15, MotoY15, MotoZ15 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipMoto15 = createBlipAttachedTo ( MarkerMoto15, 0 )
    setElementVisibleTo ( MarkerMoto15, root, false )
    setElementVisibleTo ( BlipMoto15, root, false )

    MarkerMoto16 = createMarker ( MotoX16, MotoY16, MotoZ16 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipMoto16 = createBlipAttachedTo ( MarkerMoto16, 0 )
    setElementVisibleTo ( MarkerMoto16, root, false )
    setElementVisibleTo ( BlipMoto16, root, false )

    AutoEscolaMoto = {}

    function MotosHab(entrar)
    if getElementData ( source, "PontosNacarteira" ) > 0 then
    exports.Scripts_Dxmessages:outputDx(source, MsgMultas, "error") return end
    if not getElementData(source, "Habilitacoes:Motos" ) == true then
    if getPlayerMoney(source) >= HabValorMoto then
    takePlayerMoney(source, HabValorMoto)
    if AutoEscolaMoto[source] and isElement( AutoEscolaMoto[source] ) then destroyElement ( AutoEscolaMoto[source] )
    AutoEscolaMoto[source] = nil
    end
    setElementInterior ( source, 0 )
    setElementDimension ( source, 0 )
    triggerClientEvent ( source, "AirNew:FecharAutoEscola", root )
    AutoEscolaMoto[source] = createVehicle( MotoID, MotoRX, MotoRY, MotoRZ )
    setElementRotation ( AutoEscolaMoto[source], MotoRotA, MotoRotB, MotoRotC )
    setVehicleLocked ( AutoEscolaMoto[source], true )
    warpPedIntoVehicle ( source, AutoEscolaMoto[source] )
    setCameraTarget ( source )
    setElementData ( source, "Carteira:StartMoto00", true )
    setElementData ( source, "AirNew_TirandoCarta", "Sim" )
    setElementVisibleTo ( MarkerMoto01, source, true )
    setElementVisibleTo ( BlipMoto01, source, true )
    exports.Scripts_Dxmessages:outputDx(source, MsgMoto01, "info")
    else
    exports.Scripts_Dxmessages:outputDx(source, MsgMoto02, "error")
    end
    else
    exports.Scripts_Dxmessages:outputDx(source, MsgMoto03, "warning")
    end
    end
    addEvent("Hab:Moto", true)
    addEventHandler ( "Hab:Moto", root, MotosHab)

    function emarkerMotos(marker,md) 
        if (md) then
          if AutoEscolaMoto[source] and isElement( AutoEscolaMoto[source] ) then
            if marker == MarkerMoto01 then
            if getElementData( source, "Carteira:StartMoto00", true ) then
            setElementVisibleTo ( MarkerMoto01, source, false )
            setElementVisibleTo ( BlipMoto01, source, false )
            setElementVisibleTo ( MarkerMoto02, source, true )
            setElementVisibleTo ( BlipMoto02, source, true )
            setElementData ( source, "Carteira:StartMoto01", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartMoto00", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerMoto02 then
            if getElementData( source, "Carteira:StartMoto01", true ) then
            setElementVisibleTo ( MarkerMoto02, source, false )
            setElementVisibleTo ( BlipMoto02, source, false )
            setElementVisibleTo ( MarkerMoto03, source, true )
            setElementVisibleTo ( BlipMoto03, source, true )
            setElementData ( source, "Carteira:StartMoto02", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartMoto01", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerMoto03 then
            if getElementData( source, "Carteira:StartMoto02", true ) then
            setElementVisibleTo ( MarkerMoto03, source, false )
            setElementVisibleTo ( BlipMoto03, source, false )
            setElementVisibleTo ( MarkerMoto04, source, true )
            setElementVisibleTo ( BlipMoto04, source, true )
            setElementData ( source, "Carteira:StartMoto03", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartMoto02", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerMoto04 then
            if getElementData( source, "Carteira:StartMoto03", true ) then
            setElementVisibleTo ( MarkerMoto04, source, false )
            setElementVisibleTo ( BlipMoto04, source, false )
            setElementVisibleTo ( MarkerMoto05, source, true )
            setElementVisibleTo ( BlipMoto05, source, true )
            setElementData ( source, "Carteira:StartMoto04", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartMoto03", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerMoto05 then
            if getElementData( source, "Carteira:StartMoto04", true ) then
            setElementVisibleTo ( MarkerMoto05, source, false )
            setElementVisibleTo ( BlipMoto05, source, false )
            setElementVisibleTo ( MarkerMoto06, source, true )
            setElementVisibleTo ( BlipMoto06, source, true )
            setElementData ( source, "Carteira:StartMoto05", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartMoto04", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerMoto06 then
            if getElementData( source, "Carteira:StartMoto05", true ) then
            setElementVisibleTo ( MarkerMoto06, source, false )
            setElementVisibleTo ( BlipMoto06, source, false )
            setElementVisibleTo ( MarkerMoto07, source, true )
            setElementVisibleTo ( BlipMoto07, source, true )
            setElementData ( source, "Carteira:StartMoto06", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartMoto05", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerMoto07 then
            if getElementData( source, "Carteira:StartMoto06", true ) then
            setElementVisibleTo ( MarkerMoto07, source, false )
            setElementVisibleTo ( BlipMoto07, source, false )
            setElementVisibleTo ( MarkerMoto08, source, true )
            setElementVisibleTo ( BlipMoto08, source, true )
            setElementData ( source, "Carteira:StartMoto07", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartMoto06", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerMoto08 then
            if getElementData( source, "Carteira:StartMoto07", true ) then
            setElementVisibleTo ( MarkerMoto08, source, false )
            setElementVisibleTo ( BlipMoto08, source, false )
            setElementVisibleTo ( MarkerMoto09, source, true )
            setElementVisibleTo ( BlipMoto09, source, true )
            setElementData ( source, "Carteira:StartMoto08", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartMoto07", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerMoto09 then
            if getElementData( source, "Carteira:StartMoto08", true ) then
            setElementVisibleTo ( MarkerMoto09, source, false )
            setElementVisibleTo ( BlipMoto09, source, false )
            setElementVisibleTo ( MarkerMoto10, source, true )
            setElementVisibleTo ( BlipMoto10, source, true )
            setElementData ( source, "Carteira:StartMoto09", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartMoto08", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerMoto10 then
            if getElementData( source, "Carteira:StartMoto09", true ) then
            setElementVisibleTo ( MarkerMoto10, source, false )
            setElementVisibleTo ( BlipMoto10, source, false )
            setElementVisibleTo ( MarkerMoto11, source, true )
            setElementVisibleTo ( BlipMoto11, source, true )
            setElementData ( source, "Carteira:StartMoto10", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartMoto09", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerMoto11 then
            if getElementData( source, "Carteira:StartMoto10", true ) then
            setElementVisibleTo ( MarkerMoto11, source, false )
            setElementVisibleTo ( BlipMoto11, source, false )
            setElementVisibleTo ( MarkerMoto12, source, true )
            setElementVisibleTo ( BlipMoto12, source, true )
            setElementData ( source, "Carteira:StartMoto11", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartMoto10", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerMoto12 then
            if getElementData( source, "Carteira:StartMoto11", true ) then
            setElementVisibleTo ( MarkerMoto12, source, false )
            setElementVisibleTo ( BlipMoto12, source, false )
            setElementVisibleTo ( MarkerMoto13, source, true )
            setElementVisibleTo ( BlipMoto13, source, true )
            setElementData ( source, "Carteira:StartMoto12", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartMoto11", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerMoto13 then
            if getElementData( source, "Carteira:StartMoto12", true ) then
            setElementVisibleTo ( MarkerMoto13, source, false )
            setElementVisibleTo ( BlipMoto13, source, false )
            setElementVisibleTo ( MarkerMoto14, source, true )
            setElementVisibleTo ( BlipMoto14, source, true )
            setElementData ( source, "Carteira:StartMoto13", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartMoto12", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerMoto14 then
            if getElementData( source, "Carteira:StartMoto13", true ) then
            setElementVisibleTo ( MarkerMoto14, source, false )
            setElementVisibleTo ( BlipMoto14, source, false )
            setElementVisibleTo ( MarkerMoto15, source, true )
            setElementVisibleTo ( BlipMoto15, source, true )
            setElementData ( source, "Carteira:StartMoto14", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartMoto13", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerMoto15 then
            if getElementData( source, "Carteira:StartMoto14", true ) then
            setElementVisibleTo ( MarkerMoto15, source, false )
            setElementVisibleTo ( BlipMoto15, source, false )
            setElementVisibleTo ( MarkerMoto16, source, true )
            setElementVisibleTo ( BlipMoto16, source, true )
            setElementData ( source, "Carteira:StartMoto15", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartMoto14", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerMoto16 then
            if getElementData( source, "Carteira:StartMoto15", true ) then
            AutoEscolaMotoVida = getElementHealth ( AutoEscolaMoto[source] )
            if AutoEscolaMotoVida <= MotosDanoParaReprovar then
            exports.Scripts_Dxmessages:outputDx(source, MsgMoto04, "error")
            else
            setElementData( source, "Habilitacoes:Motos", true)
            exports.Scripts_Dxmessages:outputDx(source, MsgMoto05, "success")
            end
            setTimer ( setElementData, 50, 1, source, "Carteira:StartMoto15", false )
            setElementVisibleTo ( MarkerMoto16, source, false )
            setElementVisibleTo ( BlipMoto16, source, false )
            setElementData ( source, "AirNew_TirandoCarta", "Não" )
            destroyElement ( AutoEscolaMoto[source] )
            setTimer ( setElementInterior, 400, 1, source, 3 )
            setTimer ( setElementDimension, 400, 1, source, 10 )
            setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
            setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
            fadeCamera ( source, false, 0.1, 0, 0, 0 )   
            setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
            setTimer ( setCameraTarget, 600, 1, source )
            end
            end
          end 
        end    
    end
    addEventHandler("onPlayerMarkerHit",getRootElement(),emarkerMotos)

    function SairDoVeiculoAutoEscolaMoto (source)
    if ( AutoEscolaMoto[source] ) and isElement( AutoEscolaMoto[source] ) then
    setElementData ( source, "AirNew_TirandoCarta", "Não" )
    destroyElement ( AutoEscolaMoto[source] )
    setElementData ( source, "Carteira:StartMoto00", false )
    setElementData ( source, "Carteira:StartMoto01", false )
    setElementData ( source, "Carteira:StartMoto02", false )
    setElementData ( source, "Carteira:StartMoto03", false )
    setElementData ( source, "Carteira:StartMoto04", false )
    setElementData ( source, "Carteira:StartMoto05", false )
    setElementData ( source, "Carteira:StartMoto06", false )
    setElementData ( source, "Carteira:StartMoto07", false )
    setElementData ( source, "Carteira:StartMoto08", false )
    setElementData ( source, "Carteira:StartMoto09", false )
    setElementData ( source, "Carteira:StartMoto10", false )
    setElementData ( source, "Carteira:StartMoto11", false )
    setElementData ( source, "Carteira:StartMoto12", false )
    setElementData ( source, "Carteira:StartMoto13", false )
    setElementData ( source, "Carteira:StartMoto14", false )
    setElementData ( source, "Carteira:StartMoto15", false )
    setElementVisibleTo ( MarkerMoto01, source, false )
    setElementVisibleTo ( BlipMoto01, source, false )
    setElementVisibleTo ( MarkerMoto02, source, false )
    setElementVisibleTo ( BlipMoto02, source, false )
    setElementVisibleTo ( MarkerMoto03, source, false )
    setElementVisibleTo ( BlipMoto03, source, false )
    setElementVisibleTo ( MarkerMoto04, source, false )
    setElementVisibleTo ( BlipMoto04, source, false )
    setElementVisibleTo ( MarkerMoto05, source, false )
    setElementVisibleTo ( BlipMoto05, source, false )
    setElementVisibleTo ( MarkerMoto06, source, false )
    setElementVisibleTo ( BlipMoto06, source, false )
    setElementVisibleTo ( MarkerMoto07, source, false )
    setElementVisibleTo ( BlipMoto07, source, false )
    setElementVisibleTo ( MarkerMoto08, source, false )
    setElementVisibleTo ( BlipMoto08, source, false )
    setElementVisibleTo ( MarkerMoto09, source, false )
    setElementVisibleTo ( BlipMoto09, source, false )
    setElementVisibleTo ( MarkerMoto10, source, false )
    setElementVisibleTo ( BlipMoto10, source, false )
    setElementVisibleTo ( MarkerMoto11, source, false )
    setElementVisibleTo ( BlipMoto11, source, false )
    setElementVisibleTo ( MarkerMoto12, source, false )
    setElementVisibleTo ( BlipMoto12, source, false )
    setElementVisibleTo ( MarkerMoto13, source, false )
    setElementVisibleTo ( BlipMoto13, source, false )
    setElementVisibleTo ( MarkerMoto14, source, false )
    setElementVisibleTo ( BlipMoto14, source, false )
    setElementVisibleTo ( MarkerMoto15, source, false )
    setElementVisibleTo ( BlipMoto15, source, false )
    setElementVisibleTo ( MarkerMoto16, source, false )
    setElementVisibleTo ( BlipMoto16, source, false )
    exports.Scripts_Dxmessages:outputDx(source, MsgMoto06, "error")
    setTimer ( setElementInterior, 400, 1, source, 3 )
    setTimer ( setElementDimension, 400, 1, source, 10 )
    setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
    setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
    fadeCamera ( source, false, 0.1, 0, 0, 0 )   
    setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
    setTimer ( setCameraTarget, 600, 1, source )
    end
    end
    addEventHandler ( "onVehicleExit", getRootElement(), SairDoVeiculoAutoEscolaMoto )

    function MorrerAutoEscolaMoto ()
    if ( AutoEscolaMoto[source] ) and isElement( AutoEscolaMoto[source] ) then
    setElementData ( source, "AirNew_TirandoCarta", "Não" )
    destroyElement ( AutoEscolaMoto[source] )
    setElementData ( source, "Carteira:StartMoto00", false )
    setElementData ( source, "Carteira:StartMoto01", false )
    setElementData ( source, "Carteira:StartMoto02", false )
    setElementData ( source, "Carteira:StartMoto03", false )
    setElementData ( source, "Carteira:StartMoto04", false )
    setElementData ( source, "Carteira:StartMoto05", false )
    setElementData ( source, "Carteira:StartMoto06", false )
    setElementData ( source, "Carteira:StartMoto07", false )
    setElementData ( source, "Carteira:StartMoto08", false )
    setElementData ( source, "Carteira:StartMoto09", false )
    setElementData ( source, "Carteira:StartMoto10", false )
    setElementData ( source, "Carteira:StartMoto11", false )
    setElementData ( source, "Carteira:StartMoto12", false )
    setElementData ( source, "Carteira:StartMoto13", false )
    setElementData ( source, "Carteira:StartMoto14", false )
    setElementData ( source, "Carteira:StartMoto15", false )
    setElementVisibleTo ( MarkerMoto01, source, false )
    setElementVisibleTo ( BlipMoto01, source, false )
    setElementVisibleTo ( MarkerMoto02, source, false )
    setElementVisibleTo ( BlipMoto02, source, false )
    setElementVisibleTo ( MarkerMoto03, source, false )
    setElementVisibleTo ( BlipMoto03, source, false )
    setElementVisibleTo ( MarkerMoto04, source, false )
    setElementVisibleTo ( BlipMoto04, source, false )
    setElementVisibleTo ( MarkerMoto05, source, false )
    setElementVisibleTo ( BlipMoto05, source, false )
    setElementVisibleTo ( MarkerMoto06, source, false )
    setElementVisibleTo ( BlipMoto06, source, false )
    setElementVisibleTo ( MarkerMoto07, source, false )
    setElementVisibleTo ( BlipMoto07, source, false )
    setElementVisibleTo ( MarkerMoto08, source, false )
    setElementVisibleTo ( BlipMoto08, source, false )
    setElementVisibleTo ( MarkerMoto09, source, false )
    setElementVisibleTo ( BlipMoto09, source, false )
    setElementVisibleTo ( MarkerMoto10, source, false )
    setElementVisibleTo ( BlipMoto10, source, false )
    setElementVisibleTo ( MarkerMoto11, source, false )
    setElementVisibleTo ( BlipMoto11, source, false )
    setElementVisibleTo ( MarkerMoto12, source, false )
    setElementVisibleTo ( BlipMoto12, source, false )
    setElementVisibleTo ( MarkerMoto13, source, false )
    setElementVisibleTo ( BlipMoto13, source, false )
    setElementVisibleTo ( MarkerMoto14, source, false )
    setElementVisibleTo ( BlipMoto14, source, false )
    setElementVisibleTo ( MarkerMoto15, source, false )
    setElementVisibleTo ( BlipMoto15, source, false )
    setElementVisibleTo ( MarkerMoto16, source, false )
    setElementVisibleTo ( BlipMoto16, source, false )
    exports.Scripts_Dxmessages:outputDx(source, MsgMoto07, "error")
    end
    end
    addEventHandler ( "onPlayerWasted", getRootElement(), MorrerAutoEscolaMoto )

    function SairDoServidorAutoEscolaMoto ( quitType )    
    if isElement( AutoEscolaMoto[source] ) then
    destroyElement ( AutoEscolaMoto[source] )
    end
    end
    addEventHandler ( "onPlayerQuit", getRootElement(), SairDoServidorAutoEscolaMoto )

    -- ( Final ) Percurso de Moto

    --------------------------------------------------------------------------------

    -- ( Começo ) Percurso de Carro

    CarroRX, CarroRY, CarroRZ       = -270.44916, 1547.39783, 75.35938 -- Coordenadas de Respawn do Carro
    CarroRotA, CarroRotB, CarroRotC = 0, 0, 135.25268554688 -- Rotação do Veiculo ao Spawnar
    CarroID                         = 516 -- ID do Carro
    HabValorCarro                   = 1000 -- Valor da Habilitação Categoria "Carros"
    CarrosDanoParaReprovar          = 950 -- 95%

    MsgCarro01 = "Prova Iniciada, Siga-os Checkpoints Para Concluir o seu Objetivo!"
    MsgCarro02 = "Você Não Tem Dinheiro Suficiente!"
    MsgCarro03 = "Você Ja Possui Essa Habilitação!"
    MsgCarro04 = "Você Reprovou no Teste, Evite Bater na Proxima Vez!"
    MsgCarro05 = "Carteira de Habilitação Categoria 'Carros' Concedida!"
    MsgCarro06 = "Você Saiu do Veiculo, Por Esse Motivo o Teste foi Cancelado!"
    MsgCarro07 = "Você Morreu, Por Esse Motivo o Teste foi Cancelado!"

    CarroX01, CarroY01, CarroZ01 = -304.31372, 1497.35303, 75.67019
    CarroX02, CarroY02, CarroZ02 = -297.91571, 1412.75647, 72.31325
    CarroX03, CarroY03, CarroZ03 = -358.71982, 1398.42810, 58.37130
    CarroX04, CarroY04, CarroZ04 = -383.39719, 1397.47485, 42.07113
    CarroX05, CarroY05, CarroZ05 = -453.04425, 1579.76025, 36.17015
    CarroX06, CarroY06, CarroZ06 = -403.00198, 1714.00647, 40.57639
    CarroX07, CarroY07, CarroZ07 = -388.58905, 1880.69397, 55.31573
    CarroX08, CarroY08, CarroZ08 = -429.19666, 1818.11926, 67.87206
    CarroX09, CarroY09, CarroZ09 = -468.87231, 1869.95264, 82.43024
    CarroX10, CarroY10, CarroZ10 = -397.42804, 2034.05908, 65.20287
    CarroX11, CarroY11, CarroZ11 = -458.04187, 2028.86401, 60.53470
    CarroX12, CarroY12, CarroZ12 = -541.70868, 2008.56213, 60.21884
    CarroX13, CarroY13, CarroZ13 = -652.17749, 2064.89575, 60.21832
    CarroX14, CarroY14, CarroZ14 = -757.40155, 2064.42749, 60.22342
    CarroX15, CarroY15, CarroZ15 = -851.88013, 2019.84998, 60.22160
    CarroX16, CarroY16, CarroZ16 = -912.48688, 2008.76563, 60.94514

    MarkerCarro01 = createMarker ( CarroX01, CarroY01, CarroZ01 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro01 = createBlipAttachedTo ( MarkerCarro01, 0 )
    setElementVisibleTo ( MarkerCarro01, root, false )
    setElementVisibleTo ( BlipCarro01, root, false )

    MarkerCarro02 = createMarker ( CarroX02, CarroY02, CarroZ02 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro02 = createBlipAttachedTo ( MarkerCarro02, 0 )
    setElementVisibleTo ( MarkerCarro02, root, false )
    setElementVisibleTo ( BlipCarro02, root, false )

    MarkerCarro03 = createMarker ( CarroX03, CarroY03, CarroZ03 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro03 = createBlipAttachedTo ( MarkerCarro03, 0 )
    setElementVisibleTo ( MarkerCarro03, root, false )
    setElementVisibleTo ( BlipCarro03, root, false )

    MarkerCarro04 = createMarker ( CarroX04, CarroY04, CarroZ04 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro04 = createBlipAttachedTo ( MarkerCarro04, 0 )
    setElementVisibleTo ( MarkerCarro04, root, false )
    setElementVisibleTo ( BlipCarro04, root, false )

    MarkerCarro05 = createMarker ( CarroX05, CarroY05, CarroZ05 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro05 = createBlipAttachedTo ( MarkerCarro05, 0 )
    setElementVisibleTo ( MarkerCarro05, root, false )
    setElementVisibleTo ( BlipCarro05, root, false )

    MarkerCarro06 = createMarker ( CarroX06, CarroY06, CarroZ06 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro06 = createBlipAttachedTo ( MarkerCarro06, 0 )
    setElementVisibleTo ( MarkerCarro06, root, false )
    setElementVisibleTo ( BlipCarro06, root, false )

    MarkerCarro07 = createMarker ( CarroX07, CarroY07, CarroZ07 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro07 = createBlipAttachedTo ( MarkerCarro07, 0 )
    setElementVisibleTo ( MarkerCarro07, root, false )
    setElementVisibleTo ( BlipCarro07, root, false )

    MarkerCarro08 = createMarker ( CarroX08, CarroY08, CarroZ08 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro08 = createBlipAttachedTo ( MarkerCarro08, 0 )
    setElementVisibleTo ( MarkerCarro08, root, false )
    setElementVisibleTo ( BlipCarro08, root, false )

    MarkerCarro09 = createMarker ( CarroX09, CarroY09, CarroZ09 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro09 = createBlipAttachedTo ( MarkerCarro09, 0 )
    setElementVisibleTo ( MarkerCarro09, root, false )
    setElementVisibleTo ( BlipCarro09, root, false )

    MarkerCarro10 = createMarker ( CarroX10, CarroY10, CarroZ10 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro10 = createBlipAttachedTo ( MarkerCarro10, 0 )
    setElementVisibleTo ( MarkerCarro10, root, false )
    setElementVisibleTo ( BlipCarro10, root, false )

    MarkerCarro11 = createMarker ( CarroX11, CarroY11, CarroZ11 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro11 = createBlipAttachedTo ( MarkerCarro11, 0 )
    setElementVisibleTo ( MarkerCarro11, root, false )
    setElementVisibleTo ( BlipCarro11, root, false )

    MarkerCarro12 = createMarker ( CarroX12, CarroY12, CarroZ12 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro12 = createBlipAttachedTo ( MarkerCarro12, 0 )
    setElementVisibleTo ( MarkerCarro12, root, false )
    setElementVisibleTo ( BlipCarro12, root, false )

    MarkerCarro13 = createMarker ( CarroX13, CarroY13, CarroZ13 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro13 = createBlipAttachedTo ( MarkerCarro13, 0 )
    setElementVisibleTo ( MarkerCarro13, root, false )
    setElementVisibleTo ( BlipCarro13, root, false )

    MarkerCarro14 = createMarker ( CarroX14, CarroY14, CarroZ14 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro14 = createBlipAttachedTo ( MarkerCarro14, 0 )
    setElementVisibleTo ( MarkerCarro14, root, false )
    setElementVisibleTo ( BlipCarro14, root, false )

    MarkerCarro15 = createMarker ( CarroX15, CarroY15, CarroZ15 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro15 = createBlipAttachedTo ( MarkerCarro15, 0 )
    setElementVisibleTo ( MarkerCarro15, root, false )
    setElementVisibleTo ( BlipCarro15, root, false )

    MarkerCarro16 = createMarker ( CarroX16, CarroY16, CarroZ16 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarro16 = createBlipAttachedTo ( MarkerCarro16, 0 )
    setElementVisibleTo ( MarkerCarro16, root, false )
    setElementVisibleTo ( BlipCarro16, root, false )

    AutoEscolaCarro = {}

    function CarrosHab(entrar)
    if getElementData ( source, "PontosNacarteira" ) > 0 then
    exports.Scripts_Dxmessages:outputDx(source, MsgMultas, "error") return end
    if not getElementData(source, "Habilitacoes:Carros" ) == true then
    if getPlayerMoney(source) >= HabValorCarro then
    takePlayerMoney(source, HabValorCarro)
    if AutoEscolaCarro[source] and isElement( AutoEscolaCarro[source] ) then destroyElement ( AutoEscolaCarro[source] )
    AutoEscolaCarro[source] = nil
    end
    setElementInterior ( source, 0 )
    setElementDimension ( source, 0 )
    triggerClientEvent ( source, "AirNew:FecharAutoEscola", root )
    AutoEscolaCarro[source] = createVehicle( CarroID, CarroRX, CarroRY, CarroRZ )
    setElementRotation ( AutoEscolaCarro[source], CarroRotA, CarroRotB, CarroRotC )
    setVehicleLocked ( AutoEscolaCarro[source], true )
    warpPedIntoVehicle ( source, AutoEscolaCarro[source] )
    setCameraTarget ( source )
    setElementData ( source, "Carteira:StartCarro00", true )
    setElementData ( source, "AirNew_TirandoCarta", "Sim" )
    setElementVisibleTo ( MarkerCarro01, source, true )
    setElementVisibleTo ( BlipCarro01, source, true )
    exports.Scripts_Dxmessages:outputDx(source, MsgCarro01, "info")
    else
    exports.Scripts_Dxmessages:outputDx(source, MsgCarro02, "error")
    end
    else
    exports.Scripts_Dxmessages:outputDx(source, MsgCarro03, "warning")
    end
    end
    addEvent("Hab:Carro", true)
    addEventHandler ( "Hab:Carro", root, CarrosHab)

    function emarkerCarros(marker,md) 
        if (md) then
          if AutoEscolaCarro[source] and isElement( AutoEscolaCarro[source] ) then
            if marker == MarkerCarro01 then
            if getElementData( source, "Carteira:StartCarro00", true ) then
            setElementVisibleTo ( MarkerCarro01, source, false )
            setElementVisibleTo ( BlipCarro01, source, false )
            setElementVisibleTo ( MarkerCarro02, source, true )
            setElementVisibleTo ( BlipCarro02, source, true )
            setElementData ( source, "Carteira:StartCarro01", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro00", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarro02 then
            if getElementData( source, "Carteira:StartCarro01", true ) then
            setElementVisibleTo ( MarkerCarro02, source, false )
            setElementVisibleTo ( BlipCarro02, source, false )
            setElementVisibleTo ( MarkerCarro03, source, true )
            setElementVisibleTo ( BlipCarro03, source, true )
            setElementData ( source, "Carteira:StartCarro02", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro01", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarro03 then
            if getElementData( source, "Carteira:StartCarro02", true ) then
            setElementVisibleTo ( MarkerCarro03, source, false )
            setElementVisibleTo ( BlipCarro03, source, false )
            setElementVisibleTo ( MarkerCarro04, source, true )
            setElementVisibleTo ( BlipCarro04, source, true )
            setElementData ( source, "Carteira:StartCarro03", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro02", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarro04 then
            if getElementData( source, "Carteira:StartCarro03", true ) then
            setElementVisibleTo ( MarkerCarro04, source, false )
            setElementVisibleTo ( BlipCarro04, source, false )
            setElementVisibleTo ( MarkerCarro05, source, true )
            setElementVisibleTo ( BlipCarro05, source, true )
            setElementData ( source, "Carteira:StartCarro04", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro03", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarro05 then
            if getElementData( source, "Carteira:StartCarro04", true ) then
            setElementVisibleTo ( MarkerCarro05, source, false )
            setElementVisibleTo ( BlipCarro05, source, false )
            setElementVisibleTo ( MarkerCarro06, source, true )
            setElementVisibleTo ( BlipCarro06, source, true )
            setElementData ( source, "Carteira:StartCarro05", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro04", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarro06 then
            if getElementData( source, "Carteira:StartCarro05", true ) then
            setElementVisibleTo ( MarkerCarro06, source, false )
            setElementVisibleTo ( BlipCarro06, source, false )
            setElementVisibleTo ( MarkerCarro07, source, true )
            setElementVisibleTo ( BlipCarro07, source, true )
            setElementData ( source, "Carteira:StartCarro06", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro05", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarro07 then
            if getElementData( source, "Carteira:StartCarro06", true ) then
            setElementVisibleTo ( MarkerCarro07, source, false )
            setElementVisibleTo ( BlipCarro07, source, false )
            setElementVisibleTo ( MarkerCarro08, source, true )
            setElementVisibleTo ( BlipCarro08, source, true )
            setElementData ( source, "Carteira:StartCarro07", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro06", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarro08 then
            if getElementData( source, "Carteira:StartCarro07", true ) then
            setElementVisibleTo ( MarkerCarro08, source, false )
            setElementVisibleTo ( BlipCarro08, source, false )
            setElementVisibleTo ( MarkerCarro09, source, true )
            setElementVisibleTo ( BlipCarro09, source, true )
            setElementData ( source, "Carteira:StartCarro08", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro07", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarro09 then
            if getElementData( source, "Carteira:StartCarro08", true ) then
            setElementVisibleTo ( MarkerCarro09, source, false )
            setElementVisibleTo ( BlipCarro09, source, false )
            setElementVisibleTo ( MarkerCarro10, source, true )
            setElementVisibleTo ( BlipCarro10, source, true )
            setElementData ( source, "Carteira:StartCarro09", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro08", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarro10 then
            if getElementData( source, "Carteira:StartCarro09", true ) then
            setElementVisibleTo ( MarkerCarro10, source, false )
            setElementVisibleTo ( BlipCarro10, source, false )
            setElementVisibleTo ( MarkerCarro11, source, true )
            setElementVisibleTo ( BlipCarro11, source, true )
            setElementData ( source, "Carteira:StartCarro10", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro09", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarro11 then
            if getElementData( source, "Carteira:StartCarro10", true ) then
            setElementVisibleTo ( MarkerCarro11, source, false )
            setElementVisibleTo ( BlipCarro11, source, false )
            setElementVisibleTo ( MarkerCarro12, source, true )
            setElementVisibleTo ( BlipCarro12, source, true )
            setElementData ( source, "Carteira:StartCarro11", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro10", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarro12 then
            if getElementData( source, "Carteira:StartCarro11", true ) then
            setElementVisibleTo ( MarkerCarro12, source, false )
            setElementVisibleTo ( BlipCarro12, source, false )
            setElementVisibleTo ( MarkerCarro13, source, true )
            setElementVisibleTo ( BlipCarro13, source, true )
            setElementData ( source, "Carteira:StartCarro12", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro11", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarro13 then
            if getElementData( source, "Carteira:StartCarro12", true ) then
            setElementVisibleTo ( MarkerCarro13, source, false )
            setElementVisibleTo ( BlipCarro13, source, false )
            setElementVisibleTo ( MarkerCarro14, source, true )
            setElementVisibleTo ( BlipCarro14, source, true )
            setElementData ( source, "Carteira:StartCarro13", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro12", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarro14 then
            if getElementData( source, "Carteira:StartCarro13", true ) then
            setElementVisibleTo ( MarkerCarro14, source, false )
            setElementVisibleTo ( BlipCarro14, source, false )
            setElementVisibleTo ( MarkerCarro15, source, true )
            setElementVisibleTo ( BlipCarro15, source, true )
            setElementData ( source, "Carteira:StartCarro14", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro13", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarro15 then
            if getElementData( source, "Carteira:StartCarro14", true ) then
            setElementVisibleTo ( MarkerCarro15, source, false )
            setElementVisibleTo ( BlipCarro15, source, false )
            setElementVisibleTo ( MarkerCarro16, source, true )
            setElementVisibleTo ( BlipCarro16, source, true )
            setElementData ( source, "Carteira:StartCarro15", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro14", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarro16 then
            if getElementData( source, "Carteira:StartCarro15", true ) then
            AutoEscolaCarroVida = getElementHealth ( AutoEscolaCarro[source] )
            if AutoEscolaCarroVida <= CarrosDanoParaReprovar then
            exports.Scripts_Dxmessages:outputDx(source, MsgCarro04, "error")
            else
            setElementData( source, "Habilitacoes:Carros", true)
            exports.Scripts_Dxmessages:outputDx(source, MsgCarro05, "success")
            end
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarro15", false )
            setElementVisibleTo ( MarkerCarro16, source, false )
            setElementVisibleTo ( BlipCarro16, source, false )
            setElementData ( source, "AirNew_TirandoCarta", "Não" )
            destroyElement ( AutoEscolaCarro[source] )
            setTimer ( setElementInterior, 400, 1, source, 3 )
            setTimer ( setElementDimension, 400, 1, source, 10 )
            setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
            setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
            fadeCamera ( source, false, 0.1, 0, 0, 0 )   
            setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
            setTimer ( setCameraTarget, 600, 1, source )
            end
            end
          end 
        end    
    end
    addEventHandler("onPlayerMarkerHit",getRootElement(),emarkerCarros)

    function SairDoVeiculoAutoEscolaCarro (source)
    if ( AutoEscolaCarro[source] ) and isElement( AutoEscolaCarro[source] ) then
    setElementData ( source, "AirNew_TirandoCarta", "Não" )
    destroyElement ( AutoEscolaCarro[source] )
    setElementData ( source, "Carteira:StartCarro00", false )
    setElementData ( source, "Carteira:StartCarro01", false )
    setElementData ( source, "Carteira:StartCarro02", false )
    setElementData ( source, "Carteira:StartCarro03", false )
    setElementData ( source, "Carteira:StartCarro04", false )
    setElementData ( source, "Carteira:StartCarro05", false )
    setElementData ( source, "Carteira:StartCarro06", false )
    setElementData ( source, "Carteira:StartCarro07", false )
    setElementData ( source, "Carteira:StartCarro08", false )
    setElementData ( source, "Carteira:StartCarro09", false )
    setElementData ( source, "Carteira:StartCarro10", false )
    setElementData ( source, "Carteira:StartCarro11", false )
    setElementData ( source, "Carteira:StartCarro12", false )
    setElementData ( source, "Carteira:StartCarro13", false )
    setElementData ( source, "Carteira:StartCarro14", false )
    setElementData ( source, "Carteira:StartCarro15", false )
    setElementVisibleTo ( MarkerCarro01, source, false )
    setElementVisibleTo ( BlipCarro01, source, false )
    setElementVisibleTo ( MarkerCarro02, source, false )
    setElementVisibleTo ( BlipCarro02, source, false )
    setElementVisibleTo ( MarkerCarro03, source, false )
    setElementVisibleTo ( BlipCarro03, source, false )
    setElementVisibleTo ( MarkerCarro04, source, false )
    setElementVisibleTo ( BlipCarro04, source, false )
    setElementVisibleTo ( MarkerCarro05, source, false )
    setElementVisibleTo ( BlipCarro05, source, false )
    setElementVisibleTo ( MarkerCarro06, source, false )
    setElementVisibleTo ( BlipCarro06, source, false )
    setElementVisibleTo ( MarkerCarro07, source, false )
    setElementVisibleTo ( BlipCarro07, source, false )
    setElementVisibleTo ( MarkerCarro08, source, false )
    setElementVisibleTo ( BlipCarro08, source, false )
    setElementVisibleTo ( MarkerCarro09, source, false )
    setElementVisibleTo ( BlipCarro09, source, false )
    setElementVisibleTo ( MarkerCarro10, source, false )
    setElementVisibleTo ( BlipCarro10, source, false )
    setElementVisibleTo ( MarkerCarro11, source, false )
    setElementVisibleTo ( BlipCarro11, source, false )
    setElementVisibleTo ( MarkerCarro12, source, false )
    setElementVisibleTo ( BlipCarro12, source, false )
    setElementVisibleTo ( MarkerCarro13, source, false )
    setElementVisibleTo ( BlipCarro13, source, false )
    setElementVisibleTo ( MarkerCarro14, source, false )
    setElementVisibleTo ( BlipCarro14, source, false )
    setElementVisibleTo ( MarkerCarro15, source, false )
    setElementVisibleTo ( BlipCarro15, source, false )
    setElementVisibleTo ( MarkerCarro16, source, false )
    setElementVisibleTo ( BlipCarro16, source, false )
    exports.Scripts_Dxmessages:outputDx(source, MsgCarro06, "error")
    setTimer ( setElementInterior, 400, 1, source, 3 )
    setTimer ( setElementDimension, 400, 1, source, 10 )
    setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
    setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
    fadeCamera ( source, false, 0.1, 0, 0, 0 )   
    setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
    setTimer ( setCameraTarget, 600, 1, source )
    end
    end
    addEventHandler ( "onVehicleExit", getRootElement(), SairDoVeiculoAutoEscolaCarro )

    function MorrerAutoEscolaCarro ()
    if ( AutoEscolaCarro[source] ) and isElement( AutoEscolaCarro[source] ) then
    setElementData ( source, "AirNew_TirandoCarta", "Não" )
    destroyElement ( AutoEscolaCarro[source] )
    setElementData ( source, "Carteira:StartCarro00", false )
    setElementData ( source, "Carteira:StartCarro01", false )
    setElementData ( source, "Carteira:StartCarro02", false )
    setElementData ( source, "Carteira:StartCarro03", false )
    setElementData ( source, "Carteira:StartCarro04", false )
    setElementData ( source, "Carteira:StartCarro05", false )
    setElementData ( source, "Carteira:StartCarro06", false )
    setElementData ( source, "Carteira:StartCarro07", false )
    setElementData ( source, "Carteira:StartCarro08", false )
    setElementData ( source, "Carteira:StartCarro09", false )
    setElementData ( source, "Carteira:StartCarro10", false )
    setElementData ( source, "Carteira:StartCarro11", false )
    setElementData ( source, "Carteira:StartCarro12", false )
    setElementData ( source, "Carteira:StartCarro13", false )
    setElementData ( source, "Carteira:StartCarro14", false )
    setElementData ( source, "Carteira:StartCarro15", false )
    setElementVisibleTo ( MarkerCarro01, source, false )
    setElementVisibleTo ( BlipCarro01, source, false )
    setElementVisibleTo ( MarkerCarro02, source, false )
    setElementVisibleTo ( BlipCarro02, source, false )
    setElementVisibleTo ( MarkerCarro03, source, false )
    setElementVisibleTo ( BlipCarro03, source, false )
    setElementVisibleTo ( MarkerCarro04, source, false )
    setElementVisibleTo ( BlipCarro04, source, false )
    setElementVisibleTo ( MarkerCarro05, source, false )
    setElementVisibleTo ( BlipCarro05, source, false )
    setElementVisibleTo ( MarkerCarro06, source, false )
    setElementVisibleTo ( BlipCarro06, source, false )
    setElementVisibleTo ( MarkerCarro07, source, false )
    setElementVisibleTo ( BlipCarro07, source, false )
    setElementVisibleTo ( MarkerCarro08, source, false )
    setElementVisibleTo ( BlipCarro08, source, false )
    setElementVisibleTo ( MarkerCarro09, source, false )
    setElementVisibleTo ( BlipCarro09, source, false )
    setElementVisibleTo ( MarkerCarro10, source, false )
    setElementVisibleTo ( BlipCarro10, source, false )
    setElementVisibleTo ( MarkerCarro11, source, false )
    setElementVisibleTo ( BlipCarro11, source, false )
    setElementVisibleTo ( MarkerCarro12, source, false )
    setElementVisibleTo ( BlipCarro12, source, false )
    setElementVisibleTo ( MarkerCarro13, source, false )
    setElementVisibleTo ( BlipCarro13, source, false )
    setElementVisibleTo ( MarkerCarro14, source, false )
    setElementVisibleTo ( BlipCarro14, source, false )
    setElementVisibleTo ( MarkerCarro15, source, false )
    setElementVisibleTo ( BlipCarro15, source, false )
    setElementVisibleTo ( MarkerCarro16, source, false )
    setElementVisibleTo ( BlipCarro16, source, false )
    exports.Scripts_Dxmessages:outputDx(source, MsgCarro07, "error")
    end
    end
    addEventHandler ( "onPlayerWasted", getRootElement(), MorrerAutoEscolaCarro )

    function SairDoServidorAutoEscolaCarro ( quitType )    
    if isElement( AutoEscolaCarro[source] ) then
    destroyElement ( AutoEscolaCarro[source] )
    end
    end
    addEventHandler ( "onPlayerQuit", getRootElement(), SairDoServidorAutoEscolaCarro )

    -- ( Final ) Percurso de Carro

    --------------------------------------------------------------------------------

    -- ( Começo ) Percurso de Caminhoes

    CaminhoesRX, CaminhoesRY, CaminhoesRZ       = -186.86996, -282.80127, 2 -- Coordenadas de Respawn do Caminhão
    CaminhoesRotA, CaminhoesRotB, CaminhoesRotC = 0, 0, 89.390258789062 -- Rotação do Veiculo ao Spawnar
    CaminhoesID                                 = 578 -- ID do Caminhão
    HabValorCaminhoes                           = 1200 -- Valor da Habilitação Categoria "Caminhoes"
    CaminhoesDanoParaReprovar                   = 950 -- 95%

    MsgCaminhoes01 = "Prova Iniciada, Siga-os Checkpoints Para Concluir o seu Objetivo!"
    MsgCaminhoes02 = "Você Não Tem Dinheiro Suficiente!"
    MsgCaminhoes03 = "Você Ja Possui Essa Habilitação!"
    MsgCaminhoes04 = "Você Reprovou no Teste, Evite Bater na Proxima Vez!"
    MsgCaminhoes05 = "Carteira de Habilitação Categoria 'Caminhões' Concedida!"
    MsgCaminhoes06 = "Você Saiu do Veiculo, Por Esse Motivo o Teste foi Cancelado!"
    MsgCaminhoes07 = "Você Morreu, Por Esse Motivo o Teste foi Cancelado!"

    CaminhoesX01, CaminhoesY01, CaminhoesZ01 = -363.84027, -259.21094, 18.09703
    CaminhoesX02, CaminhoesY02, CaminhoesZ02 = -622.80951, -239.56918, 63.33517
    CaminhoesX03, CaminhoesY03, CaminhoesZ03 = -834.09595, -244.60388, 39.88686
    CaminhoesX04, CaminhoesY04, CaminhoesZ04 = -922.18018, -161.59911, 51.42817
    CaminhoesX05, CaminhoesY05, CaminhoesZ05 = -729.85437, -81.97001, 68.00546
    CaminhoesX06, CaminhoesY06, CaminhoesZ06 = -704.71832, 14.58052, 63.10910
    CaminhoesX07, CaminhoesY07, CaminhoesZ07 = -883.24341, -35.44294, 33.93914
    CaminhoesX08, CaminhoesY08, CaminhoesZ08 = -701.52087, 117.37077, 17.28315
    CaminhoesX09, CaminhoesY09, CaminhoesZ09 = -612.81458, 272.79623, 2.11294
    CaminhoesX10, CaminhoesY10, CaminhoesZ10 = -454.35080, 279.44788, 2.12201
    CaminhoesX11, CaminhoesY11, CaminhoesZ11 = -282.21484, 256.32724, 5.90919
    CaminhoesX12, CaminhoesY12, CaminhoesZ12 = -52.85775, 186.78911, 2.11299
    CaminhoesX13, CaminhoesY13, CaminhoesZ13 = 148.15988, 70.31498, 2.10743
    CaminhoesX14, CaminhoesY14, CaminhoesZ14 = 230.43140, -11.07954, 1.54030
    CaminhoesX15, CaminhoesY15, CaminhoesZ15 = 280.68811, -74.20872, 1.46440
    CaminhoesX16, CaminhoesY16, CaminhoesZ16 = 319.41028, -53.83272, 1.60561

    MarkerCaminhoes01 = createMarker ( CaminhoesX01, CaminhoesY01, CaminhoesZ01 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCaminhoes01 = createBlipAttachedTo ( MarkerCaminhoes01, 0 )
    setElementVisibleTo ( MarkerCaminhoes01, root, false )
    setElementVisibleTo ( BlipCaminhoes01, root, false )

    MarkerCaminhoes02 = createMarker ( CaminhoesX02, CaminhoesY02, CaminhoesZ02 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCaminhoes02 = createBlipAttachedTo ( MarkerCaminhoes02, 0 )
    setElementVisibleTo ( MarkerCaminhoes02, root, false )
    setElementVisibleTo ( BlipCaminhoes02, root, false )

    MarkerCaminhoes03 = createMarker ( CaminhoesX03, CaminhoesY03, CaminhoesZ03 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCaminhoes03 = createBlipAttachedTo ( MarkerCaminhoes03, 0 )
    setElementVisibleTo ( MarkerCaminhoes03, root, false )
    setElementVisibleTo ( BlipCaminhoes03, root, false )

    MarkerCaminhoes04 = createMarker ( CaminhoesX04, CaminhoesY04, CaminhoesZ04 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCaminhoes04 = createBlipAttachedTo ( MarkerCaminhoes04, 0 )
    setElementVisibleTo ( MarkerCaminhoes04, root, false )
    setElementVisibleTo ( BlipCaminhoes04, root, false )

    MarkerCaminhoes05 = createMarker ( CaminhoesX05, CaminhoesY05, CaminhoesZ05 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCaminhoes05 = createBlipAttachedTo ( MarkerCaminhoes05, 0 )
    setElementVisibleTo ( MarkerCaminhoes05, root, false )
    setElementVisibleTo ( BlipCaminhoes05, root, false )

    MarkerCaminhoes06 = createMarker ( CaminhoesX06, CaminhoesY06, CaminhoesZ06 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCaminhoes06 = createBlipAttachedTo ( MarkerCaminhoes06, 0 )
    setElementVisibleTo ( MarkerCaminhoes06, root, false )
    setElementVisibleTo ( BlipCaminhoes06, root, false )

    MarkerCaminhoes07 = createMarker ( CaminhoesX07, CaminhoesY07, CaminhoesZ07 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCaminhoes07 = createBlipAttachedTo ( MarkerCaminhoes07, 0 )
    setElementVisibleTo ( MarkerCaminhoes07, root, false )
    setElementVisibleTo ( BlipCaminhoes07, root, false )

    MarkerCaminhoes08 = createMarker ( CaminhoesX08, CaminhoesY08, CaminhoesZ08 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCaminhoes08 = createBlipAttachedTo ( MarkerCaminhoes08, 0 )
    setElementVisibleTo ( MarkerCaminhoes08, root, false )
    setElementVisibleTo ( BlipCaminhoes08, root, false )

    MarkerCaminhoes09 = createMarker ( CaminhoesX09, CaminhoesY09, CaminhoesZ09 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCaminhoes09 = createBlipAttachedTo ( MarkerCaminhoes09, 0 )
    setElementVisibleTo ( MarkerCaminhoes09, root, false )
    setElementVisibleTo ( BlipCaminhoes09, root, false )

    MarkerCaminhoes10 = createMarker ( CaminhoesX10, CaminhoesY10, CaminhoesZ10 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCaminhoes10 = createBlipAttachedTo ( MarkerCaminhoes10, 0 )
    setElementVisibleTo ( MarkerCaminhoes10, root, false )
    setElementVisibleTo ( BlipCaminhoes10, root, false )

    MarkerCaminhoes11 = createMarker ( CaminhoesX11, CaminhoesY11, CaminhoesZ11 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCaminhoes11 = createBlipAttachedTo ( MarkerCaminhoes11, 0 )
    setElementVisibleTo ( MarkerCaminhoes11, root, false )
    setElementVisibleTo ( BlipCaminhoes11, root, false )

    MarkerCaminhoes12 = createMarker ( CaminhoesX12, CaminhoesY12, CaminhoesZ12 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCaminhoes12 = createBlipAttachedTo ( MarkerCaminhoes12, 0 )
    setElementVisibleTo ( MarkerCaminhoes12, root, false )
    setElementVisibleTo ( BlipCaminhoes12, root, false )

    MarkerCaminhoes13 = createMarker ( CaminhoesX13, CaminhoesY13, CaminhoesZ13 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCaminhoes13 = createBlipAttachedTo ( MarkerCaminhoes13, 0 )
    setElementVisibleTo ( MarkerCaminhoes13, root, false )
    setElementVisibleTo ( BlipCaminhoes13, root, false )

    MarkerCaminhoes14 = createMarker ( CaminhoesX14, CaminhoesY14, CaminhoesZ14 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCaminhoes14 = createBlipAttachedTo ( MarkerCaminhoes14, 0 )
    setElementVisibleTo ( MarkerCaminhoes14, root, false )
    setElementVisibleTo ( BlipCaminhoes14, root, false )

    MarkerCaminhoes15 = createMarker ( CaminhoesX15, CaminhoesY15, CaminhoesZ15 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCaminhoes15 = createBlipAttachedTo ( MarkerCaminhoes15, 0 )
    setElementVisibleTo ( MarkerCaminhoes15, root, false )
    setElementVisibleTo ( BlipCaminhoes15, root, false )

    MarkerCaminhoes16 = createMarker ( CaminhoesX16, CaminhoesY16, CaminhoesZ16 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCaminhoes16 = createBlipAttachedTo ( MarkerCaminhoes16, 0 )
    setElementVisibleTo ( MarkerCaminhoes16, root, false )
    setElementVisibleTo ( BlipCaminhoes16, root, false )

    AutoEscolaCaminhoes = {}

    function CaminhoesHab(entrar)
    if getElementData ( source, "PontosNacarteira" ) > 0 then
    exports.Scripts_Dxmessages:outputDx(source, MsgMultas, "error") return end
    if not getElementData(source, "Habilitacoes:Caminhoes" ) == true then
    if getPlayerMoney(source) >= HabValorCaminhoes then
    takePlayerMoney(source, HabValorCaminhoes)
    if AutoEscolaCaminhoes[source] and isElement( AutoEscolaCaminhoes[source] ) then destroyElement ( AutoEscolaCaminhoes[source] )
    AutoEscolaCaminhoes[source] = nil
    end
    setElementInterior ( source, 0 )
    setElementDimension ( source, 0 )
    triggerClientEvent ( source, "AirNew:FecharAutoEscola", root )
    AutoEscolaCaminhoes[source] = createVehicle( CaminhoesID, CaminhoesRX, CaminhoesRY, CaminhoesRZ )
    setElementRotation ( AutoEscolaCaminhoes[source], CaminhoesRotA, CaminhoesRotB, CaminhoesRotC )
    setVehicleLocked ( AutoEscolaCaminhoes[source], true )
    warpPedIntoVehicle ( source, AutoEscolaCaminhoes[source] )
    setCameraTarget ( source )
    setElementData ( source, "Carteira:StartCaminhoes00", true )
    setElementData ( source, "AirNew_TirandoCarta", "Sim" )
    setElementVisibleTo ( MarkerCaminhoes01, source, true )
    setElementVisibleTo ( BlipCaminhoes01, source, true )
    exports.Scripts_Dxmessages:outputDx(source, MsgCaminhoes01, "info")
    else
    exports.Scripts_Dxmessages:outputDx(source, MsgCaminhoes02, "error")
    end
    else
    exports.Scripts_Dxmessages:outputDx(source, MsgCaminhoes03, "warning")
    end
    end
    addEvent("Hab:Caminhao", true)
    addEventHandler ( "Hab:Caminhao", root, CaminhoesHab)

    function emarkerCaminhoes(marker,md) 
        if (md) then
          if AutoEscolaCaminhoes[source] and isElement( AutoEscolaCaminhoes[source] ) then
            if marker == MarkerCaminhoes01 then
            if getElementData( source, "Carteira:StartCaminhoes00", true ) then
            setElementVisibleTo ( MarkerCaminhoes01, source, false )
            setElementVisibleTo ( BlipCaminhoes01, source, false )
            setElementVisibleTo ( MarkerCaminhoes02, source, true )
            setElementVisibleTo ( BlipCaminhoes02, source, true )
            setElementData ( source, "Carteira:StartCaminhoes01", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCaminhoes00", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCaminhoes02 then
            if getElementData( source, "Carteira:StartCaminhoes01", true ) then
            setElementVisibleTo ( MarkerCaminhoes02, source, false )
            setElementVisibleTo ( BlipCaminhoes02, source, false )
            setElementVisibleTo ( MarkerCaminhoes03, source, true )
            setElementVisibleTo ( BlipCaminhoes03, source, true )
            setElementData ( source, "Carteira:StartCaminhoes02", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCaminhoes01", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCaminhoes03 then
            if getElementData( source, "Carteira:StartCaminhoes02", true ) then
            setElementVisibleTo ( MarkerCaminhoes03, source, false )
            setElementVisibleTo ( BlipCaminhoes03, source, false )
            setElementVisibleTo ( MarkerCaminhoes04, source, true )
            setElementVisibleTo ( BlipCaminhoes04, source, true )
            setElementData ( source, "Carteira:StartCaminhoes03", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCaminhoes02", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCaminhoes04 then
            if getElementData( source, "Carteira:StartCaminhoes03", true ) then
            setElementVisibleTo ( MarkerCaminhoes04, source, false )
            setElementVisibleTo ( BlipCaminhoes04, source, false )
            setElementVisibleTo ( MarkerCaminhoes05, source, true )
            setElementVisibleTo ( BlipCaminhoes05, source, true )
            setElementData ( source, "Carteira:StartCaminhoes04", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCaminhoes03", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCaminhoes05 then
            if getElementData( source, "Carteira:StartCaminhoes04", true ) then
            setElementVisibleTo ( MarkerCaminhoes05, source, false )
            setElementVisibleTo ( BlipCaminhoes05, source, false )
            setElementVisibleTo ( MarkerCaminhoes06, source, true )
            setElementVisibleTo ( BlipCaminhoes06, source, true )
            setElementData ( source, "Carteira:StartCaminhoes05", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCaminhoes04", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCaminhoes06 then
            if getElementData( source, "Carteira:StartCaminhoes05", true ) then
            setElementVisibleTo ( MarkerCaminhoes06, source, false )
            setElementVisibleTo ( BlipCaminhoes06, source, false )
            setElementVisibleTo ( MarkerCaminhoes07, source, true )
            setElementVisibleTo ( BlipCaminhoes07, source, true )
            setElementData ( source, "Carteira:StartCaminhoes06", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCaminhoes05", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCaminhoes07 then
            if getElementData( source, "Carteira:StartCaminhoes06", true ) then
            setElementVisibleTo ( MarkerCaminhoes07, source, false )
            setElementVisibleTo ( BlipCaminhoes07, source, false )
            setElementVisibleTo ( MarkerCaminhoes08, source, true )
            setElementVisibleTo ( BlipCaminhoes08, source, true )
            setElementData ( source, "Carteira:StartCaminhoes07", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCaminhoes06", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCaminhoes08 then
            if getElementData( source, "Carteira:StartCaminhoes07", true ) then
            setElementVisibleTo ( MarkerCaminhoes08, source, false )
            setElementVisibleTo ( BlipCaminhoes08, source, false )
            setElementVisibleTo ( MarkerCaminhoes09, source, true )
            setElementVisibleTo ( BlipCaminhoes09, source, true )
            setElementData ( source, "Carteira:StartCaminhoes08", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCaminhoes07", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCaminhoes09 then
            if getElementData( source, "Carteira:StartCaminhoes08", true ) then
            setElementVisibleTo ( MarkerCaminhoes09, source, false )
            setElementVisibleTo ( BlipCaminhoes09, source, false )
            setElementVisibleTo ( MarkerCaminhoes10, source, true )
            setElementVisibleTo ( BlipCaminhoes10, source, true )
            setElementData ( source, "Carteira:StartCaminhoes09", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCaminhoes08", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCaminhoes10 then
            if getElementData( source, "Carteira:StartCaminhoes09", true ) then
            setElementVisibleTo ( MarkerCaminhoes10, source, false )
            setElementVisibleTo ( BlipCaminhoes10, source, false )
            setElementVisibleTo ( MarkerCaminhoes11, source, true )
            setElementVisibleTo ( BlipCaminhoes11, source, true )
            setElementData ( source, "Carteira:StartCaminhoes10", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCaminhoes09", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCaminhoes11 then
            if getElementData( source, "Carteira:StartCaminhoes10", true ) then
            setElementVisibleTo ( MarkerCaminhoes11, source, false )
            setElementVisibleTo ( BlipCaminhoes11, source, false )
            setElementVisibleTo ( MarkerCaminhoes12, source, true )
            setElementVisibleTo ( BlipCaminhoes12, source, true )
            setElementData ( source, "Carteira:StartCaminhoes11", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCaminhoes10", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCaminhoes12 then
            if getElementData( source, "Carteira:StartCaminhoes11", true ) then
            setElementVisibleTo ( MarkerCaminhoes12, source, false )
            setElementVisibleTo ( BlipCaminhoes12, source, false )
            setElementVisibleTo ( MarkerCaminhoes13, source, true )
            setElementVisibleTo ( BlipCaminhoes13, source, true )
            setElementData ( source, "Carteira:StartCaminhoes12", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCaminhoes11", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCaminhoes13 then
            if getElementData( source, "Carteira:StartCaminhoes12", true ) then
            setElementVisibleTo ( MarkerCaminhoes13, source, false )
            setElementVisibleTo ( BlipCaminhoes13, source, false )
            setElementVisibleTo ( MarkerCaminhoes14, source, true )
            setElementVisibleTo ( BlipCaminhoes14, source, true )
            setElementData ( source, "Carteira:StartCaminhoes13", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCaminhoes12", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCaminhoes14 then
            if getElementData( source, "Carteira:StartCaminhoes13", true ) then
            setElementVisibleTo ( MarkerCaminhoes14, source, false )
            setElementVisibleTo ( BlipCaminhoes14, source, false )
            setElementVisibleTo ( MarkerCaminhoes15, source, true )
            setElementVisibleTo ( BlipCaminhoes15, source, true )
            setElementData ( source, "Carteira:StartCaminhoes14", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCaminhoes13", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCaminhoes15 then
            if getElementData( source, "Carteira:StartCaminhoes14", true ) then
            setElementVisibleTo ( MarkerCaminhoes15, source, false )
            setElementVisibleTo ( BlipCaminhoes15, source, false )
            setElementVisibleTo ( MarkerCaminhoes16, source, true )
            setElementVisibleTo ( BlipCaminhoes16, source, true )
            setElementData ( source, "Carteira:StartCaminhoes15", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCaminhoes14", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCaminhoes16 then
            if getElementData( source, "Carteira:StartCaminhoes15", true ) then
            AutoEscolaCaminhoesVida = getElementHealth ( AutoEscolaCaminhoes[source] )
            if AutoEscolaCaminhoesVida <= CaminhoesDanoParaReprovar then
            exports.Scripts_Dxmessages:outputDx(source, MsgCaminhoes04, "error")
            else
            setElementData( source, "Habilitacoes:Caminhoes", true)
            exports.Scripts_Dxmessages:outputDx(source, MsgCaminhoes05, "success")
            end
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCaminhoes15", false )
            setElementVisibleTo ( MarkerCaminhoes16, source, false )
            setElementVisibleTo ( BlipCaminhoes16, source, false )
            setElementData ( source, "AirNew_TirandoCarta", "Não" )
            destroyElement ( AutoEscolaCaminhoes[source] )
            setTimer ( setElementInterior, 400, 1, source, 3 )
            setTimer ( setElementDimension, 400, 1, source, 10 )
            setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
            setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
            fadeCamera ( source, false, 0.1, 0, 0, 0 )   
            setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
            setTimer ( setCameraTarget, 600, 1, source )
            end
            end
          end 
        end    
    end
    addEventHandler("onPlayerMarkerHit",getRootElement(),emarkerCaminhoes)

    function SairDoVeiculoAutoEscolaCaminhoes (source)
    if ( AutoEscolaCaminhoes[source] ) and isElement( AutoEscolaCaminhoes[source] ) then
    setElementData ( source, "AirNew_TirandoCarta", "Não" )
    destroyElement ( AutoEscolaCaminhoes[source] )
    setElementData ( source, "Carteira:StartCaminhoes00", false )
    setElementData ( source, "Carteira:StartCaminhoes01", false )
    setElementData ( source, "Carteira:StartCaminhoes02", false )
    setElementData ( source, "Carteira:StartCaminhoes03", false )
    setElementData ( source, "Carteira:StartCaminhoes04", false )
    setElementData ( source, "Carteira:StartCaminhoes05", false )
    setElementData ( source, "Carteira:StartCaminhoes06", false )
    setElementData ( source, "Carteira:StartCaminhoes07", false )
    setElementData ( source, "Carteira:StartCaminhoes08", false )
    setElementData ( source, "Carteira:StartCaminhoes09", false )
    setElementData ( source, "Carteira:StartCaminhoes10", false )
    setElementData ( source, "Carteira:StartCaminhoes11", false )
    setElementData ( source, "Carteira:StartCaminhoes12", false )
    setElementData ( source, "Carteira:StartCaminhoes13", false )
    setElementData ( source, "Carteira:StartCaminhoes14", false )
    setElementData ( source, "Carteira:StartCaminhoes15", false )
    setElementVisibleTo ( MarkerCaminhoes01, source, false )
    setElementVisibleTo ( BlipCaminhoes01, source, false )
    setElementVisibleTo ( MarkerCaminhoes02, source, false )
    setElementVisibleTo ( BlipCaminhoes02, source, false )
    setElementVisibleTo ( MarkerCaminhoes03, source, false )
    setElementVisibleTo ( BlipCaminhoes03, source, false )
    setElementVisibleTo ( MarkerCaminhoes04, source, false )
    setElementVisibleTo ( BlipCaminhoes04, source, false )
    setElementVisibleTo ( MarkerCaminhoes05, source, false )
    setElementVisibleTo ( BlipCaminhoes05, source, false )
    setElementVisibleTo ( MarkerCaminhoes06, source, false )
    setElementVisibleTo ( BlipCaminhoes06, source, false )
    setElementVisibleTo ( MarkerCaminhoes07, source, false )
    setElementVisibleTo ( BlipCaminhoes07, source, false )
    setElementVisibleTo ( MarkerCaminhoes08, source, false )
    setElementVisibleTo ( BlipCaminhoes08, source, false )
    setElementVisibleTo ( MarkerCaminhoes09, source, false )
    setElementVisibleTo ( BlipCaminhoes09, source, false )
    setElementVisibleTo ( MarkerCaminhoes10, source, false )
    setElementVisibleTo ( BlipCaminhoes10, source, false )
    setElementVisibleTo ( MarkerCaminhoes11, source, false )
    setElementVisibleTo ( BlipCaminhoes11, source, false )
    setElementVisibleTo ( MarkerCaminhoes12, source, false )
    setElementVisibleTo ( BlipCaminhoes12, source, false )
    setElementVisibleTo ( MarkerCaminhoes13, source, false )
    setElementVisibleTo ( BlipCaminhoes13, source, false )
    setElementVisibleTo ( MarkerCaminhoes14, source, false )
    setElementVisibleTo ( BlipCaminhoes14, source, false )
    setElementVisibleTo ( MarkerCaminhoes15, source, false )
    setElementVisibleTo ( BlipCaminhoes15, source, false )
    setElementVisibleTo ( MarkerCaminhoes16, source, false )
    setElementVisibleTo ( BlipCaminhoes16, source, false )
    exports.Scripts_Dxmessages:outputDx(source, MsgCaminhoes06, "error")
    setTimer ( setElementInterior, 400, 1, source, 3 )
    setTimer ( setElementDimension, 400, 1, source, 10 )
    setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
    setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
    fadeCamera ( source, false, 0.1, 0, 0, 0 )   
    setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
    setTimer ( setCameraTarget, 600, 1, source )
    end
    end
    addEventHandler ( "onVehicleExit", getRootElement(), SairDoVeiculoAutoEscolaCaminhoes )

    function MorrerAutoEscolaCaminhoes ()
    if ( AutoEscolaCaminhoes[source] ) and isElement( AutoEscolaCaminhoes[source] ) then
    setElementData ( source, "AirNew_TirandoCarta", "Não" )
    destroyElement ( AutoEscolaCaminhoes[source] )
    setElementData ( source, "Carteira:StartCaminhoes00", false )
    setElementData ( source, "Carteira:StartCaminhoes01", false )
    setElementData ( source, "Carteira:StartCaminhoes02", false )
    setElementData ( source, "Carteira:StartCaminhoes03", false )
    setElementData ( source, "Carteira:StartCaminhoes04", false )
    setElementData ( source, "Carteira:StartCaminhoes05", false )
    setElementData ( source, "Carteira:StartCaminhoes06", false )
    setElementData ( source, "Carteira:StartCaminhoes07", false )
    setElementData ( source, "Carteira:StartCaminhoes08", false )
    setElementData ( source, "Carteira:StartCaminhoes09", false )
    setElementData ( source, "Carteira:StartCaminhoes10", false )
    setElementData ( source, "Carteira:StartCaminhoes11", false )
    setElementData ( source, "Carteira:StartCaminhoes12", false )
    setElementData ( source, "Carteira:StartCaminhoes13", false )
    setElementData ( source, "Carteira:StartCaminhoes14", false )
    setElementData ( source, "Carteira:StartCaminhoes15", false )
    setElementVisibleTo ( MarkerCaminhoes01, source, false )
    setElementVisibleTo ( BlipCaminhoes01, source, false )
    setElementVisibleTo ( MarkerCaminhoes02, source, false )
    setElementVisibleTo ( BlipCaminhoes02, source, false )
    setElementVisibleTo ( MarkerCaminhoes03, source, false )
    setElementVisibleTo ( BlipCaminhoes03, source, false )
    setElementVisibleTo ( MarkerCaminhoes04, source, false )
    setElementVisibleTo ( BlipCaminhoes04, source, false )
    setElementVisibleTo ( MarkerCaminhoes05, source, false )
    setElementVisibleTo ( BlipCaminhoes05, source, false )
    setElementVisibleTo ( MarkerCaminhoes06, source, false )
    setElementVisibleTo ( BlipCaminhoes06, source, false )
    setElementVisibleTo ( MarkerCaminhoes07, source, false )
    setElementVisibleTo ( BlipCaminhoes07, source, false )
    setElementVisibleTo ( MarkerCaminhoes08, source, false )
    setElementVisibleTo ( BlipCaminhoes08, source, false )
    setElementVisibleTo ( MarkerCaminhoes09, source, false )
    setElementVisibleTo ( BlipCaminhoes09, source, false )
    setElementVisibleTo ( MarkerCaminhoes10, source, false )
    setElementVisibleTo ( BlipCaminhoes10, source, false )
    setElementVisibleTo ( MarkerCaminhoes11, source, false )
    setElementVisibleTo ( BlipCaminhoes11, source, false )
    setElementVisibleTo ( MarkerCaminhoes12, source, false )
    setElementVisibleTo ( BlipCaminhoes12, source, false )
    setElementVisibleTo ( MarkerCaminhoes13, source, false )
    setElementVisibleTo ( BlipCaminhoes13, source, false )
    setElementVisibleTo ( MarkerCaminhoes14, source, false )
    setElementVisibleTo ( BlipCaminhoes14, source, false )
    setElementVisibleTo ( MarkerCaminhoes15, source, false )
    setElementVisibleTo ( BlipCaminhoes15, source, false )
    setElementVisibleTo ( MarkerCaminhoes16, source, false )
    setElementVisibleTo ( BlipCaminhoes16, source, false )
    exports.Scripts_Dxmessages:outputDx(source, MsgCaminhoes07, "error")
    end
    end
    addEventHandler ( "onPlayerWasted", getRootElement(), MorrerAutoEscolaCaminhoes )

    function SairDoServidorAutoEscolaCaminhoes ( quitType )    
    if isElement( AutoEscolaCaminhoes[source] ) then
    destroyElement ( AutoEscolaCaminhoes[source] )
    end
    end
    addEventHandler ( "onPlayerQuit", getRootElement(), SairDoServidorAutoEscolaCaminhoes )

    -- ( Final ) Percurso de Caminhoes

    --------------------------------------------------------------------------------

    -- ( Começo ) Percurso de Onibus

    OnibusRX, OnibusRY, OnibusRZ       = 2131.74976, 2728.53027, 10.82031 -- Coordenadas de Respawn do Onibus
    OnibusRotA, OnibusRotB, OnibusRotC = 0, 0, 0 -- Rotação do Veiculo ao Spawnar
    OnibusID                           = 437 -- ID do Onibus
    HabValorOnibus                     = 1400 -- Valor da Habilitação Categoria "Onibus"
    OnibusDanoParaReprovar             = 950 -- 95%

    MsgOnibus01 = "Prova Iniciada, Siga-os Checkpoints Para Concluir o seu Objetivo!"
    MsgOnibus02 = "Você Não Tem Dinheiro Suficiente!"
    MsgOnibus03 = "Você Ja Possui Essa Habilitação!"
    MsgOnibus04 = "Você Reprovou no Teste, Evite Bater na Proxima Vez!"
    MsgOnibus05 = "Carteira de Habilitação Categoria 'Ônibus' Concedida!"
    MsgOnibus06 = "Você Saiu do Veiculo, Por Esse Motivo o Teste foi Cancelado!"
    MsgOnibus07 = "Você Morreu, Por Esse Motivo o Teste foi Cancelado!"

    OnibusX01, OnibusY01, OnibusZ01 = 2127.71118, 2755.46826, 10.85947
    OnibusX02, OnibusY02, OnibusZ02 = 2091.51147, 2774.08960, 10.70245
    OnibusX03, OnibusY03, OnibusZ03 = 2085.05054, 2660.39233, 10.70181
    OnibusX04, OnibusY04, OnibusZ04 = 2025.16162, 2602.87573, 11.88449
    OnibusX05, OnibusY05, OnibusZ05 = 2025.23767, 2518.30054, 12.31421
    OnibusX06, OnibusY06, OnibusZ06 = 2025.44836, 2420.84473, 10.72500
    OnibusX07, OnibusY07, OnibusZ07 = 2043.32520, 2334.30859, 10.71358
    OnibusX08, OnibusY08, OnibusZ08 = 2121.86963, 2249.28174, 10.70663
    OnibusX09, OnibusY09, OnibusZ09 = 2125.64185, 2072.61621, 10.70400
    OnibusX10, OnibusY10, OnibusZ10 = 2125.50269, 1963.75562, 10.71333
    OnibusX11, OnibusY11, OnibusZ11 = 2119.42822, 1850.72949, 10.70842
    OnibusX12, OnibusY12, OnibusZ12 = 2059.43579, 1730.45862, 10.69846
    OnibusX13, OnibusY13, OnibusZ13 = 2045.76147, 1581.07239, 10.70090
    OnibusX14, OnibusY14, OnibusZ14 = 2104.10229, 1531.17041, 10.70718
    OnibusX15, OnibusY15, OnibusZ15 = 2215.26343, 1530.97510, 10.72500
    OnibusX16, OnibusY16, OnibusZ16 = 2307.06714, 1516.97119, 10.84756

    MarkerOnibus01 = createMarker ( OnibusX01, OnibusY01, OnibusZ01 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipOnibus01 = createBlipAttachedTo ( MarkerOnibus01, 0 )
    setElementVisibleTo ( MarkerOnibus01, root, false )
    setElementVisibleTo ( BlipOnibus01, root, false )

    MarkerOnibus02 = createMarker ( OnibusX02, OnibusY02, OnibusZ02 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipOnibus02 = createBlipAttachedTo ( MarkerOnibus02, 0 )
    setElementVisibleTo ( MarkerOnibus02, root, false )
    setElementVisibleTo ( BlipOnibus02, root, false )

    MarkerOnibus03 = createMarker ( OnibusX03, OnibusY03, OnibusZ03 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipOnibus03 = createBlipAttachedTo ( MarkerOnibus03, 0 )
    setElementVisibleTo ( MarkerOnibus03, root, false )
    setElementVisibleTo ( BlipOnibus03, root, false )

    MarkerOnibus04 = createMarker ( OnibusX04, OnibusY04, OnibusZ04 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipOnibus04 = createBlipAttachedTo ( MarkerOnibus04, 0 )
    setElementVisibleTo ( MarkerOnibus04, root, false )
    setElementVisibleTo ( BlipOnibus04, root, false )

    MarkerOnibus05 = createMarker ( OnibusX05, OnibusY05, OnibusZ05 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipOnibus05 = createBlipAttachedTo ( MarkerOnibus05, 0 )
    setElementVisibleTo ( MarkerOnibus05, root, false )
    setElementVisibleTo ( BlipOnibus05, root, false )

    MarkerOnibus06 = createMarker ( OnibusX06, OnibusY06, OnibusZ06 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipOnibus06 = createBlipAttachedTo ( MarkerOnibus06, 0 )
    setElementVisibleTo ( MarkerOnibus06, root, false )
    setElementVisibleTo ( BlipOnibus06, root, false )

    MarkerOnibus07 = createMarker ( OnibusX07, OnibusY07, OnibusZ07 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipOnibus07 = createBlipAttachedTo ( MarkerOnibus07, 0 )
    setElementVisibleTo ( MarkerOnibus07, root, false )
    setElementVisibleTo ( BlipOnibus07, root, false )

    MarkerOnibus08 = createMarker ( OnibusX08, OnibusY08, OnibusZ08 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipOnibus08 = createBlipAttachedTo ( MarkerOnibus08, 0 )
    setElementVisibleTo ( MarkerOnibus08, root, false )
    setElementVisibleTo ( BlipOnibus08, root, false )

    MarkerOnibus09 = createMarker ( OnibusX09, OnibusY09, OnibusZ09 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipOnibus09 = createBlipAttachedTo ( MarkerOnibus09, 0 )
    setElementVisibleTo ( MarkerOnibus09, root, false )
    setElementVisibleTo ( BlipOnibus09, root, false )

    MarkerOnibus10 = createMarker ( OnibusX10, OnibusY10, OnibusZ10 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipOnibus10 = createBlipAttachedTo ( MarkerOnibus10, 0 )
    setElementVisibleTo ( MarkerOnibus10, root, false )
    setElementVisibleTo ( BlipOnibus10, root, false )

    MarkerOnibus11 = createMarker ( OnibusX11, OnibusY11, OnibusZ11 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipOnibus11 = createBlipAttachedTo ( MarkerOnibus11, 0 )
    setElementVisibleTo ( MarkerOnibus11, root, false )
    setElementVisibleTo ( BlipOnibus11, root, false )

    MarkerOnibus12 = createMarker ( OnibusX12, OnibusY12, OnibusZ12 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipOnibus12 = createBlipAttachedTo ( MarkerOnibus12, 0 )
    setElementVisibleTo ( MarkerOnibus12, root, false )
    setElementVisibleTo ( BlipOnibus12, root, false )

    MarkerOnibus13 = createMarker ( OnibusX13, OnibusY13, OnibusZ13 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipOnibus13 = createBlipAttachedTo ( MarkerOnibus13, 0 )
    setElementVisibleTo ( MarkerOnibus13, root, false )
    setElementVisibleTo ( BlipOnibus13, root, false )

    MarkerOnibus14 = createMarker ( OnibusX14, OnibusY14, OnibusZ14 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipOnibus14 = createBlipAttachedTo ( MarkerOnibus14, 0 )
    setElementVisibleTo ( MarkerOnibus14, root, false )
    setElementVisibleTo ( BlipOnibus14, root, false )

    MarkerOnibus15 = createMarker ( OnibusX15, OnibusY15, OnibusZ15 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipOnibus15 = createBlipAttachedTo ( MarkerOnibus15, 0 )
    setElementVisibleTo ( MarkerOnibus15, root, false )
    setElementVisibleTo ( BlipOnibus15, root, false )

    MarkerOnibus16 = createMarker ( OnibusX16, OnibusY16, OnibusZ16 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipOnibus16 = createBlipAttachedTo ( MarkerOnibus16, 0 )
    setElementVisibleTo ( MarkerOnibus16, root, false )
    setElementVisibleTo ( BlipOnibus16, root, false )

    AutoEscolaOnibus = {}

    function OnibusHab(entrar)
    if getElementData ( source, "PontosNacarteira" ) > 0 then
    exports.Scripts_Dxmessages:outputDx(source, MsgMultas, "error") return end
    if not getElementData(source, "Habilitacoes:Onibus" ) == true then
    if getPlayerMoney(source) >= HabValorOnibus then
    takePlayerMoney(source, HabValorOnibus)
    if AutoEscolaOnibus[source] and isElement( AutoEscolaOnibus[source] ) then destroyElement ( AutoEscolaOnibus[source] )
    AutoEscolaOnibus[source] = nil
    end
    setElementInterior ( source, 0 )
    setElementDimension ( source, 0 )
    triggerClientEvent ( source, "AirNew:FecharAutoEscola", root )
    AutoEscolaOnibus[source] = createVehicle( OnibusID, OnibusRX, OnibusRY, OnibusRZ )
    setElementRotation ( AutoEscolaOnibus[source], OnibusRotA, OnibusRotB, OnibusRotC )
    setVehicleLocked ( AutoEscolaOnibus[source], true )
    warpPedIntoVehicle ( source, AutoEscolaOnibus[source] )
    setCameraTarget ( source )
    setElementData ( source, "Carteira:StartOnibus00", true )
    setElementData ( source, "AirNew_TirandoCarta", "Sim" )
    setElementVisibleTo ( MarkerOnibus01, source, true )
    setElementVisibleTo ( BlipOnibus01, source, true )
    exports.Scripts_Dxmessages:outputDx(source, MsgOnibus01, "info")
    else
    exports.Scripts_Dxmessages:outputDx(source, MsgOnibus02, "error")
    end
    else
    exports.Scripts_Dxmessages:outputDx(source, MsgOnibus03, "warning")
    end
    end
    addEvent("Hab:Onibus", true)
    addEventHandler ( "Hab:Onibus", root, OnibusHab)

    function emarkerOnibus(marker,md) 
        if (md) then
          if AutoEscolaOnibus[source] and isElement( AutoEscolaOnibus[source] ) then
            if marker == MarkerOnibus01 then
            if getElementData( source, "Carteira:StartOnibus00", true ) then
            setElementVisibleTo ( MarkerOnibus01, source, false )
            setElementVisibleTo ( BlipOnibus01, source, false )
            setElementVisibleTo ( MarkerOnibus02, source, true )
            setElementVisibleTo ( BlipOnibus02, source, true )
            setElementData ( source, "Carteira:StartOnibus01", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartOnibus00", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerOnibus02 then
            if getElementData( source, "Carteira:StartOnibus01", true ) then
            setElementVisibleTo ( MarkerOnibus02, source, false )
            setElementVisibleTo ( BlipOnibus02, source, false )
            setElementVisibleTo ( MarkerOnibus03, source, true )
            setElementVisibleTo ( BlipOnibus03, source, true )
            setElementData ( source, "Carteira:StartOnibus02", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartOnibus01", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerOnibus03 then
            if getElementData( source, "Carteira:StartOnibus02", true ) then
            setElementVisibleTo ( MarkerOnibus03, source, false )
            setElementVisibleTo ( BlipOnibus03, source, false )
            setElementVisibleTo ( MarkerOnibus04, source, true )
            setElementVisibleTo ( BlipOnibus04, source, true )
            setElementData ( source, "Carteira:StartOnibus03", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartOnibus02", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerOnibus04 then
            if getElementData( source, "Carteira:StartOnibus03", true ) then
            setElementVisibleTo ( MarkerOnibus04, source, false )
            setElementVisibleTo ( BlipOnibus04, source, false )
            setElementVisibleTo ( MarkerOnibus05, source, true )
            setElementVisibleTo ( BlipOnibus05, source, true )
            setElementData ( source, "Carteira:StartOnibus04", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartOnibus03", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerOnibus05 then
            if getElementData( source, "Carteira:StartOnibus04", true ) then
            setElementVisibleTo ( MarkerOnibus05, source, false )
            setElementVisibleTo ( BlipOnibus05, source, false )
            setElementVisibleTo ( MarkerOnibus06, source, true )
            setElementVisibleTo ( BlipOnibus06, source, true )
            setElementData ( source, "Carteira:StartOnibus05", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartOnibus04", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerOnibus06 then
            if getElementData( source, "Carteira:StartOnibus05", true ) then
            setElementVisibleTo ( MarkerOnibus06, source, false )
            setElementVisibleTo ( BlipOnibus06, source, false )
            setElementVisibleTo ( MarkerOnibus07, source, true )
            setElementVisibleTo ( BlipOnibus07, source, true )
            setElementData ( source, "Carteira:StartOnibus06", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartOnibus05", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerOnibus07 then
            if getElementData( source, "Carteira:StartOnibus06", true ) then
            setElementVisibleTo ( MarkerOnibus07, source, false )
            setElementVisibleTo ( BlipOnibus07, source, false )
            setElementVisibleTo ( MarkerOnibus08, source, true )
            setElementVisibleTo ( BlipOnibus08, source, true )
            setElementData ( source, "Carteira:StartOnibus07", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartOnibus06", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerOnibus08 then
            if getElementData( source, "Carteira:StartOnibus07", true ) then
            setElementVisibleTo ( MarkerOnibus08, source, false )
            setElementVisibleTo ( BlipOnibus08, source, false )
            setElementVisibleTo ( MarkerOnibus09, source, true )
            setElementVisibleTo ( BlipOnibus09, source, true )
            setElementData ( source, "Carteira:StartOnibus08", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartOnibus07", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerOnibus09 then
            if getElementData( source, "Carteira:StartOnibus08", true ) then
            setElementVisibleTo ( MarkerOnibus09, source, false )
            setElementVisibleTo ( BlipOnibus09, source, false )
            setElementVisibleTo ( MarkerOnibus10, source, true )
            setElementVisibleTo ( BlipOnibus10, source, true )
            setElementData ( source, "Carteira:StartOnibus09", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartOnibus08", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerOnibus10 then
            if getElementData( source, "Carteira:StartOnibus09", true ) then
            setElementVisibleTo ( MarkerOnibus10, source, false )
            setElementVisibleTo ( BlipOnibus10, source, false )
            setElementVisibleTo ( MarkerOnibus11, source, true )
            setElementVisibleTo ( BlipOnibus11, source, true )
            setElementData ( source, "Carteira:StartOnibus10", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartOnibus09", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerOnibus11 then
            if getElementData( source, "Carteira:StartOnibus10", true ) then
            setElementVisibleTo ( MarkerOnibus11, source, false )
            setElementVisibleTo ( BlipOnibus11, source, false )
            setElementVisibleTo ( MarkerOnibus12, source, true )
            setElementVisibleTo ( BlipOnibus12, source, true )
            setElementData ( source, "Carteira:StartOnibus11", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartOnibus10", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerOnibus12 then
            if getElementData( source, "Carteira:StartOnibus11", true ) then
            setElementVisibleTo ( MarkerOnibus12, source, false )
            setElementVisibleTo ( BlipOnibus12, source, false )
            setElementVisibleTo ( MarkerOnibus13, source, true )
            setElementVisibleTo ( BlipOnibus13, source, true )
            setElementData ( source, "Carteira:StartOnibus12", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartOnibus11", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerOnibus13 then
            if getElementData( source, "Carteira:StartOnibus12", true ) then
            setElementVisibleTo ( MarkerOnibus13, source, false )
            setElementVisibleTo ( BlipOnibus13, source, false )
            setElementVisibleTo ( MarkerOnibus14, source, true )
            setElementVisibleTo ( BlipOnibus14, source, true )
            setElementData ( source, "Carteira:StartOnibus13", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartOnibus12", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerOnibus14 then
            if getElementData( source, "Carteira:StartOnibus13", true ) then
            setElementVisibleTo ( MarkerOnibus14, source, false )
            setElementVisibleTo ( BlipOnibus14, source, false )
            setElementVisibleTo ( MarkerOnibus15, source, true )
            setElementVisibleTo ( BlipOnibus15, source, true )
            setElementData ( source, "Carteira:StartOnibus14", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartOnibus13", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerOnibus15 then
            if getElementData( source, "Carteira:StartOnibus14", true ) then
            setElementVisibleTo ( MarkerOnibus15, source, false )
            setElementVisibleTo ( BlipOnibus15, source, false )
            setElementVisibleTo ( MarkerOnibus16, source, true )
            setElementVisibleTo ( BlipOnibus16, source, true )
            setElementData ( source, "Carteira:StartOnibus15", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartOnibus14", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerOnibus16 then
            if getElementData( source, "Carteira:StartOnibus15", true ) then
            AutoEscolaOnibusVida = getElementHealth ( AutoEscolaOnibus[source] )
            if AutoEscolaOnibusVida <= OnibusDanoParaReprovar then
            exports.Scripts_Dxmessages:outputDx(source, MsgOnibus04, "error")
            else
            setElementData( source, "Habilitacoes:Onibus", true)
            exports.Scripts_Dxmessages:outputDx(source, MsgOnibus05, "success")
            end
            setTimer ( setElementData, 50, 1, source, "Carteira:StartOnibus15", false )
            setElementVisibleTo ( MarkerOnibus16, source, false )
            setElementVisibleTo ( BlipOnibus16, source, false )
            setElementData ( source, "AirNew_TirandoCarta", "Não" )
            destroyElement ( AutoEscolaOnibus[source] )
            setTimer ( setElementInterior, 400, 1, source, 3 )
            setTimer ( setElementDimension, 400, 1, source, 10 )
            setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
            setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
            fadeCamera ( source, false, 0.1, 0, 0, 0 )   
            setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
            setTimer ( setCameraTarget, 600, 1, source )
            end
            end
          end 
        end    
    end
    addEventHandler("onPlayerMarkerHit",getRootElement(),emarkerOnibus)

    function SairDoVeiculoAutoEscolaOnibus (source)
    if ( AutoEscolaOnibus[source] ) and isElement( AutoEscolaOnibus[source] ) then
    setElementData ( source, "AirNew_TirandoCarta", "Não" )
    destroyElement ( AutoEscolaOnibus[source] )
    setElementData ( source, "Carteira:StartOnibus00", false )
    setElementData ( source, "Carteira:StartOnibus01", false )
    setElementData ( source, "Carteira:StartOnibus02", false )
    setElementData ( source, "Carteira:StartOnibus03", false )
    setElementData ( source, "Carteira:StartOnibus04", false )
    setElementData ( source, "Carteira:StartOnibus05", false )
    setElementData ( source, "Carteira:StartOnibus06", false )
    setElementData ( source, "Carteira:StartOnibus07", false )
    setElementData ( source, "Carteira:StartOnibus08", false )
    setElementData ( source, "Carteira:StartOnibus09", false )
    setElementData ( source, "Carteira:StartOnibus10", false )
    setElementData ( source, "Carteira:StartOnibus11", false )
    setElementData ( source, "Carteira:StartOnibus12", false )
    setElementData ( source, "Carteira:StartOnibus13", false )
    setElementData ( source, "Carteira:StartOnibus14", false )
    setElementData ( source, "Carteira:StartOnibus15", false )
    setElementVisibleTo ( MarkerOnibus01, source, false )
    setElementVisibleTo ( BlipOnibus01, source, false )
    setElementVisibleTo ( MarkerOnibus02, source, false )
    setElementVisibleTo ( BlipOnibus02, source, false )
    setElementVisibleTo ( MarkerOnibus03, source, false )
    setElementVisibleTo ( BlipOnibus03, source, false )
    setElementVisibleTo ( MarkerOnibus04, source, false )
    setElementVisibleTo ( BlipOnibus04, source, false )
    setElementVisibleTo ( MarkerOnibus05, source, false )
    setElementVisibleTo ( BlipOnibus05, source, false )
    setElementVisibleTo ( MarkerOnibus06, source, false )
    setElementVisibleTo ( BlipOnibus06, source, false )
    setElementVisibleTo ( MarkerOnibus07, source, false )
    setElementVisibleTo ( BlipOnibus07, source, false )
    setElementVisibleTo ( MarkerOnibus08, source, false )
    setElementVisibleTo ( BlipOnibus08, source, false )
    setElementVisibleTo ( MarkerOnibus09, source, false )
    setElementVisibleTo ( BlipOnibus09, source, false )
    setElementVisibleTo ( MarkerOnibus10, source, false )
    setElementVisibleTo ( BlipOnibus10, source, false )
    setElementVisibleTo ( MarkerOnibus11, source, false )
    setElementVisibleTo ( BlipOnibus11, source, false )
    setElementVisibleTo ( MarkerOnibus12, source, false )
    setElementVisibleTo ( BlipOnibus12, source, false )
    setElementVisibleTo ( MarkerOnibus13, source, false )
    setElementVisibleTo ( BlipOnibus13, source, false )
    setElementVisibleTo ( MarkerOnibus14, source, false )
    setElementVisibleTo ( BlipOnibus14, source, false )
    setElementVisibleTo ( MarkerOnibus15, source, false )
    setElementVisibleTo ( BlipOnibus15, source, false )
    setElementVisibleTo ( MarkerOnibus16, source, false )
    setElementVisibleTo ( BlipOnibus16, source, false )
    exports.Scripts_Dxmessages:outputDx(source, MsgOnibus06, "error")
    setTimer ( setElementInterior, 400, 1, source, 3 )
    setTimer ( setElementDimension, 400, 1, source, 10 )
    setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
    setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
    fadeCamera ( source, false, 0.1, 0, 0, 0 )   
    setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
    setTimer ( setCameraTarget, 600, 1, source )
    end
    end
    addEventHandler ( "onVehicleExit", getRootElement(), SairDoVeiculoAutoEscolaOnibus )

    function MorrerAutoEscolaOnibus ()
    if ( AutoEscolaOnibus[source] ) and isElement( AutoEscolaOnibus[source] ) then
    setElementData ( source, "AirNew_TirandoCarta", "Não" )
    destroyElement ( AutoEscolaOnibus[source] )
    setElementData ( source, "Carteira:StartOnibus00", false )
    setElementData ( source, "Carteira:StartOnibus01", false )
    setElementData ( source, "Carteira:StartOnibus02", false )
    setElementData ( source, "Carteira:StartOnibus03", false )
    setElementData ( source, "Carteira:StartOnibus04", false )
    setElementData ( source, "Carteira:StartOnibus05", false )
    setElementData ( source, "Carteira:StartOnibus06", false )
    setElementData ( source, "Carteira:StartOnibus07", false )
    setElementData ( source, "Carteira:StartOnibus08", false )
    setElementData ( source, "Carteira:StartOnibus09", false )
    setElementData ( source, "Carteira:StartOnibus10", false )
    setElementData ( source, "Carteira:StartOnibus11", false )
    setElementData ( source, "Carteira:StartOnibus12", false )
    setElementData ( source, "Carteira:StartOnibus13", false )
    setElementData ( source, "Carteira:StartOnibus14", false )
    setElementData ( source, "Carteira:StartOnibus15", false )
    setElementVisibleTo ( MarkerOnibus01, source, false )
    setElementVisibleTo ( BlipOnibus01, source, false )
    setElementVisibleTo ( MarkerOnibus02, source, false )
    setElementVisibleTo ( BlipOnibus02, source, false )
    setElementVisibleTo ( MarkerOnibus03, source, false )
    setElementVisibleTo ( BlipOnibus03, source, false )
    setElementVisibleTo ( MarkerOnibus04, source, false )
    setElementVisibleTo ( BlipOnibus04, source, false )
    setElementVisibleTo ( MarkerOnibus05, source, false )
    setElementVisibleTo ( BlipOnibus05, source, false )
    setElementVisibleTo ( MarkerOnibus06, source, false )
    setElementVisibleTo ( BlipOnibus06, source, false )
    setElementVisibleTo ( MarkerOnibus07, source, false )
    setElementVisibleTo ( BlipOnibus07, source, false )
    setElementVisibleTo ( MarkerOnibus08, source, false )
    setElementVisibleTo ( BlipOnibus08, source, false )
    setElementVisibleTo ( MarkerOnibus09, source, false )
    setElementVisibleTo ( BlipOnibus09, source, false )
    setElementVisibleTo ( MarkerOnibus10, source, false )
    setElementVisibleTo ( BlipOnibus10, source, false )
    setElementVisibleTo ( MarkerOnibus11, source, false )
    setElementVisibleTo ( BlipOnibus11, source, false )
    setElementVisibleTo ( MarkerOnibus12, source, false )
    setElementVisibleTo ( BlipOnibus12, source, false )
    setElementVisibleTo ( MarkerOnibus13, source, false )
    setElementVisibleTo ( BlipOnibus13, source, false )
    setElementVisibleTo ( MarkerOnibus14, source, false )
    setElementVisibleTo ( BlipOnibus14, source, false )
    setElementVisibleTo ( MarkerOnibus15, source, false )
    setElementVisibleTo ( BlipOnibus15, source, false )
    setElementVisibleTo ( MarkerOnibus16, source, false )
    setElementVisibleTo ( BlipOnibus16, source, false )
    exports.Scripts_Dxmessages:outputDx(source, MsgOnibus07, "error")
    end
    end
    addEventHandler ( "onPlayerWasted", getRootElement(), MorrerAutoEscolaOnibus )

    function SairDoServidorAutoEscolaOnibus ( quitType )    
    if isElement( AutoEscolaOnibus[source] ) then
    destroyElement ( AutoEscolaOnibus[source] )
    end
    end
    addEventHandler ( "onPlayerQuit", getRootElement(), SairDoServidorAutoEscolaOnibus )

    -- ( Final ) Percurso de Onibus

    --------------------------------------------------------------------------------

    -- ( Começo ) Percurso de Carretas

    CarretasRX, CarretasRY, CarretasRZ       = -1291.52820, 2710.38794, 51 -- Coordenadas de Respawn do Carreta
    CarretasRotA, CarretasRotB, CarretasRotC = 0, 0, 182.73559570312 -- Rotação do Veiculo ao Spawnar
    CarretasID                               = 403 -- ID do Carreta
    HabValorCarretas                         = 1600 -- Valor da Habilitação Categoria "Carretas"
    CarretasDanoParaReprovar                 = 950 -- 95%

    MsgCarretas01 = "Prova Iniciada, Siga-os Checkpoints Para Concluir o seu Objetivo!"
    MsgCarretas02 = "Você Não Tem Dinheiro Suficiente!"
    MsgCarretas03 = "Você Ja Possui Essa Habilitação!"
    MsgCarretas04 = "Você Reprovou no Teste, Evite Bater na Proxima Vez!"
    MsgCarretas05 = "Carteira de Habilitação Categoria 'Carretas' Concedida!"
    MsgCarretas06 = "Você Saiu do Veiculo, Por Esse Motivo o Teste foi Cancelado!"
    MsgCarretas07 = "Você Morreu, Por Esse Motivo o Teste foi Cancelado!"

    CarretasX01, CarretasY01, CarretasZ01 = -1292.75232, 2661.98853, 49.58909
    CarretasX02, CarretasY02, CarretasZ02 = -1371.68579, 2678.74536, 52.65607
    CarretasX03, CarretasY03, CarretasZ03 = -1480.98108, 2733.20776, 65.90062
    CarretasX04, CarretasY04, CarretasZ04 = -1643.80920, 2726.40698, 58.57969
    CarretasX05, CarretasY05, CarretasZ05 = -1747.70764, 2729.60181, 59.95318
    CarretasX06, CarretasY06, CarretasZ06 = -1849.49866, 2617.99048, 50.53489
    CarretasX07, CarretasY07, CarretasZ07 = -1910.04419, 2512.77075, 44.94999
    CarretasX08, CarretasY08, CarretasZ08 = -2002.78674, 2440.17944, 35.19661
    CarretasX09, CarretasY09, CarretasZ09 = -1986.44226, 2352.16357, 28.50075
    CarretasX10, CarretasY10, CarretasZ10 = -1960.02039, 2224.11255, 11.43757
    CarretasX11, CarretasY11, CarretasZ11 = -1860.70874, 2192.22119, 5.79754
    CarretasX12, CarretasY12, CarretasZ12 = -1821.54529, 2123.84326, 8.04688
    CarretasX13, CarretasY13, CarretasZ13 = -1801.09155, 1990.08398, 13.05490
    CarretasX14, CarretasY14, CarretasZ14 = -1736.97876, 1820.46912, 23.67095
    CarretasX15, CarretasY15, CarretasZ15 = -1574.65247, 1835.91235, 26.51335
    CarretasX16, CarretasY16, CarretasZ16 = -1486.08936, 1877.73352, 32.66355

    MarkerCarretas01 = createMarker ( CarretasX01, CarretasY01, CarretasZ01 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarretas01 = createBlipAttachedTo ( MarkerCarretas01, 0 )
    setElementVisibleTo ( MarkerCarretas01, root, false )
    setElementVisibleTo ( BlipCarretas01, root, false )

    MarkerCarretas02 = createMarker ( CarretasX02, CarretasY02, CarretasZ02 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarretas02 = createBlipAttachedTo ( MarkerCarretas02, 0 )
    setElementVisibleTo ( MarkerCarretas02, root, false )
    setElementVisibleTo ( BlipCarretas02, root, false )

    MarkerCarretas03 = createMarker ( CarretasX03, CarretasY03, CarretasZ03 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarretas03 = createBlipAttachedTo ( MarkerCarretas03, 0 )
    setElementVisibleTo ( MarkerCarretas03, root, false )
    setElementVisibleTo ( BlipCarretas03, root, false )

    MarkerCarretas04 = createMarker ( CarretasX04, CarretasY04, CarretasZ04 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarretas04 = createBlipAttachedTo ( MarkerCarretas04, 0 )
    setElementVisibleTo ( MarkerCarretas04, root, false )
    setElementVisibleTo ( BlipCarretas04, root, false )

    MarkerCarretas05 = createMarker ( CarretasX05, CarretasY05, CarretasZ05 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarretas05 = createBlipAttachedTo ( MarkerCarretas05, 0 )
    setElementVisibleTo ( MarkerCarretas05, root, false )
    setElementVisibleTo ( BlipCarretas05, root, false )

    MarkerCarretas06 = createMarker ( CarretasX06, CarretasY06, CarretasZ06 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarretas06 = createBlipAttachedTo ( MarkerCarretas06, 0 )
    setElementVisibleTo ( MarkerCarretas06, root, false )
    setElementVisibleTo ( BlipCarretas06, root, false )

    MarkerCarretas07 = createMarker ( CarretasX07, CarretasY07, CarretasZ07 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarretas07 = createBlipAttachedTo ( MarkerCarretas07, 0 )
    setElementVisibleTo ( MarkerCarretas07, root, false )
    setElementVisibleTo ( BlipCarretas07, root, false )

    MarkerCarretas08 = createMarker ( CarretasX08, CarretasY08, CarretasZ08 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarretas08 = createBlipAttachedTo ( MarkerCarretas08, 0 )
    setElementVisibleTo ( MarkerCarretas08, root, false )
    setElementVisibleTo ( BlipCarretas08, root, false )

    MarkerCarretas09 = createMarker ( CarretasX09, CarretasY09, CarretasZ09 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarretas09 = createBlipAttachedTo ( MarkerCarretas09, 0 )
    setElementVisibleTo ( MarkerCarretas09, root, false )
    setElementVisibleTo ( BlipCarretas09, root, false )

    MarkerCarretas10 = createMarker ( CarretasX10, CarretasY10, CarretasZ10 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarretas10 = createBlipAttachedTo ( MarkerCarretas10, 0 )
    setElementVisibleTo ( MarkerCarretas10, root, false )
    setElementVisibleTo ( BlipCarretas10, root, false )

    MarkerCarretas11 = createMarker ( CarretasX11, CarretasY11, CarretasZ11 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarretas11 = createBlipAttachedTo ( MarkerCarretas11, 0 )
    setElementVisibleTo ( MarkerCarretas11, root, false )
    setElementVisibleTo ( BlipCarretas11, root, false )

    MarkerCarretas12 = createMarker ( CarretasX12, CarretasY12, CarretasZ12 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarretas12 = createBlipAttachedTo ( MarkerCarretas12, 0 )
    setElementVisibleTo ( MarkerCarretas12, root, false )
    setElementVisibleTo ( BlipCarretas12, root, false )

    MarkerCarretas13 = createMarker ( CarretasX13, CarretasY13, CarretasZ13 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarretas13 = createBlipAttachedTo ( MarkerCarretas13, 0 )
    setElementVisibleTo ( MarkerCarretas13, root, false )
    setElementVisibleTo ( BlipCarretas13, root, false )

    MarkerCarretas14 = createMarker ( CarretasX14, CarretasY14, CarretasZ14 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarretas14 = createBlipAttachedTo ( MarkerCarretas14, 0 )
    setElementVisibleTo ( MarkerCarretas14, root, false )
    setElementVisibleTo ( BlipCarretas14, root, false )

    MarkerCarretas15 = createMarker ( CarretasX15, CarretasY15, CarretasZ15 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarretas15 = createBlipAttachedTo ( MarkerCarretas15, 0 )
    setElementVisibleTo ( MarkerCarretas15, root, false )
    setElementVisibleTo ( BlipCarretas15, root, false )

    MarkerCarretas16 = createMarker ( CarretasX16, CarretasY16, CarretasZ16 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipCarretas16 = createBlipAttachedTo ( MarkerCarretas16, 0 )
    setElementVisibleTo ( MarkerCarretas16, root, false )
    setElementVisibleTo ( BlipCarretas16, root, false )

    AutoEscolaCarretas = {}

    function CarretasHab(entrar)
    if getElementData ( source, "PontosNacarteira" ) > 0 then
    exports.Scripts_Dxmessages:outputDx(source, MsgMultas, "error") return end
    if not getElementData(source, "Habilitacoes:Carretas" ) == true then
    if getPlayerMoney(source) >= HabValorCarretas then
    takePlayerMoney(source, HabValorCarretas)
    if AutoEscolaCarretas[source] and isElement( AutoEscolaCarretas[source] ) then destroyElement ( AutoEscolaCarretas[source] )
    AutoEscolaCarretas[source] = nil
    end
    setElementInterior ( source, 0 )
    setElementDimension ( source, 0 )
    triggerClientEvent ( source, "AirNew:FecharAutoEscola", root )
    AutoEscolaCarretas[source] = createVehicle( CarretasID, CarretasRX, CarretasRY, CarretasRZ )
    setElementRotation ( AutoEscolaCarretas[source], CarretasRotA, CarretasRotB, CarretasRotC )
    setVehicleLocked ( AutoEscolaCarretas[source], true )
    warpPedIntoVehicle ( source, AutoEscolaCarretas[source] )
    setCameraTarget ( source )
    setElementData ( source, "Carteira:StartCarretas00", true )
    setElementData ( source, "AirNew_TirandoCarta", "Sim" )
    setElementVisibleTo ( MarkerCarretas01, source, true )
    setElementVisibleTo ( BlipCarretas01, source, true )
    exports.Scripts_Dxmessages:outputDx(source, MsgCarretas01, "info")
    else
    exports.Scripts_Dxmessages:outputDx(source, MsgCarretas02, "error")
    end
    else
    exports.Scripts_Dxmessages:outputDx(source, MsgCarretas03, "warning")
    end
    end
    addEvent("Hab:Carreta", true)
    addEventHandler ( "Hab:Carreta", root, CarretasHab)

    function emarkerCarretas(marker,md) 
        if (md) then
          if AutoEscolaCarretas[source] and isElement( AutoEscolaCarretas[source] ) then
            if marker == MarkerCarretas01 then
            if getElementData( source, "Carteira:StartCarretas00", true ) then
            setElementVisibleTo ( MarkerCarretas01, source, false )
            setElementVisibleTo ( BlipCarretas01, source, false )
            setElementVisibleTo ( MarkerCarretas02, source, true )
            setElementVisibleTo ( BlipCarretas02, source, true )
            setElementData ( source, "Carteira:StartCarretas01", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarretas00", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarretas02 then
            if getElementData( source, "Carteira:StartCarretas01", true ) then
            setElementVisibleTo ( MarkerCarretas02, source, false )
            setElementVisibleTo ( BlipCarretas02, source, false )
            setElementVisibleTo ( MarkerCarretas03, source, true )
            setElementVisibleTo ( BlipCarretas03, source, true )
            setElementData ( source, "Carteira:StartCarretas02", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarretas01", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarretas03 then
            if getElementData( source, "Carteira:StartCarretas02", true ) then
            setElementVisibleTo ( MarkerCarretas03, source, false )
            setElementVisibleTo ( BlipCarretas03, source, false )
            setElementVisibleTo ( MarkerCarretas04, source, true )
            setElementVisibleTo ( BlipCarretas04, source, true )
            setElementData ( source, "Carteira:StartCarretas03", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarretas02", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarretas04 then
            if getElementData( source, "Carteira:StartCarretas03", true ) then
            setElementVisibleTo ( MarkerCarretas04, source, false )
            setElementVisibleTo ( BlipCarretas04, source, false )
            setElementVisibleTo ( MarkerCarretas05, source, true )
            setElementVisibleTo ( BlipCarretas05, source, true )
            setElementData ( source, "Carteira:StartCarretas04", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarretas03", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarretas05 then
            if getElementData( source, "Carteira:StartCarretas04", true ) then
            setElementVisibleTo ( MarkerCarretas05, source, false )
            setElementVisibleTo ( BlipCarretas05, source, false )
            setElementVisibleTo ( MarkerCarretas06, source, true )
            setElementVisibleTo ( BlipCarretas06, source, true )
            setElementData ( source, "Carteira:StartCarretas05", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarretas04", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarretas06 then
            if getElementData( source, "Carteira:StartCarretas05", true ) then
            setElementVisibleTo ( MarkerCarretas06, source, false )
            setElementVisibleTo ( BlipCarretas06, source, false )
            setElementVisibleTo ( MarkerCarretas07, source, true )
            setElementVisibleTo ( BlipCarretas07, source, true )
            setElementData ( source, "Carteira:StartCarretas06", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarretas05", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarretas07 then
            if getElementData( source, "Carteira:StartCarretas06", true ) then
            setElementVisibleTo ( MarkerCarretas07, source, false )
            setElementVisibleTo ( BlipCarretas07, source, false )
            setElementVisibleTo ( MarkerCarretas08, source, true )
            setElementVisibleTo ( BlipCarretas08, source, true )
            setElementData ( source, "Carteira:StartCarretas07", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarretas06", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarretas08 then
            if getElementData( source, "Carteira:StartCarretas07", true ) then
            setElementVisibleTo ( MarkerCarretas08, source, false )
            setElementVisibleTo ( BlipCarretas08, source, false )
            setElementVisibleTo ( MarkerCarretas09, source, true )
            setElementVisibleTo ( BlipCarretas09, source, true )
            setElementData ( source, "Carteira:StartCarretas08", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarretas07", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarretas09 then
            if getElementData( source, "Carteira:StartCarretas08", true ) then
            setElementVisibleTo ( MarkerCarretas09, source, false )
            setElementVisibleTo ( BlipCarretas09, source, false )
            setElementVisibleTo ( MarkerCarretas10, source, true )
            setElementVisibleTo ( BlipCarretas10, source, true )
            setElementData ( source, "Carteira:StartCarretas09", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarretas08", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarretas10 then
            if getElementData( source, "Carteira:StartCarretas09", true ) then
            setElementVisibleTo ( MarkerCarretas10, source, false )
            setElementVisibleTo ( BlipCarretas10, source, false )
            setElementVisibleTo ( MarkerCarretas11, source, true )
            setElementVisibleTo ( BlipCarretas11, source, true )
            setElementData ( source, "Carteira:StartCarretas10", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarretas09", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarretas11 then
            if getElementData( source, "Carteira:StartCarretas10", true ) then
            setElementVisibleTo ( MarkerCarretas11, source, false )
            setElementVisibleTo ( BlipCarretas11, source, false )
            setElementVisibleTo ( MarkerCarretas12, source, true )
            setElementVisibleTo ( BlipCarretas12, source, true )
            setElementData ( source, "Carteira:StartCarretas11", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarretas10", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarretas12 then
            if getElementData( source, "Carteira:StartCarretas11", true ) then
            setElementVisibleTo ( MarkerCarretas12, source, false )
            setElementVisibleTo ( BlipCarretas12, source, false )
            setElementVisibleTo ( MarkerCarretas13, source, true )
            setElementVisibleTo ( BlipCarretas13, source, true )
            setElementData ( source, "Carteira:StartCarretas12", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarretas11", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarretas13 then
            if getElementData( source, "Carteira:StartCarretas12", true ) then
            setElementVisibleTo ( MarkerCarretas13, source, false )
            setElementVisibleTo ( BlipCarretas13, source, false )
            setElementVisibleTo ( MarkerCarretas14, source, true )
            setElementVisibleTo ( BlipCarretas14, source, true )
            setElementData ( source, "Carteira:StartCarretas13", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarretas12", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarretas14 then
            if getElementData( source, "Carteira:StartCarretas13", true ) then
            setElementVisibleTo ( MarkerCarretas14, source, false )
            setElementVisibleTo ( BlipCarretas14, source, false )
            setElementVisibleTo ( MarkerCarretas15, source, true )
            setElementVisibleTo ( BlipCarretas15, source, true )
            setElementData ( source, "Carteira:StartCarretas14", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarretas13", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarretas15 then
            if getElementData( source, "Carteira:StartCarretas14", true ) then
            setElementVisibleTo ( MarkerCarretas15, source, false )
            setElementVisibleTo ( BlipCarretas15, source, false )
            setElementVisibleTo ( MarkerCarretas16, source, true )
            setElementVisibleTo ( BlipCarretas16, source, true )
            setElementData ( source, "Carteira:StartCarretas15", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarretas14", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerCarretas16 then
            if getElementData( source, "Carteira:StartCarretas15", true ) then
            AutoEscolaCarretasVida = getElementHealth ( AutoEscolaCarretas[source] )
            if AutoEscolaCarretasVida <= CarretasDanoParaReprovar then
            exports.Scripts_Dxmessages:outputDx(source, MsgCarretas04, "error")
            else
            setElementData( source, "Habilitacoes:Carretas", true)
            exports.Scripts_Dxmessages:outputDx(source, MsgCarretas05, "success")
            end
            setTimer ( setElementData, 50, 1, source, "Carteira:StartCarretas15", false )
            setElementVisibleTo ( MarkerCarretas16, source, false )
            setElementVisibleTo ( BlipCarretas16, source, false )
            setElementData ( source, "AirNew_TirandoCarta", "Não" )
            destroyElement ( AutoEscolaCarretas[source] )
            setTimer ( setElementInterior, 400, 1, source, 3 )
            setTimer ( setElementDimension, 400, 1, source, 10 )
            setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
            setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
            fadeCamera ( source, false, 0.1, 0, 0, 0 )   
            setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
            setTimer ( setCameraTarget, 600, 1, source )
            end
            end
          end 
        end    
    end
    addEventHandler("onPlayerMarkerHit",getRootElement(),emarkerCarretas)

    function SairDoVeiculoAutoEscolaCarretas (source)
    if ( AutoEscolaCarretas[source] ) and isElement( AutoEscolaCarretas[source] ) then
    setElementData ( source, "AirNew_TirandoCarta", "Não" )
    destroyElement ( AutoEscolaCarretas[source] )
    setElementData ( source, "Carteira:StartCarretas00", false )
    setElementData ( source, "Carteira:StartCarretas01", false )
    setElementData ( source, "Carteira:StartCarretas02", false )
    setElementData ( source, "Carteira:StartCarretas03", false )
    setElementData ( source, "Carteira:StartCarretas04", false )
    setElementData ( source, "Carteira:StartCarretas05", false )
    setElementData ( source, "Carteira:StartCarretas06", false )
    setElementData ( source, "Carteira:StartCarretas07", false )
    setElementData ( source, "Carteira:StartCarretas08", false )
    setElementData ( source, "Carteira:StartCarretas09", false )
    setElementData ( source, "Carteira:StartCarretas10", false )
    setElementData ( source, "Carteira:StartCarretas11", false )
    setElementData ( source, "Carteira:StartCarretas12", false )
    setElementData ( source, "Carteira:StartCarretas13", false )
    setElementData ( source, "Carteira:StartCarretas14", false )
    setElementData ( source, "Carteira:StartCarretas15", false )
    setElementVisibleTo ( MarkerCarretas01, source, false )
    setElementVisibleTo ( BlipCarretas01, source, false )
    setElementVisibleTo ( MarkerCarretas02, source, false )
    setElementVisibleTo ( BlipCarretas02, source, false )
    setElementVisibleTo ( MarkerCarretas03, source, false )
    setElementVisibleTo ( BlipCarretas03, source, false )
    setElementVisibleTo ( MarkerCarretas04, source, false )
    setElementVisibleTo ( BlipCarretas04, source, false )
    setElementVisibleTo ( MarkerCarretas05, source, false )
    setElementVisibleTo ( BlipCarretas05, source, false )
    setElementVisibleTo ( MarkerCarretas06, source, false )
    setElementVisibleTo ( BlipCarretas06, source, false )
    setElementVisibleTo ( MarkerCarretas07, source, false )
    setElementVisibleTo ( BlipCarretas07, source, false )
    setElementVisibleTo ( MarkerCarretas08, source, false )
    setElementVisibleTo ( BlipCarretas08, source, false )
    setElementVisibleTo ( MarkerCarretas09, source, false )
    setElementVisibleTo ( BlipCarretas09, source, false )
    setElementVisibleTo ( MarkerCarretas10, source, false )
    setElementVisibleTo ( BlipCarretas10, source, false )
    setElementVisibleTo ( MarkerCarretas11, source, false )
    setElementVisibleTo ( BlipCarretas11, source, false )
    setElementVisibleTo ( MarkerCarretas12, source, false )
    setElementVisibleTo ( BlipCarretas12, source, false )
    setElementVisibleTo ( MarkerCarretas13, source, false )
    setElementVisibleTo ( BlipCarretas13, source, false )
    setElementVisibleTo ( MarkerCarretas14, source, false )
    setElementVisibleTo ( BlipCarretas14, source, false )
    setElementVisibleTo ( MarkerCarretas15, source, false )
    setElementVisibleTo ( BlipCarretas15, source, false )
    setElementVisibleTo ( MarkerCarretas16, source, false )
    setElementVisibleTo ( BlipCarretas16, source, false )
    exports.Scripts_Dxmessages:outputDx(source, MsgCarretas06, "error")
    setTimer ( setElementInterior, 400, 1, source, 3 )
    setTimer ( setElementDimension, 400, 1, source, 10 )
    setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
    setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
    fadeCamera ( source, false, 0.1, 0, 0, 0 )   
    setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
    setTimer ( setCameraTarget, 600, 1, source )
    end
    end
    addEventHandler ( "onVehicleExit", getRootElement(), SairDoVeiculoAutoEscolaCarretas )

    function MorrerAutoEscolaCarretas ()
    if ( AutoEscolaCarretas[source] ) and isElement( AutoEscolaCarretas[source] ) then
    setElementData ( source, "AirNew_TirandoCarta", "Não" )
    destroyElement ( AutoEscolaCarretas[source] )
    setElementData ( source, "Carteira:StartCarretas00", false )
    setElementData ( source, "Carteira:StartCarretas01", false )
    setElementData ( source, "Carteira:StartCarretas02", false )
    setElementData ( source, "Carteira:StartCarretas03", false )
    setElementData ( source, "Carteira:StartCarretas04", false )
    setElementData ( source, "Carteira:StartCarretas05", false )
    setElementData ( source, "Carteira:StartCarretas06", false )
    setElementData ( source, "Carteira:StartCarretas07", false )
    setElementData ( source, "Carteira:StartCarretas08", false )
    setElementData ( source, "Carteira:StartCarretas09", false )
    setElementData ( source, "Carteira:StartCarretas10", false )
    setElementData ( source, "Carteira:StartCarretas11", false )
    setElementData ( source, "Carteira:StartCarretas12", false )
    setElementData ( source, "Carteira:StartCarretas13", false )
    setElementData ( source, "Carteira:StartCarretas14", false )
    setElementData ( source, "Carteira:StartCarretas15", false )
    setElementVisibleTo ( MarkerCarretas01, source, false )
    setElementVisibleTo ( BlipCarretas01, source, false )
    setElementVisibleTo ( MarkerCarretas02, source, false )
    setElementVisibleTo ( BlipCarretas02, source, false )
    setElementVisibleTo ( MarkerCarretas03, source, false )
    setElementVisibleTo ( BlipCarretas03, source, false )
    setElementVisibleTo ( MarkerCarretas04, source, false )
    setElementVisibleTo ( BlipCarretas04, source, false )
    setElementVisibleTo ( MarkerCarretas05, source, false )
    setElementVisibleTo ( BlipCarretas05, source, false )
    setElementVisibleTo ( MarkerCarretas06, source, false )
    setElementVisibleTo ( BlipCarretas06, source, false )
    setElementVisibleTo ( MarkerCarretas07, source, false )
    setElementVisibleTo ( BlipCarretas07, source, false )
    setElementVisibleTo ( MarkerCarretas08, source, false )
    setElementVisibleTo ( BlipCarretas08, source, false )
    setElementVisibleTo ( MarkerCarretas09, source, false )
    setElementVisibleTo ( BlipCarretas09, source, false )
    setElementVisibleTo ( MarkerCarretas10, source, false )
    setElementVisibleTo ( BlipCarretas10, source, false )
    setElementVisibleTo ( MarkerCarretas11, source, false )
    setElementVisibleTo ( BlipCarretas11, source, false )
    setElementVisibleTo ( MarkerCarretas12, source, false )
    setElementVisibleTo ( BlipCarretas12, source, false )
    setElementVisibleTo ( MarkerCarretas13, source, false )
    setElementVisibleTo ( BlipCarretas13, source, false )
    setElementVisibleTo ( MarkerCarretas14, source, false )
    setElementVisibleTo ( BlipCarretas14, source, false )
    setElementVisibleTo ( MarkerCarretas15, source, false )
    setElementVisibleTo ( BlipCarretas15, source, false )
    setElementVisibleTo ( MarkerCarretas16, source, false )
    setElementVisibleTo ( BlipCarretas16, source, false )
    exports.Scripts_Dxmessages:outputDx(source, MsgCarretas07, "error")
    end
    end
    addEventHandler ( "onPlayerWasted", getRootElement(), MorrerAutoEscolaCarretas )

    function SairDoServidorAutoEscolaCarretas ( quitType )    
    if isElement( AutoEscolaCarretas[source] ) then
    destroyElement ( AutoEscolaCarretas[source] )
    end
    end
    addEventHandler ( "onPlayerQuit", getRootElement(), SairDoServidorAutoEscolaCarretas )

    --------------------------------------------------------------------------------

    -- ( Começo ) Percurso de Barcos

    BarcosRX, BarcosRY, BarcosRZ           = 2094.08521, -102.32258, 0.51715 -- Coordenadas de Respawn do Barco
    BarcosRotA, BarcosRotB, BarcosRotC     = 0, 0, 125.45202636719 -- Rotação do Veiculo ao Spawnar
    BarcosID                               = 446 -- ID do Barco
    HabValorBarcos                         = 3000 -- Valor da Habilitação Categoria "Barcos"
    BarcosDanoParaReprovar                 = 950 -- 95%

    MsgBarcos01 = "Prova Iniciada, Siga-os Checkpoints Para Concluir o seu Objetivo!"
    MsgBarcos02 = "Você Não Tem Dinheiro Suficiente!"
    MsgBarcos03 = "Você Ja Possui Essa Habilitação!"
    MsgBarcos04 = "Você Reprovou no Teste, Evite Bater na Proxima Vez!"
    MsgBarcos05 = "Carteira de Habilitação Categoria 'Barcos' Concedida!"
    MsgBarcos06 = "Você Saiu do Veiculo, Por Esse Motivo o Teste foi Cancelado!"
    MsgBarcos07 = "Você Morreu, Por Esse Motivo o Teste foi Cancelado!"

    BarcosX01, BarcosY01, BarcosZ01 = 1969.37048, -76.51154, 0.61060
    BarcosX02, BarcosY02, BarcosZ02 = 1778.74304, -25.28976, 1.06329
    BarcosX03, BarcosY03, BarcosZ03 = 1604.60706, -42.24431, 0.20777
    BarcosX04, BarcosY04, BarcosZ04 = 1564.81091, -188.31783, 1.03013
    BarcosX05, BarcosY05, BarcosZ05 = 1351.16663, -255.22849, 0.64836
    BarcosX06, BarcosY06, BarcosZ06 = 1224.50562, -147.91315, 0.70902
    BarcosX07, BarcosY07, BarcosZ07 = 1078.58972, -103.00694, 0.49749
    BarcosX08, BarcosY08, BarcosZ08 = 872.80511, -122.47253, 0.59834
    BarcosX09, BarcosY09, BarcosZ09 = 752.33319, -192.47580, 0.66709
    BarcosX10, BarcosY10, BarcosZ10 = 565.60455, -235.80785, 0.71552
    BarcosX11, BarcosY11, BarcosZ11 = 389.19714, -285.92471, 0.58013
    BarcosX12, BarcosY12, BarcosZ12 = 271.44901, -375.78848, 0.61753
    BarcosX13, BarcosY13, BarcosZ13 = 109.00140, -434.07193, 0.24948
    BarcosX14, BarcosY14, BarcosZ14 = -87.17338, -609.55768, -0.14524
    BarcosX15, BarcosY15, BarcosZ15 = -217.76225, -535.85645, 0.12518
    BarcosX16, BarcosY16, BarcosZ16 = -331.42117, -468.58258, 0.62195

    MarkerBarcos01 = createMarker ( BarcosX01, BarcosY01, BarcosZ01 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipBarcos01 = createBlipAttachedTo ( MarkerBarcos01, 0 )
    setElementVisibleTo ( MarkerBarcos01, root, false )
    setElementVisibleTo ( BlipBarcos01, root, false )

    MarkerBarcos02 = createMarker ( BarcosX02, BarcosY02, BarcosZ02 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipBarcos02 = createBlipAttachedTo ( MarkerBarcos02, 0 )
    setElementVisibleTo ( MarkerBarcos02, root, false )
    setElementVisibleTo ( BlipBarcos02, root, false )

    MarkerBarcos03 = createMarker ( BarcosX03, BarcosY03, BarcosZ03 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipBarcos03 = createBlipAttachedTo ( MarkerBarcos03, 0 )
    setElementVisibleTo ( MarkerBarcos03, root, false )
    setElementVisibleTo ( BlipBarcos03, root, false )

    MarkerBarcos04 = createMarker ( BarcosX04, BarcosY04, BarcosZ04 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipBarcos04 = createBlipAttachedTo ( MarkerBarcos04, 0 )
    setElementVisibleTo ( MarkerBarcos04, root, false )
    setElementVisibleTo ( BlipBarcos04, root, false )

    MarkerBarcos05 = createMarker ( BarcosX05, BarcosY05, BarcosZ05 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipBarcos05 = createBlipAttachedTo ( MarkerBarcos05, 0 )
    setElementVisibleTo ( MarkerBarcos05, root, false )
    setElementVisibleTo ( BlipBarcos05, root, false )

    MarkerBarcos06 = createMarker ( BarcosX06, BarcosY06, BarcosZ06 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipBarcos06 = createBlipAttachedTo ( MarkerBarcos06, 0 )
    setElementVisibleTo ( MarkerBarcos06, root, false )
    setElementVisibleTo ( BlipBarcos06, root, false )

    MarkerBarcos07 = createMarker ( BarcosX07, BarcosY07, BarcosZ07 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipBarcos07 = createBlipAttachedTo ( MarkerBarcos07, 0 )
    setElementVisibleTo ( MarkerBarcos07, root, false )
    setElementVisibleTo ( BlipBarcos07, root, false )

    MarkerBarcos08 = createMarker ( BarcosX08, BarcosY08, BarcosZ08 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipBarcos08 = createBlipAttachedTo ( MarkerBarcos08, 0 )
    setElementVisibleTo ( MarkerBarcos08, root, false )
    setElementVisibleTo ( BlipBarcos08, root, false )

    MarkerBarcos09 = createMarker ( BarcosX09, BarcosY09, BarcosZ09 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipBarcos09 = createBlipAttachedTo ( MarkerBarcos09, 0 )
    setElementVisibleTo ( MarkerBarcos09, root, false )
    setElementVisibleTo ( BlipBarcos09, root, false )

    MarkerBarcos10 = createMarker ( BarcosX10, BarcosY10, BarcosZ10 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipBarcos10 = createBlipAttachedTo ( MarkerBarcos10, 0 )
    setElementVisibleTo ( MarkerBarcos10, root, false )
    setElementVisibleTo ( BlipBarcos10, root, false )

    MarkerBarcos11 = createMarker ( BarcosX11, BarcosY11, BarcosZ11 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipBarcos11 = createBlipAttachedTo ( MarkerBarcos11, 0 )
    setElementVisibleTo ( MarkerBarcos11, root, false )
    setElementVisibleTo ( BlipBarcos11, root, false )

    MarkerBarcos12 = createMarker ( BarcosX12, BarcosY12, BarcosZ12 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipBarcos12 = createBlipAttachedTo ( MarkerBarcos12, 0 )
    setElementVisibleTo ( MarkerBarcos12, root, false )
    setElementVisibleTo ( BlipBarcos12, root, false )

    MarkerBarcos13 = createMarker ( BarcosX13, BarcosY13, BarcosZ13 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipBarcos13 = createBlipAttachedTo ( MarkerBarcos13, 0 )
    setElementVisibleTo ( MarkerBarcos13, root, false )
    setElementVisibleTo ( BlipBarcos13, root, false )

    MarkerBarcos14 = createMarker ( BarcosX14, BarcosY14, BarcosZ14 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipBarcos14 = createBlipAttachedTo ( MarkerBarcos14, 0 )
    setElementVisibleTo ( MarkerBarcos14, root, false )
    setElementVisibleTo ( BlipBarcos14, root, false )

    MarkerBarcos15 = createMarker ( BarcosX15, BarcosY15, BarcosZ15 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipBarcos15 = createBlipAttachedTo ( MarkerBarcos15, 0 )
    setElementVisibleTo ( MarkerBarcos15, root, false )
    setElementVisibleTo ( BlipBarcos15, root, false )

    MarkerBarcos16 = createMarker ( BarcosX16, BarcosY16, BarcosZ16 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipBarcos16 = createBlipAttachedTo ( MarkerBarcos16, 0 )
    setElementVisibleTo ( MarkerBarcos16, root, false )
    setElementVisibleTo ( BlipBarcos16, root, false )

    AutoEscolaBarcos = {}

    function BarcosHab(entrar)
    if getElementData ( source, "PontosNacarteira" ) > 0 then
    exports.Scripts_Dxmessages:outputDx(source, MsgMultas, "error") return end
    if not getElementData(source, "Habilitacoes:Barcos" ) == true then
    if getPlayerMoney(source) >= HabValorBarcos then
    takePlayerMoney(source, HabValorBarcos)
    if AutoEscolaBarcos[source] and isElement( AutoEscolaBarcos[source] ) then destroyElement ( AutoEscolaBarcos[source] )
    AutoEscolaBarcos[source] = nil
    end
    setElementInterior ( source, 0 )
    setElementDimension ( source, 0 )
    triggerClientEvent ( source, "AirNew:FecharAutoEscola", root )
    AutoEscolaBarcos[source] = createVehicle( BarcosID, BarcosRX, BarcosRY, BarcosRZ )
    setElementRotation ( AutoEscolaBarcos[source], BarcosRotA, BarcosRotB, BarcosRotC )
    setVehicleLocked ( AutoEscolaBarcos[source], true )
    warpPedIntoVehicle ( source, AutoEscolaBarcos[source] )
    setCameraTarget ( source )
    setElementData ( source, "Carteira:StartBarcos00", true )
    setElementData ( source, "AirNew_TirandoCarta", "Sim" )
    setElementVisibleTo ( MarkerBarcos01, source, true )
    setElementVisibleTo ( BlipBarcos01, source, true )
    exports.Scripts_Dxmessages:outputDx(source, MsgBarcos01, "info")
    else
    exports.Scripts_Dxmessages:outputDx(source, MsgBarcos02, "error")
    end
    else
    exports.Scripts_Dxmessages:outputDx(source, MsgBarcos03, "warning")
    end
    end
    addEvent("Hab:Barco", true)
    addEventHandler ( "Hab:Barco", root, BarcosHab)

    function emarkerBarcos(marker,md) 
        if (md) then
          if AutoEscolaBarcos[source] and isElement( AutoEscolaBarcos[source] ) then
            if marker == MarkerBarcos01 then
            if getElementData( source, "Carteira:StartBarcos00", true ) then
            setElementVisibleTo ( MarkerBarcos01, source, false )
            setElementVisibleTo ( BlipBarcos01, source, false )
            setElementVisibleTo ( MarkerBarcos02, source, true )
            setElementVisibleTo ( BlipBarcos02, source, true )
            setElementData ( source, "Carteira:StartBarcos01", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartBarcos00", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerBarcos02 then
            if getElementData( source, "Carteira:StartBarcos01", true ) then
            setElementVisibleTo ( MarkerBarcos02, source, false )
            setElementVisibleTo ( BlipBarcos02, source, false )
            setElementVisibleTo ( MarkerBarcos03, source, true )
            setElementVisibleTo ( BlipBarcos03, source, true )
            setElementData ( source, "Carteira:StartBarcos02", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartBarcos01", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerBarcos03 then
            if getElementData( source, "Carteira:StartBarcos02", true ) then
            setElementVisibleTo ( MarkerBarcos03, source, false )
            setElementVisibleTo ( BlipBarcos03, source, false )
            setElementVisibleTo ( MarkerBarcos04, source, true )
            setElementVisibleTo ( BlipBarcos04, source, true )
            setElementData ( source, "Carteira:StartBarcos03", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartBarcos02", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerBarcos04 then
            if getElementData( source, "Carteira:StartBarcos03", true ) then
            setElementVisibleTo ( MarkerBarcos04, source, false )
            setElementVisibleTo ( BlipBarcos04, source, false )
            setElementVisibleTo ( MarkerBarcos05, source, true )
            setElementVisibleTo ( BlipBarcos05, source, true )
            setElementData ( source, "Carteira:StartBarcos04", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartBarcos03", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerBarcos05 then
            if getElementData( source, "Carteira:StartBarcos04", true ) then
            setElementVisibleTo ( MarkerBarcos05, source, false )
            setElementVisibleTo ( BlipBarcos05, source, false )
            setElementVisibleTo ( MarkerBarcos06, source, true )
            setElementVisibleTo ( BlipBarcos06, source, true )
            setElementData ( source, "Carteira:StartBarcos05", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartBarcos04", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerBarcos06 then
            if getElementData( source, "Carteira:StartBarcos05", true ) then
            setElementVisibleTo ( MarkerBarcos06, source, false )
            setElementVisibleTo ( BlipBarcos06, source, false )
            setElementVisibleTo ( MarkerBarcos07, source, true )
            setElementVisibleTo ( BlipBarcos07, source, true )
            setElementData ( source, "Carteira:StartBarcos06", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartBarcos05", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerBarcos07 then
            if getElementData( source, "Carteira:StartBarcos06", true ) then
            setElementVisibleTo ( MarkerBarcos07, source, false )
            setElementVisibleTo ( BlipBarcos07, source, false )
            setElementVisibleTo ( MarkerBarcos08, source, true )
            setElementVisibleTo ( BlipBarcos08, source, true )
            setElementData ( source, "Carteira:StartBarcos07", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartBarcos06", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerBarcos08 then
            if getElementData( source, "Carteira:StartBarcos07", true ) then
            setElementVisibleTo ( MarkerBarcos08, source, false )
            setElementVisibleTo ( BlipBarcos08, source, false )
            setElementVisibleTo ( MarkerBarcos09, source, true )
            setElementVisibleTo ( BlipBarcos09, source, true )
            setElementData ( source, "Carteira:StartBarcos08", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartBarcos07", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerBarcos09 then
            if getElementData( source, "Carteira:StartBarcos08", true ) then
            setElementVisibleTo ( MarkerBarcos09, source, false )
            setElementVisibleTo ( BlipBarcos09, source, false )
            setElementVisibleTo ( MarkerBarcos10, source, true )
            setElementVisibleTo ( BlipBarcos10, source, true )
            setElementData ( source, "Carteira:StartBarcos09", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartBarcos08", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerBarcos10 then
            if getElementData( source, "Carteira:StartBarcos09", true ) then
            setElementVisibleTo ( MarkerBarcos10, source, false )
            setElementVisibleTo ( BlipBarcos10, source, false )
            setElementVisibleTo ( MarkerBarcos11, source, true )
            setElementVisibleTo ( BlipBarcos11, source, true )
            setElementData ( source, "Carteira:StartBarcos10", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartBarcos09", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerBarcos11 then
            if getElementData( source, "Carteira:StartBarcos10", true ) then
            setElementVisibleTo ( MarkerBarcos11, source, false )
            setElementVisibleTo ( BlipBarcos11, source, false )
            setElementVisibleTo ( MarkerBarcos12, source, true )
            setElementVisibleTo ( BlipBarcos12, source, true )
            setElementData ( source, "Carteira:StartBarcos11", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartBarcos10", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerBarcos12 then
            if getElementData( source, "Carteira:StartBarcos11", true ) then
            setElementVisibleTo ( MarkerBarcos12, source, false )
            setElementVisibleTo ( BlipBarcos12, source, false )
            setElementVisibleTo ( MarkerBarcos13, source, true )
            setElementVisibleTo ( BlipBarcos13, source, true )
            setElementData ( source, "Carteira:StartBarcos12", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartBarcos11", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerBarcos13 then
            if getElementData( source, "Carteira:StartBarcos12", true ) then
            setElementVisibleTo ( MarkerBarcos13, source, false )
            setElementVisibleTo ( BlipBarcos13, source, false )
            setElementVisibleTo ( MarkerBarcos14, source, true )
            setElementVisibleTo ( BlipBarcos14, source, true )
            setElementData ( source, "Carteira:StartBarcos13", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartBarcos12", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerBarcos14 then
            if getElementData( source, "Carteira:StartBarcos13", true ) then
            setElementVisibleTo ( MarkerBarcos14, source, false )
            setElementVisibleTo ( BlipBarcos14, source, false )
            setElementVisibleTo ( MarkerBarcos15, source, true )
            setElementVisibleTo ( BlipBarcos15, source, true )
            setElementData ( source, "Carteira:StartBarcos14", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartBarcos13", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerBarcos15 then
            if getElementData( source, "Carteira:StartBarcos14", true ) then
            setElementVisibleTo ( MarkerBarcos15, source, false )
            setElementVisibleTo ( BlipBarcos15, source, false )
            setElementVisibleTo ( MarkerBarcos16, source, true )
            setElementVisibleTo ( BlipBarcos16, source, true )
            setElementData ( source, "Carteira:StartBarcos15", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartBarcos14", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerBarcos16 then
            if getElementData( source, "Carteira:StartBarcos15", true ) then
            AutoEscolaBarcosVida = getElementHealth ( AutoEscolaBarcos[source] )
            if AutoEscolaBarcosVida <= BarcosDanoParaReprovar then
            exports.Scripts_Dxmessages:outputDx(source, MsgBarcos04, "error")
            else
            setElementData( source, "Habilitacoes:Barcos", true)
            exports.Scripts_Dxmessages:outputDx(source, MsgBarcos05, "success")
            end
            setTimer ( setElementData, 50, 1, source, "Carteira:StartBarcos15", false )
            setElementVisibleTo ( MarkerBarcos16, source, false )
            setElementVisibleTo ( BlipBarcos16, source, false )
            setElementData ( source, "AirNew_TirandoCarta", "Não" )
            destroyElement ( AutoEscolaBarcos[source] )
            setTimer ( setElementInterior, 400, 1, source, 3 )
            setTimer ( setElementDimension, 400, 1, source, 10 )
            setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
            setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
            fadeCamera ( source, false, 0.1, 0, 0, 0 )   
            setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
            setTimer ( setCameraTarget, 600, 1, source )
            end
            end
          end 
        end    
    end
    addEventHandler("onPlayerMarkerHit",getRootElement(),emarkerBarcos)

    function SairDoVeiculoAutoEscolaBarcos (source)
    if ( AutoEscolaBarcos[source] ) and isElement( AutoEscolaBarcos[source] ) then
    setElementData ( source, "AirNew_TirandoCarta", "Não" )
    destroyElement ( AutoEscolaBarcos[source] )
    setElementData ( source, "Carteira:StartBarcos00", false )
    setElementData ( source, "Carteira:StartBarcos01", false )
    setElementData ( source, "Carteira:StartBarcos02", false )
    setElementData ( source, "Carteira:StartBarcos03", false )
    setElementData ( source, "Carteira:StartBarcos04", false )
    setElementData ( source, "Carteira:StartBarcos05", false )
    setElementData ( source, "Carteira:StartBarcos06", false )
    setElementData ( source, "Carteira:StartBarcos07", false )
    setElementData ( source, "Carteira:StartBarcos08", false )
    setElementData ( source, "Carteira:StartBarcos09", false )
    setElementData ( source, "Carteira:StartBarcos10", false )
    setElementData ( source, "Carteira:StartBarcos11", false )
    setElementData ( source, "Carteira:StartBarcos12", false )
    setElementData ( source, "Carteira:StartBarcos13", false )
    setElementData ( source, "Carteira:StartBarcos14", false )
    setElementData ( source, "Carteira:StartBarcos15", false )
    setElementVisibleTo ( MarkerBarcos01, source, false )
    setElementVisibleTo ( BlipBarcos01, source, false )
    setElementVisibleTo ( MarkerBarcos02, source, false )
    setElementVisibleTo ( BlipBarcos02, source, false )
    setElementVisibleTo ( MarkerBarcos03, source, false )
    setElementVisibleTo ( BlipBarcos03, source, false )
    setElementVisibleTo ( MarkerBarcos04, source, false )
    setElementVisibleTo ( BlipBarcos04, source, false )
    setElementVisibleTo ( MarkerBarcos05, source, false )
    setElementVisibleTo ( BlipBarcos05, source, false )
    setElementVisibleTo ( MarkerBarcos06, source, false )
    setElementVisibleTo ( BlipBarcos06, source, false )
    setElementVisibleTo ( MarkerBarcos07, source, false )
    setElementVisibleTo ( BlipBarcos07, source, false )
    setElementVisibleTo ( MarkerBarcos08, source, false )
    setElementVisibleTo ( BlipBarcos08, source, false )
    setElementVisibleTo ( MarkerBarcos09, source, false )
    setElementVisibleTo ( BlipBarcos09, source, false )
    setElementVisibleTo ( MarkerBarcos10, source, false )
    setElementVisibleTo ( BlipBarcos10, source, false )
    setElementVisibleTo ( MarkerBarcos11, source, false )
    setElementVisibleTo ( BlipBarcos11, source, false )
    setElementVisibleTo ( MarkerBarcos12, source, false )
    setElementVisibleTo ( BlipBarcos12, source, false )
    setElementVisibleTo ( MarkerBarcos13, source, false )
    setElementVisibleTo ( BlipBarcos13, source, false )
    setElementVisibleTo ( MarkerBarcos14, source, false )
    setElementVisibleTo ( BlipBarcos14, source, false )
    setElementVisibleTo ( MarkerBarcos15, source, false )
    setElementVisibleTo ( BlipBarcos15, source, false )
    setElementVisibleTo ( MarkerBarcos16, source, false )
    setElementVisibleTo ( BlipBarcos16, source, false )
    exports.Scripts_Dxmessages:outputDx(source, MsgBarcos06, "error")
    setTimer ( setElementInterior, 400, 1, source, 3 )
    setTimer ( setElementDimension, 400, 1, source, 10 )
    setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
    setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
    fadeCamera ( source, false, 0.1, 0, 0, 0 )   
    setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
    setTimer ( setCameraTarget, 600, 1, source )
    end
    end
    addEventHandler ( "onVehicleExit", getRootElement(), SairDoVeiculoAutoEscolaBarcos )

    function MorrerAutoEscolaBarcos ()
    if ( AutoEscolaBarcos[source] ) and isElement( AutoEscolaBarcos[source] ) then
    setElementData ( source, "AirNew_TirandoCarta", "Não" )
    destroyElement ( AutoEscolaBarcos[source] )
    setElementData ( source, "Carteira:StartBarcos00", false )
    setElementData ( source, "Carteira:StartBarcos01", false )
    setElementData ( source, "Carteira:StartBarcos02", false )
    setElementData ( source, "Carteira:StartBarcos03", false )
    setElementData ( source, "Carteira:StartBarcos04", false )
    setElementData ( source, "Carteira:StartBarcos05", false )
    setElementData ( source, "Carteira:StartBarcos06", false )
    setElementData ( source, "Carteira:StartBarcos07", false )
    setElementData ( source, "Carteira:StartBarcos08", false )
    setElementData ( source, "Carteira:StartBarcos09", false )
    setElementData ( source, "Carteira:StartBarcos10", false )
    setElementData ( source, "Carteira:StartBarcos11", false )
    setElementData ( source, "Carteira:StartBarcos12", false )
    setElementData ( source, "Carteira:StartBarcos13", false )
    setElementData ( source, "Carteira:StartBarcos14", false )
    setElementData ( source, "Carteira:StartBarcos15", false )
    setElementVisibleTo ( MarkerBarcos01, source, false )
    setElementVisibleTo ( BlipBarcos01, source, false )
    setElementVisibleTo ( MarkerBarcos02, source, false )
    setElementVisibleTo ( BlipBarcos02, source, false )
    setElementVisibleTo ( MarkerBarcos03, source, false )
    setElementVisibleTo ( BlipBarcos03, source, false )
    setElementVisibleTo ( MarkerBarcos04, source, false )
    setElementVisibleTo ( BlipBarcos04, source, false )
    setElementVisibleTo ( MarkerBarcos05, source, false )
    setElementVisibleTo ( BlipBarcos05, source, false )
    setElementVisibleTo ( MarkerBarcos06, source, false )
    setElementVisibleTo ( BlipBarcos06, source, false )
    setElementVisibleTo ( MarkerBarcos07, source, false )
    setElementVisibleTo ( BlipBarcos07, source, false )
    setElementVisibleTo ( MarkerBarcos08, source, false )
    setElementVisibleTo ( BlipBarcos08, source, false )
    setElementVisibleTo ( MarkerBarcos09, source, false )
    setElementVisibleTo ( BlipBarcos09, source, false )
    setElementVisibleTo ( MarkerBarcos10, source, false )
    setElementVisibleTo ( BlipBarcos10, source, false )
    setElementVisibleTo ( MarkerBarcos11, source, false )
    setElementVisibleTo ( BlipBarcos11, source, false )
    setElementVisibleTo ( MarkerBarcos12, source, false )
    setElementVisibleTo ( BlipBarcos12, source, false )
    setElementVisibleTo ( MarkerBarcos13, source, false )
    setElementVisibleTo ( BlipBarcos13, source, false )
    setElementVisibleTo ( MarkerBarcos14, source, false )
    setElementVisibleTo ( BlipBarcos14, source, false )
    setElementVisibleTo ( MarkerBarcos15, source, false )
    setElementVisibleTo ( BlipBarcos15, source, false )
    setElementVisibleTo ( MarkerBarcos16, source, false )
    setElementVisibleTo ( BlipBarcos16, source, false )
    exports.Scripts_Dxmessages:outputDx(source, MsgBarcos07, "error")
    end
    end
    addEventHandler ( "onPlayerWasted", getRootElement(), MorrerAutoEscolaBarcos )

    function SairDoServidorAutoEscolaBarcos ( quitType )    
    if isElement( AutoEscolaBarcos[source] ) then
    destroyElement ( AutoEscolaBarcos[source] )
    end
    end
    addEventHandler ( "onPlayerQuit", getRootElement(), SairDoServidorAutoEscolaBarcos )

    --------------------------------------------------------------------------------

    -- ( Começo ) Percurso de Helicopteros

    HelicopterosRX, HelicopterosRY, HelicopterosRZ           = 190.13397, -302.89218, 1.57813 -- Coordenadas de Respawn do Helicoptero
    HelicopterosRotA, HelicopterosRotB, HelicopterosRotC     = 0, 0, 0 -- Rotação do Veiculo ao Spawnar
    HelicopterosID                               = 469 -- ID do Helicoptero
    HabValorHelicopteros                         = 10000 -- Valor da Habilitação Categoria "Helicopteros"
    HelicopterosDanoParaReprovar                 = 950 -- 95%

    MsgHelicopteros01 = "Prova Iniciada, Siga-os Checkpoints Para Concluir o seu Objetivo!"
    MsgHelicopteros02 = "Você Não Tem Dinheiro Suficiente!"
    MsgHelicopteros03 = "Você Ja Possui Essa Habilitação!"
    MsgHelicopteros04 = "Você Reprovou no Teste, Evite Bater na Proxima Vez!"
    MsgHelicopteros05 = "Carteira de Habilitação Categoria 'Helicopteros' Concedida!"
    MsgHelicopteros06 = "Você Saiu do Veiculo, Por Esse Motivo o Teste foi Cancelado!"
    MsgHelicopteros07 = "Você Morreu, Por Esse Motivo o Teste foi Cancelado!"

    HelicopterosX01, HelicopterosY01, HelicopterosZ01 = 192.54529, -255.43195, 19.71858
    HelicopterosX02, HelicopterosY02, HelicopterosZ02 = 289.75629, -62.69717, 38.09697
    HelicopterosX03, HelicopterosY03, HelicopterosZ03 = 387.02344, 109.72382, 49.56145
    HelicopterosX04, HelicopterosY04, HelicopterosZ04 = 523.74475, 401.76590, 59.54094
    HelicopterosX05, HelicopterosY05, HelicopterosZ05 = 648.68756, 623.60193, 53.53587
    HelicopterosX06, HelicopterosY06, HelicopterosZ06 = 821.34821, 797.55927, 57.30814
    HelicopterosX07, HelicopterosY07, HelicopterosZ07 = 923.19025, 960.18860, 59.13763
    HelicopterosX08, HelicopterosY08, HelicopterosZ08 = 1101.84985, 1189.58154, 66.81283
    HelicopterosX09, HelicopterosY09, HelicopterosZ09 = 1265.18176, 1356.48291, 64.21224
    HelicopterosX10, HelicopterosY10, HelicopterosZ10 = 1423.97729, 1519.96594, 74.06803
    HelicopterosX11, HelicopterosY11, HelicopterosZ11 = 1599.68640, 1664.47388, 70.88983
    HelicopterosX12, HelicopterosY12, HelicopterosZ12 = 1755.91052, 1766.84497, 103.27734
    HelicopterosX13, HelicopterosY13, HelicopterosZ13 = 1905.53833, 1863.55908, 143.65627
    HelicopterosX14, HelicopterosY14, HelicopterosZ14 = 2048.65479, 1947.74756, 106.53687
    HelicopterosX15, HelicopterosY15, HelicopterosZ15 = 2107.26782, 2225.87476, 99.85953
    HelicopterosX16, HelicopterosY16, HelicopterosZ16 = 2092.58252, 2415.30615, 74.52721

    MarkerHelicopteros01 = createMarker ( HelicopterosX01, HelicopterosY01, HelicopterosZ01 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipHelicopteros01 = createBlipAttachedTo ( MarkerHelicopteros01, 0 )
    setElementVisibleTo ( MarkerHelicopteros01, root, false )
    setElementVisibleTo ( BlipHelicopteros01, root, false )

    MarkerHelicopteros02 = createMarker ( HelicopterosX02, HelicopterosY02, HelicopterosZ02 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipHelicopteros02 = createBlipAttachedTo ( MarkerHelicopteros02, 0 )
    setElementVisibleTo ( MarkerHelicopteros02, root, false )
    setElementVisibleTo ( BlipHelicopteros02, root, false )

    MarkerHelicopteros03 = createMarker ( HelicopterosX03, HelicopterosY03, HelicopterosZ03 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipHelicopteros03 = createBlipAttachedTo ( MarkerHelicopteros03, 0 )
    setElementVisibleTo ( MarkerHelicopteros03, root, false )
    setElementVisibleTo ( BlipHelicopteros03, root, false )

    MarkerHelicopteros04 = createMarker ( HelicopterosX04, HelicopterosY04, HelicopterosZ04 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipHelicopteros04 = createBlipAttachedTo ( MarkerHelicopteros04, 0 )
    setElementVisibleTo ( MarkerHelicopteros04, root, false )
    setElementVisibleTo ( BlipHelicopteros04, root, false )

    MarkerHelicopteros05 = createMarker ( HelicopterosX05, HelicopterosY05, HelicopterosZ05 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipHelicopteros05 = createBlipAttachedTo ( MarkerHelicopteros05, 0 )
    setElementVisibleTo ( MarkerHelicopteros05, root, false )
    setElementVisibleTo ( BlipHelicopteros05, root, false )

    MarkerHelicopteros06 = createMarker ( HelicopterosX06, HelicopterosY06, HelicopterosZ06 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipHelicopteros06 = createBlipAttachedTo ( MarkerHelicopteros06, 0 )
    setElementVisibleTo ( MarkerHelicopteros06, root, false )
    setElementVisibleTo ( BlipHelicopteros06, root, false )

    MarkerHelicopteros07 = createMarker ( HelicopterosX07, HelicopterosY07, HelicopterosZ07 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipHelicopteros07 = createBlipAttachedTo ( MarkerHelicopteros07, 0 )
    setElementVisibleTo ( MarkerHelicopteros07, root, false )
    setElementVisibleTo ( BlipHelicopteros07, root, false )

    MarkerHelicopteros08 = createMarker ( HelicopterosX08, HelicopterosY08, HelicopterosZ08 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipHelicopteros08 = createBlipAttachedTo ( MarkerHelicopteros08, 0 )
    setElementVisibleTo ( MarkerHelicopteros08, root, false )
    setElementVisibleTo ( BlipHelicopteros08, root, false )

    MarkerHelicopteros09 = createMarker ( HelicopterosX09, HelicopterosY09, HelicopterosZ09 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipHelicopteros09 = createBlipAttachedTo ( MarkerHelicopteros09, 0 )
    setElementVisibleTo ( MarkerHelicopteros09, root, false )
    setElementVisibleTo ( BlipHelicopteros09, root, false )

    MarkerHelicopteros10 = createMarker ( HelicopterosX10, HelicopterosY10, HelicopterosZ10 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipHelicopteros10 = createBlipAttachedTo ( MarkerHelicopteros10, 0 )
    setElementVisibleTo ( MarkerHelicopteros10, root, false )
    setElementVisibleTo ( BlipHelicopteros10, root, false )

    MarkerHelicopteros11 = createMarker ( HelicopterosX11, HelicopterosY11, HelicopterosZ11 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipHelicopteros11 = createBlipAttachedTo ( MarkerHelicopteros11, 0 )
    setElementVisibleTo ( MarkerHelicopteros11, root, false )
    setElementVisibleTo ( BlipHelicopteros11, root, false )

    MarkerHelicopteros12 = createMarker ( HelicopterosX12, HelicopterosY12, HelicopterosZ12 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipHelicopteros12 = createBlipAttachedTo ( MarkerHelicopteros12, 0 )
    setElementVisibleTo ( MarkerHelicopteros12, root, false )
    setElementVisibleTo ( BlipHelicopteros12, root, false )

    MarkerHelicopteros13 = createMarker ( HelicopterosX13, HelicopterosY13, HelicopterosZ13 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipHelicopteros13 = createBlipAttachedTo ( MarkerHelicopteros13, 0 )
    setElementVisibleTo ( MarkerHelicopteros13, root, false )
    setElementVisibleTo ( BlipHelicopteros13, root, false )

    MarkerHelicopteros14 = createMarker ( HelicopterosX14, HelicopterosY14, HelicopterosZ14 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipHelicopteros14 = createBlipAttachedTo ( MarkerHelicopteros14, 0 )
    setElementVisibleTo ( MarkerHelicopteros14, root, false )
    setElementVisibleTo ( BlipHelicopteros14, root, false )

    MarkerHelicopteros15 = createMarker ( HelicopterosX15, HelicopterosY15, HelicopterosZ15 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipHelicopteros15 = createBlipAttachedTo ( MarkerHelicopteros15, 0 )
    setElementVisibleTo ( MarkerHelicopteros15, root, false )
    setElementVisibleTo ( BlipHelicopteros15, root, false )

    MarkerHelicopteros16 = createMarker ( HelicopterosX16, HelicopterosY16, HelicopterosZ16 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipHelicopteros16 = createBlipAttachedTo ( MarkerHelicopteros16, 0 )
    setElementVisibleTo ( MarkerHelicopteros16, root, false )
    setElementVisibleTo ( BlipHelicopteros16, root, false )

    AutoEscolaHelicopteros = {}

    function HelicopterosHab(entrar)
    if getElementData ( source, "PontosNacarteira" ) > 0 then
    exports.Scripts_Dxmessages:outputDx(source, MsgMultas, "error") return end
    if not getElementData(source, "Habilitacoes:Helicopteros" ) == true then
    if getPlayerMoney(source) >= HabValorHelicopteros then
    takePlayerMoney(source, HabValorHelicopteros)
    if AutoEscolaHelicopteros[source] and isElement( AutoEscolaHelicopteros[source] ) then destroyElement ( AutoEscolaHelicopteros[source] )
    AutoEscolaHelicopteros[source] = nil
    end
    setElementInterior ( source, 0 )
    setElementDimension ( source, 0 )
    triggerClientEvent ( source, "AirNew:FecharAutoEscola", root )
    AutoEscolaHelicopteros[source] = createVehicle( HelicopterosID, HelicopterosRX, HelicopterosRY, HelicopterosRZ )
    setElementRotation ( AutoEscolaHelicopteros[source], HelicopterosRotA, HelicopterosRotB, HelicopterosRotC )
    setVehicleLocked ( AutoEscolaHelicopteros[source], true )
    warpPedIntoVehicle ( source, AutoEscolaHelicopteros[source] )
    setCameraTarget ( source )
    setElementData ( source, "Carteira:StartHelicopteros00", true )
    setElementData ( source, "AirNew_TirandoCarta", "Sim" )
    setElementVisibleTo ( MarkerHelicopteros01, source, true )
    setElementVisibleTo ( BlipHelicopteros01, source, true )
    exports.Scripts_Dxmessages:outputDx(source, MsgHelicopteros01, "info")
    else
    exports.Scripts_Dxmessages:outputDx(source, MsgHelicopteros02, "error")
    end
    else
    exports.Scripts_Dxmessages:outputDx(source, MsgHelicopteros03, "warning")
    end
    end
    addEvent("Hab:Helicoptero", true)
    addEventHandler ( "Hab:Helicoptero", root, HelicopterosHab)

    function emarkerHelicopteros(marker,md) 
        if (md) then
          if AutoEscolaHelicopteros[source] and isElement( AutoEscolaHelicopteros[source] ) then
            if marker == MarkerHelicopteros01 then
            if getElementData( source, "Carteira:StartHelicopteros00", true ) then
            setElementVisibleTo ( MarkerHelicopteros01, source, false )
            setElementVisibleTo ( BlipHelicopteros01, source, false )
            setElementVisibleTo ( MarkerHelicopteros02, source, true )
            setElementVisibleTo ( BlipHelicopteros02, source, true )
            setElementData ( source, "Carteira:StartHelicopteros01", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartHelicopteros00", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerHelicopteros02 then
            if getElementData( source, "Carteira:StartHelicopteros01", true ) then
            setElementVisibleTo ( MarkerHelicopteros02, source, false )
            setElementVisibleTo ( BlipHelicopteros02, source, false )
            setElementVisibleTo ( MarkerHelicopteros03, source, true )
            setElementVisibleTo ( BlipHelicopteros03, source, true )
            setElementData ( source, "Carteira:StartHelicopteros02", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartHelicopteros01", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerHelicopteros03 then
            if getElementData( source, "Carteira:StartHelicopteros02", true ) then
            setElementVisibleTo ( MarkerHelicopteros03, source, false )
            setElementVisibleTo ( BlipHelicopteros03, source, false )
            setElementVisibleTo ( MarkerHelicopteros04, source, true )
            setElementVisibleTo ( BlipHelicopteros04, source, true )
            setElementData ( source, "Carteira:StartHelicopteros03", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartHelicopteros02", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerHelicopteros04 then
            if getElementData( source, "Carteira:StartHelicopteros03", true ) then
            setElementVisibleTo ( MarkerHelicopteros04, source, false )
            setElementVisibleTo ( BlipHelicopteros04, source, false )
            setElementVisibleTo ( MarkerHelicopteros05, source, true )
            setElementVisibleTo ( BlipHelicopteros05, source, true )
            setElementData ( source, "Carteira:StartHelicopteros04", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartHelicopteros03", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerHelicopteros05 then
            if getElementData( source, "Carteira:StartHelicopteros04", true ) then
            setElementVisibleTo ( MarkerHelicopteros05, source, false )
            setElementVisibleTo ( BlipHelicopteros05, source, false )
            setElementVisibleTo ( MarkerHelicopteros06, source, true )
            setElementVisibleTo ( BlipHelicopteros06, source, true )
            setElementData ( source, "Carteira:StartHelicopteros05", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartHelicopteros04", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerHelicopteros06 then
            if getElementData( source, "Carteira:StartHelicopteros05", true ) then
            setElementVisibleTo ( MarkerHelicopteros06, source, false )
            setElementVisibleTo ( BlipHelicopteros06, source, false )
            setElementVisibleTo ( MarkerHelicopteros07, source, true )
            setElementVisibleTo ( BlipHelicopteros07, source, true )
            setElementData ( source, "Carteira:StartHelicopteros06", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartHelicopteros05", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerHelicopteros07 then
            if getElementData( source, "Carteira:StartHelicopteros06", true ) then
            setElementVisibleTo ( MarkerHelicopteros07, source, false )
            setElementVisibleTo ( BlipHelicopteros07, source, false )
            setElementVisibleTo ( MarkerHelicopteros08, source, true )
            setElementVisibleTo ( BlipHelicopteros08, source, true )
            setElementData ( source, "Carteira:StartHelicopteros07", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartHelicopteros06", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerHelicopteros08 then
            if getElementData( source, "Carteira:StartHelicopteros07", true ) then
            setElementVisibleTo ( MarkerHelicopteros08, source, false )
            setElementVisibleTo ( BlipHelicopteros08, source, false )
            setElementVisibleTo ( MarkerHelicopteros09, source, true )
            setElementVisibleTo ( BlipHelicopteros09, source, true )
            setElementData ( source, "Carteira:StartHelicopteros08", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartHelicopteros07", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerHelicopteros09 then
            if getElementData( source, "Carteira:StartHelicopteros08", true ) then
            setElementVisibleTo ( MarkerHelicopteros09, source, false )
            setElementVisibleTo ( BlipHelicopteros09, source, false )
            setElementVisibleTo ( MarkerHelicopteros10, source, true )
            setElementVisibleTo ( BlipHelicopteros10, source, true )
            setElementData ( source, "Carteira:StartHelicopteros09", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartHelicopteros08", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerHelicopteros10 then
            if getElementData( source, "Carteira:StartHelicopteros09", true ) then
            setElementVisibleTo ( MarkerHelicopteros10, source, false )
            setElementVisibleTo ( BlipHelicopteros10, source, false )
            setElementVisibleTo ( MarkerHelicopteros11, source, true )
            setElementVisibleTo ( BlipHelicopteros11, source, true )
            setElementData ( source, "Carteira:StartHelicopteros10", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartHelicopteros09", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerHelicopteros11 then
            if getElementData( source, "Carteira:StartHelicopteros10", true ) then
            setElementVisibleTo ( MarkerHelicopteros11, source, false )
            setElementVisibleTo ( BlipHelicopteros11, source, false )
            setElementVisibleTo ( MarkerHelicopteros12, source, true )
            setElementVisibleTo ( BlipHelicopteros12, source, true )
            setElementData ( source, "Carteira:StartHelicopteros11", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartHelicopteros10", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerHelicopteros12 then
            if getElementData( source, "Carteira:StartHelicopteros11", true ) then
            setElementVisibleTo ( MarkerHelicopteros12, source, false )
            setElementVisibleTo ( BlipHelicopteros12, source, false )
            setElementVisibleTo ( MarkerHelicopteros13, source, true )
            setElementVisibleTo ( BlipHelicopteros13, source, true )
            setElementData ( source, "Carteira:StartHelicopteros12", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartHelicopteros11", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerHelicopteros13 then
            if getElementData( source, "Carteira:StartHelicopteros12", true ) then
            setElementVisibleTo ( MarkerHelicopteros13, source, false )
            setElementVisibleTo ( BlipHelicopteros13, source, false )
            setElementVisibleTo ( MarkerHelicopteros14, source, true )
            setElementVisibleTo ( BlipHelicopteros14, source, true )
            setElementData ( source, "Carteira:StartHelicopteros13", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartHelicopteros12", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerHelicopteros14 then
            if getElementData( source, "Carteira:StartHelicopteros13", true ) then
            setElementVisibleTo ( MarkerHelicopteros14, source, false )
            setElementVisibleTo ( BlipHelicopteros14, source, false )
            setElementVisibleTo ( MarkerHelicopteros15, source, true )
            setElementVisibleTo ( BlipHelicopteros15, source, true )
            setElementData ( source, "Carteira:StartHelicopteros14", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartHelicopteros13", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerHelicopteros15 then
            if getElementData( source, "Carteira:StartHelicopteros14", true ) then
            setElementVisibleTo ( MarkerHelicopteros15, source, false )
            setElementVisibleTo ( BlipHelicopteros15, source, false )
            setElementVisibleTo ( MarkerHelicopteros16, source, true )
            setElementVisibleTo ( BlipHelicopteros16, source, true )
            setElementData ( source, "Carteira:StartHelicopteros15", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartHelicopteros14", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerHelicopteros16 then
            if getElementData( source, "Carteira:StartHelicopteros15", true ) then
            AutoEscolaHelicopterosVida = getElementHealth ( AutoEscolaHelicopteros[source] )
            if AutoEscolaHelicopterosVida <= HelicopterosDanoParaReprovar then
            exports.Scripts_Dxmessages:outputDx(source, MsgHelicopteros04, "error")
            else
            setElementData( source, "Habilitacoes:Helicopteros", true)
            exports.Scripts_Dxmessages:outputDx(source, MsgHelicopteros05, "success")
            end
            setTimer ( setElementData, 50, 1, source, "Carteira:StartHelicopteros15", false )
            setElementVisibleTo ( MarkerHelicopteros16, source, false )
            setElementVisibleTo ( BlipHelicopteros16, source, false )
            setElementData ( source, "AirNew_TirandoCarta", "Não" )
            destroyElement ( AutoEscolaHelicopteros[source] )
            setTimer ( setElementInterior, 400, 1, source, 3 )
            setTimer ( setElementDimension, 400, 1, source, 10 )
            setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
            setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
            fadeCamera ( source, false, 0.1, 0, 0, 0 )   
            setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
            setTimer ( setCameraTarget, 600, 1, source )
            end
            end
          end 
        end    
    end
    addEventHandler("onPlayerMarkerHit",getRootElement(),emarkerHelicopteros)

    function SairDoVeiculoAutoEscolaHelicopteros (source)
    if ( AutoEscolaHelicopteros[source] ) and isElement( AutoEscolaHelicopteros[source] ) then
    setElementData ( source, "AirNew_TirandoCarta", "Não" )
    destroyElement ( AutoEscolaHelicopteros[source] )
    setElementData ( source, "Carteira:StartHelicopteros00", false )
    setElementData ( source, "Carteira:StartHelicopteros01", false )
    setElementData ( source, "Carteira:StartHelicopteros02", false )
    setElementData ( source, "Carteira:StartHelicopteros03", false )
    setElementData ( source, "Carteira:StartHelicopteros04", false )
    setElementData ( source, "Carteira:StartHelicopteros05", false )
    setElementData ( source, "Carteira:StartHelicopteros06", false )
    setElementData ( source, "Carteira:StartHelicopteros07", false )
    setElementData ( source, "Carteira:StartHelicopteros08", false )
    setElementData ( source, "Carteira:StartHelicopteros09", false )
    setElementData ( source, "Carteira:StartHelicopteros10", false )
    setElementData ( source, "Carteira:StartHelicopteros11", false )
    setElementData ( source, "Carteira:StartHelicopteros12", false )
    setElementData ( source, "Carteira:StartHelicopteros13", false )
    setElementData ( source, "Carteira:StartHelicopteros14", false )
    setElementData ( source, "Carteira:StartHelicopteros15", false )
    setElementVisibleTo ( MarkerHelicopteros01, source, false )
    setElementVisibleTo ( BlipHelicopteros01, source, false )
    setElementVisibleTo ( MarkerHelicopteros02, source, false )
    setElementVisibleTo ( BlipHelicopteros02, source, false )
    setElementVisibleTo ( MarkerHelicopteros03, source, false )
    setElementVisibleTo ( BlipHelicopteros03, source, false )
    setElementVisibleTo ( MarkerHelicopteros04, source, false )
    setElementVisibleTo ( BlipHelicopteros04, source, false )
    setElementVisibleTo ( MarkerHelicopteros05, source, false )
    setElementVisibleTo ( BlipHelicopteros05, source, false )
    setElementVisibleTo ( MarkerHelicopteros06, source, false )
    setElementVisibleTo ( BlipHelicopteros06, source, false )
    setElementVisibleTo ( MarkerHelicopteros07, source, false )
    setElementVisibleTo ( BlipHelicopteros07, source, false )
    setElementVisibleTo ( MarkerHelicopteros08, source, false )
    setElementVisibleTo ( BlipHelicopteros08, source, false )
    setElementVisibleTo ( MarkerHelicopteros09, source, false )
    setElementVisibleTo ( BlipHelicopteros09, source, false )
    setElementVisibleTo ( MarkerHelicopteros10, source, false )
    setElementVisibleTo ( BlipHelicopteros10, source, false )
    setElementVisibleTo ( MarkerHelicopteros11, source, false )
    setElementVisibleTo ( BlipHelicopteros11, source, false )
    setElementVisibleTo ( MarkerHelicopteros12, source, false )
    setElementVisibleTo ( BlipHelicopteros12, source, false )
    setElementVisibleTo ( MarkerHelicopteros13, source, false )
    setElementVisibleTo ( BlipHelicopteros13, source, false )
    setElementVisibleTo ( MarkerHelicopteros14, source, false )
    setElementVisibleTo ( BlipHelicopteros14, source, false )
    setElementVisibleTo ( MarkerHelicopteros15, source, false )
    setElementVisibleTo ( BlipHelicopteros15, source, false )
    setElementVisibleTo ( MarkerHelicopteros16, source, false )
    setElementVisibleTo ( BlipHelicopteros16, source, false )
    exports.Scripts_Dxmessages:outputDx(source, MsgHelicopteros06, "error")
    setTimer ( setElementInterior, 400, 1, source, 3 )
    setTimer ( setElementDimension, 400, 1, source, 10 )
    setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
    setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
    fadeCamera ( source, false, 0.1, 0, 0, 0 )   
    setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
    setTimer ( setCameraTarget, 600, 1, source )
    end
    end
    addEventHandler ( "onVehicleExit", getRootElement(), SairDoVeiculoAutoEscolaHelicopteros )

    function MorrerAutoEscolaHelicopteros ()
    if ( AutoEscolaHelicopteros[source] ) and isElement( AutoEscolaHelicopteros[source] ) then
    setElementData ( source, "AirNew_TirandoCarta", "Não" )
    destroyElement ( AutoEscolaHelicopteros[source] )
    setElementData ( source, "Carteira:StartHelicopteros00", false )
    setElementData ( source, "Carteira:StartHelicopteros01", false )
    setElementData ( source, "Carteira:StartHelicopteros02", false )
    setElementData ( source, "Carteira:StartHelicopteros03", false )
    setElementData ( source, "Carteira:StartHelicopteros04", false )
    setElementData ( source, "Carteira:StartHelicopteros05", false )
    setElementData ( source, "Carteira:StartHelicopteros06", false )
    setElementData ( source, "Carteira:StartHelicopteros07", false )
    setElementData ( source, "Carteira:StartHelicopteros08", false )
    setElementData ( source, "Carteira:StartHelicopteros09", false )
    setElementData ( source, "Carteira:StartHelicopteros10", false )
    setElementData ( source, "Carteira:StartHelicopteros11", false )
    setElementData ( source, "Carteira:StartHelicopteros12", false )
    setElementData ( source, "Carteira:StartHelicopteros13", false )
    setElementData ( source, "Carteira:StartHelicopteros14", false )
    setElementData ( source, "Carteira:StartHelicopteros15", false )
    setElementVisibleTo ( MarkerHelicopteros01, source, false )
    setElementVisibleTo ( BlipHelicopteros01, source, false )
    setElementVisibleTo ( MarkerHelicopteros02, source, false )
    setElementVisibleTo ( BlipHelicopteros02, source, false )
    setElementVisibleTo ( MarkerHelicopteros03, source, false )
    setElementVisibleTo ( BlipHelicopteros03, source, false )
    setElementVisibleTo ( MarkerHelicopteros04, source, false )
    setElementVisibleTo ( BlipHelicopteros04, source, false )
    setElementVisibleTo ( MarkerHelicopteros05, source, false )
    setElementVisibleTo ( BlipHelicopteros05, source, false )
    setElementVisibleTo ( MarkerHelicopteros06, source, false )
    setElementVisibleTo ( BlipHelicopteros06, source, false )
    setElementVisibleTo ( MarkerHelicopteros07, source, false )
    setElementVisibleTo ( BlipHelicopteros07, source, false )
    setElementVisibleTo ( MarkerHelicopteros08, source, false )
    setElementVisibleTo ( BlipHelicopteros08, source, false )
    setElementVisibleTo ( MarkerHelicopteros09, source, false )
    setElementVisibleTo ( BlipHelicopteros09, source, false )
    setElementVisibleTo ( MarkerHelicopteros10, source, false )
    setElementVisibleTo ( BlipHelicopteros10, source, false )
    setElementVisibleTo ( MarkerHelicopteros11, source, false )
    setElementVisibleTo ( BlipHelicopteros11, source, false )
    setElementVisibleTo ( MarkerHelicopteros12, source, false )
    setElementVisibleTo ( BlipHelicopteros12, source, false )
    setElementVisibleTo ( MarkerHelicopteros13, source, false )
    setElementVisibleTo ( BlipHelicopteros13, source, false )
    setElementVisibleTo ( MarkerHelicopteros14, source, false )
    setElementVisibleTo ( BlipHelicopteros14, source, false )
    setElementVisibleTo ( MarkerHelicopteros15, source, false )
    setElementVisibleTo ( BlipHelicopteros15, source, false )
    setElementVisibleTo ( MarkerHelicopteros16, source, false )
    setElementVisibleTo ( BlipHelicopteros16, source, false )
    exports.Scripts_Dxmessages:outputDx(source, MsgHelicopteros07, "error")
    end
    end
    addEventHandler ( "onPlayerWasted", getRootElement(), MorrerAutoEscolaHelicopteros )

    function SairDoServidorAutoEscolaHelicopteros ( quitType )    
    if isElement( AutoEscolaHelicopteros[source] ) then
    destroyElement ( AutoEscolaHelicopteros[source] )
    end
    end
    addEventHandler ( "onPlayerQuit", getRootElement(), SairDoServidorAutoEscolaHelicopteros )

    --------------------------------------------------------------------------------

    -- ( Começo ) Percurso de Avioes

    AvioesRX, AvioesRY, AvioesRZ           = 390.00958, 2515.68384, 16.48438 -- Coordenadas de Respawn do Aviao
    AvioesRotA, AvioesRotB, AvioesRotC     = 0, 0, 90 -- Rotação do Veiculo ao Spawnar
    AvioesID                               = 593 -- ID do Aviao
    HabValorAvioes                         = 15000 -- Valor da Habilitação Categoria "Avioes"
    AvioesDanoParaReprovar                 = 950 -- 95%

    MsgAvioes01 = "Prova Iniciada, Siga-os Checkpoints Para Concluir o seu Objetivo!"
    MsgAvioes02 = "Você Não Tem Dinheiro Suficiente!"
    MsgAvioes03 = "Você Ja Possui Essa Habilitação!"
    MsgAvioes04 = "Você Reprovou no Teste, Evite Bater na Proxima Vez!"
    MsgAvioes05 = "Carteira de Habilitação Categoria 'Avioes' Concedida!"
    MsgAvioes06 = "Você Saiu do Veiculo, Por Esse Motivo o Teste foi Cancelado!"
    MsgAvioes07 = "Você Morreu, Por Esse Motivo o Teste foi Cancelado!"

    AvioesX01, AvioesY01, AvioesZ01 = 327.50638, 2512.08057, 16.56849
    AvioesX02, AvioesY02, AvioesZ02 = -27.39510, 2514.81250, 41.52960
    AvioesX03, AvioesY03, AvioesZ03 = -235.67519, 2590.04077, 87.09184
    AvioesX04, AvioesY04, AvioesZ04 = -403.73294, 2635.43262, 92.30322
    AvioesX05, AvioesY05, AvioesZ05 = -584.24835, 2685.85059, 91.69495
    AvioesX06, AvioesY06, AvioesZ06 = -767.21533, 2720.34180, 94.28947
    AvioesX07, AvioesY07, AvioesZ07 = -964.20673, 2691.60156, 83.17091
    AvioesX08, AvioesY08, AvioesZ08 = -991.19080, 2565.01172, 107.92737
    AvioesX09, AvioesY09, AvioesZ09 = -968.22424, 2412.37500, 106.02930
    AvioesX10, AvioesY10, AvioesZ10 = -938.10565, 2296.36255, 72.00851
    AvioesX11, AvioesY11, AvioesZ11 = -715.26495, 2211.76196, 85.63451
    AvioesX12, AvioesY12, AvioesZ12 = -430.74518, 2224.39038, 87.41293
    AvioesX13, AvioesY13, AvioesZ13 = -200.35358, 2237.01172, 80.83124
    AvioesX14, AvioesY14, AvioesZ14 = -24.59806, 2413.50269, 64.73052
    AvioesX15, AvioesY15, AvioesZ15 = 114.86245, 2467.75830, 41.54504
    AvioesX16, AvioesY16, AvioesZ16 = 318.45193, 2490.21558, 16.48438

    MarkerAvioes01 = createMarker ( AvioesX01, AvioesY01, AvioesZ01 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipAvioes01 = createBlipAttachedTo ( MarkerAvioes01, 0 )
    setElementVisibleTo ( MarkerAvioes01, root, false )
    setElementVisibleTo ( BlipAvioes01, root, false )

    MarkerAvioes02 = createMarker ( AvioesX02, AvioesY02, AvioesZ02 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipAvioes02 = createBlipAttachedTo ( MarkerAvioes02, 0 )
    setElementVisibleTo ( MarkerAvioes02, root, false )
    setElementVisibleTo ( BlipAvioes02, root, false )

    MarkerAvioes03 = createMarker ( AvioesX03, AvioesY03, AvioesZ03 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipAvioes03 = createBlipAttachedTo ( MarkerAvioes03, 0 )
    setElementVisibleTo ( MarkerAvioes03, root, false )
    setElementVisibleTo ( BlipAvioes03, root, false )

    MarkerAvioes04 = createMarker ( AvioesX04, AvioesY04, AvioesZ04 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipAvioes04 = createBlipAttachedTo ( MarkerAvioes04, 0 )
    setElementVisibleTo ( MarkerAvioes04, root, false )
    setElementVisibleTo ( BlipAvioes04, root, false )

    MarkerAvioes05 = createMarker ( AvioesX05, AvioesY05, AvioesZ05 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipAvioes05 = createBlipAttachedTo ( MarkerAvioes05, 0 )
    setElementVisibleTo ( MarkerAvioes05, root, false )
    setElementVisibleTo ( BlipAvioes05, root, false )

    MarkerAvioes06 = createMarker ( AvioesX06, AvioesY06, AvioesZ06 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipAvioes06 = createBlipAttachedTo ( MarkerAvioes06, 0 )
    setElementVisibleTo ( MarkerAvioes06, root, false )
    setElementVisibleTo ( BlipAvioes06, root, false )

    MarkerAvioes07 = createMarker ( AvioesX07, AvioesY07, AvioesZ07 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipAvioes07 = createBlipAttachedTo ( MarkerAvioes07, 0 )
    setElementVisibleTo ( MarkerAvioes07, root, false )
    setElementVisibleTo ( BlipAvioes07, root, false )

    MarkerAvioes08 = createMarker ( AvioesX08, AvioesY08, AvioesZ08 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipAvioes08 = createBlipAttachedTo ( MarkerAvioes08, 0 )
    setElementVisibleTo ( MarkerAvioes08, root, false )
    setElementVisibleTo ( BlipAvioes08, root, false )

    MarkerAvioes09 = createMarker ( AvioesX09, AvioesY09, AvioesZ09 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipAvioes09 = createBlipAttachedTo ( MarkerAvioes09, 0 )
    setElementVisibleTo ( MarkerAvioes09, root, false )
    setElementVisibleTo ( BlipAvioes09, root, false )

    MarkerAvioes10 = createMarker ( AvioesX10, AvioesY10, AvioesZ10 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipAvioes10 = createBlipAttachedTo ( MarkerAvioes10, 0 )
    setElementVisibleTo ( MarkerAvioes10, root, false )
    setElementVisibleTo ( BlipAvioes10, root, false )

    MarkerAvioes11 = createMarker ( AvioesX11, AvioesY11, AvioesZ11 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipAvioes11 = createBlipAttachedTo ( MarkerAvioes11, 0 )
    setElementVisibleTo ( MarkerAvioes11, root, false )
    setElementVisibleTo ( BlipAvioes11, root, false )

    MarkerAvioes12 = createMarker ( AvioesX12, AvioesY12, AvioesZ12 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipAvioes12 = createBlipAttachedTo ( MarkerAvioes12, 0 )
    setElementVisibleTo ( MarkerAvioes12, root, false )
    setElementVisibleTo ( BlipAvioes12, root, false )

    MarkerAvioes13 = createMarker ( AvioesX13, AvioesY13, AvioesZ13 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipAvioes13 = createBlipAttachedTo ( MarkerAvioes13, 0 )
    setElementVisibleTo ( MarkerAvioes13, root, false )
    setElementVisibleTo ( BlipAvioes13, root, false )

    MarkerAvioes14 = createMarker ( AvioesX14, AvioesY14, AvioesZ14 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipAvioes14 = createBlipAttachedTo ( MarkerAvioes14, 0 )
    setElementVisibleTo ( MarkerAvioes14, root, false )
    setElementVisibleTo ( BlipAvioes14, root, false )

    MarkerAvioes15 = createMarker ( AvioesX15, AvioesY15, AvioesZ15 -1, "corona", 5, 255 ,0 ,0, 255)
    BlipAvioes15 = createBlipAttachedTo ( MarkerAvioes15, 0 )
    setElementVisibleTo ( MarkerAvioes15, root, false )
    setElementVisibleTo ( BlipAvioes15, root, false )

    MarkerAvioes16 = createMarker ( AvioesX16, AvioesY16, AvioesZ16 -1, "checkpoint", 3, 255 ,0 ,0, 95)
    BlipAvioes16 = createBlipAttachedTo ( MarkerAvioes16, 0 )
    setElementVisibleTo ( MarkerAvioes16, root, false )
    setElementVisibleTo ( BlipAvioes16, root, false )

    AutoEscolaAvioes = {}

    function AvioesHab(entrar)
    if getElementData ( source, "PontosNacarteira" ) > 0 then
    exports.Scripts_Dxmessages:outputDx(source, MsgMultas, "error") return end
    if not getElementData(source, "Habilitacoes:Avioes" ) == true then
    if getPlayerMoney(source) >= HabValorAvioes then
    takePlayerMoney(source, HabValorAvioes)
    if AutoEscolaAvioes[source] and isElement( AutoEscolaAvioes[source] ) then destroyElement ( AutoEscolaAvioes[source] )
    AutoEscolaAvioes[source] = nil
    end
    setElementInterior ( source, 0 )
    setElementDimension ( source, 0 )
    triggerClientEvent ( source, "AirNew:FecharAutoEscola", root )
    AutoEscolaAvioes[source] = createVehicle( AvioesID, AvioesRX, AvioesRY, AvioesRZ )
    setElementRotation ( AutoEscolaAvioes[source], AvioesRotA, AvioesRotB, AvioesRotC )
    setVehicleLocked ( AutoEscolaAvioes[source], true )
    warpPedIntoVehicle ( source, AutoEscolaAvioes[source] )
    setCameraTarget ( source )
    setElementData ( source, "Carteira:StartAvioes00", true )
    setElementData ( source, "AirNew_TirandoCarta", "Sim" )
    setElementVisibleTo ( MarkerAvioes01, source, true )
    setElementVisibleTo ( BlipAvioes01, source, true )
    exports.Scripts_Dxmessages:outputDx(source, MsgAvioes01, "info")
    else
    exports.Scripts_Dxmessages:outputDx(source, MsgAvioes02, "error")
    end
    else
    exports.Scripts_Dxmessages:outputDx(source, MsgAvioes03, "warning")
    end
    end
    addEvent("Hab:Aviao", true)
    addEventHandler ( "Hab:Aviao", root, AvioesHab)

    function emarkerAvioes(marker,md) 
        if (md) then
          if AutoEscolaAvioes[source] and isElement( AutoEscolaAvioes[source] ) then
            if marker == MarkerAvioes01 then
            if getElementData( source, "Carteira:StartAvioes00", true ) then
            setElementVisibleTo ( MarkerAvioes01, source, false )
            setElementVisibleTo ( BlipAvioes01, source, false )
            setElementVisibleTo ( MarkerAvioes02, source, true )
            setElementVisibleTo ( BlipAvioes02, source, true )
            setElementData ( source, "Carteira:StartAvioes01", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartAvioes00", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerAvioes02 then
            if getElementData( source, "Carteira:StartAvioes01", true ) then
            setElementVisibleTo ( MarkerAvioes02, source, false )
            setElementVisibleTo ( BlipAvioes02, source, false )
            setElementVisibleTo ( MarkerAvioes03, source, true )
            setElementVisibleTo ( BlipAvioes03, source, true )
            setElementData ( source, "Carteira:StartAvioes02", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartAvioes01", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerAvioes03 then
            if getElementData( source, "Carteira:StartAvioes02", true ) then
            setElementVisibleTo ( MarkerAvioes03, source, false )
            setElementVisibleTo ( BlipAvioes03, source, false )
            setElementVisibleTo ( MarkerAvioes04, source, true )
            setElementVisibleTo ( BlipAvioes04, source, true )
            setElementData ( source, "Carteira:StartAvioes03", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartAvioes02", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerAvioes04 then
            if getElementData( source, "Carteira:StartAvioes03", true ) then
            setElementVisibleTo ( MarkerAvioes04, source, false )
            setElementVisibleTo ( BlipAvioes04, source, false )
            setElementVisibleTo ( MarkerAvioes05, source, true )
            setElementVisibleTo ( BlipAvioes05, source, true )
            setElementData ( source, "Carteira:StartAvioes04", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartAvioes03", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerAvioes05 then
            if getElementData( source, "Carteira:StartAvioes04", true ) then
            setElementVisibleTo ( MarkerAvioes05, source, false )
            setElementVisibleTo ( BlipAvioes05, source, false )
            setElementVisibleTo ( MarkerAvioes06, source, true )
            setElementVisibleTo ( BlipAvioes06, source, true )
            setElementData ( source, "Carteira:StartAvioes05", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartAvioes04", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerAvioes06 then
            if getElementData( source, "Carteira:StartAvioes05", true ) then
            setElementVisibleTo ( MarkerAvioes06, source, false )
            setElementVisibleTo ( BlipAvioes06, source, false )
            setElementVisibleTo ( MarkerAvioes07, source, true )
            setElementVisibleTo ( BlipAvioes07, source, true )
            setElementData ( source, "Carteira:StartAvioes06", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartAvioes05", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerAvioes07 then
            if getElementData( source, "Carteira:StartAvioes06", true ) then
            setElementVisibleTo ( MarkerAvioes07, source, false )
            setElementVisibleTo ( BlipAvioes07, source, false )
            setElementVisibleTo ( MarkerAvioes08, source, true )
            setElementVisibleTo ( BlipAvioes08, source, true )
            setElementData ( source, "Carteira:StartAvioes07", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartAvioes06", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerAvioes08 then
            if getElementData( source, "Carteira:StartAvioes07", true ) then
            setElementVisibleTo ( MarkerAvioes08, source, false )
            setElementVisibleTo ( BlipAvioes08, source, false )
            setElementVisibleTo ( MarkerAvioes09, source, true )
            setElementVisibleTo ( BlipAvioes09, source, true )
            setElementData ( source, "Carteira:StartAvioes08", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartAvioes07", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerAvioes09 then
            if getElementData( source, "Carteira:StartAvioes08", true ) then
            setElementVisibleTo ( MarkerAvioes09, source, false )
            setElementVisibleTo ( BlipAvioes09, source, false )
            setElementVisibleTo ( MarkerAvioes10, source, true )
            setElementVisibleTo ( BlipAvioes10, source, true )
            setElementData ( source, "Carteira:StartAvioes09", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartAvioes08", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerAvioes10 then
            if getElementData( source, "Carteira:StartAvioes09", true ) then
            setElementVisibleTo ( MarkerAvioes10, source, false )
            setElementVisibleTo ( BlipAvioes10, source, false )
            setElementVisibleTo ( MarkerAvioes11, source, true )
            setElementVisibleTo ( BlipAvioes11, source, true )
            setElementData ( source, "Carteira:StartAvioes10", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartAvioes09", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerAvioes11 then
            if getElementData( source, "Carteira:StartAvioes10", true ) then
            setElementVisibleTo ( MarkerAvioes11, source, false )
            setElementVisibleTo ( BlipAvioes11, source, false )
            setElementVisibleTo ( MarkerAvioes12, source, true )
            setElementVisibleTo ( BlipAvioes12, source, true )
            setElementData ( source, "Carteira:StartAvioes11", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartAvioes10", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerAvioes12 then
            if getElementData( source, "Carteira:StartAvioes11", true ) then
            setElementVisibleTo ( MarkerAvioes12, source, false )
            setElementVisibleTo ( BlipAvioes12, source, false )
            setElementVisibleTo ( MarkerAvioes13, source, true )
            setElementVisibleTo ( BlipAvioes13, source, true )
            setElementData ( source, "Carteira:StartAvioes12", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartAvioes11", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerAvioes13 then
            if getElementData( source, "Carteira:StartAvioes12", true ) then
            setElementVisibleTo ( MarkerAvioes13, source, false )
            setElementVisibleTo ( BlipAvioes13, source, false )
            setElementVisibleTo ( MarkerAvioes14, source, true )
            setElementVisibleTo ( BlipAvioes14, source, true )
            setElementData ( source, "Carteira:StartAvioes13", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartAvioes12", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerAvioes14 then
            if getElementData( source, "Carteira:StartAvioes13", true ) then
            setElementVisibleTo ( MarkerAvioes14, source, false )
            setElementVisibleTo ( BlipAvioes14, source, false )
            setElementVisibleTo ( MarkerAvioes15, source, true )
            setElementVisibleTo ( BlipAvioes15, source, true )
            setElementData ( source, "Carteira:StartAvioes14", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartAvioes13", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerAvioes15 then
            if getElementData( source, "Carteira:StartAvioes14", true ) then
            setElementVisibleTo ( MarkerAvioes15, source, false )
            setElementVisibleTo ( BlipAvioes15, source, false )
            setElementVisibleTo ( MarkerAvioes16, source, true )
            setElementVisibleTo ( BlipAvioes16, source, true )
            setElementData ( source, "Carteira:StartAvioes15", true )
            setTimer ( setElementData, 50, 1, source, "Carteira:StartAvioes14", false )
            playSoundFrontEnd ( source, 43 )
            end
            end
            if marker == MarkerAvioes16 then
            if getElementData( source, "Carteira:StartAvioes15", true ) then
            AutoEscolaAvioesVida = getElementHealth ( AutoEscolaAvioes[source] )
            if AutoEscolaAvioesVida <= AvioesDanoParaReprovar then
            exports.Scripts_Dxmessages:outputDx(source, MsgAvioes04, "error")
            else
            setElementData( source, "Habilitacoes:Avioes", true)
            exports.Scripts_Dxmessages:outputDx(source, MsgAvioes05, "success")
            end
            setTimer ( setElementData, 50, 1, source, "Carteira:StartAvioes15", false )
            setElementVisibleTo ( MarkerAvioes16, source, false )
            setElementVisibleTo ( BlipAvioes16, source, false )
            setElementData ( source, "AirNew_TirandoCarta", "Não" )
            destroyElement ( AutoEscolaAvioes[source] )
            setTimer ( setElementInterior, 400, 1, source, 3 )
            setTimer ( setElementDimension, 400, 1, source, 10 )
            setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
            setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
            fadeCamera ( source, false, 0.1, 0, 0, 0 )   
            setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
            setTimer ( setCameraTarget, 600, 1, source )
            end
            end
          end 
        end    
    end
    addEventHandler("onPlayerMarkerHit",getRootElement(),emarkerAvioes)

    function SairDoVeiculoAutoEscolaAvioes (source)
    if ( AutoEscolaAvioes[source] ) and isElement( AutoEscolaAvioes[source] ) then
    setElementData ( source, "AirNew_TirandoCarta", "Não" )
    destroyElement ( AutoEscolaAvioes[source] )
    setElementData ( source, "Carteira:StartAvioes00", false )
    setElementData ( source, "Carteira:StartAvioes01", false )
    setElementData ( source, "Carteira:StartAvioes02", false )
    setElementData ( source, "Carteira:StartAvioes03", false )
    setElementData ( source, "Carteira:StartAvioes04", false )
    setElementData ( source, "Carteira:StartAvioes05", false )
    setElementData ( source, "Carteira:StartAvioes06", false )
    setElementData ( source, "Carteira:StartAvioes07", false )
    setElementData ( source, "Carteira:StartAvioes08", false )
    setElementData ( source, "Carteira:StartAvioes09", false )
    setElementData ( source, "Carteira:StartAvioes10", false )
    setElementData ( source, "Carteira:StartAvioes11", false )
    setElementData ( source, "Carteira:StartAvioes12", false )
    setElementData ( source, "Carteira:StartAvioes13", false )
    setElementData ( source, "Carteira:StartAvioes14", false )
    setElementData ( source, "Carteira:StartAvioes15", false )
    setElementVisibleTo ( MarkerAvioes01, source, false )
    setElementVisibleTo ( BlipAvioes01, source, false )
    setElementVisibleTo ( MarkerAvioes02, source, false )
    setElementVisibleTo ( BlipAvioes02, source, false )
    setElementVisibleTo ( MarkerAvioes03, source, false )
    setElementVisibleTo ( BlipAvioes03, source, false )
    setElementVisibleTo ( MarkerAvioes04, source, false )
    setElementVisibleTo ( BlipAvioes04, source, false )
    setElementVisibleTo ( MarkerAvioes05, source, false )
    setElementVisibleTo ( BlipAvioes05, source, false )
    setElementVisibleTo ( MarkerAvioes06, source, false )
    setElementVisibleTo ( BlipAvioes06, source, false )
    setElementVisibleTo ( MarkerAvioes07, source, false )
    setElementVisibleTo ( BlipAvioes07, source, false )
    setElementVisibleTo ( MarkerAvioes08, source, false )
    setElementVisibleTo ( BlipAvioes08, source, false )
    setElementVisibleTo ( MarkerAvioes09, source, false )
    setElementVisibleTo ( BlipAvioes09, source, false )
    setElementVisibleTo ( MarkerAvioes10, source, false )
    setElementVisibleTo ( BlipAvioes10, source, false )
    setElementVisibleTo ( MarkerAvioes11, source, false )
    setElementVisibleTo ( BlipAvioes11, source, false )
    setElementVisibleTo ( MarkerAvioes12, source, false )
    setElementVisibleTo ( BlipAvioes12, source, false )
    setElementVisibleTo ( MarkerAvioes13, source, false )
    setElementVisibleTo ( BlipAvioes13, source, false )
    setElementVisibleTo ( MarkerAvioes14, source, false )
    setElementVisibleTo ( BlipAvioes14, source, false )
    setElementVisibleTo ( MarkerAvioes15, source, false )
    setElementVisibleTo ( BlipAvioes15, source, false )
    setElementVisibleTo ( MarkerAvioes16, source, false )
    setElementVisibleTo ( BlipAvioes16, source, false )
    exports.Scripts_Dxmessages:outputDx(source, MsgAvioes06, "error")
    setTimer ( setElementInterior, 400, 1, source, 3 )
    setTimer ( setElementDimension, 400, 1, source, 10 )
    setTimer ( setElementPosition, 400, 1, source, -2029.61829, -104.51949, 1035.17188 )
    setTimer ( setElementRotation, 600, 1, source, 0, 0, 180 )
    fadeCamera ( source, false, 0.1, 0, 0, 0 )   
    setTimer ( fadeCamera, 600, 1, source , true, 0.5 )
    setTimer ( setCameraTarget, 600, 1, source )
    end
    end
    addEventHandler ( "onVehicleExit", getRootElement(), SairDoVeiculoAutoEscolaAvioes )

    function MorrerAutoEscolaAvioes ()
    if ( AutoEscolaAvioes[source] ) and isElement( AutoEscolaAvioes[source] ) then
    setElementData ( source, "AirNew_TirandoCarta", "Não" )
    destroyElement ( AutoEscolaAvioes[source] )
    setElementData ( source, "Carteira:StartAvioes00", false )
    setElementData ( source, "Carteira:StartAvioes01", false )
    setElementData ( source, "Carteira:StartAvioes02", false )
    setElementData ( source, "Carteira:StartAvioes03", false )
    setElementData ( source, "Carteira:StartAvioes04", false )
    setElementData ( source, "Carteira:StartAvioes05", false )
    setElementData ( source, "Carteira:StartAvioes06", false )
    setElementData ( source, "Carteira:StartAvioes07", false )
    setElementData ( source, "Carteira:StartAvioes08", false )
    setElementData ( source, "Carteira:StartAvioes09", false )
    setElementData ( source, "Carteira:StartAvioes10", false )
    setElementData ( source, "Carteira:StartAvioes11", false )
    setElementData ( source, "Carteira:StartAvioes12", false )
    setElementData ( source, "Carteira:StartAvioes13", false )
    setElementData ( source, "Carteira:StartAvioes14", false )
    setElementData ( source, "Carteira:StartAvioes15", false )
    setElementVisibleTo ( MarkerAvioes01, source, false )
    setElementVisibleTo ( BlipAvioes01, source, false )
    setElementVisibleTo ( MarkerAvioes02, source, false )
    setElementVisibleTo ( BlipAvioes02, source, false )
    setElementVisibleTo ( MarkerAvioes03, source, false )
    setElementVisibleTo ( BlipAvioes03, source, false )
    setElementVisibleTo ( MarkerAvioes04, source, false )
    setElementVisibleTo ( BlipAvioes04, source, false )
    setElementVisibleTo ( MarkerAvioes05, source, false )
    setElementVisibleTo ( BlipAvioes05, source, false )
    setElementVisibleTo ( MarkerAvioes06, source, false )
    setElementVisibleTo ( BlipAvioes06, source, false )
    setElementVisibleTo ( MarkerAvioes07, source, false )
    setElementVisibleTo ( BlipAvioes07, source, false )
    setElementVisibleTo ( MarkerAvioes08, source, false )
    setElementVisibleTo ( BlipAvioes08, source, false )
    setElementVisibleTo ( MarkerAvioes09, source, false )
    setElementVisibleTo ( BlipAvioes09, source, false )
    setElementVisibleTo ( MarkerAvioes10, source, false )
    setElementVisibleTo ( BlipAvioes10, source, false )
    setElementVisibleTo ( MarkerAvioes11, source, false )
    setElementVisibleTo ( BlipAvioes11, source, false )
    setElementVisibleTo ( MarkerAvioes12, source, false )
    setElementVisibleTo ( BlipAvioes12, source, false )
    setElementVisibleTo ( MarkerAvioes13, source, false )
    setElementVisibleTo ( BlipAvioes13, source, false )
    setElementVisibleTo ( MarkerAvioes14, source, false )
    setElementVisibleTo ( BlipAvioes14, source, false )
    setElementVisibleTo ( MarkerAvioes15, source, false )
    setElementVisibleTo ( BlipAvioes15, source, false )
    setElementVisibleTo ( MarkerAvioes16, source, false )
    setElementVisibleTo ( BlipAvioes16, source, false )
    exports.Scripts_Dxmessages:outputDx(source, MsgAvioes07, "error")
    end
    end
    addEventHandler ( "onPlayerWasted", getRootElement(), MorrerAutoEscolaAvioes )

    function SairDoServidorAutoEscolaAvioes ( quitType )    
    if isElement( AutoEscolaAvioes[source] ) then
    destroyElement ( AutoEscolaAvioes[source] )
    end
    end
    addEventHandler ( "onPlayerQuit", getRootElement(), SairDoServidorAutoEscolaAvioes )

    --------------------------------------------------------------------------------

    function SalvarDadosHab(conta)
        if conta then
        local source = getAccountPlayer(conta)
        local emp = getElementData(source,"Habilitacoes:Motos") or false
        setAccountData (conta, "Habilitacoes:Motos",emp)
        local emp = getElementData(source,"Habilitacoes:Carros") or false
        setAccountData (conta, "Habilitacoes:Carros",emp)
        local emp = getElementData(source,"Habilitacoes:Caminhoes") or false
        setAccountData (conta, "Habilitacoes:Caminhoes",emp)
        local emp = getElementData(source,"Habilitacoes:Onibus") or false
        setAccountData (conta, "Habilitacoes:Onibus",emp)
        local emp = getElementData(source,"Habilitacoes:Carretas") or false
        setAccountData (conta, "Habilitacoes:Carretas",emp)
        local emp = getElementData(source,"Habilitacoes:Barcos") or false
        setAccountData (conta, "Habilitacoes:Barcos",emp)
        local emp = getElementData(source,"Habilitacoes:Helicopteros") or false
        setAccountData (conta, "Habilitacoes:Helicopteros",emp)
        local emp = getElementData(source,"Habilitacoes:Avioes") or false
        setAccountData (conta, "Habilitacoes:Avioes",emp)
        local emp = getElementData ( source,"AirNew:AutoEscola") or false
        setAccountData (conta, "AirNew:AutoEscola", emp)
        end    
    end

    function CarregarDadosHab(conta)
        if not (isGuestAccount (conta)) then
            if (conta) then    
                local source = getAccountPlayer(conta)    
                local emp = getAccountData(conta,"Habilitacoes:Motos") or false
                setElementData (source, "Habilitacoes:Motos", emp)
                local emp = getAccountData(conta,"Habilitacoes:Carros") or false
                setElementData (source, "Habilitacoes:Carros", emp)
                local emp = getAccountData(conta,"Habilitacoes:Caminhoes") or false
                setElementData (source, "Habilitacoes:Caminhoes", emp)
                local emp = getAccountData(conta,"Habilitacoes:Onibus") or false
                setElementData (source, "Habilitacoes:Onibus", emp)
                local emp = getAccountData(conta,"Habilitacoes:Carretas") or false
                setElementData (source, "Habilitacoes:Carretas", emp)
                local emp = getAccountData(conta,"Habilitacoes:Barcos") or false
                setElementData (source, "Habilitacoes:Barcos", emp)
                local emp = getAccountData(conta,"Habilitacoes:Helicopteros") or false
                setElementData (source, "Habilitacoes:Helicopteros", emp)
                local emp = getAccountData(conta,"Habilitacoes:Avioes") or false
                setElementData (source, "Habilitacoes:Avioes", emp)
                local emp = getAccountData(conta,"AirNew:AutoEscola") or false
                setElementData (source, "AirNew:AutoEscola", emp)
            end
        end    
    end

    --------------------------------------------------------------------------------

    addEventHandler("onPlayerLogin", root,
      function( _, acc )
        setTimer(CarregarDadosHab,1000,1,acc)
      end
    )

    function startScript ( res )
        if res == getThisResource() then
            for i, player in ipairs(getElementsByType("player")) do
                local acc = getPlayerAccount(player)
                if not isGuestAccount(acc) then
                    CarregarDadosHab(acc)
                end
            end
        end
    end
    addEventHandler ( "onResourceStart", getRootElement(), startScript )

    function stopScript( res )
        if res == getThisResource() then
            for i, player in ipairs(getElementsByType("player")) do
                local acc = getPlayerAccount(player)
                if not isGuestAccount(acc) then
                    SalvarDadosHab(acc)
                end
            end
        end
    end 
    addEventHandler ( "onResourceStop", getRootElement(), stopScript )

    function sair ( quitType )
        local acc = getPlayerAccount(source)
        if not (isGuestAccount (acc)) then
            if acc then
                SalvarDadosHab(acc)
            end
        end
    end
    addEventHandler ( "onPlayerQuit", getRootElement(), sair )

    --------------------------------------------------------------------------------

     

     

  5. 27 minutes ago, brunob22 said:

    claro que tem. e so voce fazer ou pagar para alguem fazer.

    essa area e para duvida com script e não para fazer solicitar script

    Mantenha a calma meu amigo! Caso eu não consiga fique tranquilo que eu irei pagar! Mas não se preocupa que não irei te ocupar!

    5 minutes ago, Lord Henry said:

    Cara, isso é tão simples de ser feito. Se você não sabe lógica de programação, sugiro que aprenda primeiro por aqui. Se já souber lógica de programação, então tente criar algo e podemos lhe ajudar com os problemas de seu código ou dúvidas que você tenha na hora de programar.

    Muito obrigado, eu tenho alguma noção sim! Irei dar uma olhada, agradeço-te! 

  6. Ola! ?‍♂️

    Primeiramente já deixo meu OBRIGADO pelo seu tempo, mesmo que não consiga me ajudar, fico grato por ter lido e disponibilizado sua ajuda!

    Sinceramente eu não gosto muito de criar tópicos, entretanto eu não obtive sucesso em minhas buscas na internet!

    Vamos lá... 

    Eu estou formulando um servidor estou colocando, mods e etc. Porém, chegou na parte do emprego, foi ai que deu problema!

    A minha ideia seria, colocar uma agencia, a onde a galera iria se deslocar até a mesma, solicitar o emprego ir até o locar e ai sim começar a trabalhar, eu iria deixar disponibilizado de ante mão os veículos para os trabalhadores, mas se algum player fora do trabalho tentasse entrar no veiculo não iria conseguir!

    Então meus caros, existe alguma coisa mais ou menos pronto nesse modelo que eu disse?

    OBS: Eu vi isso em um servidor a algum tempo atrás, tinha uma maleta flutuando, tu iria até lá e ativava o emprego!

     

    OBRIGADO! ?

×
×
  • Create New...