Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Olá Rapaziada do TK ! :D

Galera, estou fazendo algumas configurações em um servidor porem estou com um dificuldade por aqui...

 

Será que alguém poderia me ajudar a criar um sistema de addon por task?

EXEMPLO: Matar 1000 Dragons para receber o addon do Citizen... 10 Ferumbras para o addon Mage e etc??

 

:O

Link para o post
Compartilhar em outros sites
4 horas atrás, luuuck disse:

Olá Rapaziada do TK ! :D

Galera, estou fazendo algumas configurações em um servidor porem estou com um dificuldade por aqui...

 

Será que alguém poderia me ajudar a criar um sistema de addon por task?

EXEMPLO: Matar 1000 Dragons para receber o addon do Citizen... 10 Ferumbras para o addon Mage e etc??

 

:O

Versão do servidor?

Link para o post
Compartilhar em outros sites
23 horas atrás, luuuck disse:

Olá Rapaziada do TK ! :D

Galera, estou fazendo algumas configurações em um servidor porem estou com um dificuldade por aqui...

 

Será que alguém poderia me ajudar a criar um sistema de addon por task?

EXEMPLO: Matar 1000 Dragons para receber o addon do Citizen... 10 Ferumbras para o addon Mage e etc??

 

:O

 

Poderia ser assim.. Matou os 1000 dragons, fala com o npc e ele te da um item! Ai tu da use no item e ganha o citizen addon ?! VLw!

Link para o post
Compartilhar em outros sites
20 horas atrás, Kemmlly disse:

Versão do servidor?

8.60 amigo

2 horas atrás, Mathwsz disse:

 

Poderia ser assim.. Matou os 1000 dragons, fala com o npc e ele te da um item! Ai tu da use no item e ganha o citizen addon ?! VLw!

Poderia sim, mas ai teria que ser 1 item para cada addon correto?

Editado por luuuck (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

@luuuck Tipo, matou os 1000 dragons vai ganhar um item que tu troca pelo addon que quiser. Ai tu poe outra task matar 1000 demon, ai ganha o item e troca com o npc pelo addon que quiser..

Link para o post
Compartilhar em outros sites
58 minutos atrás, Mathwsz disse:

@luuuck Tipo, matou os 1000 dragons vai ganhar um item que tu troca pelo addon que quiser. Ai tu poe outra task matar 1000 demon, ai ganha o item e troca com o npc pelo addon que quiser..

Otimo assim irmão, mas como posso fazer isso?

Link para o post
Compartilhar em outros sites
1 minuto atrás, luuuck disse:

Otimo assim irmão, mas como posso fazer isso?

 

Vou fazer para tu, mas primeiro preciso de informaçoes:

 

Qual vai ser o bicho que deve matar e a quantidade

Qual vai ser o item que ganha e depois troca com o npc?

..

Link para o post
Compartilhar em outros sites
8 minutos atrás, Mathwsz disse:

 

Vou fazer para tu, mas primeiro preciso de informaçoes:

 

Qual vai ser o bicho que deve matar e a quantidade

Qual vai ser o item que ganha e depois troca com o npc?

..

Não pode fazer de um modo que eu consiga fazer as alteraçoes depois? Acho q ficaria mais simples do que eu passar de todos os addons

Link para o post
Compartilhar em outros sites
Agora, luuuck disse:

Não pode fazer de um modo que eu consiga fazer as alteraçoes depois? Acho q ficaria mais simples do que eu passar de todos os addons

Tem como sim, vou fazer aqui e jaja posto aqui! @luuuck

Link para o post
Compartilhar em outros sites

@luuuck Amigo, estou sem tempo agora mais sei que tu é inteligente, então vou deixar os tópicos tudo organizadinho e você vai só copiando e colando lá e dps configura..

Task: 

 

OBS: Onde tem para configurar o id do item, lembre-se que vai ser ele que vai ser trocado na hr de pegar o addon!

 

Npc que troca item pelo addon:

 

OBS ²: Desculpe por não fazer para ti, mais acho que desse jeito tu consegue direitinho! Desculpa msm e boa sorte amigo.

Link para o post
Compartilhar em outros sites

@Mathwsz

Consegui tudo cara, só estou com uma dúvida, o script que me passou é perfeito, da EXP, Money e tudo mais, porem precisava de algumas informações se possivel:

 

Por exemplo, precisava que esse monstro (que não será um troll), alem da experiência e do dinheiro ao termino, ganhar por exemplo 100 items de id 5878 (no caso 100 minotaur leather), como eu posso adicionar isso?

["troll"] = {monster_race={"troll","frost troll","furious troll","island troll","swamp troll","troll champion","troll legionnaire"}, storage_start = 200201, storage = 91001,count = 150,exp = 200,money = 250},

 

E também remover o lance de precisar matar o boss de algumas tasks, para que ele não precise se teleportar até o boss, apenas termine e já ganhe a recompensa...

 

Se puder me ajudar ficaria grato :)

