Então cara, é só você colocar só os monstros que quiser, siga o script desse link: http://www.xtibia.com/forum/topic/151636-simple-task-20/ Mas, em vez de colocar o data/lib que tem lá, você coloca esse:
tasktabble = {
["minotaur"] = {storage_start = 200201, storage = 9100,count = 12,exp = 1000,reward = {{2656,1},{7730,1},{2152,20}}},
["dragon"] = {storage_start = 200202, storage = 9101,count = 14,exp = 2000,reward = {{2152,50}}},
["necromancer"] = {storage_start = 200203, storage = 9102,count = 25,exp = 4000,reward = {{2462,1},{2648,1},{2152,35}}}
}
function CheckTask(cid)
for k, v in pairs(tasktabble) do
if getPlayerStorageValue(cid,v.storage_start) >= 1 then
return true
end
end
return false
end
function finisheAllTask(cid)
local x = true
for k, v in pairs(tasktabble) do
if tonumber(getPlayerStorageValue(cid,v.storage)) then
x = false
end
end
if x == true then
local b = getGlobalStorageValue(63004) if b == -1 then b = 1 end
if b < 11 then
setGlobalStorageValue(63004,b+1)
doBroadcastMessage('[Task Mission Complete] '..getCreatureName(cid)..' was the '..b..'° to finish the task!.')
doPlayerAddPremiumDays(cid, 10)
doItemSetAttribute(doPlayerAddItem(cid, 7369), "name", "trophy of the 10 firsts finish all task")
end
end
end
function getItemsInContainerById(container, itemid) -- Function By Kydrai
local items = {}
if isContainer(container) and getContainerSize(container) > 0 then
for slot=0, (getContainerSize(container)-1) do
local item = getContainerItem(container, slot)
if isContainer(item.uid) then
local itemsbag = getItemsInContainerById(item.uid, itemid)
for i=0, #itemsbag do
table.insert(items, itemsbag[i])
end
else
if itemid == item.itemid then
table.insert(items, item.uid)
end
end
end
end
return items
end
function doPlayerAddItemStacking(cid, itemid, quant) -- by mkalo
local item = getItemsInContainerById(getPlayerSlotItem(cid, 3).uid, itemid)
local piles = 0
if #item > 0 then
for i,x in pairs(item) do
if getThing(x).type < 100 then
local it = getThing(x)
doTransformItem(it.uid, itemid, it.type+quant)
if it.type+quant > 100 then
doPlayerAddItem(cid, itemid, it.type+quant-100)
end
else
piles = piles+1
end
end
else
return doPlayerAddItem(cid, itemid, quant)
end
if piles == #item then
doPlayerAddItem(cid, itemid, quant)
end
end
function getItemsFromList(items) -- by vodka
local str = ''
if table.maxn(items) > 0 then
for i = 1, table.maxn(items) do
str = str .. items[i][2] .. ' ' .. getItemNameById(items[i][1])
if i ~= table.maxn(items) then str = str .. ', ' end end end
return str
end
function doAddItemsFromList(cid,items) -- by vodka
if table.maxn(items) > 0 then
for i = 1, table.maxn(items) do
local count = items[i][2]
while count > 0 do
if isItemStackable(items[i][1]) then
doPlayerAddItemStacking(cid, items[i][1], 1)
else
doPlayerAddItem(cid, items[i][1],1)
end
count = count - 1
end
end
end
end
function pairsByKeys(t, f)
local a = {}
for n in pairs(t) do table.insert(a, n) end
table.sort(a, f)
local i = 0
local iter = function ()
i = i + 1
if a[i] == nil then return nil
else return a[i], t[a[i]]
end
end
return iter
end
Daí só precisa editar a seu gosto: count = 12,exp = 1000,reward = {{2656,1},{7730,1},{2152,20}}}, ===> count = quantidade de monstros, exp = Experiência que o player ganhará ao terminar a task e falar com o npc, reward = Items que o player ganhará do NPC. Depois, é só você colocar um tile com a actionid na frente do teleport, para que só passe aqueles players que tiverem o storage da task.
Actionid para teleport do Minotaur = 9000 / Actionid para dragon = 9101 / Actionid para necro = 9102