Jump to content
Sign in to follow this  
caanmasu

¡Regalo quest por llegar a mis 700 likes!

Recommended Posts

¡Hola a todos!

 

Hoy he llegado a los 700 likes. Gracias a todos los que han apoyado mis posts.

 

Saludos a

Debes iniciar sesión para ver el contenido del enlace en esta publicación.
,
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
 mis socios con los que trabajo

También a Askira, Nazox, el crack Break, a mi amigo Deiklo, Dur, Viksant, Mau, al admin Peluche, Enju, Delaro, Mix (Legion), Master (Yelson) y todos los que no recuerdo en este momento xD

 

El regalo de hoy es una quest que consiste en agregar un set de armas (skins) en un cofre.

En esta quest podrás:

- Agregar de la manera más sencilla los sets de armas (skins) que quieras, sin preocuparte por la programación.

- Elegir un arma de uno o varios sets de armas (skins), según como lo hayas configurado.

- Ver el nombre del set junto con el tipo de arma (espada, daga, dos manos, etc. los que quieras agregar. Se puede poner garras también)

- Al elegir el tipo de arma, te mostrará el ícono y te pedirá confirmar. Una vez confirmado, te entrega el objeto y se borra el cofre.

- Agregar uno o varios sets en un solo baúl. En ese caso te pedirá elegir según el nombre del set.

 

No tengo fotos pero sé que funciona porque yo lo hice xD

 

weapon_skin.quest

quest weapon_skin begin
	state start begin
	
		function bug_control()
			return pc.count_item(item.vnum) < 1
		end
		
		function data()
			return {
				[1] = {
					title = "Prueba", --Nombre del set
					{40159, "Espada"}, --vnum y tipo de arma
					{40160, "Daga"},
					{40161, "Arco"},
					{40162, "Dos manos"},
					{40163, "Campana"},
					{40164, "Fan"},
					{40165, "Garras"}
				},
				[2] = {
					title = "Nemere",
					{40400, "Espada"},
					{40403, "Daga"},
					{40404, "Arco"},
					{40402, "Dos manos"},
					{40405, "Campana"},
					{40406, "Fan"},
					{40407, "Garras"}
				},
				[3] = {
					title = "Arrador",
					{40666, "Espada"},
					{40668, "Daga"},
					{40669, "Arco"},
					{40667, "Dos manos"},
					{40670, "Campana"},
					{40671, "Fan"},
					{40672, "Garras"}
				},
				[4] = {
					title = "Hongos",
					{40300, "Espada"},
					{40303, "Daga"},
					{40304, "Arco"},
					{40302, "Dos manos"},
					{40305, "Campana"},
					{40306, "Fan"},
					{40307, "Garras"}
				},
				[5] = {
					title = "Submarinas",
					{19960, "Espada"},
					{19963, "Daga"},
					{19964, "Arco"},
					{19962, "Dos manos"},
					{19965, "Campana"},
					{19966, "Fan"},
					{19967, "Garras"}
				},
				[6] = {
					title = "Cristal",
					{40408, "Espada"},
					{40411, "Daga"},
					{40412, "Arco"},
					{40410, "Dos manos"},
					{40413, "Campana"},
					{40414, "Fan"},
					{40415, "Garras"}
				},
				[7] = {
					title = "Jotun",
					{61110, "Espada"},
					{61113, "Daga"},
					{61114, "Arco"},
					{61112, "Dos manos"},
					{61115, "Campana"},
					{61116, "Fan"},
					{61117, "Garras"}
				},
				[8] = {
					title = "Hidra",
					{40590, "Espada"},
					{40592, "Daga"},
					{40593, "Arco"},
					{40591, "Dos manos"},
					{40594, "Campana"},
					{40595, "Fan"},
					{40596, "Garras"}
				},
				[9] = {
					title = "Zodíaco",
					{40316, "Espada"},
					{40319, "Daga"},
					{40320, "Arco"},
					{40318, "Dos manos"},
					{40321, "Campana"},
					{40322, "Fan"},
					{40323, "Garras"}
				}
			}
		end
	
		when 30335.use or --vnum del cofre
			30339.use or
			8011.use or
			8012.use or
			8013.use or
			8014.use or
			8015.use or
			8016.use or
			8017.use or
			8018.use
			begin
			
			if weapon_skin.bug_control() then
				return
			end
			
			local list = {
				[30335] = {1}, --vnum del cofre y seguido el id del set. En este caso muestra el set 1.
				[30339] = {2, 3, 4, 5, 6, 7, 8, 9}, --vnum del cofre y seguido el id del set. En este caso muestra varios sets. El personaje solo podrá elegir uno.
				[8011] = {2},
				[8012] = {3},
				[8013] = {8},
				[8014] = {9},
				[8015] = {7},
				[8016] = {6},
				[8017] = {5},
				[8018] = {4}
			}
			if list[item.vnum] != nil then
				weapon_skin.giveSkinSet(list[item.vnum])
			end
		end
		
		function giveSkinSet(set_elements)
			local data = weapon_skin.data()
			
			local id_set_selected = 1
			if table.getn(set_elements) > 1 then
			
				local table_names_set = {}
				for i = 1, table.getn(set_elements) do
					if data[set_elements[i]] != nil then
						if data[set_elements[i]].title != nil then
							table.insert(table_names_set, data[set_elements[i]].title)
						end
					end
				end
				table.insert(table_names_set, "Cerrar")
				
				say_title(item_name(item.vnum))
				say()
				id_set_selected = select_table(table_names_set)
				if id_set_selected == table.getn(table_names_set) then
					return
				end
			end
			
			say_title(item_name(item.vnum))
			say()
			if data[set_elements[id_set_selected]].title != nil then
				say_title_center(data[set_elements[id_set_selected]].title)
			end
			
			local table_names_weapon = {}
			for i = 2, table.getn(data[set_elements[id_set_selected]]) do
				table_names_weapon[i-1] = data[set_elements[id_set_selected]][i-1][2]
			end
			table.insert(table_names_weapon, "Cerrar")
			
			local weapon_selected = select_table(table_names_weapon)
			if weapon_selected == table.getn(table_names_weapon) then
				return
			end
			
			say_title(item_name(item.vnum))
			say("Recibirás: ")
			say_item_vnum(item.vnum)
			if select("Confirmar", "Cancelar") == 1 then
				pc.give_item2(data[set_elements[s1]][weapon_selected][1])
				pc.remove_item(item.vnum)
			end
		end
	end
