Ir para conteúdo

Dropar item de todos monstros


atakashi

Posts Recomendados

Pessoal, estou precisando de um script que faça dropa tal item de todos monstros.

ou seja um script meio que de evento, no caso ter chance de dropa 1 item de todos monstros do jogo.

se alguém souber agradeço.

Link para o comentário
Compartilhar em outros sites

Pessoal, estou precisando de um script que faça dropa tal item de todos monstros.

ou seja um script meio que de evento, no caso ter chance de dropa 1 item de todos monstros do jogo.

se alguém souber agradeço.

 

Algo que voc~e deve fazer é informar para qual versão.. fica complicado se você não informa..

 

enfim para 1.2 você pode tanto definir qual monstro vai dropar ou para todos quais os items e quais a chances

math.randomseed(os.time())
local extra_loot = {
	{hasName = "rat", items = {
		{id = 2152, count = 2, chance = 40000},
		{id = 2160, countMax = 4, chance = 10000}
	}},
	{items = {
		{id = 2365, chance = 10000},
		{id = 2392, chance = 1000}
	}},
}

function Container:addExtraLoot(c, t)
	if t.hasName then
		local cn = c:getName():lower()
		local cm = t.hasName:lower()
		if not cn:match(cm) then
			return true
		end
	end
	
	for i = 1, #t.items do
		local count = 1
		if t.items[i].count then
			if t.items[i].countMax then
				count = math.random(t.items[i].count, t.items[i].countMax)
			else
				count = t.items[i].count
			end
		else
			if t.items[i].countMax then
				count = math.random(1, t.items[i].countMax)
			end
		end
		
		if math.random(0, 100000) <= t.items[i].chance then
			self:addItem(t.items[i].id, count)
		end
	end
end

function onDeath(creature, corpse, killer, mostDamage, unjustified, mostDamage_unjustified)
	if not creature:isMonster() then return true end
	if corpse and corpse:isContainer() then
		for i = 1, #extra_loot do
			corpse:addExtraLoot(creature, extra_loot[i])
		end
	end
	return true
end
Editado por DeCarvalho
Link para o comentário
Compartilhar em outros sites

Por ser um PDA, você pode registrar o evento em spawn.lua.

 

local config = {
    itemid = xxx,     --ID do item.
    count = 1,        --Quantidade.
    chance = xxx      --Chance. (como em loots comuns, sorteado entre 0 e 100000)
}
 
function onDeath(cid, corpse)
    if math.random(0, 100000) <= config.chance then
        doAddContainerItem(corpse.uid, config.itemid, config.count)
    end
    return true
end
Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

O tópico foi fechado e movido para lixeira por estar inativo a mais de 10 dias. Caso seja preciso reabrir o mesmo, favor entrar em contato com a equipe.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...