Jump to content
fuuton97

[MiniCurso] - ¿Cómo Empezar a Crear tu Propia Misión?

Recommended Posts

Buenas, y Hola a todos los zoneros y/o visitantes, presentes en el día de hoy, la presente de este Mini-Curso es para enseñarles como crear su propia misión de Metin2, primero que nada comenzaremos con lo principal de una misión de metin2, como es un Mini-Curso no lo alargaré mucho, después de cierto tiempo prudente veré y crearé un CURSO con todo los "juguetes".

 

Bien, primero que nada necesitaremos la disponibilidad de GANAS y TIEMPO, esos son las partes más fundamentales, y no solo eso, tener mentalidad de creación y difusión. Hay que tener en cuenta que esto conlleva a un proceso de paciencia, puede que les de error si es su primera vez, sino les irá super bien; no obstante con este Mini-Curso que les voy a entregar aprenderán a crear quest de misión de Metin2, espero que aprecien mi tiempo y trabajo, que es 100% para ustedes.

 

Materiales a Utilizar:

 

- Un servidor de Metin2, sea hamachi, sin hamachi o Dedicado.

- Saber compilar las quest o cargar.

 

Bien, comencemos:

 

1- Abrimos un archivo .txt en el escritorio, ponemos de nombre: "misión_test", y cambiamos la extensión .txt a .quest, y guardamos.

 

2- Abrimos el archivo: mision_test.quest con un editor de texto, recomiendo Notepad++. La primera función: Cómo todos saben existe desde se inicia y ejecute la quest, para ellos escribirán esto:

quest  mision_test begin
					  state start begin

3- Toda misión requiere sobre su Nivel para efectuarla, por defecto pondremos nivel 100, y lo colocamos:

			when login or levelup or enter with pc.get_level() == 100 begin

La función: "login" dice que al loguearse en el juego saldrá la misión, y "levelup" que al llegar al nivel puesto, en este caso 100 saldrá la misión al instante.

 

4- Ahora debemos comenzar con un set_state, lo hacemos de esta manera, y lo colocamos:

 

set_state( mision_test )

Agregamos dos end, para cerrar de el begin de pc.get_level() y el primero de la ejecución:

			end
end

Hasta ahora les deberá quedar así:

quest mison_test begin
state start begin
  when login or levelup or enter with pc.get_level() == 100 begin
   set_state( mision_test )
  end
end

5- Ahora debemos llamar el state, seguimos y colocamos:

state mision_test begin

6- Escribimos y ponemos el llamado de when letter:

when letter begin

7- Ahora ponemos la función de send_letter, osea a mostrar el nombre de la misión que aparecerá, escribimos:

send_letter("Misión Test By Fuuton97")

8- Cerramos con un "END" por el begin, y escribimos:

		end

Hasta el momento la misión debe quedarnos así:

quest mision_test begin
   state start begin
	  when login or levelup or enter with pc.get_level() >= 100  begin
			set_state( mision_test )
		end
	end
	state mision_test begin
		when letter begin
			send_letter("Misión Test By Fuuton97")
		end

9- Bien, ahora pondremos la función de "button or info", para que al darle click a la misión o el pergamino les salga el escrito o la misión a realizar, y escribimos:

when button or info begin

10- Seguidamente colocamos la información con las funciones: say, say_title y/o say_reward, y escribimos:

   say_title("Bienvenido a la Misión Test By Fuuton97")
						say("Hola ".. pc.get_name() .." ,esto es una misión tester")
						say("en donde tendrás una misión épica.")
						say("Recuerda que esto es un tester de una misión")
						say("que está creando Fuuton97 para Metin2 Zone.")
						say("Destruye un Metin de Nivel 80.")

 

Ese es el texto, ustedes podrán añadirle más texto, con solo seguir los parámetros de "say("")"

 

11- Agregamos dos "END" y un set_state, y escribimos:

					set_state(test)

					  end
		   end