end

 

¿Cómo agregar un skin de set de arma?

1. Ten listado el vnum del cofre y los vnum de las armas que pertenecen a ese set.

2. Agrega un nuevo elemento a la tabla data.

		function data()
			return {
				[1] = {
					title = "Prueba", --Nombre del set
					{40159, "Espada"}, --vnum y tipo de arma
					{40160, "Daga"},
					{40161, "Arco"},
					{40162, "Dos manos"},
					{40163, "Campana"},
					{40164, "Fan"},
					{40165, "Garras"}
				}, --agrego la coma al final
    			--Aquí voy a agregar este nuevo set
				[10] = {
					title = "Set Zone",
					{11111, "Espada"}, --Si tienes una espada de sura, solo agrega una línea abajo así: {tu_vnum, "Espada Sura"}
					{11112, "Daga"},
					{11113, "Arco"},
					{11114, "Dos manos"},
					{11115, "Campana"},
					{11116, "Fan"},
					{11117, "Garras"}
				},
    			--

Ten en cuenta el número que agregaste, en este caso yo agregué el 10. No puedes repetir números en la tabla y no necesariamente deben ser en orden.

3. Agrega el cofre

		when 30335.use or --vnum del cofre
			30339.use or
			8011.use or
			8012.use or
			8013.use or
			8014.use or
			8015.use or
			8016.use or
			8017.use or
			8018.use or --añado el or al final
			-- Agregando mi cofre de Zone
			22222.use
			--
			begin
			

4. Poner el set o los sets en el cofre

			local list = {
				[30335] = {1}, --vnum del cofre y seguido el id del set. En este caso muestra el set 1.
				[30339] = {2, 3, 4, 5, 6, 7, 8, 9}, --vnum del cofre y seguido el id del set. En este caso muestra varios sets. El personaje solo podrá elegir uno.
				[8011] = {2},
				[8012] = {3},
				[8013] = {8},
				[8014] = {9},
				[8015] = {7},
				[8016] = {6},
				[8017] = {5},
				[8018] = {4}, --pongo la coma
  				--Agregando mi set de Zone
  				[22222] = {10} --el 10 es el id de la tabla del set que agregué
			}

5. Compilar

 

Hay que compilar necesariamente porque el when item_vnum.use es estático 😞 y no le echo mano para que sea dinámico xD

 

Repasemos cómo se vería (sin fotos xD)

Cofre con un solo set:

Al darle clic al cofre, va a mostrar un say donde muestra el nombre del set y los botones "Espada", "Daga", "Arco", "Dos manos", etc. El personaje elije el arma que desea y le aparece una nueva ventana donde sale el ícono del objeto y un botón que dice confirmar. Al confirmar, el cofre será borrado y el skin será dado.

 

Cofre con varios sets:

Al darle clic al cofre, mostrará varios botones con el nombre de los sets. Al elegir alguno de ellos, pasará lo mismo que he mencionado arriba.

 

 

Espero que sea de alguna utilidad y saludos a todos!

Debes iniciar sesión para ver el contenido del enlace en esta publicación.

Share this post


Link to post
Share on other sites
hace 1 minuto, caanmasu dijo:

¡Hola a todos!

 

Hoy he llegado a los 700 likes. Gracias a todos los que han apoyado mis posts.

 

Saludos a

Debes iniciar sesión para ver el contenido del enlace en esta publicación.
,
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
 mis socios con los que trabajo

También a Askira, Nazox, el crack Break, a mi amigo Deiklo, Dur, Viksant, Mau, al admin Peluche, Enju, Delaro, Mix (Legion), Master (Yelson) y todos los que no recuerdo en este momento xD

 

El regalo de hoy es una quest que consiste en agregar un set de armas (skins) en un cofre.

En esta quest podrás:

- Agregar de la manera más sencilla los sets de armas (skins) que quieras, sin preocuparte por la programación.

- Elegir un arma de uno o varios sets de armas (skins), según como lo hayas configurado.

- Ver el nombre del set junto con el tipo de arma (espada, daga, dos manos, etc. los que quieras agregar. Se puede poner garras también)

- Al elegir el tipo de arma, te mostrará el ícono y te pedirá confirmar. Una vez confirmado, te entrega el objeto y se borra el cofre.

- Agregar uno o varios sets en un solo baúl. En ese caso te pedirá elegir según el nombre del set.

 

No tengo fotos pero sé que funciona porque yo lo hice xD

 

weapon_skin.quest

quest weapon_skin begin
	state start begin
	
		function bug_control()
			return pc.count_item(item.vnum) < 1
		end
		
		function data()
			return {
				[1] = {
					title = "Prueba", --Nombre del set
					{40159, "Espada"}, --vnum y tipo de arma
					{40160, "Daga"},
					{40161, "Arco"},
					{40162, "Dos manos"},
					{40163, "Campana"},
					{40164, "Fan"},
					{40165, "Garras"}
				},
				[2] = {
					title = "Nemere",
					{40400, "Espada"},
					{40403, "Daga"},
					{40404, "Arco"},
					{40402, "Dos manos"},
					{40405, "Campana"},
					{40406, "Fan"},
					{40407, "Garras"}
				},
				[3] = {
					title = "Arrador",
					{40666, "Espada"},
					{40668, "Daga"},
					{40669, "Arco"},
					{40667, "Dos manos"},
					{40670, "Campana"},
					{40671, "Fan"},
					{40672, "Garras"}
				},
				[4] = {
					title = "Hongos",
					{40300, "Espada"},
					{40303, "Daga"},
					{40304, "Arco"},
					{40302, "Dos manos"},
					{40305, "Campana"},
					{40306, "Fan"},
					{40307, "Garras"}
				},
				[5] = {
					title = "Submarinas",
					{19960, "Espada"},
					{19963, "Daga"},
					{19964, "Arco"},
					{19962, "Dos manos"},
					{19965, "Campana"},
					{19966, "Fan"},
					{19967, "Garras"}
				},
				[6] = {
					title = "Cristal",
					{40408, "Espada"},
					{40411, "Daga"},
					{40412, "Arco"},
					{40410, "Dos manos"},
					{40413, "Campana"},
					{40414, "Fan"},
					{40415, "Garras"}
				},
				[7] = {
					title = "Jotun",
					{61110, "Espada"},
					{61113, "Daga"},
					{61114, "Arco"},
					{61112, "Dos manos"},
					{61115, "Campana"},
					{61116, "Fan"},
					{61117, "Garras"}
				},
				[8] = {
					title = "Hidra",
					{40590, "Espada"},
					{40592, "Daga"},
					{40593, "Arco"},
					{40591, "Dos manos"},
					{40594, "Campana"},
					{40595, "Fan"},
					{40596, "Garras"}
				},
				[9] = {
					title = "Zodíaco",
					{40316, "Espada"},
					{40319, "Daga"},
					{40320, "Arco"},
					{40318, "Dos manos"},
					{40321, "Campana"},
					{40322, "Fan"},
					{40323, "Garras"}
				}
			}
		end
	
		when 30335.use or --vnum del cofre
			30339.use or
			8011.use or
			8012.use or
			8013.use or
			8014.use or
			8015.use or
			8016.use or
			8017.use or
			8018.use
			begin
			
			if weapon_skin.bug_control() then
				return
			end
			
			local list = {
				[30335] = {1}, --vnum del cofre y seguido el id del set. En este caso muestra el set 1.
				[30339] = {2, 3, 4, 5, 6, 7, 8, 9}, --vnum del cofre y seguido el id del set. En este caso muestra varios sets. El personaje solo podrá elegir uno.
				[8011] = {2},
				[8012] = {3},
				[8013] = {8},
				[8014] = {9},
				[8015] = {7},
				[8016] = {6},
				[8017] = {5},
				[8018] = {4}
			}
			if list[item.vnum] != nil then
				weapon_skin.giveSkinSet(list[item.vnum])
			end
		end
		
		function giveSkinSet(set_elements)
			local data = weapon_skin.data()
			
			local id_set_selected = 1
			if table.getn(set_elements) > 1 then
			
				local table_names_set = {}
				for i = 1, table.getn(set_elements) do
					if data[set_elements[i]] != nil then
						if data[set_elements[i]].title != nil then
							table.insert(table_names_set, data[set_elements[i]].title)
						end
					end
				end
				table.insert(table_names_set, "Cerrar")
				
				say_title(item_name(item.vnum))
				say()
				id_set_selected = select_table(table_names_set)
				if id_set_selected == table.getn(table_names_set) then
					return
				end
			end
			
			say_title(item_name(item.vnum))
			say()
			if data[set_elements[id_set_selected]].title != nil then
				say_title_center(data[set_elements[id_set_selected]].title)
			end
			
			local table_names_weapon = {}
			for i = 2, table.getn(data[set_elements[id_set_selected]]) do
				table_names_weapon[i-1] = data[set_elements[id_set_selected]][i-1][2]
			end
			table.insert(table_names_weapon, "Cerrar")
			
			local weapon_selected = select_table(table_names_weapon)
			if weapon_selected == table.getn(table_names_weapon) then
				return
			end
			
			say_title(item_name(item.vnum))
			say("Recibirás: ")
			say_item_vnum(item.vnum)
			if select("Confirmar", "Cancelar") == 1 then
				pc.give_item2(data[set_elements[s1]][weapon_selected][1])
				pc.remove_item(item.vnum)
			end
		end
	end
end

 

¿Cómo agregar un skin de set de arma?

1. Ten listado el vnum del cofre y los vnum de las armas que pertenecen a ese set.

2. Agrega un nuevo elemento a la tabla data.

		function data()
			return {
				[1] = {
					title = "Prueba", --Nombre del set
					{40159, "Espada"}, --vnum y tipo de arma
					{40160, "Daga"},
					{40161, "Arco"},
					{40162, "Dos manos"},
					{40163, "Campana"},
					{40164, "Fan"},
					{40165, "Garras"}
				},
    			--Aquí voy a agregar este nuevo set
				[10] = {
					title = "Set Zone",
					{11111, "Espada"}, --Si tienes una espada de sura, solo agrega una línea abajo así: {tu_vnum, "Espada Sura"}
					{11112, "Daga"},
					{11113, "Arco"},
					{11114, "Dos manos"},
					{11115, "Campana"},
					{11116, "Fan"},
					{11117, "Garras"}
				},
    			--

Ten en cuenta el número que agregaste, en este caso yo agregué el 2. No puedes repetir números en la tabla y no necesariamente deben ser en orden.

3. Agrega el cofre

		when 30335.use or --vnum del cofre
			30339.use or
			8011.use or
			8012.use or
			8013.use or
			8014.use or
			8015.use or
			8016.use or
			8017.use or
			8018.use or --añado el or al final
			-- Agregando mi cofre de Zone
			22222.use
			--
			begin
			

4. Poner el set o los sets en el cofre

			local list = {
				[30335] = {1}, --vnum del cofre y seguido el id del set. En este caso muestra el set 1.
				[30339] = {2, 3, 4, 5, 6, 7, 8, 9}, --vnum del cofre y seguido el id del set. En este caso muestra varios sets. El personaje solo podrá elegir uno.
				[8011] = {2},
				[8012] = {3},
				[8013] = {8},
				[8014] = {9},
				[8015] = {7},
				[8016] = {6},
				[8017] = {5},
				[8018] = {4}, --pongo la coma
  				--Agregando mi set de Zone
  				[22222] = {10} --el 10 es el id de la tabla del set que agregué
			}

5. Compilar

 

Hay que compilar necesariamente porque el when item_vnum.use es estático 😞 y no le echo mano para que sea dinámico xD

 

Repasemos cómo se vería (sin fotos xD)

Cofre con un solo set:

Al darle clic al cofre, va a mostrar un say donde muestra el nombre del set y los botones "Espada", "Daga", "Arco", "Dos manos", etc. El personaje elije el arma que desea y le aparece una nueva ventana donde sale el ícono del objeto y un botón que dice confirmar. Al confirmar, el cofre será borrado y el skin será dado.

 

Cofre con varios sets:

Al darle clic al cofre, mostrará varios botones con el nombre de los sets. Al elegir alguno de ellos, pasará lo mismo que he mencionado arriba.

 

 

Espero que sea de alguna utilidad y saludos a todos!

Debes iniciar sesión para ver el contenido del enlace en esta publicación.

Encantado de trabajar contigo brother. Increible trabajo sobre la quest. Tus manos son arte e.e

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...