Jump to content

coins al matar un jefe


Uranio2

Mensajes recomendados

Estaba aburrido así que te hice esta quest.

-- //Jayden//
quest give_coins_by_boss begin
	state start begin
		-- Quest functions
		function set_unique_boss()
			local boss = {  -- Si eliges la versión de boss por coins unico, coloca aqui en el mismo formato los boss que quieras: [ID_MOB] = CANTIDAD_DE_COINS,
				[101] = 100,
				[102] = 200,
				[103] = 300,
				[104] = 400
			}
			return boss[npc.get_race()]
		end
		function check_race_exist(x)
			local race = {101,102,103,104} -- Si eliges la versión de boss global, coloca aqui en el mismo formato los boss que quieras: {ID_MOB, ID_MOB, ID_MOB}
			for index, value in ipairs(race) do
				if value == x then
					return true
				end
			end
			return false
		end
		function settings()
			return
			{
				["coins"] = 100, -- Introduce aquí la cantidad de Coins en caso de ser la versión global que quieras que de a todos los boss dentro de la lista.
				["player"] = pc.get_account_id()
			}
		end
		function set_config(val)
			if val == 1 then
				return true
			else
				return false
			end
		end
		-- ./Quest functions

		-- Quest body
		when kill with not npc.is_pc() begin
			local settings,boss_setting = give_coins_by_boss.settings(), give_coins_by_boss.set_unique_boss()
			if give_coins_by_boss.set_config(1) then -- Cambia este valor por 0 para activar el modo unico, dejalo en 1 para activar el modo global.
				if give_coins_by_boss.check_race_exist(npc.get_race()) then
					mysql_query(string.format("UPDATE account.account SET coins=coins+%d WHERE id = %d",settings.coins,settings.player))
				end
			else
				mysql_query(string.format("UPDATE account.account SET coins=coins+%d WHERE id = %d",boss_setting,settings.player))				
			end
		end
	end
end

-- //Jayden//

Pues te explico.

Tiene dos formas de entregar los coins: Global y Único (No se me ocurrió otro nombre.)

En el modo Global, todos los Jefes/Mobs/etc que ingreses en la lista, darán la misma cantidad de coins.

En el modo Único, puedes establecer cuantos coins dará cada Jefe/Mob/etc.

 

Como se configura?

Simple:

MODO ÚNICO

Si eliges el modo Único para que tu elijas la cantidad de Coins que quieres que otorgue cada Boss, tienes que agregarlos a este Array, en este formato

[ID_DEL_BOSS] = CANTIDAD_DE_COINS, (El ultimo nunca debe llevar una coma "," al final). Esto lo miras en la quest:

local boss = {
     ID ->   [101] = 100, <-- Cantidad de coins
                [102] = 200,
                [103] = 300,
                [104] = 400 <--- El último no lleva coma ","
            }

 

MODO GLOBAL

Si eliges el modo Global para que todos los boss den la misma cantidad de Coins, tienes que añadirlos a este otro Array simple, en este formato:

{ID_DEL_BOSS, ID_DEL_BOSS, ID_DEL_BOSS} (El último de aquí tampoco lleva coma "," al final). Esto también lo miras en la quest:

local race = {101,102,103,104} <------ El ultimo no lleva coma

Para establecer la cantidad de coins global de este, lo cambias aquí:

{
                ["coins"] = 100, <---------------------------
                ["player"] = pc.get_account_id()
            }

 

¿COMO PUEDO SELECCIONAR LA VERSION ÚNICA O GLOBAL?

Con cambiar un numero lo harás:

if give_coins_by_boss.set_config(1) then -- Cambia este valor por 0 para activar el modo Único, déjalo en 1 para activar el modo Global.

FIN DEL TUTORIAL

 

Saludos, aburrimiento, ojalá te sirva de alguna manera, háblame al privado si tienes alguna duda, y como conclusión: Sí, se puede hacer una quest que otorgue coins, de muchas formas, esta es una de ellas, y al igual que esto existen muchas otras cosas que se pueden hacer.

Enlace para comentar
Compartir en otros sitios

En 15/1/2018 a las 4:01, Jayden dijo:

Estaba aburrido así que te hice esta quest.


