Ir para conteúdo

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
https://xtibia.com/forum/topic/236192-dropar-item-de-todos-monstros/
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
https://xtibia.com/forum/topic/236192-dropar-item-de-todos-monstros/#findComment-1664996
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
https://xtibia.com/forum/topic/236192-dropar-item-de-todos-monstros/#findComment-1665039
Compartilhar em outros sites

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