Jump to content

Tuning con objetos


Starztec

Recommended Posts

Lo que busco en hacer un tunning shop con objetos reemplazados, mi pregunta es como hago para que estos objetos se queden guardados en el vehiculo de cada uno, y que los demas lo puedan ver¿?

Client Side:


local txd147paragolpe = engineLoadTXD( "objetos/147/vehicle.txd" ) 
local dff147paragolpe = engineLoadDFF( "objetos/147/spl_b_mar_m.dff", 0 ) 
engineImportTXD( txd147paragolpe, 1000 ) 
engineReplaceModel( dff147paragolpe, 1000 ) 
  
function upgradeTheCar(cmd) 
    local veh = getPedOccupiedVehicle ( localPlayer ) 
    147Paragolpe = createObject( 1000, 2,2,2) 
    setElementCollisionsEnabled ( 147Paragolpe , false ) 
    attachElements ( 147Paragolpe , veh,  0,0,0,0,0,0) 
    end 
addCommandHandler("add", upgradeTheCar) 

 

Link to comment
20 minutes ago, Starztec said:

De acuerdo, tratare de investigar mas sobre como almacenar e intentaré, gracias.

Tienes que hacerlo de dos maneras, una que tiene como duración la vida de la ejecución y otra que es más permanente y que no depende de la vida de ejecución. La primera la puedes hacer usando tablas Lua y la segunda SQLite, XML o mySQL.

  • Like 1
Link to comment
42 minutes ago, Simple01 said:

Tienes que hacerlo de dos maneras, una que tiene como duración la vida de la ejecución y otra que es más permanente y que no depende de la vida de ejecución. La primera la puedes hacer usando tablas Lua y la segunda SQLite, XML o mySQL.

Muchas gracias, me orientaste mucho. Otra pregunta, sabes como hacer para que los demás puedan ver los objetos¿? Porque solo la persona que lo pone lo ve.

Link to comment


Aca es el avance de lo que hice, pero me quedé trabado. No me aparece las cortinas al apretar el boton en la ventana que cree (Boton9A) que creo en el server side para que todos lo vean...

Client Side

addEventHandler("onClientGUIClick", guiRoot, --VENTANA2 = CORTINAS > Completas > Turquesas
	function()
		local getGui = guiGetVisible(Ventana2)
		if source == Boton9A then	
		outputChatBox ("=======PonerCortina======", "FFFB0202" ) 
 end end )
addEvent( "SERVERcortina1", true ) --evento para crear las cortinas

Server Side

function mapLoad ( name )

local txdCortinas1518 = engineLoadTXD( "objetos/cortinas/vehicle.txd" ) 
local dffCortinas1518 = engineLoadDFF( "objetos/cortinas/spl_b_mar_m.dff", 0 ) 
engineImportTXD( txdCortinas1518, 1000 ) 
engineReplaceModel( dffCortinas1518, 1000 ) 

end
addEventHandler ( "onResourceStart", resourceRoot, mapLoad )



triggerClientEvent ("SERVERcortina1", getRootElement (), Cortina1_1518) 
function Cortina1_1518 (player) 
    local vehicle = getPlayerOccupiedVehicle (player)
        if (vehicle) then 
            local object = createObject ( 1000, 0, 0, 0)                    ------Crea cortinas
            attachElementToElement (object, vehicle, 0, 0, 1, 0, 0, -90)       ---Attach
        end end 

 

Link to comment

En primer lugar, engineImportTXD, engineReplaceModel, engineLoadTXD, engineLoadDFF son funciones propias de client side(solo pueden ser usadas en client side, no en server), segundo,  es mejor que uses attachElements en vez de attachElementToElement, ya que esta ultima como dice la wiki está deprecated(obsoleta). Y por último lo que tienes son errores en cuanto al código.

Prueba esto y mira si te funciona: 

CLIENT

function mapLoad ( name )

    local txdCortinas1518 = engineLoadTXD( "objetos/cortinas/vehicle.txd" ) 
    local dffCortinas1518 = engineLoadDFF( "objetos/cortinas/spl_b_mar_m.dff", 0 ) 
    engineImportTXD( txdCortinas1518, 1000 ) 
    engineReplaceModel( dffCortinas1518, 1000 ) 

end
addEventHandler ( "onClientResourceStart", resourceRoot, mapLoad )

addEventHandler("onClientGUIClick", guiRoot, --VENTANA2 = CORTINAS > Completas > Turquesas
	function()
        local getGui = guiGetVisible(Ventana2)
        if source == Boton9A then	
            triggerServerEvent("PonerCortina", localPlayer, localPlayer)
        end 
    end 
)

SERVER

function Cortina1(player)
    local vehicle = getPedOccupiedVehicle( player ) 
    if ( vehicle ) then 
        local object =  createObject( 1000, 0, 0, 0 )
        attachElements( object, vehicle, 0, 0, 1, 0, 0, -90 )
    end
end 
addEvent("PonerCortina", true)
addEventHandler("PonerCortina", root, Cortina1)

 

Edited by Melbourne
  • Confused 1
Link to comment
31 minutes ago, Melbourne said:

En primer lugar, engineImportTXD, engineReplaceModel, engineLoadTXD, engineLoadDFF son funciones propias de client side(solo pueden ser usadas en client side, no en server), segundo,  es mejor que uses attachElements en vez de attachElementToElement, ya que esta ultima como dice la wiki está deprecated(obsoleta). Y por último lo que tienes son errores en cuanto al código.

Prueba esto y mira si te funciona: 

CLIENT


function mapLoad ( name )

    local txdCortinas1518 = engineLoadTXD( "objetos/cortinas/vehicle.txd" ) 
    local dffCortinas1518 = engineLoadDFF( "objetos/cortinas/spl_b_mar_m.dff", 0 ) 
    engineImportTXD( txdCortinas1518, 1000 ) 
    engineReplaceModel( dffCortinas1518, 1000 ) 

end
addEventHandler ( "onClientResourceStart", resourceRoot, mapLoad )

addEventHandler("onClientGUIClick", guiRoot, --VENTANA2 = CORTINAS > Completas > Turquesas
	function()
        local getGui = guiGetVisible(Ventana2)
        if source == Boton9A then	
            triggerServerEvent("PonerCortina", localPlayer, localPlayer)
        end 
    end 
)

SERVER


function Cortina1(player)
    local vehicle = getPedOccupiedVehicle( player ) 
    if ( vehicle ) then 
        local object =  createObject( 1000, 0, 0, 0 )
        attachElements( object, vehicle, 0, 0, 1, 0, 0, -90 )
    end
end 
addEvent("PonerCortina", true)
addEventHandler("PonerCortina", root, Cortina1)

 

"triggerServerEvent("PonerCortina", localPlayer, localPlayer)" lo cambié por triggerServerEvent("PonerCortina", localPlayer, name)
Pero de todas formas sigue sin funcionar, intente buscar otra cosa pero nada

Link to comment
On 27/12/2017 at 07:17, Melbourne said:

¿No te funcionó dejando el localPlayer? intenta cambiar el guiRoot por solamente root.

Fue un error mio que a la función no sé porque estaba como (name), al copiarla de nuevo la que me hiciste funcionó. El problema, es que el objeto me aparece recien al acelerar, entonces al seleccionarlo como para ver cual comprar, no me deja verlo

Link to comment
1 hour ago, Starztec said:

Fue un error mio que a la función no sé porque estaba como (name), al copiarla de nuevo la que me hiciste funcionó. El problema, es que el objeto me aparece recien al acelerar, entonces al seleccionarlo como para ver cual comprar, no me deja verlo

1) Apreto para que se pongan https://ibb.co/gQrvUw (deberian aparecer)
2) Al salir del shop, no pasa nada tampoco https://ibb.co/cY4zpw
3) Pero al mover el vehiculo, aparece el objeto https://ibb.co/mMvHbb

Mi problema es que esto no me sirve para un shop, porque no podes ver lo que compras

Link to comment
function Cortina1()
    local vehicle = getPedOccupiedVehicle( source ) 
    if ( vehicle ) then 
		local pos = {getElementPosition( vehicle )}
        local object = createObject( 1000, pos[1], pos[2], pos[3] )
        attachElements( object, vehicle, 0, 0, 1, 0, 0, -90 )
    end
end 
addEvent("PonerCortina", true)
addEventHandler("PonerCortina", root, Cortina1)

 

  • Thanks 2
Link to comment
6 hours ago, Enargy, said:

function Cortina1()
    local vehicle = getPedOccupiedVehicle( source ) 
    if ( vehicle ) then 
		local pos = {getElementPosition( vehicle )}
        local object = createObject( 1000, pos[1], pos[2], pos[3] )
        attachElements( object, vehicle, 0, 0, 1, 0, 0, -90 )
    end
end 
addEvent("PonerCortina", true)
addEventHandler("PonerCortina", root, Cortina1)

 

Muchas gracias, se solucionó a la perfección. Gracias a todos :)

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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