Jump to content

Duda con element Data


-Rex-

Recommended Posts

Posted

Bueno como dicen algunos en el foro, Que los elementData ocupan muchos recursos.

Pensaba que en vez de usar setElementData, se pueda Almacenar todo en una tabla.

Y quisiera saber que ocupa mas recursos, Usar setElementData para guardar Datos o Usar Tablas?

PD: Estoy tratando de optimizar mi DayZ :)

Posted

los elementData consumen cpu porque tiene que sincronizarse ambos lados (cliente y servidor), pero al usar setElementData hay un argumento que funciona para manipular esa sincronización, si lo pasas a false solamente el valor va ser asignado en el lado donde está y no podrá leerse el dato desde el otro lado. Al usar tabla es lo mismo que setElementData sin haberse sincronizado.

setElementData(element, "dataname", toJSON({"valor1", "valor2", "valor3"}), false) 
-- ó 
tabla = {"valor1", "valor2", "valor3"} 

Posted
los elementData consumen cpu porque tiene que sincronizarse ambos lados (cliente y servidor), pero al usar setElementData hay un argumento que funciona para manipular esa sincronización, si lo pasas a false solamente el valor va ser asignado en el lado donde está y no podrá leerse el dato desde el otro lado. Al usar tabla es lo mismo que setElementData sin haberse sincronizado.
setElementData(element, "dataname", toJSON({"valor1", "valor2", "valor3"}), false) 
-- ó 
tabla = {"valor1", "valor2", "valor3"} 

Entonces eso significa, que saldría lo mismo usando tablas?

Posted
los elementData consumen cpu porque tiene que sincronizarse ambos lados (cliente y servidor), pero al usar setElementData hay un argumento que funciona para manipular esa sincronización, si lo pasas a false solamente el valor va ser asignado en el lado donde está y no podrá leerse el dato desde el otro lado. Al usar tabla es lo mismo que setElementData sin haberse sincronizado.
setElementData(element, "dataname", toJSON({"valor1", "valor2", "valor3"}), false) 
-- ó 
tabla = {"valor1", "valor2", "valor3"} 

Entonces eso significa, que saldría lo mismo usando tablas?

Si, salvo que al usar el método de setElementData que te di tendrías que llamar dos funciones al momento de leer la tabla, getElementData y fromJSON. es mas practico y eficiente para mi usar tablas comunes

Posted

Usar setElementData, con una tabla si tiene bastantes datos no creo sea conveniente.

Esto se debe a que cuando se setea un dato ya sea en el cliente o el servidor, se sincronizan.

Y por ende consume un ancho de banda, y si no es nada ligero, no será conveniente.

Posted
Usar setElementData, con una tabla si tiene bastantes datos no creo sea conveniente.

Esto se debe a que cuando se setea un dato ya sea en el cliente o el servidor, se sincronizan.

Y por ende consume un ancho de banda, y si no es nada ligero, no será conveniente.

Para eso esta la opción de activar o desactivar dicha sincronización.

Posted

Yo uso los elementData para cosas pequeñas (valores numéricos más que nada), aunque si lo quieres optimizado, usa tablas, es bastante recomendable. Yo las uso de esta forma:

local p = { } 
  
-- Cuando entra, por ejemplo 
  
p[ player ].sed = tonumber( sed ) 
p[ player ].hambre = tonumber( hambre ) 
  
-- Get valores 
  
function getSed( player ) 
    if player then 
        local sed = p[ player ].sed 
        if sed then 
            return sed 
        end 
        return false 
    end 
    return false 
end 
  
function getHambre( player ) 
    if player then 
        local hambre = p[ player ].hambre 
        if hambre then 
            return hambre 
        end 
        return false 
    end 
    return false 
end 
  

Posted

Para que tantos return? Basta con uno.

local p = { } 
  
-- Cuando entra, por ejemplo 
  
p[ player ].sed = tonumber( sed ) 
p[ player ].hambre = tonumber( hambre ) 
  
-- Get valores 
  
function getSed( player ) 
    if player then 
        local sed = p[ player ].sed 
        if sed then 
            return sed 
        end 
    end 
end 
  
function getHambre( player ) 
    if player then 
        local hambre = p[ player ].hambre 
        if hambre then 
            return hambre 
        end 
    end 
end 
  

Posted
Es para enviar false en caso de que no se haya usado correctamente la función, pero claro, eso es gusto de cada uno.
  
function getSed( player ) 
    return player and p[ player ].sed or false 
end 

Mas simple.

  • Recently Browsing   0 members

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