Hasta ahora debería quedarnos así:

 


quest mision_test begin
   state start begin
	  when login or levelup or enter with pc.get_level() >= 100  begin
			set_state( mision_test )
		end
	end
	state mision_test begin
		when letter begin
			send_letter("Misión Test By Fuuton97")
		end




when button or info begin

   say_title("Bienvenido a la Misión Test By Fuuton97")
						say("Hola ".. pc.get_name() .." ,esto es una misión tester")
						say("en donde tendrás una misión épica.")
						say("Recuerda que esto es un tester de una misión")
						say("que está creando Fuuton97 para Metin2 Zone.")
						say("Destruye un Metin de Nivel 80.")
					  set_state(test)
					end
			 end


12- Ahora agregamos e iniciamos con el state "test" y un letter; y escribimos:

	   state test begin
		when letter begin

13- Escribimos un send_letter y un end al final, y escribimos:

			send_letter("Destruye el Metin - Misión Test By Fuuton97")
		end

14- Luego escribimos un button or info y su respectivo texto, más 1 end al final, y ponemos:

when button or info begin
			say_title("TEST MISIóN:")
			say_reward( " Vete a las zonas donde esté el Metin de Nivel 80, Mapa Bosque")
			say("")
		end

Hasta ahora toda la misión debería estar así:

 

quest mision_test begin
   state start begin
	  when login or levelup or enter with pc.get_level() >= 100  begin
			set_state( mision_test )
		end
	end
	state mision_test begin
		when letter begin
			send_letter("Misión Test By Fuuton97")
		end

when button or info begin
   say_title("Bienvenido a la Misión Test By Fuuton97")
						say("Hola ".. pc.get_name() .." ,esto es una misión tester")
						say("en donde tendrás una misión épica.")
						say("Recuerda que esto es un tester de una misión")
						say("que está creando Fuuton97 para Metin2 Zone.")
						say("Destruye un Metin de Nivel 80.")
					  set_state(test)
					end
			 end

	   state test begin
		when letter begin
			send_letter("Destruye el Metin - Misión Test By Fuuton97")
		end

when button or info begin
			say_title("TEST MISIóN:")
			say_reward( " Vete a las zonas donde esté el Metin de Nivel 80, Mapa Bosque")
			say("")
		end

15- Bien, ahora procederemos a poner la función .kill al metin, para que al destruirlo complete la misión el personaje y di su premio, y escribimos:

 

		  when 8025.kill begin			

16- Ahora solo nos tocará poner el texto final, y escribimos:

say_title("Misión TEST ACABADA:!")
				say("Has acabado con el Metin 80!")
				say("Misión Test By Fuuton97")
				say("Recibirás tu recompensa:")
				say_reward("500.000.000 Exp")
				say_reward("100.000.000 Yang")			  

17- Ahora solo nos falta colocar la función de dar yang: pc.change_money(xxxxxxx) y la de experiencia: pc.give_expe2(xxxxxxx), y escribimos:

				pc.change_money(1000000000)
				pc.give_exp2(5000000000)

18- Añadimos una función de chat(), para texto final, un clear_letter() y cerramos el set de la misión COMPLETADA, y escribimos:

				chat("Has completado la Misión Test.")
				chat("By Fuuton97.")
				clear_letter()
				set_state(__COMPLETE__)

19- Por último añadimos los END'S, más el state de la misión COMPLETADA, y escribimos:

		  end
	   end
   end
			 state __COMPLETE__ begin
		end
	end

Ahora les deberá que dar la misión TODA COMPLETA y TERMINADA ASí:

quest mision_test begin
   state start begin
	  when login or levelup or enter with pc.get_level() >= 100  begin
			set_state( mision_test )
		end
	end
	state mision_test begin
		when letter begin
			send_letter("Misión Test By Fuuton97")
		end

