Jump to content

Fiz esse codigo cheio de gambiarra me ajuda


Recommended Posts

fiz um codigo aqui de aluguel de bike, porém fiz ele cheio de gambiarra além de feio não ta funcionando codigo abaixo:

 

marker1 = createMarker ( 953.13171386719,-1107.5072021484,22.849414825439, "cylinder", 1.5, 255,0,0, 50)
marker2 = createMarker ( 1191.6909179688,-1312.0385742188,12.316610336304, "cylinder", 1.5, 225,0,0, 50)
marker3 = createMarker ( 1494.1613769531,-1742.8996582031,12.546875, "cylinder", 1.5, 255,0,0, 50)
marker4 = createMarker ( 2206.1918945312,-1981.7033691406,12.546875, "cylinder", 1.5, 255,0,0, 50)
marker5 = createMarker ( 2805.5466308594,-1073.5206298828,29.373998641968, "cylinder", 1.5, 255,0,0, 50)
marker6 = createMarker ( 2243.0690917969,-51.113868713379,25.490577697754, "cylinder", 1.5, 255,0,0, 50)

veh = {}
function pegarbike ( source )
	if isElementWithinMarker (source, marker1 ) then
		if veh[source] and isElement( veh[source] ) then destroyElement(veh[source] )
 			veh[source] = nil
 		end
 			veh[source] = createVehicle(510 ,956.30297851562, -1113.2463378906, 23.740942001343)
    		if getPlayerMoney(source) > 50 then
 				takePlayerMoney(source,50)
 				exports.InfoDx:addBox(source,'[BKR] Foi cobrado R$50 pelo aluguel da bike.', "info")
 				exports.InfoDx:addBox(source,'[BKR] Se você sair da bike a seguradora pegará devolta.', "info")
 				warpPedIntoVehicle (source,veh[source])
      	elseif isElementWithinMarker(source, marker2) then
 			veh2[source] = createVehicle(510, 1191.015625, -1303.7839355469, 13.512410354614)
    		if getPlayerMoney(source) > 50 then
 				takePlayerMoney(source,50)
 				exports.InfoDx:addBox(source,'[BKR] Foi cobrado R$50 pelo aluguel da bike.', "info")
 				exports.InfoDx:addBox(source,'[BKR] Se você sair da bike a seguradora pegará devolta.', "info")
 				warpPedIntoVehicle (source,veh2[source])
        elseif isElementWithinMarker(source, marker3) then
 			veh3[source] = createVehicle(510, 1493.6680908203, -1738.150390625, 13.746875)
    		if getPlayerMoney(source) > 50 then
 				takePlayerMoney(source,50)
 				exports.InfoDx:addBox(source,'[BKR] Foi cobrado R$50 pelo aluguel da bike.', "info")
 				exports.InfoDx:addBox(source,'[BKR] Se você sair da bike a seguradora pegará devolta.', "info")
 				warpPedIntoVehicle (source,veh3[source])
        elseif isElementWithinMarker(source, marker4) then
 			veh4[source] = createVehicle(510, 2211.1340332031, -1982.1483154297, 13.525491905212)
    		if getPlayerMoney(source) > 50 then
 				takePlayerMoney(source,50)
 				exports.InfoDx:addBox(source,'[BKR] Foi cobrado R$50 pelo aluguel da bike.', "info")
 				exports.InfoDx:addBox(source,'[BKR] Se você sair da bike a seguradora pegará devolta.', "info")
 				warpPedIntoVehicle (source,veh4[source])
        elseif isElementWithinMarker(source, marker5) then
 			veh5[source] = createVehicle(510, 2814.9523925781, -1071.6147460938, 30.480630111694)
    		if getPlayerMoney(source) > 50 then
 				takePlayerMoney(source,50)
 				exports.InfoDx:addBox(source,'[BKR] Foi cobrado R$50 pelo aluguel da bike.', "info")
 				exports.InfoDx:addBox(source,'[BKR] Se você sair da bike a seguradora pegará devolta.', "info")
 				warpPedIntoVehicle (source,veh5[source])
        elseif isElementWithinMarker(source, marker6) then
 			veh6[source] = createVehicle(510, 2237.8811035156, -49.01481628418, 26.68589515686)
    		if getPlayerMoney(source) > 50 then
 				takePlayerMoney(source,50)
 				exports.InfoDx:addBox(source,'[BKR] Foi cobrado R$50 pelo aluguel da bike.', "info")
 				exports.InfoDx:addBox(source,'[BKR] Se você sair da bike a seguradora pegará devolta.', "info")
 				warpPedIntoVehicle (source,veh6[source])
                if not isElementWithinMarker(source, marker1) and isElementWithinMarker(source, marker2) and  isElementWithinMarker(source, marker3) and  isElementWithinMarker(source, marker4) and  isElementWithinMarker(source, marker5) and  isElementWithinMarker(source, marker6) then
                exports.InfoDx:addBox(source,'[BKR] Para Pegar Uma Bike Fique Dentro De Um Marker!', "error")
                  				end
                else
                    			exports.InfoDx:addBox(source,'[BKR] Dinheiro Insuficiente', "error")
                  			end
              else
                  			exports.InfoDx:addBox(source,'[BKR] Dinheiro Insuficiente', "error")

               			end
            else
                			exports.InfoDx:addBox(source,'[BKR] Dinheiro Insuficiente', "error")
              		end
          else
              			exports.InfoDx:addBox(source,'[BKR] Dinheiro Insuficiente', "error")
            	end
        else
            			exports.InfoDx:addBox(source,'[BKR] Dinheiro Insuficiente', "error")
        	end
      else
          			exports.InfoDx:addBox(source,'[BKR] Dinheiro Insuficiente', "error")
    	end
	end
end
addCommandHandler ( "alugarbike", pegarbike  )

function msg (source)
	exports.InfoDx:addBox(source,'[BKR] Digite /alugarbike para alugar uma bicicleta será cobrado R$50 .', "info")
end
addEventHandler( "onMarkerHit", marker1, msg )

function msg (source)
	exports.InfoDx:addBox(source,'[BKR] Digite /alugarbike para alugar uma bicicleta será cobrado R$50 .', "info")
end
addEventHandler( "onMarkerHit", marker2, msg )

function msg (source)
	exports.InfoDx:addBox(source,'[BKR] Digite /alugarbike para alugar uma bicicleta será cobrado R$50 .', "info")
end
addEventHandler( "onMarkerHit", marker3, msg )

