Jump to content

Crear vehiculos por medio de una tabla?


lLinux

Recommended Posts

Posted

Hola a todos, bueno lo que susede es que quiero crear vehiculos por medio de una tabla y que cuando exploten vuelvan hagan spawn segun la posicion de cada uno.

Posted

¿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

Posted
¿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)

Posted

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

Posted
¿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

Posted
¿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.

Posted
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).

Posted
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?

  • MTA Team
Posted
  
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 

Posted (edited)

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
Posted
  
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) 

Posted
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

Posted
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.

  • Recently Browsing   0 members

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