Jump to content

Crear vehiculos por medio de una tabla?


lLinux

Recommended Posts

¿Tablas? ¿Quién las quiere? ._.

  
function cuandoexplote ( elsecsiplayer ) 
local x, y, z = getElementPosition ( elsecsiplayer) 
    elsexyvehiculo = createVehicle ( 522, x, y, z ) 
end 
function lasexyfuncion ( elsecsiplayer ) 
x,y,z = getElementPosition( elsecsiplayer ) 
    elsexyvehiculo = createVehicle ( 522, x, y, z ) 
end 
    addEventHandler ( "onVehicleExplode", elsexyvehiculo, cuandoexplote) 
        addCommandHandler("aparecersexyvehiculo", lasexyfuncion) 
  

Suerte! :D

Link to comment
¿Tablas? ¿Quién las quiere? ._.
  
function cuandoexplote ( elsecsiplayer ) 
local x, y, z = getElementPosition ( elsecsiplayer) 
    elsexyvehiculo = createVehicle ( 522, x, y, z ) 
end 
function lasexyfuncion ( elsecsiplayer ) 
x,y,z = getElementPosition( elsecsiplayer ) 
    elsexyvehiculo = createVehicle ( 522, x, y, z ) 
end 
    addEventHandler ( "onVehicleExplode", elsexyvehiculo, cuandoexplote) 
        addCommandHandler("aparecersexyvehiculo", lasexyfuncion) 
  

Suerte! :D

Mira lo que are es poner vehiculos en un parqueadero entonces quiero evitarme poner varios createVehicle, y usar una tabla para evitar hacer eso y que se cree automaticamente todos. (claro si se puede)

Link to comment

Si, claro que se puede :D

  
vehiculos = { 
{522}, 
{521}, 
{623}, 
{513}, 
{134} 
} 
  
local vehiculostablita = unpack(vehiculos[i]) 
createVehicle(vehiculostablita, x,y,z) 
  

Nota: Si vas a usar onVehicleExplode no te recomiendo usar tablas porque necesitarías definir cada vehiculo para que cuando ese vehículo explote se recree nuevamente.

Solo que uses

  
[1] = bla bla bla 
  

Tu decides :P

Link to comment
¿Tablas? ¿Quién las quiere? ._.
  
function cuandoexplote ( elsecsiplayer ) 
local x, y, z = getElementPosition ( elsecsiplayer) 
    elsexyvehiculo = createVehicle ( 522, x, y, z ) 
end 
function lasexyfuncion ( elsecsiplayer ) 
x,y,z = getElementPosition( elsecsiplayer ) 
    elsexyvehiculo = createVehicle ( 522, x, y, z ) 
end 
    addEventHandler ( "onVehicleExplode", elsexyvehiculo, cuandoexplote) 
        addCommandHandler("aparecersexyvehiculo", lasexyfuncion) 
  

Suerte! :D

En realidad las tablas las quieren mucha gente es una de las herramientas mejores para scriptear guardar información temporalmente sin usar mucho CPU y RAM de tu host. Ademas de ser bastante utiles una vez que pillas el truco de como controlarlas bien te sirven para muchos scripts muy avanzados

Link to comment
¿Tablas? ¿Quién las quiere? ._.
  
function cuandoexplote ( elsecsiplayer ) 
local x, y, z = getElementPosition ( elsecsiplayer) 
    elsexyvehiculo = createVehicle ( 522, x, y, z ) 
end 
function lasexyfuncion ( elsecsiplayer ) 
x,y,z = getElementPosition( elsecsiplayer ) 
    elsexyvehiculo = createVehicle ( 522, x, y, z ) 
end 
    addEventHandler ( "onVehicleExplode", elsexyvehiculo, cuandoexplote) 
        addCommandHandler("aparecersexyvehiculo", lasexyfuncion) 
  

Suerte! :D

En realidad las tablas las quieren mucha gente es una de las herramientas mejores para scriptear guardar información temporalmente sin usar mucho CPU y RAM de tu host. Ademas de ser bastante utiles una vez que pillas el truco de como controlarlas bien te sirven para muchos scripts muy avanzados

Las tablas siguen siendo una variable, pero que puede guardar muchísimos mas valores que una sola variable normal, por lo que al usarlas optimizas tu código, el único pero de usarlas es que se hace mas difícil entender el código para las personas que no las manejan, o si las usas excesivamente te enredas mucho con las variables, pero por lo que veo tu si las manejas muy bien.