function msg (source)
	exports.InfoDx:addBox(source,'[BKR] Digite /alugarbike para alugar uma bicicleta será cobrado R$50 .', "info")
end
addEventHandler( "onMarkerHit", marker4, msg )

function msg (source)
	exports.InfoDx:addBox(source,'[BKR] Digite /alugarbike para alugar uma bicicleta será cobrado R$50 .', "info")
end
addEventHandler( "onMarkerHit", marker5, msg )

function msg (source)
	exports.InfoDx:addBox(source,'[BKR] Digite /alugarbike para alugar uma bicicleta será cobrado R$50 .', "info")
end
addEventHandler( "onMarkerHit", marker6, msg )

function sair (source)
	if (veh[source]) and isElement(veh[source]) then
	destroyElement (veh[source])
	exports.InfoDx:addBox(source,'[BKR] Você abandonou a bike e a seguradora pegou', "error")
   end
end
addEventHandler ("onVehicleExit", root, sair)

desculpa a poluição no codigo.

Link to comment

marker1 = createMarker ( 953.13171386719,-1107.5072021484,22.849414825439, "cylinder", 1.5, 255,0,0, 50)
marker2 = createMarker ( 1191.6909179688,-1312.0385742188,12.316610336304, "cylinder", 1.5, 225,0,0, 50)
marker3 = createMarker ( 1494.1613769531,-1742.8996582031,12.546875, "cylinder", 1.5, 255,0,0, 50)
marker4 = createMarker ( 2206.1918945312,-1981.7033691406,12.546875, "cylinder", 1.5, 255,0,0, 50)
marker5 = createMarker ( 2805.5466308594,-1073.5206298828,29.373998641968, "cylinder", 1.5, 255,0,0, 50)
marker6 = createMarker ( 2243.0690917969,-51.113868713379,25.490577697754, "cylinder", 1.5, 255,0,0, 50)

veh = {}
function pegarbike ( source )
	if isElementWithinMarker (source, marker1 ) then
		if veh[source] and isElement( veh[source] ) then destroyElement(veh[source] )
 			veh[source] = nil
 		end
 			veh[source] = createVehicle(510 ,956.30297851562, -1113.2463378906, 23.740942001343)
    		if getPlayerMoney(source) > 50 then
 				takePlayerMoney(source,50)
 				exports.InfoDx:addBox(source,'[BKR] Foi cobrado R$50 pelo aluguel da bike.', "info")
 				exports.InfoDx:addBox(source,'[BKR] Se você sair da bike a seguradora pegará devolta.', "info")
 				warpPedIntoVehicle (source,veh[source])
      	elseif 
addCommandHandler ( "alugarbike", pegarbike )
function pegarbike2()
isElementWithinMarker(source, marker2) then
veh2[source] = createVehicle(510, 1191.015625, -1303.7839355469, 13.512410354614)
    		if getPlayerMoney(source) > 50 then
 				takePlayerMoney(source,50)
 				exports.InfoDx:addBox(source,'[BKR] Foi cobrado R$50 pelo aluguel da bike.', "info")
 				exports.InfoDx:addBox(source,'[BKR] Se você sair da bike a seguradora pegará devolta.', "info")
 				warpPedIntoVehicle (source,veh2[source])
        elseif 
addCommandHandler ( "alugarbike", pegarbike2 )
function pegarbike3()
isElementWithinMarker(source, marker3) then
 			veh3[source] = createVehicle(510, 1493.6680908203, -1738.150390625, 13.746875)
    		if getPlayerMoney(source) > 50 then
 				takePlayerMoney(source,50)
 				exports.InfoDx:addBox(source,'[BKR] Foi cobrado R$50 pelo aluguel da bike.', "info")
 				exports.InfoDx:addBox(source,'[BKR] Se você sair da bike a seguradora pegará devolta.', "info")
 				warpPedIntoVehicle (source,veh3[source])
        elseif 
addCommandHandler ( "alugarbike", pegarbike3 )
function pegarbike4()
isElementWithinMarker(source, marker4) then
 			veh4[source] = createVehicle(510, 2211.1340332031, -1982.1483154297, 13.525491905212)
    		if getPlayerMoney(source) > 50 then
 				takePlayerMoney(source,50)
 				exports.InfoDx:addBox(source,'[BKR] Foi cobrado R$50 pelo aluguel da bike.', "info")
 				exports.InfoDx:addBox(source,'[BKR] Se você sair da bike a seguradora pegará devolta.', "info")
 				warpPedIntoVehicle (source,veh4[source])
        elseif 
addCommandHandler ( "alugarbike", pegarbike4 )

function pegarbike5()
isElementWithinMarker(source, marker5) then
 			veh5[source] = createVehicle(510, 2814.9523925781, -1071.6147460938, 30.480630111694)
    		if getPlayerMoney(source) > 50 then
 				takePlayerMoney(source,50)
 				exports.InfoDx:addBox(source,'[BKR] Foi cobrado R$50 pelo aluguel da bike.', "info")
 				exports.InfoDx:addBox(source,'[BKR] Se você sair da bike a seguradora pegará devolta.', "info")
 				warpPedIntoVehicle (source,veh5[source])
        elseif 
addCommandHandler ( "alugarbike", pegarbike5 )
function pegarbike6
isElementWithinMarker(source, marker6) then
 			veh6[source] = createVehicle(510, 2237.8811035156, -49.01481628418, 26.68589515686)
    		if getPlayerMoney(source) > 50 then
 				takePlayerMoney(source,50)
 				exports.InfoDx:addBox(source,'[BKR] Foi cobrado R$50 pelo aluguel da bike.', "info")
 				exports.InfoDx:addBox(source,'[BKR] Se você sair da bike a seguradora pegará devolta.', "info")
 				warpPedIntoVehicle (source,veh6[source])
addCommandHandler ( "alugarbike", pegarbike6 )
                if not isElementWithinMarker(source, marker1) and isElementWithinMarker(source, marker2) and  isElementWithinMarker(source, marker3) and  isElementWithinMarker(source, marker4) and  isElementWithinMarker(source, marker5) and  isElementWithinMarker(source, marker6) then
                exports.InfoDx:addBox(source,'[BKR] Para Pegar Uma Bike Fique Dentro De Um Marker!', "error")
                  				end
                else
                    			exports.InfoDx:addBox(source,'[BKR] Dinheiro Insuficiente', "error")
                  			end
              else
                  			exports.InfoDx:addBox(source,'[BKR] Dinheiro Insuficiente', "error")

               			end
            else
                			exports.InfoDx:addBox(source,'[BKR] Dinheiro Insuficiente', "error")
              		end
          else
              			exports.InfoDx:addBox(source,'[BKR] Dinheiro Insuficiente', "error")
            	end
        else
            			exports.InfoDx:addBox(source,'[BKR] Dinheiro Insuficiente', "error")
        	end
      else
          			exports.InfoDx:addBox(source,'[BKR] Dinheiro Insuficiente', "error")
    	end
	end
