Jump to content

quest dropar itens


Tradewind

Recommended Posts

olá, alguem me pode ajudar com uma pequena quest?

a ideia é ter varios itens e depois dropar o item X  baseado no nivel do jogador. Por exemplo:

vnum do item, level do item

10,	1	--	Espada 
20,	5	--	Espada Longa
30, 10	--	Espada Crescente
40, 15	--	Espada de Bambu
289, 75	-- Espada Venenosa

 

(limite de drop: 5 niveis de diferença entre o item e o player)

 

se o jogador for nível 10, entao ele poderá dropar o vnum 10,20, 30 ou 40 
se o jogador for nível 15, entao ele poderá dropar todos os vnum
se o jogador for nível 18, entao ele poderá dropar  o vnum 20, 30 e 40  mas nunca o vnum 10 porque passa a diferença de niveis entre jogador e item . 
Para dropar a Espada venenosa nivel75, o jogador não pode ser nivel < 70 nem superior a 80, porque irá passar o limite de drop: 5 niveis de diferença entre o item e o player

 

Como fazer isto por .Quest?

Acho que me fiz entender. Obrigado!

Edited by Tradewind
Link to comment

Acho que queres alguma coisa assim parecida:

quest drop_item begin
	state start begin
		when kill with not npc.is_pc() begin
			local drop = 
				{
					{10, 1},
					{20, 5},
					{30, 10},
					{40, 15},
					{289, 75},
				}
			for i=1, table.getn(drop) do
				if pc.level > (drop[i][2])-5 and pc.level <= (drop[i][2])+5 then
					game.drop_item_with_ownership(drop[i][1], 1)
				end --if
			end --for
		end --when
	end --state
end --quest

 

Link to comment

a quest funciona mas tem apenas um problema. Ela deixa cair todos os items que estejam dentro do "limite". é possível alterar de forma a que deixe cair apenas um item de todos os que forem possíveis?

da forma que está um char nivel 5 ira deixar cair o vnum 10,20 e 30. A quest esta fixe, mas genial seria ela deixar cair apenas um destes que são possiveis.

Obrigado

Edited by Tradewind
Link to comment

Podes colocar algo como:

for i=1, table.getn(drop) do
				local rnumber = math.random(100)
				if pc.level > (drop[i][2])-5 and pc.level <= (drop[i][2])+5 then
					if rnumber <= 30 then
						game.drop_item_with_ownership(drop[i][1], 1)
						break
					end
				end --if
			end --for

Personagem nivel 6:

Ao matar um mob, tem 30% chance de dropar o item de vnum 10 (o tier de drop anterior ao seu nível). Caso drope esse item, loop é abortado e não dropa mais nada.

Caso não drope o item de vnum10, tem 30% chance de dropar o item de vnum 20 (o tier de drop atual do seu nível). Caso drope esse item, loop é abortado e não dropa mais nada.

Caso não drope o item de vnum20, tem 30% chance de dropar o item de vnum 20 (o tier de drop superior ao seu nível). Caso drope esse item, loop é abortado. Caso não drope, resulta em nenhum drop do mob. #azar

Link to comment

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
×
×
  • Create New...