Postado Setembro 30, 2016 8 anos [18:3:46.148] [Error -NpcScript Interface] [18:3:46.148] data/npc/scripts/simple_task.lua:onCreatureSay[18:3:46.148] Description: [18:3:46.148] data/npc/scripts/simple_task.lua:88: attempt to perform arithmetic on local 'contagem' (a string value)[18:3:46.148] stack traceback:[18:3:46.148] data/npc/scripts/simple_task.lua:88: in function 'callback'[18:3:46.148] data/npc/lib/npcsystem/npchandler.lua:383: in function 'onCreatureSay'[18:3:46.148] data/npc/scripts/simple_task.lua:8: in function <data/npc/scripts/simple_task.lua:8> Mostrar conteúdo oculto Mostrar conteúdo oculto <?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 = { ["fada"] = {monster_race={"fada"}, storage_start = 200201, storage = 91001,count = 10000,exp = 1000000,money = 10000000}, ["demon vip"] = {monster_race={"demon vip","demon master vip"}, storage_start = 200202, storage = 91002,count = 10000,exp = 1000000,money = 10000000}, ["grim reaper vip"] = {monster_race={"grim reaper vip","grim reaper"}, storage_start = 200203, storage = 91003,count = 10000,exp = 1000000,money = 10000000}, ["frost dragon vip"] = {monster_race={"frost dragon vip","frost dragon"}, storage_start = 200204, storage = 91004,count = 10000,exp = 1000000,money = 10000000}, ["hacker"] = {monster_race={"hacker"}, storage_start = 200205, storage = 91005,count = 10000,exp = 1000000,money = 10000000}, ["tibia bug"] = {monster_race={"tibia bug"}, storage_start = 200206, storage = 91006,count = 10000,exp = 1000000,money = 10000000}, ["hellgorak"] = {monster_race={"hellgorak"}, storage_start = 200207, storage = 91007,count = 10000,exp = 1000000,money = 10000000}, ["abominator"] = {monster_race={"abominator"}, storage_start = 200208, storage = 91008,count = 10000,exp = 1000000,money = 10000000}, ["dark abominator"] = {monster_race={"dark abominator"}, storage_start = 200209, storage = 91009,count = 10000,exp = 1000000,money = 10000000}, ["ushuriel"] = {monster_race={"ushuriel"}, storage_start = 200210, storage = 91010,count = 10000,exp = 1000000,money = 10000000}, ["amoeba"] = {monster_race={"amoeba"}, storage_start = 200211, storage = 91011,count = 10000,exp = 1000000,money = 10000000}, ["dragao esqueleto"] = {monster_race={"bones", "dragao esqueleto"}, storage_start = 200212, storage = 91012,count = 10000,exp = 1000000,money = 10000000}, ["achad"] = {monster_race={"infernatil"}, storage_start = 200213, storage = 91013,count = 10000,exp = 1000000,money = 10000000}, ["morgaroth"] = {monster_race={"morgaroth"}, storage_start = 200214, storage = 91014,count = 10000,exp = 1000000,money = 10000000}, ["warlock vip"] = {monster_race={"warlock vip","warlock"}, storage_start = 200215, storage = 91015,count = 10000,exp = 1000000,money = 10000000}, ["medusa vip"] = {monster_race={"medusa vip", "medusa"}, storage_start = 200215, storage = 91016,count = 10000,exp = 1000000,money = 10000000}, ["hydra vip"] = {monster_race={"hydra", "hydra vip"}, storage_start = 200217, storage = 91017,count = 10000,exp = 1000000,money = 10000000}, ["webster"] = {monster_race={"webster"}, storage_start = 200218, storage = 91018,count = 10000,exp = 1000000,money = 10000000}, ["the fire elemental"] = {monster_race={"the fire elemental"}, storage_start = 200219, storage = 91019,count = 10000,exp = 1000000,money = 10000000}, ["quara abominator"] = {monster_race={"quara abominator"}, storage_start = 200220, storage = 91020,count = 10000,exp = 1000000,money = 10000000}, ["the spirit"] = {monster_race={"the spirit"}, storage_start = 200221, storage = 91021,count = 10000,exp = 1000000,money = 10000000}, ["lobisomen"] = {monster_race={"lobisomen"}, storage_start = 200222, storage = 91022,count = 10000,exp = 1000000,money = 10000000}, ["orchid frog"] = {monster_race={"orchid frog","coral frog","crimson frog","azure frog"}, storage_start = 200223, storage = 91023,count = 10000,exp = 1000000,money = 10000000}, ["behemoth"] = {monster_race={"behemoth"}, storage_start = 200224, storage = 91024,count = 10000,exp = 1000000,money = 10000000}, ["ghastly dragon"] = {monster_race={"ghastly dragon"}, storage_start = 200225, storage = 91025,count = 10000,exp = 1000000,money = 10000000}, ["achad"] = {monster_race={"achad"}, storage_start = 200226, storage = 91026,count = 10000,exp = 1000000,money = 10000000}, ["yakchal"] = {monster_race={"yakchal"}, storage_start = 200227, storage = 91026,count = 10000,exp = 1000000,money = 10000000}, ["the masked marauder"] = {monster_race={"the masked marauder"}, storage_start = 200228, storage = 91026,count = 10000,exp = 1000000,money = 10000000}, ["zoralurk"] = {monster_race={"zoralurk"}, storage_start = 200229, storage = 91026,count = 10000,exp = 1000000,money = 10000000}, ["battlemaster zunzu"] = {monster_race={"battlemaster zunzu"}, storage_start = 200230, storage = 91026,count = 10000,exp = 1000000,money = 10000000}, ["badger"] = {monster_race={"badger"}, storage_start = 200231, storage = 91026,count = 10000,exp = 1000000,money = 10000000}, ["kreebosh the exile"] = {monster_race={"kreebosh the exile"}, storage_start = 200232, storage = 91026,count = 10000,exp = 1000000,money = 10000000}, ["svoren the mad"] = {monster_race={"svoren the madr"}, storage_start = 200233, storage = 91026,count = 10000,exp = 1000000,money = 10000000}, ["orcus the cruel"] = {monster_race={"orcus the cruel"}, storage_start = 200234, storage = 91026,count = 10000,exp = 1000000,money = 10000000}, ["the dark dancer"] = {monster_race={"the dark dancer"}, storage_start = 200235, storage = 91026,count = 10000,exp = 1000000,money = 10000000}, ["ceifador"] = {monster_race={"ceifador"}, storage_start = 200236, storage = 91026,count = 10000,exp = 1000000,money = 10000000} } configbosses_task = { {race = "",Playerpos = {x = 189, y = 57, z = 7}, FromPosToPos = {{x = 186, y = 54, z = 7},{x = 193, y = 60, z = 7}},time = 5}, {race = "",Playerpos = {x = 196, y = 39, z = 7}, FromPosToPos = {{x = 195, y = 37, z = 7},{x = 198, y = 41, z = 7}}, time = 5}, {race = "",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 ={false,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) end else if itemid == item.itemid then table.insert(items, item.uid) end end end end return itemsendfunction 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) endendfunction getItemsFromList(items) -- by vodkalocal str = ''if table.maxn(items) > 0 thenfor i = 1, table.maxn(items) dostr = str .. items[2] .. ' ' .. getItemNameById(items[1])if i ~= table.maxn(items) then str = str .. ', ' end end endreturn strendfunction doAddItemsFromList(cid,items) -- by vodkaif table.maxn(items) > 0 thenfor i = 1, table.maxn(items) dolocal count = items[2]while count > 0 doif isItemStackable(items[1]) thendoPlayerAddItemStacking(cid, items[1], 1)elsedoPlayerAddItem(cid, items[1],1)endcount = count - 1endendendend 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 == nil then return nil else return a, t[a] end end return iter end]]></config><event type="login" name="TaskLogin" event="script"><![CDATA[function onLogin(cid)registerCreatureEvent(cid, "KillTask")return trueend]]></event><talkaction words="/task;!task" event="buffer"><![CDATA[domodlib('task_func')local param = string.lower(param)if param == "rank" thengetRankStorage(cid, 521456, 20, "Task Rank Finalizadas") return trueendlocal str = ""str = str .. "Task Completed :\n\n"for k, v in pairsByKeys(tasktabble) dolocal contagem = getPlayerStorageValue(cid, v.storage)if (contagem == -1) then contagem = 1 endstr = str..k.." = ".. (not tonumber(contagem) and "["..contagem.."]" or "["..((contagem)-1).."/"..v.count.."]") .."\n"endstr = 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) thenlocal n = string.lower(getCreatureName(target))for race, mob in pairs(tasktabble) doif getPlayerStorageValue(cid,mob .storage_start) >= 1 thenfor i = 1,#mob.monster_race doif n == mob.monster_race thenlocal contagem = getPlayerStorageValue(cid, mob.storage)if (contagem == -1) then contagem = 1 endif not tonumber(contagem) then return true endif contagem > mob.count then return true endif contagem > mob.count then return true endsetPlayerStorageValue(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 .. ".").."")endendendendendreturn trueend]]></event></mod> OT PURA DIVERSÃO | IP: otfun.servegame.com | 8.60 | Port: 7171
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.