Discipline Posted March 10, 2017 Share Posted March 10, 2017 Hola, quisiera saber cómo puedo hacer para insertar un dato en una tabla, pero que no sea la tabla del jugador local, sino, por ejemplo, la del jugador llamado "PrivateBeach". He intentado poniendo como índice el elemento player, pero no pasa nada. Link to comment
Arsilex Posted March 10, 2017 Share Posted March 10, 2017 local players = {} function insertarEnTabla() local player = getPlayerFromName("PrivateBeach") players[player] = "Esto es un dato" end insertarEnTabla() Link to comment
aka Blue Posted March 10, 2017 Share Posted March 10, 2017 @Arsilex Eso es reemplazar un dato. A lo mejor quiere añadir con table.insert (? Para ello creo que era: local tabla = { } function insertarEnTabla() local player = getPlayerFromName("PrivateBeach") table.insert( tabla, player, "DATO A AÑADIR" ) end Link to comment
Discipline Posted March 10, 2017 Author Share Posted March 10, 2017 3 hours ago, aka Blue said: @Arsilex Eso es reemplazar un dato. A lo mejor quiere añadir con table.insert (? Para ello creo que era: local tabla = { } function insertarEnTabla() local player = getPlayerFromName("PrivateBeach") table.insert( tabla, player, "DATO A AÑADIR" ) end Me da error en el argumento #2 de table.insert, dice que espera un número pero obtiene un string. Y si, como dice Blue lo que quiero es añadir con table.insert. Link to comment
aka Blue Posted March 10, 2017 Share Posted March 10, 2017 Quizas no funcione pero has intentado con table.insert( tabla[player], value )? El elemento player lo obtienes con getPlayerFromName si lo quieres obtener por nombre Link to comment
Arsilex Posted March 10, 2017 Share Posted March 10, 2017 (edited) 5 hours ago, Discipline said: Me da error en el argumento #2 de table.insert, dice que espera un número pero obtiene un string. Y si, como dice Blue lo que quiero es añadir con table.insert. No puedes hacer eso. Es decir el table.insert tiene 2 argumentos 1º Tabla 2º Valor En este caso como en la tabla inicial tienes como index al jugador no puedes meter directamente el valor con table.insert si no defines players[player] = {} Ya que el table.insert solo funciona con arrays. 8 hours ago, aka Blue said: @Arsilex Eso es reemplazar un dato. A lo mejor quiere añadir con table.insert (? Para ello creo que era: local tabla = { } function insertarEnTabla() local player = getPlayerFromName("PrivateBeach") table.insert( tabla, player, "DATO A AÑADIR" ) end No es remplazar es asignar un dato ya que estamos asignando el dado al jugador si quiere asignar varios datos simplemente usa una array dentro players[player] y dentro de esa array como dije anteriormente usa table.insert. Si realmente estas empeñado en seguir usando table.insert este es el código correcto local players = {} addEventHandler("onPlayerJoin", root, function() if source and isElement(source) then players[source] = {} end end) function insertarEnTabla() local player = getPlayerFromName("PrivateBeach") table.insert(players[player], "Este es un valor.") end insertarEnTabla() Edited March 10, 2017 by Arsilex Link to comment
aka Blue Posted March 10, 2017 Share Posted March 10, 2017 @Arsilex Asignando y reemplazando a la hora de querer editarlo. Él lo que quiere es añadir. Es como hacer: tabla[1] = "Hola", tabla[2] = "Que", tabla[3] = "Tal" Bueno, te lo estoy explicando como si fueras tonto o algo (xd). De todos modos, creo que en vez de usar arrays y tonterías, con table.insert le es suficiente. Link to comment
Arsilex Posted March 10, 2017 Share Posted March 10, 2017 2 minutes ago, aka Blue said: @Arsilex Asignando y reemplazando a la hora de querer editarlo. Él lo que quiere es añadir. Es como hacer: tabla[1] = "Hola", tabla[2] = "Que", tabla[3] = "Tal" Bueno, te lo estoy explicando como si fueras tonto o algo (xd). De todos modos, creo que en vez de usar arrays y tonterías, con table.insert le es suficiente. Si no me equivoco el código que he publicado hace exactamente ese efecto, el ultimo código me refiero. Link to comment
aka Blue Posted March 10, 2017 Share Posted March 10, 2017 @Arsilex Si, si. No es por eso, si no, sobre lo que comentaste de los arrays. Link to comment
Discipline Posted March 16, 2017 Author Share Posted March 16, 2017 Gracias a los dos, perdón por el retraso pero no tenía internet. Link to comment
Recommended Posts