Jump to content

Necesito crear un script k genere un objeto


BlackSoul

Recommended Posts

Si mal no entiendo, lo que necesitas es crear un mapeado, sea este una casa, o que se yo, un semáforo y este iniciarlo con un comando solo en determinada situación y no junto con el servidor.

 

Si es así, primero debes tener las coordenadas y la id del objeto a iniciar o mapear, para esto debes iniciar el map editor, una vez has terminado y guardado tendrás el archivo con extensión .map que es donde se guarda tu creación, ya solo te falta iniciarlo, puedes hacerlo de dos maneras, una que pienso es la mas sencilla, es colocar en la consola "start "nombre de la carpeta donde esta el mapeado") ojo.. Antes debes enviar esta a la carpeta "resourses".

El otro método y para mi, el mas optimizado, es crear los objetos y convertimos a un archivo .lua (Ya un usuario de la comunidad aporto un resourse para esto Pulsa aqui para ir ).

Luego de todo esto, puedes o bien cargarlo completamente ya optimizado o creas una función para esto, un ejemplo puede ser este de la Wiki:

function mapLoad ( name )
   -- create an object at a specified position with a specified rotation
   createObject ( 1337, 5540.6654, 1020.55122, 1240.545, 90, 0, 0 )
end
addEventHandler ( "onResourceStart", resourceRoot, mapLoad )

Solo que añades un addCommandHandler para ejecutarlo por comando, te dejo la explicación de la Wiki, no te dejo el script hecho ya que ando de la Tablet y si que jode mucho hacerlo por acá. addCommandHandler Wiki 

 

Espero haberte entendido y poder ayudarte, saludos.

 

  • Like 1
Link to comment
3 hours ago, Veneco said:

Si mal no entiendo, lo que necesitas es crear un mapeado, sea este una casa, o que se yo, un semáforo y este iniciarlo con un comando solo en determinada situación y no junto con el servidor.

 

Si es así, primero debes tener las coordenadas y la id del objeto a iniciar o mapear, para esto debes iniciar el map editor, una vez has terminado y guardado tendrás el archivo con extensión .map que es donde se guarda tu creación, ya solo te falta iniciarlo, puedes hacerlo de dos maneras, una que pienso es la mas sencilla, es colocar en la consola "start "nombre de la carpeta donde esta el mapeado") ojo.. Antes debes enviar esta a la carpeta "resourses".

El otro método y para mi, el mas optimizado, es crear los objetos y convertimos a un archivo .lua (Ya un usuario de la comunidad aporto un resourse para esto Pulsa aqui para ir ).

Luego de todo esto, puedes o bien cargarlo completamente ya optimizado o creas una función para esto, un ejemplo puede ser este de la Wiki:


function mapLoad ( name )
   -- create an object at a specified position with a specified rotation
   createObject ( 1337, 5540.6654, 1020.55122, 1240.545, 90, 0, 0 )
end
addEventHandler ( "onResourceStart", resourceRoot, mapLoad )

Solo que añades un addCommandHandler para ejecutarlo por comando, te dejo la explicación de la Wiki, no te dejo el script hecho ya que ando de la Tablet y si que jode mucho hacerlo por acá. addCommandHandler Wiki 

 

Espero haberte entendido y poder ayudarte, saludos.

 

Tienes que tratar de leer detenidamente para que entiendas mejor, otra cosa importante es que estudies sobre la programación, esto no es solo buscar en youtube "como crear un script de "tal cosa"" siempre es más bonito cuando lo haces tu, y sobretodo, entiendes lo que haces, no es copiar y pegar, si quieres hacer algo genial, esfuerzate un poco se que puedes, es solo un consejo.

Antes que nada debes entender o al menos tener una idea de lo que significan las lineas de código, para esto necesitas saber que son las funciones, como usarlas, server y cliente ¿que son? Etc etc, puedes encontrar muchos tutoriales tanto acá como en youtube, te dejo un canal que me parece que explica bien, y desde lo basico, éxitos.

 

 

  • Like 1
Link to comment
16 hours ago, BlackSoul said:

we si grasias a lo k solo me dijiste arriba ya lo puedo generar solo lo k no puedo hacer es que cuando ponga otro se quite el primer

function torre()
	local x, y, z = getElementPosition(localPlayer) x = x + 5
	if isElement(obj) then
		destroyElement(obj)
	end	
	obj = createObject(3279, x, y, z-1, 0, 0, 0 )
	createBlipAttachedTo(obj, 54)
end	
addCommandHandler("create", torre)

 

  • Like 1
Link to comment
local torres = { }

addCommandHandler( "torre",
	function( player )
		if torres[player] then
			if isElement( torres[player].obj ) then destroyElement( torres[player].obj ) end
			if isElement( torres[player].blip ) then destroyElement( torres[player].blip ) end
			torres[player] = nil
		else
			local x, y, z = getElementPosition( player )
			torres[player] = { obj = createObject(3279, x, y, z-1, 0, 0, 0 ), blip = createBlipAttachedTo(obj, 54) }
			outputChatBox( "Has creado tu torre amigo", player, 0, 255, 0 )
		end
	end
)

 

Link to comment
  • 3 months later...
  • 8 months later...

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