Editado por luuuck (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

@Kemmlly Ajuda o @luuuck Terminar ai, tou tendo que estudar e tou sem tempo, entrei rapidinho! Vlw e desculpa por não poder lhe ajudar totalmente luuuck!

Link para o post
Compartilhar em outros sites
2 horas atrás, luuuck disse:

@Mathwsz

Consegui tudo cara, só estou com uma dúvida, o script que me passou é perfeito, da EXP, Money e tudo mais, porem precisava de algumas informações se possivel:

 

Por exemplo, precisava que esse monstro (que não será um troll), alem da experiência e do dinheiro ao termino, ganhar por exemplo 100 items de id 5878 (no caso 100 minotaur leather), como eu posso adicionar isso?


["troll"] = {monster_race={"troll","frost troll","furious troll","island troll","swamp troll","troll champion","troll legionnaire"}, storage_start = 200201, storage = 91001,count = 150,exp = 200,money = 250},

 

E também remover o lance de precisar matar o boss de algumas tasks, para que ele não precise se teleportar até o boss, apenas termine e já ganhe a recompensa...

 

Se puder me ajudar ficaria grato :)

Pela manhã resolvo pra você, me manda o script.

Link para o post
Compartilhar em outros sites
<?xml version="1.0" encoding="UTF-8"?>  

<mod name="Simple Task" version="3.0" author="Vodkart" contact="tibiaking.com" enabled="yes">  