when button or info begin
   say_title("Bienvenido a la Misión Test By Fuuton97")
						say("Hola ".. pc.get_name() .." ,esto es una misión tester")
						say("en donde tendrás una misión épica.")
						say("Recuerda que esto es un tester de una misión")
						say("que está creando Fuuton97 para Metin2 Zone.")
						say("Destruye un Metin de Nivel 80.")
					  set_state(test)
					end
			 end

	   state test begin
		when letter begin
			send_letter("Destruye el Metin - Misión Test By Fuuton97")
		end

when button or info begin
			say_title("TEST MISIóN:")
			say_reward( " Vete a las zonas donde esté el Metin de Nivel 80, Mapa Bosque")
			say("")
		end

		  when 8025.kill begin
	say_title("Misión TEST ACABADA:!")
				say("Has acabado con el Metin 80!")
				say("Misión Test By Fuuton97")
				say("Recibirás tu recompensa:")
				say_reward("500.000.000 Exp")
				say_reward("100.000.000 Yang")
				pc.change_money(1000000000)
				pc.give_exp2(5000000000)
				chat("Has completado la Misión Test.")
				chat("By Fuuton97.")
				clear_letter()
				set_state(__COMPLETE__)

end
	   end
   end
			 state __COMPLETE__ begin
		end
	end

20- último paso, compilar la quest, solo subimos el archivo cuyo nombre le pusimos que fue: mision_test.quest al directorio vía Winscp a: /home/game/share/locale/germay/quest la suben y dan permisos 777, seguidamente abren le english_list, o hongkong_list y ponen abajo el nombre de la quest: mision_test.quest

 

Por último compilamos la quest, vamos a nuestro Putty, si es dedicado o en la máquina virtual de Virtual BOX, y ejecutamos este comando:

./qc mision_test.quest

Y Listo.

 

Bueno, hemos llegado al final de este MiniCurso sobre cómo crear una misión desde 0, espero que valoren mi tiempo y trabajo, solo exclusivamente para METIN2 ZONE, y si piensan postear en otra parte dejen créditos.

 

Próximo MiniCurso: Creación de Misión con pc.getqf + asignar un valor de cuantos mob o metines destruir.

 

Saludos.

Share this post


Link to post
Share on other sites

No esta mal, aunque la puedes desarrollar aun más cambiando de state a la hora de hacer el .kill. (Just saying).

 

Para mi es mejor así, seguir el mismo state, no hay problemas con ella a la hora de ejecutarla, igualmente gracias por tu comentario.

Share this post


Link to post
Share on other sites

Bueno está bien, pero creo que la gente se confundirá un poco, te explico:

3- Toda misión requiere sobre su Nivel para efectuarla, por defecto pondremos nivel 100, y lo colocamos:

 

 

when login or levelup or enter with pc.get_level() == 100 begin

 

 

 

Esto no es cierto, la misión no tiene el porque llevar un nivel, puede ser por ejemplo when login begin a secas, o when 20090.chat."Gruta del Exilio" begin por ponerte un ejemplo.

Por lo demas muy buena guía =)

Share this post


Link to post
Share on other sites

Bueno está bien, pero creo que la gente se confundirá un poco, te explico:

 

Esto no es cierto, la misión no tiene el porque llevar un nivel, puede ser por ejemplo when login begin a secas, o when 20090.chat."Gruta del Exilio" begin por ponerte un ejemplo.

Por lo demas muy buena guía =)

 

Entonces ven, y revisa todas las misiones de Metin2, y me dices cuál no tiene un nivel, por eso se le llama Misión, creo que antes de escribir un mensaje en respuesta, debes analizar y haber experimentado, cómo yo lo hice, yo primero revise toda las misiones, para ver que funciones encontrada.

 

Aparte estás errado, ya que si se necesita un Nivel, por lo tanto toda misión lleva un levelup + login + un nivel para cada misión. Te lo digo que revise todas las misiones, así lo hizo YMIR.

 

No lo tomes a mal, si no que a la próxima piensa bien lo que vas a escribir.

Share this post


Link to post
Share on other sites