end
addCommandHandler ( "alugarbike", pegarbike  )

function msg (source)
	exports.InfoDx:addBox(source,'[BKR] Digite /alugarbike para alugar uma bicicleta será cobrado R$50 .', "info")
end
addEventHandler( "onMarkerHit", marker1, msg )

function msg (source)
	exports.InfoDx:addBox(source,'[BKR] Digite /alugarbike para alugar uma bicicleta será cobrado R$50 .', "info")
end
addEventHandler( "onMarkerHit", marker2, msg )

function msg (source)
	exports.InfoDx:addBox(source,'[BKR] Digite /alugarbike para alugar uma bicicleta será cobrado R$50 .', "info")
end
addEventHandler( "onMarkerHit", marker3, msg )

function msg (source)
	exports.InfoDx:addBox(source,'[BKR] Digite /alugarbike para alugar uma bicicleta será cobrado R$50 .', "info")
end
addEventHandler( "onMarkerHit", marker4, msg )

function msg (source)
	exports.InfoDx:addBox(source,'[BKR] Digite /alugarbike para alugar uma bicicleta será cobrado R$50 .', "info")
end
addEventHandler( "onMarkerHit", marker5, msg )

function msg (source)
	exports.InfoDx:addBox(source,'[BKR] Digite /alugarbike para alugar uma bicicleta será cobrado R$50 .', "info")
end
addEventHandler( "onMarkerHit", marker6, msg )

function sair (source)
	if (veh[source]) and isElement(veh[source]) then
	destroyElement (veh[source])
	exports.InfoDx:addBox(source,'[BKR] Você abandonou a bike e a seguradora pegou', "error")
   end
end
addEventHandler ("onVehicleExit", root, sair)
Link to comment
-- tabela com a posição dos markers
local markers = { 
    { 
        pos = { 0, 0, 0 }, -- XYZ
        int = 0, -- Interior -> padrão 0
        dim = 0  -- Dimensão -> padrão 0
    }
}

 -- aqui criamos um element pai, isso servirá para que não precisemos adicionar um evento pra cara marker
local markerStorage = {

    ['parentElement'] = createElement( 'marker.parent' )
    ['markerData'] = { }
}

-- armazena as bikes alugadas
local rentStorage = { }

-- desconta o dinheiro do jogador
local getPay = function( value, thePlayer )

    local validValue = value and tonumber( value ) and value > 0 

    if not validValue then

        return false

    end 

    local playerMoney = getPlayerMoney( thePlayer ) or 0 

    if playerMoney < value then

        return false

    end

    return takePlayerMoney( thePlayer, tonumber( value ) )

end

-- verifica se o player tem uma bike, se tiver ele destroi a bike e retorna true
local verifyAndDestroyRentVehicle = function( thePlayer )

    -- verifica se a pessoa tem uma bike alugada
    if rentStorage[ thePlayer ] then 

        -- verifica se a bike existe
        if isElement( rentStorage[ thePlayer ] ) then

            -- destrói a bike
            destroyElement( rentStorage[ thePlayer ] )

        end

        -- zera a tabela
        rentStorage[ thePlayer ] = nil

        return true

    end

    return false

end

-- mensagem para quando alguém entrar no marker
local markerOutputMessage = function( hit, dim )
    
    local isValidElement = isElement( hit ) and getElementType( hit ) == 'player'
    local isElementInVehicle = getPedOccupiedVehicle( thePlayer )
    
    if not isValidElement or not isElementInVehicle then 

        return 
        
    end 

    outputChatBox( 'Digite /alugarbike para alugar a bike', hit, 0, 255, 0 )
    
end

-- comando de alugar a bike
addCommandHandler( 'alugarbike', 
function( thePlayer ) 

    -- verifica se o jogador está em um dos markeres de aluguel
    local isElementInMarker = isElementWithinMarker( thePlayer, markerStorage['parentElement'] )

    -- verifica se o jogador está em um veículo
    local isElementInVehicle = getPedOccupiedVehicle( thePlayer )

    -- caso alguma das verificações seja verdadeira ele cancela a execução
    if not isElementInMarker or not isElementInVehicle then

        return

    end

    -- destrói a bike caso o jogador já tenha uma
    if verifyAndDestroyRentVehicle( thePlayer ) then 

        return 

    end

    -- cobra o dinheiro do jogador
    local payment = getPay( 50, thePlayer ) or false 

    -- verifica se o jogador tem dinheiro suficiente/se o pagamento foi feito
    if not payment then

        outputChatBox( '#FFFFFFAlgo deu errado com seu pagamento, verifique se você tem a quantia necessária para alugar uma bike', thePlayer, 255, 255, 255, true )
        return

    end

    -- pega posição do jogador
    local playerPosX, playerPosY, playerZ = getElementPosition( thePlayer )
    -- pega dimensão e o interior do marker
    local dim, int = markerStorage['markerData']['dim'] or 0, markerStorage['markerData']['int'] or 0 

    -- cria a bike e armazena na tabela
    rentStorage[ thePlayer ] = createVehicle( 510, playerPosX, playerPosY, playerZ )

    -- seta o interior e a dimensão da bike
    setElementDimension( rentStorage[ thePlayer ], dim )
    setElementInterior( rentStorage[ thePlayer ], int )

    -- teleporta o jogador pra dentro da bike
    warpPedIntoVehicle( thePlayer, rentStorage[ thePlayer ] )

end)