<config name="task_func"><![CDATA[


tasktabble = {

["citizen"] = {monster_race={"minotaur","minotaur archer","minotaur guard"}, storage_start = 200201, storage = 91001,count = 3,exp = 1500000,money = 250000},

["hunter"] = {monster_race={"cyclops","cyclops smith","cyclops drone"}, storage_start = 200202, storage = 91002,count = 3,exp = 1500000,money = 250000},

["knight"] = {monster_race={"black knight"}, storage_start = 200203, storage = 91003,count = 3,exp = 1500000,money = 250000},

["mage"] = {monster_race={"Ferumbras"}, storage_start = 200204, storage = 91004,count = 3,exp = 3000000,money = 1000000},

["summoner"] = {monster_race={"serpent spawn"}, storage_start = 200205, storage = 91005,count = 3,exp = 2000000,money = 800000},

["warrior"] = {monster_race={"demon"}, storage_start = 200206, storage = 91006,count = 3,exp = 2000000,money = 800000},

["barbarian"] = {monster_race={"behemoth"}, storage_start = 200207, storage = 91007,count = 3,exp = 1500000,money = 500000},

["druid"] = {monster_race={"hydra"}, storage_start = 200208, storage = 91008,count = 3,exp = 1500000,money = 500000},

["wizard"] = {monster_race={"hellspawn"}, storage_start = 200210, storage = 91010,count= 3,exp = 1500000,money = 500000},

["oriental"] = {monster_race={"dragon lord"}, storage_start = 200211, storage = 91011,count= 3,exp = 2000000,money = 800000},

["pirate"] = {monster_race={"hero"}, storage_start = 200212, storage = 91012,count= 3, exp = 1500000,money = 250000},

["assassin"] = {monster_race={"warlock"}, storage_start = 200213, storage = 91013,count= 3, exp = 2000000,money = 800000},

["beggar"] = {monster_race={"ancient scarab"}, storage_start = 200214, storage = 91014,count= 3, exp = 1500000,money = 250000},

["shaman"] = {monster_race={"medusa"}, storage_start = 200215, storage = 91015,count = 3, exp = 2000000, money = 800000},

["nightmare"] = {monster_race={"juggernaut"}, storage_start = 200215, storage = 91016,count = 3, exp = 2500000, money = 800000},

["jester"] = {monster_race={"bog raider"}, storage_start = 200217, storage = 91017,count = 2, exp = 1500000, money = 250000},

["yalaharian"] = {monster_race={"destroyer"}, storage_start = 200218, storage = 91018,count = 3, exp = 1500000, money = 500000},

["brotherhood"] = {monster_race={"grim reaper"}, storage_start = 200219, storage = 91019,count = 1800, exp = 3000000, money = 1000000},

["serpent spawn"] = {monster_race={"serpent spawn"}, storage_start = 200220, storage = 91020,count = 3, exp = 70000, money = 30000},

["warmaster"] = {monster_race={"lizard chosen"}, storage_start = 200221, storage = 91021,count = 3, exp = 2000000, money = 800000},

[""] = {monster_race={"quara predator","quara constrictor","quara hydromancer","quara mantassin","quara pincher"}, storage_start = 200222, storage = 91022,count = 300, exp = 40000, money = 50000},

[""] = {monster_race={"quara predator scout","quara constrictor scout","quara hydromancer scout","quara mantassin scout","quara pincher scout"}, storage_start = 200223, storage = 91023,count = 300, exp = 50000, money = 60000}

}



configbosses_task = {

{race = "minotaur",Playerpos = {x = 189, y = 57, z = 7}, FromPosToPos = {{x = 186, y = 54, z = 7},{x = 193, y = 60, z = 7}},time = 5},

{race = "necromancer",Playerpos = {x = 196, y = 39, z = 7}, FromPosToPos = {{x = 195, y = 37, z = 7},{x = 198, y = 41, z = 7}}, time = 5},

{race = "dragon",Playerpos = {x = 208, y = 59, z = 7}, FromPosToPos = {{x = 206, y = 56, z = 7},{x = 209, y = 65, z = 7}}, time = 5}

}


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 config = {

exp = {true,100000},

money = {true,200000},

items ={false,{{2124,2},{2173,1}}},

premium ={true,5}

}

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

setPlayerStorageValue(cid, 521456, 0)

local b = getGlobalStorageValue(63005) if b == -1 then b = 1 end

if b < 11 then

setGlobalStorageValue(63005,b+1)

doBroadcastMessage('[Task Mission Complete] '..getCreatureName(cid)..' was the '..b..' to finish the task!.')

doPlayerAddPremiumDays(cid, config.premium[1] == true and config.premium[2] or 0)

doPlayerAddExp(cid, config.exp[1] == true and config.exp[2] or 0)

doPlayerAddMoney(cid, config.money[1] == true and config.money[2] or 0)

if config.items[1] == true then doAddItemsFromList(cid,config.items[2]) end

doItemSetAttribute(doPlayerAddItem(cid, 7369), "name", "trophy "..getCreatureName(cid).." completed all the task.")

end

end

end

function HavePlayerPosition(cid, from, to)

	return isInRange(getPlayerPosition(cid), from, to) and true or false

end

function getRankStorage(cid, value, max, RankName) -- by vodka

local str =""

str = "--[".. (RankName == nil and "RANK STORAGE" or ""..RankName.."") .."]--\n\n"

local query = db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = "..value.." ORDER BY cast(value as INTEGER) DESC;")

if (query:getID() ~= -1) then k = 1 repeat if k > max then break end

str = str .. "\n " .. k .. ". "..getPlayerNameByGUID(query:getDataString("player_id")).." - [" .. query:getDataInt("value") .. "]"

k = k + 1 until not query:next() end return doShowTextDialog(cid, 2529, str)

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

]]></config>

