UserToDelete Posted May 6, 2014 Share Posted May 6, 2014 No me llamen noob, pero en ningun sitio de MTA explican como usar esto Alguien me puede ayudar como se llama a las tablas y el uso correcto de pairs sin enviarme a la pagina de "LUA.org" que alla no entiendo nada ._. spawn = {} spawn[1] = "16,354,8000" spawn[2] = "5,78,65" spawn[3] = "0,0,15" function sps () for k,v in pairs (spawn) do spawnPlayer(source,#spawn[math.random(1,3)]) end end addEventHandler("onPlayerWasted",root,sps) addEventHandler("onPlayerJoin",root,sps) Lo sé Link to comment
DBY Posted May 6, 2014 Share Posted May 6, 2014 · Hidden Hidden Aquí tienes: spawn = { { x, y, z }, { x, y, z }, { x, y, z } } function sps () local spw = math.random (1, #spawn ) spawnPlayer(source , spawn[spw]) end addEventHandler("onPlayerWasted",root,sps) addEventHandler("onPlayerJoin",root,sps) Link to comment
UserToDelete Posted May 6, 2014 Author Share Posted May 6, 2014 Aquí tienes: spawn = { { x, y, z }, { x, y, z }, { x, y, z } } function sps () local spw = math.random (1, #spawn ) spawnPlayer(source , spawn[spw]) end addEventHandler("onPlayerWasted",root,sps) addEventHandler("onPlayerJoin",root,sps) aver si entendi.. spawn = { --1 nivel { x, y, z }, -- Se sube 2 niveles { x, y, z }, { x, y, z } } -- cierres de la tabla function sps () local spw = math.random (1, #spawn ) -- El "1" significa el nivel, y "#spawn" la tabla spawnPlayer(source , spawn[spw]) -- Como sale random? no entendi del todo, en math.random solo tiene "1" end addEventHandler("onPlayerWasted",root,sps) addEventHandler("onPlayerJoin",root,sps) Realmente no me interesa tener el script, sino entender lo que scripteo Link to comment
alex17 Posted May 6, 2014 Share Posted May 6, 2014 · Hidden Hidden te lo dejo un poco mejor explicado D: spawn = { {16,354,8000}, -- aca pones las cordenadas de los spawn si quieres mas solo agregas mas -- { 5,78,65 }, { 0,0,15 } } function sps () local spw = math.random (1, #spawn ) -- aca se obtiene al asar las cordenadas de la tabla -- spawnPlayer(source , spawn[spw]) -- aca se ejecuta la funcion spawnPlaye con las cordenadas tomadas al asar de la tabla -- end addEventHandler("onPlayerWasted",root,sps) addEventHandler("onPlayerJoin",root,sps) Link to comment
DBY Posted May 6, 2014 Share Posted May 6, 2014 · Hidden Hidden Sorry por no explicártelo PD: jJjajajjaja WTF Images . Link to comment
alex17 Posted May 6, 2014 Share Posted May 6, 2014 · Hidden Hidden venadHD es normal que no sepas algunas cosas no por eso te vas a decir noob tu mismo todos alguna ves pasamos por lo mismo para eso esta el foro para ayudar D: Link to comment
UserToDelete Posted May 6, 2014 Author Share Posted May 6, 2014 te lo dejo un poco mejor explicado D: spawn = { {16,354,8000}, -- aca pones las cordenadas de los spawn si quieres mas solo agregas mas -- { 5,78,65 }, { 0,0,15 } } function sps () local spw = math.random (1, #spawn ) -- aca se obtiene al asar las cordenadas de la tabla -- spawnPlayer(source , spawn[spw]) -- aca se ejecuta la funcion spawnPlaye con las cordenadas tomadas al asar de la tabla -- end addEventHandler("onPlayerWasted",root,sps) addEventHandler("onPlayerJoin",root,sps) Ya veo como funciona Pero por que spawn = { { x,y,z } } (Doble nivel) y el math.random(1,#spawn) le dice que escoga una sola opcion de la #<--- eso sirve para llamar a una tabla, no? #ejemploDeTabla Link to comment
DBY Posted May 6, 2014 Share Posted May 6, 2014 · Hidden Hidden te lo dejo un poco mejor explicado D: spawn = { {16,354,8000}, -- aca pones las cordenadas de los spawn si quieres mas solo agregas mas -- { 5,78,65 }, { 0,0,15 } } function sps () local spw = math.random (1, #spawn ) -- aca se obtiene al asar las cordenadas de la tabla -- spawnPlayer(source , spawn[spw]) -- aca se ejecuta la funcion spawnPlaye con las cordenadas tomadas al asar de la tabla -- end addEventHandler("onPlayerWasted",root,sps) addEventHandler("onPlayerJoin",root,sps) Ya veo como funciona Pero por que spawn = { { x,y,z } } (Doble nivel) y el math.random(1,#spawn) le dice que escoga una sola opcion de la #<--- eso sirve para llamar a una tabla, no? #ejemploDeTabla spawn = {} es la tabla, y dentro de ésta está spawn = { {EJEMPLO}, {EJEMPLO} } entonces, el el math.random(1, #spawn) hace que desde el primero, todos los demás al ejecutarse lo hagan aleatoriamente. Después de eso el spawnPlayer(source, spawn[spw] hace que coja las coordenadas de la tabla spawn y entre corchetes [spw] coge la variable local del math.random y desde el primero los va ejecutando aleatoriamente. Link to comment
Sasu Posted May 6, 2014 Share Posted May 6, 2014 · Hidden Hidden Poner tablas dentro de otra es lo mismo que lo que hiciste vos: Esto: spawn = { {12, 14}, {16, 18}, {20, 22} } Es igual a poner esto spawn = {} spawn[1] = { 12, 14 } spawn[2] = { 14, 18 } spawn[3] = { 20, 22 } Luego el math.random(arg1 [, arg2]): lo que hace esta funcion es devolver un numero al azar que este entre el 1 y arg1, o en caso de especificar los 2 argumentos salga un numero al azar entre el arg1 y arg2. *Recuerda que cuando esta especificado el argumento entre corchetes significa que es opcional. Otra cosa es que cuando le pones un # delante de la variable de la tabla esta te devuelve el numero de elementos que hay dentro de ella. En el primer ejemplo que puse #spawn devolveria 3 porque hay 3 elementos(tabla, tabla, tabla). Una correccion de los ejemplos de arriba porque no funcionaria seria que para obtener las coordenadas debes descomprimir (o como se diga en español) con la funcion unpack. Lo correcto seria asi: spawn = { {16,354,8000}, -- aca pones las cordenadas de los spawn si quieres mas solo agregas mas -- { 5,78,65 }, { 0,0,15 } } function sps () local spw = math.random (1, #spawn ) spawnPlayer(source , unpack(spawn[spw])) end addEventHandler("onPlayerWasted",root,sps) addEventHandler("onPlayerJoin",root,sps) Espero entiendas algo porque soy horrible explicando En fin, la intencion está. Link to comment
UserToDelete Posted May 7, 2014 Author Share Posted May 7, 2014 spawn = { {16,354,8000}, -- aca pones las cordenadas de los spawn si quieres mas solo agregas mas -- { 5,78,65 }, { 0,0,15 } } function sps () local spw = math.random (1, #spawn ) -- El script da network Trouble, con "unpack" aun no probé spawnPlayer(source , unpack(spawn[spw])) --unpack sirve para que coja solo una opcion? o para que? end addEventHandler("onPlayerWasted",root,sps) addEventHandler("onPlayerJoin",root,sps) Link to comment
Recommended Posts