Link to comment
Bc, ese mensaje fue para mi? ._. Me siento alagado ._.

Ahora que veo el script me doy cuenta que tienes un par de errores xD, eso hay que hacerlo con un ciclo for para el tipo de vehículo y las posiciones (También hay que crear tablas para estas).

Link to comment
Bc, ese mensaje fue para mi? ._. Me siento alagado ._.

Ahora que veo el script me doy cuenta que tienes un par de errores xD, eso hay que hacerlo con un ciclo for para el tipo de vehículo y las posiciones (También hay que crear tablas para estas).

Me puedes dar un ejemplo?

Link to comment
  • MTA Team
  
vehiculos = { 
[1] = {modelo,x,y,z},--Rellenar los valores 
[2] = {modelo,x,y,z}--Rellenar los valores 
} 
for i, v in ipairs(vehiculos) do 
local modelo,x,y,z = unpack(v) 
createVehicle(modelo, x,y,z) 
end 

Link to comment

Vaya lió que arman con un concepto tan sencillo.

En su momento este tutorial me fue de mucha ayuda: http://lua-users.org/wiki/TablesTutorial

  
vehiculos = { 
[1] = {modelo,x,y,z},--Rellenar los valores 
[2] = {modelo,x,y,z}--Rellenar los valores 
} 
for i, v in ipairs(vehiculos) do 
local modelo,x,y,z = unpack(v[i]) 
createVehicle(modelo, x,y,z) 
end 

*@.:CiBeR:. tienes un error en ese 'unpack', el debug diría: bad argument #1 to 'unpack' (table expected, got number)

Edited by Guest
Link to comment
  
vehiculos = { 
[1] = {modelo,x,y,z},--Rellenar los valores 
[2] = {modelo,x,y,z}--Rellenar los valores 
} 
  
for i, v in ipairs(vehiculos) do 
    local modelo,x,y,z = unpack(v) 
    local vehicle = createVehicle(modelo, x,y,z) 
    setVehicleRespawnPosition(vehicle, x, y, z) 
end 
  
addEventHandler("onVehicleExplode", resourceRoot,  
function() 
    respawnVehicle(source) 
end) 

Link to comment
Vaya lió que arman con un concepto tan sencillo.

En su momento este tutorial me fue de mucha ayuda: http://lua-users.org/wiki/TablesTutorial

  
vehiculos = { 
[1] = {modelo,x,y,z},--Rellenar los valores 
[2] = {modelo,x,y,z}--Rellenar los valores 
} 
for i, v in ipairs(vehiculos) do 
local modelo,x,y,z = unpack(v[i]) 
createVehicle(modelo, x,y,z) 
end 

*@.:CiBeR:. tienes un error en ese 'unpack', el debug diría: bad argument #1 to 'unpack' (table expected, got number)

Me puedes explicar para que sirbe "for i, v in ipairs(vehiculos) do"

Eso no lo he podido entender

Link to comment
Me puedes explicar para que sirbe "for i, v in ipairs(vehiculos) do"

Eso no lo he podido entender

Es un bucle (loop) bastante sencillo, ejecuta una instrucción para todos los valores dentro de la tabla y asigna dos variables:

I = Indice

V= Value

*Como variables tienen la capacidad de adquirir cualquier nombre que le asignes (cumpliendo con las reglas de las variables, es decir que solo pueden contener caracteres alfanuméricos y guion_bajo).

tabla = { 5, 8, 6, 19 } 
  
for Indice, Valor in ipairs( tabla ) do 
  print( Indice..': '..Valor ) 
end 
  
OUTPUT: 
  
1: 5 
2: 8 
3: 6 
4: 19 

En el caso de la función 'pairs', esta se utiliza para variables de indice genérico (strings, elementos, otras tablas), por ejemplo:

tabla = { Hola = 'Hi', ['Goodbye'] = 'Adios' } 
  
for Indice, Valor in pairs( tabla ) do 
  print( Indice..': '..Valor ) 
end 
  
OUTPUT: 
  
Hola: Hi 
Goodbye: Adios 

Quizá no me explique de la mejor manera, así que siempre puedes agregarme a Skype para hacerme preguntas mas especificas.

Link to comment
  • Recently Browsing   0 members

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