<event type="login" name="TaskLogin" event="script"><![CDATA[

function onLogin(cid)

registerCreatureEvent(cid, "KillTask")

return true

end]]></event>

<talkaction words="/task;!task" event="buffer"><![CDATA[

domodlib('task_func')

local param = string.lower(param)

if param == "rank" then

getRankStorage(cid, 521456, 20, "Task Rank Finalizadas") return true

end

local str = ""

str = str .. "Task Completed :\n\n"

for k, v in pairsByKeys(tasktabble) do

local contagem = getPlayerStorageValue(cid, v.storage)

if (contagem == -1) then contagem = 1 end

str = str..k.." = ".. (not tonumber(contagem) and "["..contagem.."]" or "["..((contagem)-1).."/"..v.count.."]") .."\n"

end

str = str .. ""

return doShowTextDialog(cid, 8983, str)

]]></talkaction>	

<event type="kill" name="KillTask" event="script"><![CDATA[

domodlib('task_func')

function onKill(cid, target, lastHit)

if(isMonster(target) == true) then

local n = string.lower(getCreatureName(target))

for race, mob in pairs(tasktabble) do

if getPlayerStorageValue(cid,mob .storage_start) >= 1 then

for i = 1,#mob.monster_race do

if n == mob.monster_race[i] then

local contagem = getPlayerStorageValue(cid, mob.storage)

if (contagem == -1) then contagem = 1 end

if not tonumber(contagem) then return true end

if contagem > mob.count then return true end

if contagem > mob.count then return true end

setPlayerStorageValue(cid, mob.storage, contagem+1)

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,""..(contagem == mob.count and "Congratulations! You finished the task of "..race.."." or "defeated. Total [" .. contagem .. "/" .. mob.count .. "] " .. race .. ".").."")

end

end

end

end

end

return true

end]]></event>

</mod>

@Kemmlly, já está tudo configurado, a exp e o dinheiro... precisava configurar por exemplo esse primeiro o 'Citizen', alem de receber o 1500000exp e 250000gold receber também 100 iron ores, que seria de id 5878

Link para o post
Compartilhar em outros sites
Em 13/07/2016 at 20:09, luuuck disse:

<?xml version="1.0" encoding="UTF-8"?>  

<mod name="Simple Task" version="3.0" author="Vodkart" contact="tibiaking.com" enabled="yes">  