Entonces ven, y revisa todas las misiones de Metin2, y me dices cuál no tiene un nivel, por eso se le llama Misión, creo que antes de escribir un mensaje en respuesta, debes analizar y haber experimentado, cómo yo lo hice, yo primero revise toda las misiones, para ver que funciones encontrada.

 

Aparte estás errado, ya que si se necesita un Nivel, por lo tanto toda misión lleva un levelup + login + un nivel para cada misión. Te lo digo que revise todas las misiones, así lo hizo YMIR.

 

No lo tomes a mal, si no que a la próxima piensa bien lo que vas a escribir.

 

Te dejo aquí un ejemplo:

quest almacen_portatil begin
   state start begin
	  when 70042.use begin
		 say_title("Almacen Portatil:")
		  local s = select("Abrir Almacen", "Abrir Item Shop", "Salir")
		  if 1 == s then
		    game.open_safebox()
		  elseif 2 == s  then
		    game.open_mall()
		  elseif 3 == s then
		  return
		  end
	  end
   end
end

Y el nivel?

 

Pienso bien las cosas antes de decirlas...

Share this post


Link to post
Share on other sites

Te dejo aquí un ejemplo:

quest almacen_portatil begin
   state start begin
	  when 70042.use begin
		 say_title("Almacen Portatil:")
		  local s = select("Abrir Almacen", "Abrir Item Shop", "Salir")
		  if 1 == s then
			game.open_safebox()
		  elseif 2 == s  then
			game.open_mall()
		  elseif 3 == s then
		  return
		  end
	  end
   end
end

Y el nivel?

 

Pienso bien las cosas antes de decirlas...

 

él habla de "misiones" no "quests" yo creo que lo aclaró diciendo que revises todas las "misiones" del "oficial"

 

Buena guia, ahi tienes las gracias

Share this post


Link to post
Share on other sites

Entonces ven, y revisa todas las misiones de Metin2, y me dices cuál no tiene un nivel, por eso se le llama Misión, creo que antes de escribir un mensaje en respuesta, debes analizar y haber experimentado, cómo yo lo hice, yo primero revise toda las misiones, para ver que funciones encontrada.

 

Aparte estás errado, ya que si se necesita un Nivel, por lo tanto toda misión lleva un levelup + login + un nivel para cada misión. Te lo digo que revise todas las misiones, así lo hizo YMIR.

 

No lo tomes a mal, si no que a la próxima piensa bien lo que vas a escribir.

 

No te emociones demasiado fuuton, primero porque tu no tienes las misiones de ymir para ver si de verdad son todas así (no lo son) y segundo porque no todas las misiones necesitan empezar cn un levelup o login with pc.get_level

 

when login begin
set_state(comenzar)
end
end

when 20095.chat."Mision de caza" begin
say_title("Mata 50 perros")
say("")
set_state(caza)
end
end

Y como se te ocurra.

 

No esta mal, aunque la puedes desarrollar aun más cambiando de state a la hora de hacer el .kill. (Just saying).

 

El unico problema de eso es que el pergamino anterior dejara de salirte, y suele usarse para decir los mobs restantes.

Share this post


Link to post
Share on other sites

él habla de "misiones" no "quests" yo creo que lo aclaró diciendo que revises todas las "misiones" del "oficial"

 

Buena guia, ahi tienes las gracias

 

Tampoco todas las misiones llevan nivel ^^

Share this post


Link to post
Share on other sites

Rafa, hable de misión, no de quest, creo que debiste leer el post, el error tu yo es visual ;).

 

Keko, si una misión se requiere para efectuarla, se necesita un nivel, es lógico.

Ese es mi punto de vista.

Share this post


Link to post
Share on other sites

Keko, si una misión se requiere para efectuarla, se necesita un nivel, es lógico.

Ese es mi punto de vista.

 

Por qué? No puedes acaso hacer acaso misiones para gente de cualquier nivel? :tiocereales:

Share this post


Link to post
Share on other sites

Rafa, hable de misión, no de quest, creo que debiste leer el post, el error tu yo es visual ;).

 

Keko, si una misión se requiere para efectuarla, se necesita un nivel, es lógico.

Ese es mi punto de vista.

 

Enseguida te hago una sin nivel ^^

quest metin2zone begin
state start begin
  when login begin
end
  end
end
when letter begin
   send_letter("Mata a popopopo")
  end
when button or info begin
say_title("hoa, popopopo anda suelto matalo!")

set_state (mata)
end
state mata begin
  when popopo.kill begin
say_title("bueno lo has matado ala")
end
end
 

Casí seguro está mal pero es un ejemplo

Share this post


Link to post
Share on other sites

Por qué? No puedes acaso hacer acaso misiones para gente de cualquier nivel? :tiocereales:

 

Keko, lo que trato de explicar es que si se supone que es una misión lleva un requerimiento para un nivel para poder ejecutarla, y hasta donde tengo entendido Metin2.es lo tiene con nivel, se puede poner misión para X nivel, y sería más práctico.

 

 

Cada misión requiere un nivel para poder hacerla, así la planteo yo, y creo que es mi punto de vista, y debe ser respetable, libre expresión, aparte sigo el esquema presentados en los files cualquieras, misiones con nivel de requerimiento.

Share this post


Link to post
Share on other sites

Keko, lo que trato de explicar es que si se supone que es una misión lleva un requerimiento para un nivel para poder ejecutarla, y hasta donde tengo entendido Metin2.es lo tiene con nivel, se puede poner misión para X nivel, y sería más práctico.

 

 

Cada misión requiere un nivel para poder hacerla, así la planteo yo, y creo que es mi punto de vista, y debe ser respetable, libre expresión, aparte sigo el esquema presentados en los files cualquieras, misiones con nivel de requerimiento.

 

Haber si es que todos tenemos razón pero estamos hablando de cosas distintas, las misiones SI suelen llevar un nivel para empezar pero no tienen el porque ^^

Share this post


Link to post
Share on other sites

Haber si es que todos tenemos razón pero estamos hablando de cosas distintas, las misiones SI suelen llevar un nivel para empezar pero no tienen el porque ^^

 

Sólo sigo el orden que traen todos los files. :D

Share this post


Link to post
Share on other sites

creo que es mi punto de vista, y debe ser respetable, libre expresión

 

Precisamente yo sí respeto tu postura, eres tu el que no quieres admitir que puede haber misiones para gente de cualquier nivel (por lo tanto eres tu el que no repetas la libre expresion).

Share this post


Link to post
Share on other sites

Y la vas a poner para nivel 0? Desde que entras a jugar? sería muy cutre... Con un nivel sería lo suyo.

 

De todas maneras hay diferentes maneras, no? por ejemplo: tras haber encontrado tal item te otorgan tal mision ( no creo que se haya echo pero si sería posible, no?)

Share this post


Link to post
Share on other sites

Y la vas a poner para nivel 0? Desde que entras a jugar? sería muy cutre... Con un nivel sería lo suyo.

 

De todas maneras hay diferentes maneras, no? por ejemplo: tras haber encontrado tal item te otorgan tal mision ( no creo que se haya echo pero si sería posible, no?)

 

Claro, hay muchas maneras de poder iniciar una quest, teniendo X item, haciendo tal cosa etc

Share this post


Link to post
Share on other sites

buena explicacion y el hecho de que lo expliques tambien está bien.. pero si pones esto:

when login or levelup or enter with pc.get_level() == 100 begin

la mision, el pergaminito ese solo te sale a nivel 100, ni al 99 ni al 101 xD, tendria que ser un:

when login or levelup or enter with pc.get_level() >= 100 begin

(pequenyo comentario, tal vez solo haya sido un despiste, pero lo digo para los que se extranyen de que a nivel 101 en adelante ya no esté)

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...