-- esse evento será chamado sempre que o resource ligar
addEventHandler( 'onResourceStart', resourceRoot, 
function( )

    -- fazemos um loop na tabela com as posições dos markers
    for i, v in ipairs( markers ) do 

        -- cria o marker
        local marker = createMarker( v.pos[1], v.pos[2], v.pos[3], 'cylinder', 1, 255, 0, 0, 150 ) -- criamos o marker

        -- setamos o interior e a dimensão do marker
        setElementInterior( marker, v.int )
        setElementDimension( marker, v.dim )
        
        -- setamos o marker como elemento filho do elemento pai que criamos acima
        setElementParent( marker, markerStorage['parentElement'] ) 

        -- armazenamos alguns dados do marker
        markerStorage['markerData'][ marker ] = {

            ['markerElement'] = marker,
            ['int'] = v.int,
            ['dim'] = v.dim
        }

    end 

    addEventHandler('onMarkerHit', markerStorage['parentElement'], markerOutputMessage)

end)

-- esse evento será chamado sempre que alguém sair de um veículo
addEventHandler( 'onVehicleExit', root, 
function( thePlayer )

    verifyAndDestroyRentVehicle( thePlayer )

end)

-- esse evento é chamado sempre que alguém sair do servidor
addEventHandler( 'onPlayerQuit', root, 
function( )

    verifyAndDestroyRentVehicle( source ) 

end)



Fiz este código aqui, não testei, por isso pode ser que tenha algo errado. Recomendo que estude como funciona, tentei deixar o mais comentado possível pra facilitar sua compreensão. 

Link to comment
11 hours ago, Gustavo Freire said:
-- tabela com a posição dos markers
local markers = { 
    { 
        pos = { 0, 0, 0 }, -- XYZ
        int = 0, -- Interior -> padrão 0
        dim = 0  -- Dimensão -> padrão 0
    }
}

 -- aqui criamos um element pai, isso servirá para que não precisemos adicionar um evento pra cara marker
local markerStorage = {

    ['parentElement'] = createElement( 'marker.parent' )
    ['markerData'] = { }
}

-- armazena as bikes alugadas
local rentStorage = { }

-- desconta o dinheiro do jogador
local getPay = function( value, thePlayer )

    local validValue = value and tonumber( value ) and value > 0 

    if not validValue then

        return false

    end 

    local playerMoney = getPlayerMoney( thePlayer ) or 0 

    if playerMoney < value then

        return false

    end

    return takePlayerMoney( thePlayer, tonumber( value ) )

end

-- verifica se o player tem uma bike, se tiver ele destroi a bike e retorna true
local verifyAndDestroyRentVehicle = function( thePlayer )

    -- verifica se a pessoa tem uma bike alugada
    if rentStorage[ thePlayer ] then 

        -- verifica se a bike existe
        if isElement( rentStorage[ thePlayer ] ) then

            -- destrói a bike
            destroyElement( rentStorage[ thePlayer ] )

        end

        -- zera a tabela
        rentStorage[ thePlayer ] = nil

        return true

    end

    return false

end

-- mensagem para quando alguém entrar no marker
local markerOutputMessage = function( hit, dim )
    
    local isValidElement = isElement( hit ) and getElementType( hit ) == 'player'
    local isElementInVehicle = getPedOccupiedVehicle( thePlayer )
    
    if not isValidElement or not isElementInVehicle then 

        return 
        
    end 

    outputChatBox( 'Digite /alugarbike para alugar a bike', hit, 0, 255, 0 )
    
end

-- comando de alugar a bike
addCommandHandler( 'alugarbike', 
function( thePlayer ) 

    -- verifica se o jogador está em um dos markeres de aluguel
    local isElementInMarker = isElementWithinMarker( thePlayer, markerStorage['parentElement'] )

    -- verifica se o jogador está em um veículo
    local isElementInVehicle = getPedOccupiedVehicle( thePlayer )

    -- caso alguma das verificações seja verdadeira ele cancela a execução
    if not isElementInMarker or not isElementInVehicle then

        return

    end

    -- destrói a bike caso o jogador já tenha uma
    if verifyAndDestroyRentVehicle( thePlayer ) then 

        return 

    end

    -- cobra o dinheiro do jogador
    local payment = getPay( 50, thePlayer ) or false 

    -- verifica se o jogador tem dinheiro suficiente/se o pagamento foi feito
    if not payment then

        outputChatBox( '#FFFFFFAlgo deu errado com seu pagamento, verifique se você tem a quantia necessária para alugar uma bike', thePlayer, 255, 255, 255, true )
        return

    end

    -- pega posição do jogador
    local playerPosX, playerPosY, playerZ = getElementPosition( thePlayer )
    -- pega dimensão e o interior do marker
    local dim, int = markerStorage['markerData']['dim'] or 0, markerStorage['markerData']['int'] or 0 

    -- cria a bike e armazena na tabela
    rentStorage[ thePlayer ] = createVehicle( 510, playerPosX, playerPosY, playerZ )

    -- seta o interior e a dimensão da bike
    setElementDimension( rentStorage[ thePlayer ], dim )
    setElementInterior( rentStorage[ thePlayer ], int )

    -- teleporta o jogador pra dentro da bike
    warpPedIntoVehicle( thePlayer, rentStorage[ thePlayer ] )

end)

-- esse evento será chamado sempre que o resource ligar
addEventHandler( 'onResourceStart', resourceRoot, 
function( )

    -- fazemos um loop na tabela com as posições dos markers
    for i, v in ipairs( markers ) do 

        -- cria o marker
        local marker = createMarker( v.pos[1], v.pos[2], v.pos[3], 'cylinder', 1, 255, 0, 0, 150 ) -- criamos o marker

        -- setamos o interior e a dimensão do marker
        setElementInterior( marker, v.int )
        setElementDimension( marker, v.dim )
        
        -- setamos o marker como elemento filho do elemento pai que criamos acima
        setElementParent( marker, markerStorage['parentElement'] ) 

        -- armazenamos alguns dados do marker
        markerStorage['markerData'][ marker ] = {

            ['markerElement'] = marker,
            ['int'] = v.int,
            ['dim'] = v.dim
        }

    end 

    addEventHandler('onMarkerHit', markerStorage['parentElement'], markerOutputMessage)

end)

-- esse evento será chamado sempre que alguém sair de um veículo
addEventHandler( 'onVehicleExit', root, 
function( thePlayer )

    verifyAndDestroyRentVehicle( thePlayer )

end)

-- esse evento é chamado sempre que alguém sair do servidor
addEventHandler( 'onPlayerQuit', root, 
function( )

    verifyAndDestroyRentVehicle( source ) 

end)



Fiz este código aqui, não testei, por isso pode ser que tenha algo errado. Recomendo que estude como funciona, tentei deixar o mais comentado possível pra facilitar sua compreensão. 