<config name="task_func"><![CDATA[


tasktabble = {

["citizen"] = {monster_race={"minotaur","minotaur archer","minotaur guard"}, storage_start = 200201, storage = 91001,count = 3,exp = 1500000,money = 250000},

["hunter"] = {monster_race={"cyclops","cyclops smith","cyclops drone"}, storage_start = 200202, storage = 91002,count = 3,exp = 1500000,money = 250000},

["knight"] = {monster_race={"black knight"}, storage_start = 200203, storage = 91003,count = 3,exp = 1500000,money = 250000},

["mage"] = {monster_race={"Ferumbras"}, storage_start = 200204, storage = 91004,count = 3,exp = 3000000,money = 1000000},

["summoner"] = {monster_race={"serpent spawn"}, storage_start = 200205, storage = 91005,count = 3,exp = 2000000,money = 800000},

["warrior"] = {monster_race={"demon"}, storage_start = 200206, storage = 91006,count = 3,exp = 2000000,money = 800000},

["barbarian"] = {monster_race={"behemoth"}, storage_start = 200207, storage = 91007,count = 3,exp = 1500000,money = 500000},

["druid"] = {monster_race={"hydra"}, storage_start = 200208, storage = 91008,count = 3,exp = 1500000,money = 500000},

["wizard"] = {monster_race={"hellspawn"}, storage_start = 200210, storage = 91010,count= 3,exp = 1500000,money = 500000},

["oriental"] = {monster_race={"dragon lord"}, storage_start = 200211, storage = 91011,count= 3,exp = 2000000,money = 800000},

["pirate"] = {monster_race={"hero"}, storage_start = 200212, storage = 91012,count= 3, exp = 1500000,money = 250000},

["assassin"] = {monster_race={"warlock"}, storage_start = 200213, storage = 91013,count= 3, exp = 2000000,money = 800000},

["beggar"] = {monster_race={"ancient scarab"}, storage_start = 200214, storage = 91014,count= 3, exp = 1500000,money = 250000},

["shaman"] = {monster_race={"medusa"}, storage_start = 200215, storage = 91015,count = 3, exp = 2000000, money = 800000},

["nightmare"] = {monster_race={"juggernaut"}, storage_start = 200215, storage = 91016,count = 3, exp = 2500000, money = 800000},

["jester"] = {monster_race={"bog raider"}, storage_start = 200217, storage = 91017,count = 2, exp = 1500000, money = 250000},

["yalaharian"] = {monster_race={"destroyer"}, storage_start = 200218, storage = 91018,count = 3, exp = 1500000, money = 500000},

["brotherhood"] = {monster_race={"grim reaper"}, storage_start = 200219, storage = 91019,count = 1800, exp = 3000000, money = 1000000},

["serpent spawn"] = {monster_race={"serpent spawn"}, storage_start = 200220, storage = 91020,count = 3, exp = 70000, money = 30000},

["warmaster"] = {monster_race={"lizard chosen"}, storage_start = 200221, storage = 91021,count = 3, exp = 2000000, money = 800000},

[""] = {monster_race={"quara predator","quara constrictor","quara hydromancer","quara mantassin","quara pincher"}, storage_start = 200222, storage = 91022,count = 300, exp = 40000, money = 50000},

[""] = {monster_race={"quara predator scout","quara constrictor scout","quara hydromancer scout","quara mantassin scout","quara pincher scout"}, storage_start = 200223, storage = 91023,count = 300, exp = 50000, money = 60000}

}



configbosses_task = {

{race = "minotaur",Playerpos = {x = 189, y = 57, z = 7}, FromPosToPos = {{x = 186, y = 54, z = 7},{x = 193, y = 60, z = 7}},time = 5},

{race = "necromancer",Playerpos = {x = 196, y = 39, z = 7}, FromPosToPos = {{x = 195, y = 37, z = 7},{x = 198, y = 41, z = 7}}, time = 5},

{race = "dragon",Playerpos = {x = 208, y = 59, z = 7}, FromPosToPos = {{x = 206, y = 56, z = 7},{x = 209, y = 65, z = 7}}, time = 5}

}


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 config = {

exp = {true,100000},

money = {true,200000},

items ={false,{{2124,2},{2173,1}}},

premium ={true,5}

}

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

setPlayerStorageValue(cid, 521456, 0)

local b = getGlobalStorageValue(63005) if b == -1 then b = 1 end

if b < 11 then

setGlobalStorageValue(63005,b+1)

doBroadcastMessage('[Task Mission Complete] '..getCreatureName(cid)..' was the '..b..' to finish the task!.')

doPlayerAddPremiumDays(cid, config.premium[1] == true and config.premium[2] or 0)

doPlayerAddExp(cid, config.exp[1] == true and config.exp[2] or 0)

doPlayerAddMoney(cid, config.money[1] == true and config.money[2] or 0)

if config.items[1] == true then doAddItemsFromList(cid,config.items[2]) end

doItemSetAttribute(doPlayerAddItem(cid, 7369), "name", "trophy "..getCreatureName(cid).." completed all the task.")

end

end

end

function HavePlayerPosition(cid, from, to)

	return isInRange(getPlayerPosition(cid), from, to) and true or false

end

function getRankStorage(cid, value, max, RankName) -- by vodka

local str =""

str = "--[".. (RankName == nil and "RANK STORAGE" or ""..RankName.."") .."]--\n\n"

local query = db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = "..value.." ORDER BY cast(value as INTEGER) DESC;")

if (query:getID() ~= -1) then k = 1 repeat if k > max then break end

str = str .. "\n " .. k .. ". "..getPlayerNameByGUID(query:getDataString("player_id")).." - [" .. query:getDataInt("value") .. "]"

k = k + 1 until not query:next() end return doShowTextDialog(cid, 2529, str)

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

]]></config>

