Postado Julho 13, 2016 8 anos @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.
Postado Julho 13, 2016 8 anos Autor @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 Julho 13, 2016 8 anos por luuuck (veja o histórico de edições)
Postado Julho 13, 2016 8 anos @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!
Postado Julho 13, 2016 8 anos 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.
Postado Julho 13, 2016 8 anos Autor <?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
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.