sinceramente eu não sei mexer nenhum pouco com esses negócios de tabela, tentei por umas vírgulas, mas não sei oque fazer
coloquei o código e tá dando esse erro: 20 '}' expected (to close '{' at line 17) near '='

Link to comment
-- tabela com a posição dos markers
local markers = { 
    { 
        pos = { 0, 0, 0 }, -- XYZ
        int = 0, -- Interior -> padrão 0
        dim = 0  -- Dimensão -> padrão 0
    },
}

 -- aqui criamos um element pai, isso servirá para que não precisemos adicionar um evento pra cara marker
local markerStorage = {

    ['parentElement'] = createElement( 'marker.parent' )
    ['markerData'] = { }
}

-- armazena as bikes alugadas
local rentStorage = { }

-- desconta o dinheiro do jogador
local getPay = function( value, thePlayer )

    local validValue = value and tonumber( value ) and value > 0 

    if not validValue then

        return false

    end 

    local playerMoney = getPlayerMoney( thePlayer ) or 0 

    if playerMoney < value then

        return false

    end

    return takePlayerMoney( thePlayer, tonumber( value ) )

end

-- verifica se o player tem uma bike, se tiver ele destroi a bike e retorna true
local verifyAndDestroyRentVehicle = function( thePlayer )

    -- verifica se a pessoa tem uma bike alugada
    if rentStorage[ thePlayer ] then 

        -- verifica se a bike existe
        if isElement( rentStorage[ thePlayer ] ) then

            -- destrói a bike
            destroyElement( rentStorage[ thePlayer ] )

        end

        -- zera a tabela
        rentStorage[ thePlayer ] = nil

        return true

    end

    return false

end

-- mensagem para quando alguém entrar no marker
local markerOutputMessage = function( hit, dim )
    
    local isValidElement = isElement( hit ) and getElementType( hit ) == 'player'
    local isElementInVehicle = getPedOccupiedVehicle( thePlayer )
    
    if not isValidElement or not isElementInVehicle then 

        return 
        
    end 

    outputChatBox( 'Digite /alugarbike para alugar a bike', hit, 0, 255, 0 )
    
end

-- comando de alugar a bike
addCommandHandler( 'alugarbike', 
function( thePlayer ) 

    -- verifica se o jogador está em um dos markeres de aluguel
    local isElementInMarker = isElementWithinMarker( thePlayer, markerStorage['parentElement'] )

    -- verifica se o jogador está em um veículo
    local isElementInVehicle = getPedOccupiedVehicle( thePlayer )

    -- caso alguma das verificações seja verdadeira ele cancela a execução
    if not isElementInMarker or not isElementInVehicle then

        return

    end

    -- destrói a bike caso o jogador já tenha uma
    if verifyAndDestroyRentVehicle( thePlayer ) then 

        return 

    end

    -- cobra o dinheiro do jogador
    local payment = getPay( 50, thePlayer ) or false 

    -- verifica se o jogador tem dinheiro suficiente/se o pagamento foi feito
    if not payment then

        outputChatBox( '#FFFFFFAlgo deu errado com seu pagamento, verifique se você tem a quantia necessária para alugar uma bike', thePlayer, 255, 255, 255, true )
        return

    end

    -- pega posição do jogador
    local playerPosX, playerPosY, playerZ = getElementPosition( thePlayer )
    -- pega dimensão e o interior do marker
    local dim, int = markerStorage['markerData']['dim'] or 0, markerStorage['markerData']['int'] or 0 

    -- cria a bike e armazena na tabela
    rentStorage[ thePlayer ] = createVehicle( 510, playerPosX, playerPosY, playerZ )

    -- seta o interior e a dimensão da bike
    setElementDimension( rentStorage[ thePlayer ], dim )
    setElementInterior( rentStorage[ thePlayer ], int )

    -- teleporta o jogador pra dentro da bike
    warpPedIntoVehicle( thePlayer, rentStorage[ thePlayer ] )

end)

-- esse evento será chamado sempre que o resource ligar
addEventHandler( 'onResourceStart', resourceRoot, 
function( )

    -- fazemos um loop na tabela com as posições dos markers
    for i, v in ipairs( markers ) do 

        -- cria o marker
        local marker = createMarker( v.pos[1], v.pos[2], v.pos[3], 'cylinder', 1, 255, 0, 0, 150 ) -- criamos o marker

        -- setamos o interior e a dimensão do marker
        setElementInterior( marker, v.int )
        setElementDimension( marker, v.dim )
        
        -- setamos o marker como elemento filho do elemento pai que criamos acima
        setElementParent( marker, markerStorage['parentElement'] ) 

        -- armazenamos alguns dados do marker
        markerStorage['markerData'][ marker ] = {

            ['markerElement'] = marker,
            ['int'] = v.int,
            ['dim'] = v.dim
        }

    end 

    addEventHandler('onMarkerHit', markerStorage['parentElement'], markerOutputMessage)

end)

-- esse evento será chamado sempre que alguém sair de um veículo
addEventHandler( 'onVehicleExit', root, 
function( thePlayer )

    verifyAndDestroyRentVehicle( thePlayer )

end)

-- esse evento é chamado sempre que alguém sair do servidor
addEventHandler( 'onPlayerQuit', root, 
function( )

    verifyAndDestroyRentVehicle( source ) 

end)

Corrigi o erro.

Link to comment
14 minutes ago, Gustavo Freire said:
-- tabela com a posição dos markers
local markers = { 
    { 
        pos = { 0, 0, 0 }, -- XYZ
        int = 0, -- Interior -> padrão 0
        dim = 0  -- Dimensão -> padrão 0
    },
}

 -- aqui criamos um element pai, isso servirá para que não precisemos adicionar um evento pra cara marker
local markerStorage = {

    ['parentElement'] = createElement( 'marker.parent' )
    ['markerData'] = { }
}

-- armazena as bikes alugadas
local rentStorage = { }

-- desconta o dinheiro do jogador
local getPay = function( value, thePlayer )

    local validValue = value and tonumber( value ) and value > 0 

    if not validValue then

        return false

    end 

    local playerMoney = getPlayerMoney( thePlayer ) or 0 

    if playerMoney < value then

        return false

    end

    return takePlayerMoney( thePlayer, tonumber( value ) )

end

-- verifica se o player tem uma bike, se tiver ele destroi a bike e retorna true
local verifyAndDestroyRentVehicle = function( thePlayer )

    -- verifica se a pessoa tem uma bike alugada
    if rentStorage[ thePlayer ] then 

        -- verifica se a bike existe
        if isElement( rentStorage[ thePlayer ] ) then

            -- destrói a bike
            destroyElement( rentStorage[ thePlayer ] )

        end

        -- zera a tabela
        rentStorage[ thePlayer ] = nil

        return true

    end

    return false

end

-- mensagem para quando alguém entrar no marker
local markerOutputMessage = function( hit, dim )
    
    local isValidElement = isElement( hit ) and getElementType( hit ) == 'player'
    local isElementInVehicle = getPedOccupiedVehicle( thePlayer )
    
    if not isValidElement or not isElementInVehicle then 

        return 
        
    end 

    outputChatBox( 'Digite /alugarbike para alugar a bike', hit, 0, 255, 0 )
    
end

-- comando de alugar a bike
addCommandHandler( 'alugarbike', 
function( thePlayer ) 

    -- verifica se o jogador está em um dos markeres de aluguel
    local isElementInMarker = isElementWithinMarker( thePlayer, markerStorage['parentElement'] )

    -- verifica se o jogador está em um veículo
    local isElementInVehicle = getPedOccupiedVehicle( thePlayer )

    -- caso alguma das verificações seja verdadeira ele cancela a execução
    if not isElementInMarker or not isElementInVehicle then

        return

    end

    -- destrói a bike caso o jogador já tenha uma
    if verifyAndDestroyRentVehicle( thePlayer ) then 

        return 

    end

    -- cobra o dinheiro do jogador
    local payment = getPay( 50, thePlayer ) or false 

    -- verifica se o jogador tem dinheiro suficiente/se o pagamento foi feito
    if not payment then

        outputChatBox( '#FFFFFFAlgo deu errado com seu pagamento, verifique se você tem a quantia necessária para alugar uma bike', thePlayer, 255, 255, 255, true )
        return

    end

    -- pega posição do jogador
    local playerPosX, playerPosY, playerZ = getElementPosition( thePlayer )
    -- pega dimensão e o interior do marker
    local dim, int = markerStorage['markerData']['dim'] or 0, markerStorage['markerData']['int'] or 0 

    -- cria a bike e armazena na tabela
    rentStorage[ thePlayer ] = createVehicle( 510, playerPosX, playerPosY, playerZ )

    -- seta o interior e a dimensão da bike
    setElementDimension( rentStorage[ thePlayer ], dim )
    setElementInterior( rentStorage[ thePlayer ], int )

    -- teleporta o jogador pra dentro da bike
    warpPedIntoVehicle( thePlayer, rentStorage[ thePlayer ] )

end)

-- esse evento será chamado sempre que o resource ligar
addEventHandler( 'onResourceStart', resourceRoot, 
function( )

    -- fazemos um loop na tabela com as posições dos markers
    for i, v in ipairs( markers ) do 

        -- cria o marker
        local marker = createMarker( v.pos[1], v.pos[2], v.pos[3], 'cylinder', 1, 255, 0, 0, 150 ) -- criamos o marker

        -- setamos o interior e a dimensão do marker
        setElementInterior( marker, v.int )
        setElementDimension( marker, v.dim )
        
        -- setamos o marker como elemento filho do elemento pai que criamos acima
        setElementParent( marker, markerStorage['parentElement'] ) 

        -- armazenamos alguns dados do marker
        markerStorage['markerData'][ marker ] = {

            ['markerElement'] = marker,
            ['int'] = v.int,
            ['dim'] = v.dim
        }

    end 

    addEventHandler('onMarkerHit', markerStorage['parentElement'], markerOutputMessage)

end)

-- esse evento será chamado sempre que alguém sair de um veículo
addEventHandler( 'onVehicleExit', root, 
function( thePlayer )

    verifyAndDestroyRentVehicle( thePlayer )

end)

-- esse evento é chamado sempre que alguém sair do servidor
addEventHandler( 'onPlayerQuit', root, 
function( )

    verifyAndDestroyRentVehicle( source ) 

end)

Corrigi o erro.

eu não sei se eu que editei algo errado, ou se a tabela de posições ta errada que eu fiz, mas permanece o erro

 

local markers = { 
    { 
        pos = {
   		{953.13171386719,-1107.5072021484,22.849414825439},
   		{1191.6909179688,-1312.0385742188,12.316610336304},
   		{1494.1613769531,-1742.8996582031,12.546875},
   		{2206.1918945312,-1981.7033691406,12.546875},
   		{2805.5466308594,-1073.5206298828,29.373998641968},
   		{2243.0690917969,-51.113868713379,25.490577697754}
    },
        int = 0,
        dim = 0 
    }
}

local markerStorage = {

    ['parentElement'] = createElement( 'marker.parent' )
    ['markerData'] = { }
}

19: '}' expected (to close '{' at line 16) near '='

Link to comment
local markers = { 
    { 
        pos = { 0, 0, 0 }, -- XYZ
        int = 0, -- Interior -> padrão 0
        dim = 0  -- Dimensão -> padrão 0
    },
    { 
        pos = { 0, 0, 0 }, -- XYZ
        int = 0, -- Interior -> padrão 0
        dim = 0  -- Dimensão -> padrão 0
    },
    { 
        pos = { 0, 0, 0 }, -- XYZ
        int = 0, -- Interior -> padrão 0
        dim = 0  -- Dimensão -> padrão 0
    },
    { 
        pos = { 0, 0, 0 }, -- XYZ
        int = 0, -- Interior -> padrão 0
        dim = 0  -- Dimensão -> padrão 0
    },
}

 

Pra adicionar novos locais faça desse jeito.

Link to comment
1 hour ago, Gustavo Freire said:
local markers = { 
    { 
        pos = { 0, 0, 0 }, -- XYZ
        int = 0, -- Interior -> padrão 0
        dim = 0  -- Dimensão -> padrão 0
    },
    { 
        pos = { 0, 0, 0 }, -- XYZ
        int = 0, -- Interior -> padrão 0
        dim = 0  -- Dimensão -> padrão 0
    },
    { 
        pos = { 0, 0, 0 }, -- XYZ
        int = 0, -- Interior -> padrão 0
        dim = 0  -- Dimensão -> padrão 0
    },
    { 
        pos = { 0, 0, 0 }, -- XYZ
        int = 0, -- Interior -> padrão 0
        dim = 0  -- Dimensão -> padrão 0
    },
}

 

Pra adicionar novos locais faça desse jeito.

ata, perdão rsrs

