aka Blue Posted April 15, 2016 Share Posted April 15, 2016 Bueno, quiero hacer que una tabla normal almacene varios datos de un jugador y que, al triggearla, saque dichos valores y los pueda usar (los valores en éste caso son numéricos, pero vamos, podrían ser un string también). ¿Debo usar un simple for o debo realizar algo con lo que viene siendo toJSON y fromJSON? Aquí dejo un ejemplo de lo que quiero hacer: local tablaValores = { } addCommandHandler ( "comando", function ( p, cmd, valor, valor1, valor2 ) local valor = tonumber ( valor ) local valor1 = tonumber ( valor1 ) local valor2 = tonumber ( valor2 ) if valor and valor1 and valor2 then tablaValores [ p ] = { valor = valor, valor1 = valor1, valor2 = valor2 } triggerServerEvent ( "onEnviarValores", p, tablaValores [p], p ) outputChatBox ( "¡Valores cambiados!" ) end end ) addEvent ( "onEnviarValores", true ) addEventHandler ( "onEnviarValores", getRootElement ( ), function ( tabla, jugador ) outputChatBox ( "Valores del jugador "..jugador ) -- Y de aquí sacar los valores y almacenarlos en una variable end ) Link to comment
Simple0x47 Posted April 15, 2016 Share Posted April 15, 2016 Fijate en la manera de hacerlo Mabako en Paradise, ya que estás usando esa gm. Link to comment
Tomas Posted April 15, 2016 Share Posted April 15, 2016 No entiendo qué intentas hacer, de todos modos, no es necesario que le especifiques un índice a la tabla ya que está en client--side, osea debería haber una por "sesión". Link to comment
aka Blue Posted April 15, 2016 Author Share Posted April 15, 2016 Quiero almacenar varios datos de un jugador en una tabla y después sacarlos en otro script mediante un trigger o función exportable. Link to comment
El_Zorro Posted April 15, 2016 Share Posted April 15, 2016 Por que mejor no creas una enorme tabla con setElementData o getAccountData?, que es mejor así y evitas confusiones. Link to comment
aka Blue Posted April 15, 2016 Author Share Posted April 15, 2016 Es que son valores pequeños. Básicamente 1 o 0 y creo que estaría mejor hacerlo con tablas para no petar todo con elementData . Link to comment
El_Zorro Posted April 15, 2016 Share Posted April 15, 2016 Y cuantas columnas llevará esa tabla? Link to comment
El_Zorro Posted April 15, 2016 Share Posted April 15, 2016 Bien lo puedes hacer con setElementData, no es tan grande. Link to comment
aka Blue Posted April 15, 2016 Author Share Posted April 15, 2016 Ya, pero mi pregunta fue la extracción de una tabla si la misma se guarda así: tablaValores [ p ] = { valor = valor, valor1 = valor1, valor2 = valor2 } ¿Tengo que usar toJSON o fromJSON para almacenarla y después sacarla mediante un loop o cómo? Link to comment
Tomas Posted April 15, 2016 Share Posted April 15, 2016 Ya, pero mi pregunta fue la extracción de una tabla si la misma se guarda así: tablaValores [ p ] = { valor = valor, valor1 = valor1, valor2 = valor2 } ¿Tengo que usar toJSON o fromJSON para almacenarla y después sacarla mediante un loop o cómo? ¿Para qué necesitas usar la tabla? print(tablaValores[p][1]['valor1']) --> valor1 Link to comment
aka Blue Posted April 15, 2016 Author Share Posted April 15, 2016 Básicamente quiero hacer el almacenamiento de varios tipos de daños al jugador. Esto: local daños = { } -- 3 = Torso -- 4 = Culo -- 5 = Brazo izquierdo -- 6 = Brazo derecho -- 7 = Pierna izquierda -- 8 = Pierna derecha -- 9 = Cabeza local armasNormales = { -- Puño [0] = true, -- Puño americano [1] = true, -- Palo de golf [2] = true, -- Porra [3] = true, } addEventHandler ( "onPlayerDamage", getRootElement ( ), function ( attacker, weapon, bodypart, loss ) local vida = getElementHealth ( source ) if armasNormales [ getPedWeapon ( attacker ) ] == weapon then if bodypart == 3 then setElementHealth ( source, vida - 3 ) daños [ source ] = { torso = 1, culo = 0, bI = 0, bD = 0, pI = 0, pD = 0, cabeza = 0 } outputChatBox ( "(( Has sido golpeado en el torso. ))", source, 255, 255, 0 ) end end end ) Link to comment
aka Blue Posted April 16, 2016 Author Share Posted April 16, 2016 Ya lo arregle, pueden cerrar. Básicamente quería hacer esto (zz seria cuando le añada los valores y zi seria al extraerlos): addCommandHandler ( "zz", function ( p ) tablaValores [ p ] = { valor1 = 1, valor2 = 2 } end ) addCommandHandler ( "zi", function ( p ) local tabla = tablaValores [ p ] if tabla then local z = tabla.valor1 local z1 = tabla.valor2 outputChatBox ( "Valor1 = "..z ) outputChatBox ( "Valor2 = "..z1 ) end end ) Link to comment
Recommended Posts