<event type="login" name="TaskLogin" event="script"><![CDATA[

function onLogin(cid)

registerCreatureEvent(cid, "KillTask")

return true

end]]></event>

<talkaction words="/task;!task" event="buffer"><![CDATA[

domodlib('task_func')

local param = string.lower(param)

if param == "rank" then

getRankStorage(cid, 521456, 20, "Task Rank Finalizadas") return true

end

local str = ""

str = str .. "Task Completed :\n\n"

for k, v in pairsByKeys(tasktabble) do

local contagem = getPlayerStorageValue(cid, v.storage)

if (contagem == -1) then contagem = 1 end

str = str..k.." = ".. (not tonumber(contagem) and "["..contagem.."]" or "["..((contagem)-1).."/"..v.count.."]") .."\n"

end

str = str .. ""

return doShowTextDialog(cid, 8983, str)

]]></talkaction>	

<event type="kill" name="KillTask" event="script"><![CDATA[

domodlib('task_func')

function onKill(cid, target, lastHit)

if(isMonster(target) == true) then

local n = string.lower(getCreatureName(target))

for race, mob in pairs(tasktabble) do

if getPlayerStorageValue(cid,mob .storage_start) >= 1 then

for i = 1,#mob.monster_race do

if n == mob.monster_race[i] then

local contagem = getPlayerStorageValue(cid, mob.storage)

if (contagem == -1) then contagem = 1 end

if not tonumber(contagem) then return true end

if contagem > mob.count then return true end

if contagem > mob.count then return true end

setPlayerStorageValue(cid, mob.storage, contagem+1)

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,""..(contagem == mob.count and "Congratulations! You finished the task of "..race.."." or "defeated. Total [" .. contagem .. "/" .. mob.count .. "] " .. race .. ".").."")

end

end

end

end

end

return true

end]]></event>

</mod>

@Kemmlly, já está tudo configurado, a exp e o dinheiro... precisava configurar por exemplo esse primeiro o 'Citizen', alem de receber o 1500000exp e 250000gold receber também 100 iron ores, que seria de id 5878

doPlayerAddItem(cid, 5878, 100)

Só adicionar isso /\ embaixo de 

doPlayerAddExp(cid, config.exp[1] == true and config.exp[2] or 0)
Editado por Kemmlly (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
30 minutos atrás, luuuck disse:

Te amo

@Kemmlly hmm mas ai ele daria para todos as tasks correto? 

No caso cada task é 1 item

É só adicionar essa tag embaixo da recompensa da tag q vc quer, ou, embaixo da recompensa de terminar todas as tasks

Link para o post
Compartilhar em outros sites

@Kemmlly

 

Ficou assim porem não funcionou, bugou tudo!

["hunter"] = {monster_race={"cyclops","cyclops smith","cyclops drone"}, storage_start = 200202, storage = 91002,count = 3,exp = 1500000,money = 250000},
doPlayerAddItem(cid, 5878, 100)

 

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por danilo belato
      Fala Galera To Com um problema aki 
       
      quero exporta umas sprites de um server para colocar em outro 
       
      eu clico na sprites ai aparece tds a forma delas do lado de la >>
       
      ai eu clico nela e ponho a opiçao de export mais quando salvo a sprite ela n abri 
       
      aparece isso quando tento vê-la 
       
      visualização não disponível ( no formatos png e bitmap)
       
      Agora no formato idc fala que o paint n pode ler 
       
      me ajudem ae...
    • Por Vitor Bicaleto
      Galera to com o script do addon doll aqui, quando eu digito apenas "!addon" ele aparece assim: Digite novamente, algo está errado!"
      quando digito por exemplo: "!addon citizen" ele não funciona e não da nenhum erro
       
      mesma coisa acontece com o mount doll.. 
    • Por Ayron5
      Substitui uma stone no serve, deu tudo certo fora  esse  erro ajudem  Valendo  Rep+  Grato  

      Erro: data/actions/scripts/boost.lua:557: table index is nil
       [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)

      Script:
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo