gaby ♥ Posted September 2, 2012 Posted September 2, 2012 Buenas. Hoy me puse a aprender Lua, y tengo un pequeño problema. Estoy haciendo una especie de fogata con libros. Hasta la parte de los libros voy bien. El tema es cuando quiero ponerle fuego. Cuando uso el createFire o el fxAddTankFire me tira "Attempt call global createFire anil value" o algo así. Les dejo el código, para ver qué es lo que tengo que hacer. function fogata(thePlayer, cmd) local x,y,z = getElementPosition(thePlayer) z = z - 1 local libro1 = createObject(2894, x, y, z) x = x + 0.4 local libro2 = createObject(2894, x, y, z) y = y + 0.4 x = x - 0.2 local libro3 = createObject(2894, x, y, z) x = x - 0.2 y = y - 0.4 createFire(x, y, z, 10) outputChatBox("Fogata creada con éxito.", thePlayer) end addCommandHandler("hacerfogata", fogata)
Castillo Posted September 2, 2012 Posted September 2, 2012 Eso es porque son funciones que solo funcionan en los scripts client side, el tuyo es server side.
gaby ♥ Posted September 2, 2012 Author Posted September 2, 2012 Eso es porque son funciones que solo funcionan en los scripts client side, el tuyo es server side. ¿Y podrías decirme cómo hacerlo client side? Gracias de antemano. EDIT: Tengo un problema cuando pongo esto en meta.xml: "Gaby" version="1.0" name="Primer gamemode" type="gamemode" /> Se me queda la pantalla en negro y no me carga. ¿Tenés alguna idea de por qué?
Araa Posted September 2, 2012 Posted September 2, 2012 -- Server Side function fogata( thePlayer, cmd ) local x,y,z = getElementPosition( thePlayer ) z = z - 1 local libro1 = createObject( 2894, x, y, z ) x = x + 0.4 local libro2 = createObject( 2894, x, y, z ) y = y + 0.4 x = x - 0.2 local libro3 = createObject( 2894, x, y, z ) x = x - 0.2 y = y - 0.4 triggerClientEvent( "createFire", root, x, y, z ) end addCommandHandler( "hacerfogata", fogata ) -- Client Side: function crearElFuego( x, y, z ) createFire( x, y, z, 10 ) end addEvent( "createFire", true ) addEventHandler( "createFire", root, crearElFuego, x, y, z )
gaby ♥ Posted September 2, 2012 Author Posted September 2, 2012 Pero hay algo que no entiendo. Del modo que vos lo pusiste, osea en Client Side, ¿Se puede hacer como comando? ¿Es mejor hacerlo en client side o server side? Disculpen las molestias
Alexs Posted September 2, 2012 Posted September 2, 2012 Client Side afecta al cliente, Server Side al servidor, depende de lo que busques cual convendría mas.
gaby ♥ Posted September 2, 2012 Author Posted September 2, 2012 Client Side afecta al cliente, Server Side al servidor, depende de lo que busques cual convendría mas. Creo que por ahora me voy a quedar con el Server side. Es mi primer día en Lua. Más tarde voy a investigar más acerca de client side y server side Gracias por todo, pueden cerrar.
Arsilex Posted September 2, 2012 Posted September 2, 2012 no puedes elijir alli entre el server y el cliente ya que se esta trigeando una funcion de server a client para crear el fuego si no te dara nil y el fuego no se creara
Castillo Posted September 2, 2012 Posted September 2, 2012 -- Server Side function fogata( thePlayer, cmd ) local x,y,z = getElementPosition( thePlayer ) z = z - 1 local libro1 = createObject( 2894, x, y, z ) x = x + 0.4 local libro2 = createObject( 2894, x, y, z ) y = y + 0.4 x = x - 0.2 local libro3 = createObject( 2894, x, y, z ) x = x - 0.2 y = y - 0.4 triggerClientEvent( "createFire", root, x, y, z ) end addCommandHandler( "hacerfogata", fogata ) -- Client Side: function crearElFuego( x, y, z ) createFire( x, y, z, 10 ) end addEvent( "createFire", true ) addEventHandler( "createFire", root, crearElFuego, x, y, z ) addEventHandler( "createFire", root, crearElFuego, x, y, z ) x, y, z ahi no es necesario.
Araa Posted September 2, 2012 Posted September 2, 2012 x, y, z ahi no es necesario. ._. no se porque lo puse.
Recommended Posts