Postado Março 16, 2017 8 anos Rapazes Tenho essa script aq de task queria saber se tem como colocar ela pra poder tipo fiz uma tasque sei la de rato hora q termina eu poder fazer ela de novo pra sempre no infinoto... <?xml version="1.0" encoding="UTF-8"?> <mod name="simple_task" version="3.0" author="Vodkart" contact="xtibia.com" enabled="yes"> <config name="task_func"><![CDATA[ tasktabble = { ["monstro"] = {monster_race={"monstro","monstro do pantano"}, storage_start = 200201, storage = 91001,count = 150,exp = 5000,money = 500}, ["rato"] = {monster_race={"rato","ratazana"}, storage_start = 200202, storage = 91002,count = 50,exp = 1200,money = 150}, ["aranha"] = {monster_race={"aranha","aranha venenosa"}, storage_start = 200203, storage = 91003,count = 50,exp = 1200,money = 500}, ["lobo"] = {monster_race={"lobo","lobo assassino","lobo branco"}, storage_start = 200204, storage = 91004,count = 150,exp = 2000,money = 500}, ["verme"] = {monster_race={"verme"}, storage_start = 200205, storage = 91005,count = 150,exp = 2000,money = 500}, ["ogro"] = {monster_race={"ogro","ogro guerreiro"}, storage_start = 200206, storage = 91006,count = 150,exp = 2000,money = 1500}, ["besouro"] = {monster_race={"besouro"}, storage_start = 200207, storage = 91007,count = 50,exp = 1000,money = 500}, ["vespa"] = {monster_race={"vespa"}, storage_start = 200208, storage = 91008,count = 50,exp = 1000,money = 500}, ["centopeia"] = {monster_race={"centopeia"}, storage_start = 200209, storage = 91009,count = 50,exp = 2000,money = 500}, ["gosma"] = {monster_race={"gosma"}, storage_start = 200210, storage = 91010,count = 50,exp = 2000,money = 500}, ["serpente"] = {monster_race={"serpente"}, storage_start = 200211, storage = 91011,count = 50,exp = 1000,money = 500}, ["escorpiao"] = {monster_race={"escorpiao"}, storage_start = 200212, storage = 91012,count = 50,exp = 1000,money = 500}, ["troll"] = {monster_race={"troll"}, storage_start = 200213, storage = 91013,count = 500,exp = 10000,money = 3000}, ["cyclops"] = {monster_race={"cyclops"}, storage_start = 200217, storage = 91017,count = 500,exp = 10000,money = 3000}, ["goblins"] = {monster_race={"goblin","goblin assassino","goblin lider"}, storage_start = 200214, storage = 91014,count = 500,exp = 4000,money = 1500}, ["ursos"] = {monster_race={"urso"}, storage_start = 200215, storage = 91015,count = 50,exp = 1000,money = 500}, ["minotauros"] = {monster_race={"minotauro","minotauro guarda", "minotauro mago"}, storage_start = 200216, storage = 91016,count = 1000,exp = 40000,money = 10000} } 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,10000}, money = {true,10000}, items ={true,{{2124,2},{2173,1}}} } 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('[Voce Completou a tarefa] '..getCreatureName(cid)..' was the '..b..' para termina a tarefa!.') 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).." completou todo as tarefas.") 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="!tarefa" 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 .. "Lista de Tarefas :\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 "Parabens! Voce terminou a tarefa de "..race.."." or "Criaturas Derrotadas: [" .. contagem .. "/" .. mob.count .. "] " .. race .. ".").."") end end end end end return true end]]></event> </mod>
Postado Março 16, 2017 8 anos vai no npc e procure por essa linha: setPlayerStorageValue(cid, v.storage, "Finished") e deixe ela assim: setPlayerStorageValue(cid, v.storage, 0) obs: você parece o zacarias mano [*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*] DISCORD: vodkart#6090
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.