Jump to content

Question


Recommended Posts

Posted

Buenas, me surgió una pregunta, quizá sea algo tonto para algunos, pero realmente tengo esa duda.
Bueno, lo que me pregunto es, ¿Cómo puedo hacer para utilizar una variable local que esta dentro de una función en otra función?

Para que me entiendan mejor, un ejemplo:
 

-- Como hago esto:

function Funcion ()
  local variable = valor;
  
  
end


function OtraFuncion ()
  
  -- interactuar con "Variable"
  
end

Gracias de ante mano.

Posted

No se puede según tengo entendido, pero puedes simplemente retornar el valor de la variable o crear la variable global.

Posted
8 hours ago, Rose said:

No se puede según tengo entendido, pero puedes simplemente retornar el valor de la variable o crear la variable global.

No me sirve crear la variable global, porque si estoy en un archivo server voy a tener bugs.

Posted

Si no explicas para qué es, poco podemos hacer. Yo de mi parte te recomiendo quizás usar tablas para eso. Es decir:

-- Como hago esto:
variables = { }
function Funcion (p)
  variables[p] = variable;
end


function OtraFuncion (p)
	setElementModel( p, variables[p] ) -- Por ejemplo
end

 

Posted
local variable = nil

function Funcion ()
   variable = valor
  
  
end


function OtraFuncion ()
  print( variable )
end

Si estás en un archivo server pero si el problema no se encuentra con interactuar en el mismo archivo entonces usa esto.

 

Posted
2 hours ago, Uknown. said:

local variable = nil

function Funcion ()
   variable = valor
  
  
end


function OtraFuncion ()
  print( variable )
end

Si estás en un archivo server pero si el problema no se encuentra con interactuar en el mismo archivo entonces usa esto.

 

Respondiendo de una vez a lo que posteó @aka Blue, no tengo ningún problema simplemente me surgió esa duda. Puesto que, cuando estoy trabajando en server y no pongo una variable local en una función se bugea cuando lo que estoy haciendo lo usan mas de dos personas, ya que se modifica para todos los que ejecuten la función. Lo que dices tu, tampoco me serviría porque la variable ya estaría global en la función.

Posted

Nunca estaría global según tu dices. Para llevar a cabo lo que estas buscando tienes que encontrar la manera de enlazar dichas funciones a una función núcleo para llevar a cabo estas acciones. Una idea es almacenar al jugador como llave de una tabla y asignarle el valor deseado.

Posted
On 19/7/2017 at 01:39, Calculador said:

Respondiendo de una vez a lo que posteó @aka Blue, no tengo ningún problema simplemente me surgió esa duda. Puesto que, cuando estoy trabajando en server y no pongo una variable local en una función se bugea cuando lo que estoy haciendo lo usan mas de dos personas, ya que se modifica para todos los que ejecuten la función. Lo que dices tu, tampoco me serviría porque la variable ya estaría global en la función.

 

En todo caso, no es un "bug", es un error tuyo de codificación.

Consideras una sola variable de usuario para todo el servidor, entonces más vale que no realizará lo que deseas.

En todo caso tu solución es tener un arreglo de n variables (donde n = cantidad de jugadores), y ahí seteas el valor que deseas.

Posted (edited)
On 18/7/2017 at 23:39, Calculador said:

Respondiendo de una vez a lo que posteó @aka Blue, no tengo ningún problema simplemente me surgió esa duda. Puesto que, cuando estoy trabajando en server y no pongo una variable local en una función se bugea cuando lo que estoy haciendo lo usan mas de dos personas, ya que se modifica para todos los que ejecuten la función. Lo que dices tu, tampoco me serviría porque la variable ya estaría global en la función.

pues tendrias que usar tablas y asi cada jugador tendría su variable sin que se modifiquen para todos

algo así

variable = {}

function Funcion ()
  variable[source] = valor
end

function OtraFuncion ()
  -- interactuar con "Variable"
   print (variable[source]) 
end

-- source vendria ser el jugador que se estará ejecutando en tu función 

 

Edited by alex17"
Posted (edited)

Los tres dijeron lo mismo con diferentes palabras, crear una tabla donde se almacene la variable para cada jugador. Y sí, efectivamente funciona y ya lo sabía. Aun así mi pregunta únicamente era esa; si se podía hacer  una variable local e interactuar con la misma en otra función, pero creo que no es posible. 

¿Porque quería saber si se podía lograr esto?, puesto que cuando usas una variable global en un archivo server, se toma para todos aquellos que hagan uso de ella y no solo para un jugador, mientras que si es local, lo toma para el jugador en si. Lo de las tablas es una solución evidentemente, pero pensé que había otra manera para hacer lo que digo. 

De todas formas, gracias a todos por responder.

Edited by Calculador

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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