-- //Jayden//
quest give_coins_by_boss begin
	state start begin
		-- Quest functions
		function set_unique_boss()
			local boss = {  -- Si eliges la versión de boss por coins unico, coloca aqui en el mismo formato los boss que quieras: [ID_MOB] = CANTIDAD_DE_COINS,
				[101] = 100,
				[102] = 200,
				[103] = 300,
				[104] = 400
			}
			return boss[npc.get_race()]
		end
		function check_race_exist(x)
			local race = {101,102,103,104} -- Si eliges la versión de boss global, coloca aqui en el mismo formato los boss que quieras: {ID_MOB, ID_MOB, ID_MOB}
			for index, value in ipairs(race) do
				if value == x then
					return true
				end
			end
			return false
		end
		function settings()
			return
			{
				["coins"] = 100, -- Introduce aquí la cantidad de Coins en caso de ser la versión global que quieras que de a todos los boss dentro de la lista.
				["player"] = pc.get_account_id()
			}
		end
		function set_config(val)
			if val == 1 then
				return true
			else
				return false
			end
		end
		-- ./Quest functions

		-- Quest body
		when kill with not npc.is_pc() begin
			local settings,boss_setting = give_coins_by_boss.settings(), give_coins_by_boss.set_unique_boss()
			if give_coins_by_boss.set_config(1) then -- Cambia este valor por 0 para activar el modo unico, dejalo en 1 para activar el modo global.
				if give_coins_by_boss.check_race_exist(npc.get_race()) then
					mysql_query(string.format("UPDATE account.account SET coins=coins+%d WHERE id = %d",settings.coins,settings.player))
				end
			else
				mysql_query(string.format("UPDATE account.account SET coins=coins+%d WHERE id = %d",boss_setting,settings.player))				
			end
		end
	end
end

-- //Jayden//

Pues te explico.

Tiene dos formas de entregar los coins: Global y Único (No se me ocurrió otro nombre.)

En el modo Global, todos los Jefes/Mobs/etc que ingreses en la lista, darán la misma cantidad de coins.

En el modo Único, puedes establecer cuantos coins dará cada Jefe/Mob/etc.

 

Como se configura?

Simple:

MODO ÚNICO

Si eliges el modo Único para que tu elijas la cantidad de Coins que quieres que otorgue cada Boss, tienes que agregarlos a este Array, en este formato

[ID_DEL_BOSS] = CANTIDAD_DE_COINS, (El ultimo nunca debe llevar una coma "," al final). Esto lo miras en la quest:

local boss = {
     ID ->   [101] = 100, <-- Cantidad de coins
                [102] = 200,
                [103] = 300,
                [104] = 400 <--- El último no lleva coma ","
            }

 

MODO GLOBAL

Si eliges el modo Global para que todos los boss den la misma cantidad de Coins, tienes que añadirlos a este otro Array simple, en este formato:

{ID_DEL_BOSS, ID_DEL_BOSS, ID_DEL_BOSS} (El último de aquí tampoco lleva coma "," al final). Esto también lo miras en la quest:

local race = {101,102,103,104} <------ El ultimo no lleva coma

Para establecer la cantidad de coins global de este, lo cambias aquí:

{
                ["coins"] = 100, <---------------------------
                ["player"] = pc.get_account_id()
            }

 

¿COMO PUEDO SELECCIONAR LA VERSION ÚNICA O GLOBAL?

Con cambiar un numero lo harás:

if give_coins_by_boss.set_config(1) then -- Cambia este valor por 0 para activar el modo Único, déjalo en 1 para activar el modo Global.

FIN DEL TUTORIAL

 

Saludos, aburrimiento, ojalá te sirva de alguna manera, háblame al privado si tienes alguna duda, y como conclusión: Sí, se puede hacer una quest que otorgue coins, de muchas formas, esta es una de ellas, y al igual que esto existen muchas otras cosas que se pueden hacer.

gracias por tu ayuda

Enlace para comentar
Compartir en otros sitios

  • Dilong locked this tema
Guest
Este tema está cerrado a otras respuestas.
  • Recientemente navegando por este tema   0 miembros

    • No hay usuarios registrados visitando esta página.
×
×
  • Crear nuevo...