Link to comment
2 hours ago, Gustavo Freire said:
local markers = { 
    { 
        pos = { 0, 0, 0 }, -- XYZ
        int = 0, -- Interior -> padrão 0
        dim = 0  -- Dimensão -> padrão 0
    },
    { 
        pos = { 0, 0, 0 }, -- XYZ
        int = 0, -- Interior -> padrão 0
        dim = 0  -- Dimensão -> padrão 0
    },
    { 
        pos = { 0, 0, 0 }, -- XYZ
        int = 0, -- Interior -> padrão 0
        dim = 0  -- Dimensão -> padrão 0
    },
    { 
        pos = { 0, 0, 0 }, -- XYZ
        int = 0, -- Interior -> padrão 0
        dim = 0  -- Dimensão -> padrão 0
    },
}

 

Pra adicionar novos locais faça desse jeito.

porém o erro permanece...
eu não sei oque ta errado

local markerStorage = {

    ['parentElement'] = createElement( 'marker.parent' )
    ['markerData'] = { }
}

aparece que ta errado isso aqui

Edited by SciptNovato
Link to comment
On 30/05/2022 at 11:53, Gustavo Freire said:

Erro meu, coloca uma vírgula na frente do 'parentElement'.

local markerStorage = {

    ['parentElement'] = createElement( 'marker.parent' ),
    ['markerData'] = { }
}

 

ta dando esse erro aqui saberia me explicar como resolver?
e também quando eu hito o marker não aparece a mensagem "digite /alubarbike etc..."spacer.png

Edited by SciptNovato
Link to comment
-- tabela com a posição dos markers
local markers = { 
    { 
        pos = { 505.2783203125, -1340.4423828125, 15.9609375 }, -- XYZ
        int = 0, -- Interior -> padrão 0
        dim = 0  -- Dimensão -> padrão 0
    },
    
}

 -- aqui criamos um element pai, isso servirá para que não precisemos adicionar um evento pra cara marker
local markerStorage = {

    ['parentElement'] = createElement( 'marker.parent' ),
    ['markerData'] = { }
}

-- armazena as bikes alugadas
local rentStorage = { }

-- desconta o dinheiro do jogador
local getPay = function( value, thePlayer )

    local validValue = value and tonumber( value ) and value > 0 

    if not validValue then

        return false

    end 

    local playerMoney = getPlayerMoney( thePlayer ) or 0 

    if playerMoney < value then

        return false

    end

    return takePlayerMoney( thePlayer, tonumber( value ) )

end

local isElementWithinRentMarker = function( thePlayer )
    
    for i, _ in pairs( markerStorage['markerData'] ) do

        if isElementWithinMarker( thePlayer, i ) then 

            return true

        end

    end

    return false

end

-- verifica se o player tem uma bike, se tiver ele destroi a bike e retorna true
local verifyAndDestroyRentVehicle = function( thePlayer )

    -- verifica se a pessoa tem uma bike alugada
    if rentStorage[ thePlayer ] then 

        -- verifica se a bike existe
        if isElement( rentStorage[ thePlayer ] ) then

            -- destrói a bike
            destroyElement( rentStorage[ thePlayer ] )

        end

        -- zera a tabela
        rentStorage[ thePlayer ] = nil

        return true

    end

    return false

end

-- mensagem para quando alguém entrar no marker
local markerOutputMessage = function( hit, dim )
    
    local isValidElement = isElement( hit ) and getElementType( hit ) == 'player'
    
    if not isValidElement then 
        
        return 
        
    end 

    local isElementInVehicle = getPedOccupiedVehicle( hit )

    if isElementInVehicle then 

        outputChatBox( 'Você precisa estar fora de um veículo para alugar uma bicicleta.', hit, 255, 255, 255 )
        return 

    end

    outputChatBox( 'Digite /alugarbike para alugar a bike', hit, 0, 255, 0 )
    
end

-- comando de alugar a bike
addCommandHandler( 'alugarbike', 
function( thePlayer ) 

    -- verifica se o jogador está em um dos markeres de aluguel
    local isElementInMarker = isElementWithinRentMarker( thePlayer )

    -- verifica se o jogador está em um veículo
    local isElementInVehicle = getPedOccupiedVehicle( thePlayer )

    -- caso alguma das verificações seja verdadeira ele cancela a execução
    if not isElementInMarker or isElementInVehicle then

        return

    end

    -- destrói a bike caso o jogador já tenha uma
    if verifyAndDestroyRentVehicle( thePlayer ) then 

        return 

    end

    -- cobra o dinheiro do jogador
    local payment = getPay( 50, thePlayer ) or false 

    -- verifica se o jogador tem dinheiro suficiente/se o pagamento foi feito
    if not payment then

        outputChatBox( '#FFFFFFAlgo deu errado com seu pagamento, verifique se você tem a quantia necessária para alugar uma bike', thePlayer, 255, 255, 255, true )
        return

    end

    -- pega posição do jogador
    local playerPosX, playerPosY, playerZ = getElementPosition( thePlayer )
    -- pega dimensão e o interior do marker
    local dim, int = markerStorage['markerData']['dim'] or 0, markerStorage['markerData']['int'] or 0 

    -- cria a bike e armazena na tabela
    rentStorage[ thePlayer ] = createVehicle( 510, playerPosX, playerPosY, playerZ )

    -- seta o interior e a dimensão da bike
    setElementDimension( rentStorage[ thePlayer ], dim )
    setElementInterior( rentStorage[ thePlayer ], int )

    -- teleporta o jogador pra dentro da bike
    warpPedIntoVehicle( thePlayer, rentStorage[ thePlayer ] )

end)

-- esse evento será chamado sempre que o resource ligar
addEventHandler( 'onResourceStart', resourceRoot, 
function( )

    -- fazemos um loop na tabela com as posições dos markers
    for i, v in ipairs( markers ) do 

        -- cria o marker
        local marker = createMarker( v.pos[1], v.pos[2], v.pos[3], 'cylinder', 1, 255, 0, 0, 150 ) -- criamos o marker

        -- setamos o interior e a dimensão do marker
        setElementInterior( marker, v.int )
        setElementDimension( marker, v.dim )
        
        -- setamos o marker como elemento filho do elemento pai que criamos acima
        setElementParent( marker, markerStorage['parentElement'] ) 

        -- armazenamos alguns dados do marker
        markerStorage['markerData'][ marker ] = {

            ['markerElement'] = marker,
            ['int'] = v.int,
            ['dim'] = v.dim
        }

    end 

    addEventHandler('onMarkerHit', markerStorage['parentElement'], markerOutputMessage)

end)

