Ir para conteúdo
  • 0

Add Item ao Player ao Matar Monstro


blaster_kid

Pergunta

Bom, gente se alguém puder me ajudar preciso de um script que ao matar um monstro o player receba um determinado item até atingir uma certa quantia.


Mas não pode ser em sequência tem de ser rândomico "as vezes vir o item vezes não".



Exemplo:



Matar um Troll e o player receba uma sword ou não recebe nada, quando atingir um total de 10 o char para de receber..



versão: 8.60



Agradeço desde já.


Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

@@blaster_kid,

 

Em data/creaturescripts/creaturescripts.xml adicione a seguinte tag:

<event type="kill" name="AwardKill" script="awardkill.lua"/>
Agora em data/creaturescripts/scripts crie um arquivo chamado awardkill.lua com o seguinte conteúdo:

local config = {
	["Demon"] =  {
		storage = 10530,
		chance = 30,
		items = {
			{id = 2160, count = 5},
			{id = 2400, count = 1}
		}
	},
	["Dragon"] =  {
		storage = 10531,
		chance = 60,
		items = {
			{id = 2160, count = 5},
			{id = 2400, count = 1}
		}
	},
	["Hero"] =  {
		storage = 10532,
		chance = 15,
		items = {
			{id = 2160, count = 5},
			{id = 2400, count = 1}
		}
	}
}

function onKill(cid, target)
	if isPlayer(target) then return true end
	local criatura = getCreatureName(target):lower()
	for i, j in pairs(config) do
		local nome = i:lower()
		if nome == criatura then
			local str = getPlayerStorageValue(cid, j.storage)
			if str < 10 then
				local rand = math.random(1, 100)
				if rand <= j.chance then
					local item = math.random(1, #j.items)
					doPlayerAddItem(cid, j.items[item].id, j.items[item].count)
					doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Parabens! Voce ganhou um premio por matar ' .. criatura .. '.')
					setPlayerStorageValue(cid, j.storage, str < 0 and 1 or str + 1)
				end
			end
		end
	end
	return true
end
Ainda em data/creaturescripts/scripts, abra o arquivo login.lua e adicione o seguinte conteúdo antes do último return true:

registerCreatureEvent(cid, "AwardKill")
Explicação:

["Demon"] -- nome da criatura
storage = 10530 -- uma storage livre para fazer a contagem para que o player receba apenas 10 vezes a recompensa
chance = 30 -- change em porcentagem para que ele receba o item

items = {
	{id = 2160, count = 5},
	{id = 2400, count = 1}
}
Aqui é uma tabela, onde cada linha será um item aleatório que ele poderá receber, basta colocar o id e a quantidade.
Att.
Link para o comentário
Compartilhar em outros sites

  • 0

@Bruno Minervino

 

É isso ai Amigo bem isso mesmo que preciso, vou ter de dar uma modificada para caber no que eu preciso. Mas funcionou perfeitamente.

 

Vlws mesmo.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...