Jump to content

Marker generico


vallejo

Recommended Posts

Ésto supongo que debería funcionarte, no testeado.

local marcadores = { 
  
    { x, y, z, tipo, tamano, r, g, b, a }, 
    { x, y, z, tipo, tamano, r, g, b, a }, 
    { x, y, z, tipo, tamano, r, g, b, a }, 
    { x, y, z, tipo, tamano, r, g, b, a }, 
  
} 
  
addEventHandler( "onResourceStart", resourceRoot, 
    function(  ) 
        for i=1, #marcadores do 
            local data = marcadores[ i ] 
            local x, y, z, tipo, tamano, r, g, b, a = unpack( marcadores ) 
            marker[ i ] = createMarker( x, y, z, tipo, tamano, r, g, b, a ) 
            addEventHandler( "onMarkerHit", marker[ i ], chocarMarker ) 
        end 
    end 
) 
  
function chocarMarker( elemento ) 
    if getElementType( elemento ) == "player" then 
        outputChatBox( "Has entrado en el marcador, socio", elemento ) 
    end 
end 

Link to comment

Me podrías indicar como, yo tengo esto:

local marker = createMarker(1536.7890625, -1670.009765625, 13.3828125, "cylinder", 1.5, 0 ,255, 0, 155) 
local marker = createMarker(1536.970703125, -1676.1572265625, 13.3828125, "cylinder", 1.5, 0 ,255, 0, 155) 
  
function Marcador(thePlayer, marker) 
    triggerClientEvent(thePlayer, "mirarPanel", thePlayer) -- Utilizamos un evento Client 
end 
addEventHandler("onMarkerHit", marker, Marcador) 

Link to comment
Ésto supongo que debería funcionarte, no testeado.
local marcadores = { 
  
    { x, y, z, tipo, tamano, r, g, b, a }, 
    { x, y, z, tipo, tamano, r, g, b, a }, 
    { x, y, z, tipo, tamano, r, g, b, a }, 
    { x, y, z, tipo, tamano, r, g, b, a }, 
  
} 
  
addEventHandler( "onResourceStart", resourceRoot, 
    function(  ) 
        for i=1, #marcadores do 
            local data = marcadores[ i ] 
            local x, y, z, tipo, tamano, r, g, b, a = unpack( marcadores ) 
            marker[ i ] = createMarker( x, y, z, tipo, tamano, r, g, b, a ) 
            addEventHandler( "onMarkerHit", marker[ i ], chocarMarker ) 
        end 
    end 
) 
  
function chocarMarker( elemento ) 
    if getElementType( elemento ) == "player" then 
        outputChatBox( "Has entrado en el marcador, socio", elemento ) 
    end 
end 

Ahi tienes.

Link to comment

Unpack se utiliza para sacar todos los elementos o valores tiene una tabla, es decir sus valores. En este caso pues tenemos:

x, y, z, tipo, tamano, r, g, b, a 

Entonces, en vez de realizar el loop e ir uno por uno así:

local data = marcadores[i] 
local x, y, z, tipo, tamano, r, g, b, a = data.x, data.y, data.z, data.tipo, data.tamano, data.r... 

Pues es mejor usar unpack y ya está.

Returns the [b]elements from the given table[/b]. This function is equivalent to 
  
return list[i], list[i+1], ···, list[j] 

Link to comment
  
marcadores ={ 
            { 1536, -1670, 13, "cylinder", 1.5, 0 ,255, 0, 155 }, 
            { 1536, -1676, 13, "cylinder", 1.5, 0 ,255, 0, 155 }, 
} 
  
for i=1, #marcadores do 
        local x, y, z, tipo, tamano, r, g, b, a = unpack( marcadores ) 
        createMarker( x, y, z, tipo, tamano, r, g, b, a ) 
end 

Utilizo esto y me sale error en el argumento 1, ademas el código como lo paso no funciona tiene error en la linea.

marker[ i ] = createMarker( x, y, z, tipo, tamano, r, g, b, a ) 

Link to comment
  • Recently Browsing   0 members

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