-- esse evento será chamado sempre que alguém sair de um veículo
addEventHandler( 'onVehicleExit', root, 
function( thePlayer )

    verifyAndDestroyRentVehicle( thePlayer )

end)

-- esse evento é chamado sempre que alguém sair do servidor
addEventHandler( 'onPlayerQuit', root, 
function( )

    verifyAndDestroyRentVehicle( source ) 

end)

Não sei o que foi que eu fiz que mandei a versão com erro pra vc ao invés da corrigida, mas agora sim, aqui está a correta.

  • Thanks 1
Link to comment
19 hours ago, Gustavo Freire said:
-- tabela com a posição dos markers
local markers = { 
    { 
        pos = { 505.2783203125, -1340.4423828125, 15.9609375 }, -- XYZ
        int = 0, -- Interior -> padrão 0
        dim = 0  -- Dimensão -> padrão 0
    },
    
}

 -- aqui criamos um element pai, isso servirá para que não precisemos adicionar um evento pra cara marker
local markerStorage = {

    ['parentElement'] = createElement( 'marker.parent' ),
    ['markerData'] = { }
}

-- armazena as bikes alugadas
local rentStorage = { }

-- desconta o dinheiro do jogador
local getPay = function( value, thePlayer )

    local validValue = value and tonumber( value ) and value > 0 

    if not validValue then

        return false

    end 

    local playerMoney = getPlayerMoney( thePlayer ) or 0 

    if playerMoney < value then

        return false

    end

    return takePlayerMoney( thePlayer, tonumber( value ) )

end

local isElementWithinRentMarker = function( thePlayer )
    
    for i, _ in pairs( markerStorage['markerData'] ) do

        if isElementWithinMarker( thePlayer, i ) then 

            return true

        end

    end

    return false

end

-- verifica se o player tem uma bike, se tiver ele destroi a bike e retorna true
local verifyAndDestroyRentVehicle = function( thePlayer )

    -- verifica se a pessoa tem uma bike alugada
    if rentStorage[ thePlayer ] then 

        -- verifica se a bike existe
        if isElement( rentStorage[ thePlayer ] ) then

            -- destrói a bike
            destroyElement( rentStorage[ thePlayer ] )

        end

        -- zera a tabela
        rentStorage[ thePlayer ] = nil

        return true

    end

    return false

end

-- mensagem para quando alguém entrar no marker
local markerOutputMessage = function( hit, dim )
    
    local isValidElement = isElement( hit ) and getElementType( hit ) == 'player'
    
    if not isValidElement then 
        
        return 
        
    end 

    local isElementInVehicle = getPedOccupiedVehicle( hit )

    if isElementInVehicle then 

        outputChatBox( 'Você precisa estar fora de um veículo para alugar uma bicicleta.', hit, 255, 255, 255 )
        return 

    end

    outputChatBox( 'Digite /alugarbike para alugar a bike', hit, 0, 255, 0 )
    
end

-- comando de alugar a bike
addCommandHandler( 'alugarbike', 
function( thePlayer ) 

    -- verifica se o jogador está em um dos markeres de aluguel
    local isElementInMarker = isElementWithinRentMarker( thePlayer )

    -- verifica se o jogador está em um veículo
    local isElementInVehicle = getPedOccupiedVehicle( thePlayer )

    -- caso alguma das verificações seja verdadeira ele cancela a execução
    if not isElementInMarker or isElementInVehicle then

        return

    end

    -- destrói a bike caso o jogador já tenha uma
    if verifyAndDestroyRentVehicle( thePlayer ) then 

        return 

    end

    -- cobra o dinheiro do jogador
    local payment = getPay( 50, thePlayer ) or false 

    -- verifica se o jogador tem dinheiro suficiente/se o pagamento foi feito
    if not payment then

        outputChatBox( '#FFFFFFAlgo deu errado com seu pagamento, verifique se você tem a quantia necessária para alugar uma bike', thePlayer, 255, 255, 255, true )
        return

    end

    -- pega posição do jogador
    local playerPosX, playerPosY, playerZ = getElementPosition( thePlayer )
    -- pega dimensão e o interior do marker
    local dim, int = markerStorage['markerData']['dim'] or 0, markerStorage['markerData']['int'] or 0 

    -- cria a bike e armazena na tabela
    rentStorage[ thePlayer ] = createVehicle( 510, playerPosX, playerPosY, playerZ )

    -- seta o interior e a dimensão da bike
    setElementDimension( rentStorage[ thePlayer ], dim )
    setElementInterior( rentStorage[ thePlayer ], int )

    -- teleporta o jogador pra dentro da bike
    warpPedIntoVehicle( thePlayer, rentStorage[ thePlayer ] )

end)

-- esse evento será chamado sempre que o resource ligar
addEventHandler( 'onResourceStart', resourceRoot, 
function( )

    -- fazemos um loop na tabela com as posições dos markers
    for i, v in ipairs( markers ) do 

        -- cria o marker
        local marker = createMarker( v.pos[1], v.pos[2], v.pos[3], 'cylinder', 1, 255, 0, 0, 150 ) -- criamos o marker

        -- setamos o interior e a dimensão do marker
        setElementInterior( marker, v.int )
        setElementDimension( marker, v.dim )
        
        -- setamos o marker como elemento filho do elemento pai que criamos acima
        setElementParent( marker, markerStorage['parentElement'] ) 

        -- armazenamos alguns dados do marker
        markerStorage['markerData'][ marker ] = {

            ['markerElement'] = marker,
            ['int'] = v.int,
            ['dim'] = v.dim
        }

    end 

    addEventHandler('onMarkerHit', markerStorage['parentElement'], markerOutputMessage)

end)

-- esse evento será chamado sempre que alguém sair de um veículo
addEventHandler( 'onVehicleExit', root, 
function( thePlayer )

    verifyAndDestroyRentVehicle( thePlayer )

end)

-- esse evento é chamado sempre que alguém sair do servidor
addEventHandler( 'onPlayerQuit', root, 
function( )

    verifyAndDestroyRentVehicle( source ) 

end)

Não sei o que foi que eu fiz que mandei a versão com erro pra vc ao invés da corrigida, mas agora sim, aqui está a correta.

Muito obrigado mano, desculpa ai todos os problemas que te proporcionei kkk

Link to comment
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

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