Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="ISO-8859-1"?>
- <mod name="Simple Task" version="4.0" author="Vodkart" contact="tibiaking.com" enabled="yes">
- <config name="task_func"><![CDATA[
- task_sys = {
- [1] = {name = "janemba", start = 176201, monsters_list = {"janemba lvl 1","janemba lvl 2","janemba lvl 3","janemba lvl 4","janemba lvl 5"}, level = 100, count = 500, points = 1, items = {}, reward = {{7528,2}}, exp = 0, money = 0},
- [2] = {name = "freeza", start = 176202, monsters_list = {"freeza lvl 1","freeza lvl 2","freeza lvl 3","freeza lvl 4","freeza lvl 5"}, level = 100, count = 700, points = 1, items = {}, reward = {{7528,2}}, exp = 0, money = 0},
- [3] = {name = "heaven soldier", start = 176203, monsters_list = {"heaven soldier lvl 1","heaven soldier lvl 2","heaven soldier lvl 3","heaven soldier lvl 4","heaven soldier lvl 5","heaven soldier lvl 6","heaven soldier lvl 7"}, level = 100, count = 700, points = 1, items = {}, reward = {{7528,2}}, exp = 0, money = 0},
- [4] = {name = "namekjin", start = 176204, monsters_list = {"namekjin lvl 1","namekjin lvl 2","namekjin lvl 3","namekjin lvl 4","namekjin lvl 5","namekjin lvl 6","namekjin lvl 7","namekjin lvl 8","namekjin lvl 9","namekjin lvl 10"}, level = 100, count = 1000, points = 1, items = {}, reward = {{7528,2}}, exp = 0, money = 0},
- [5] = {name = "Oozaru", start = 176205, monsters_list = {"Oozaru lvl 1","Oozaru lvl 2","Oozaru lvl 3","Oozaru lvl 4","Oozaru lvl 5","Oozaru lvl 6","Oozaru lvl 7"}, level = 100, count = 1300, points = 1, items = {}, reward = {{7528,2}}, exp = 0, money = 0},
- [6] = {name = "soldier", start = 176206, monsters_list = {"soldier lvl 1","soldier lvl 2","soldier lvl 3","soldier lvl 4","soldier lvl 5","soldier lvl 6"}, level = 100, count = 800, points = 1, items = {}, reward = {{7528,2}}, exp = 0, money = 0},
- [7] = {name = "tsufurjin", start = 176207, monsters_list = {"tsufurjin lvl 1","tsufurjin lvl 2","tsufurjin lvl 3","tsufurjin lvl 4","tsufurjin lvl 5","tsufurjin lvl 6"}, level = 100, count = 650, points = 1, items = {}, reward = {{7528,2}}, exp = 0, money = 0},
- [8] = {name = "zeltajin", start = 176208, monsters_list = {"zeltajin lvl 1","zeltajin lvl 2","zeltajin lvl 3","zeltajin lvl 4"}, level = 100, count = 1500, points = 1, items = {}, reward = {{7528,2}}, exp = 0, money = 0},
- [9] = {name = "majin", start = 176209, monsters_list = {"majin lvl 1","majin lvl 2","majin lvl 3","majin lvl 4","majin lvl 5"}, level = 100, count = 850, points = 1, items = {}, reward = {{7528,2}}, exp = 0, money = 0},
- [10] = {name = "mega mvp" ,start = 176210, monsters_list = {"xicor mega mvp","lost saiyan mega mvp","goku ssj5 mega mvp","tapion mega mvp","janemba mega mvp","c17 mega mvp","vegetto mega mvp","shin mega mvp","buu mega mvp","gohan mega mvp","goku god mega mvp","goku blue mega mvp","vegeta blue mega mvp","golden freeza mega mvp"}, level = 100, count = 666, points = 1, items = {}, reward = {{7528,2}}, exp = 0, money = 0}
- }
- daily_task = {
- [1] = {name = "Orcs" ,monsters_list = {"Orc Berserker","Orc Rider","Orc Leader","Orc Warlord"}, count = 100, points = 0, reward = {}, exp = 5000, money = 10000},
- [2] = {name = "TarantulaS" ,monsters_list = {"Tarantula"}, count = 120, points = 1, reward = {}, exp = 9000, money = 12000},
- [3] = {name = "Wyvern" ,monsters_list = {"Wyvern"}, count = 125, points = 2, reward = {}, exp = 9000, money = 15000},
- [4] = {name = "Dragons" ,monsters_list = {"Dragon","Dragon Hatchling"}, count = 150, points = 0, reward = {}, exp = 2000, money = 10000},
- [5] = {name = "Wailing Widows" ,monsters_list = {"Wailing Widows"}, count = 200, points = 1, reward = {}, exp = 20000, money = 25000},
- [6] = {name = "Ancient Scarabs" ,monsters_list = {"Ancient Scarab"}, count = 180, points = 5, reward = {}, exp = 22000, money = 18000},
- [7] = {name = "High Class Lizards" ,monsters_list = {"Corrupted Soul","Eternal Guardian","Lizard Chosen","Lizard Dragon Priest","Lizard High Guard","Lizard Legionnaire","Lizard Magistratus","Lizard Noble","Lizard Zaogun"}, count = 300, points = 3, reward = {}, exp = 50000, money = 60000},
- [8] = {name = "Mutated BatS" ,monsters_list = {"Mutated Bat"}, count = 260, points = 2, reward = {}, exp = 40000, money = 55000},
- [9] = {name = "Giant Spiders" ,monsters_list = {"Giant Spider"}, count = 350, points = 3, reward = {}, exp = 60000, money = 70000},
- [10] = {name = "Undead Dragons" ,monsters_list = {"Undead Dragon"}, count = 500, points = 3, reward = {{2173,1}}, exp = 90000, money = 120000},
- [11] = {name = "HydraS" ,monsters_list = {"Hydra"}, count = 600, points = 3, reward = {{2173,1}}, exp = 100000, money = 160000},
- [12] = {name = "Ghastly Dragons" ,monsters_list = {"Ghastly Dragon"}, count = 700, points = 3, reward = {{2173,1}}, exp = 130000, money = 200000}
- }
- task_sys_storages = {176601, 176602, 176603, 176604, 176605, 176606, 176607, 176608} -- task, points, count, daily task, daily count, daily time , daily start, contador
- function getTaskMission(cid)
- return getPlayerStorageValue(cid,task_sys_storages[1]) < 0 and 1 or getPlayerStorageValue(cid,task_sys_storages[1])
- end
- function getDailyTaskMission(cid)
- return getPlayerStorageValue(cid,task_sys_storages[4]) < 0 and 1 or getPlayerStorageValue(cid,task_sys_storages[4])
- end
- function getTaskPoints(cid)
- return getPlayerStorageValue(cid,task_sys_storages[2]) < 0 and 0 or getPlayerStorageValue(cid,task_sys_storages[2])
- end
- function doRandomDailyTask(cid)
- local t = {
- [{6,49}] = {1,3},
- [{50,79}] = {4,6},
- [{80,129}] = {7,9},
- [{130,math.huge}] = {10,12}
- }
- for a , b in pairs(t) do
- if getPlayerLevel(cid) >= a[1] and getPlayerLevel(cid) <= a[2] then
- return math.random(b[1], b[2])
- end
- end
- return 0
- end
- function GetRankTask(cid)
- local ranks = {
- [{1, 20}] = "Huntsman",
- [{21, 50}] = "Ranger",
- [{51, 100}] = "Big Game Hunter",
- [{101, 200}] = "Trophy Hunter",
- [{201, math.huge}] = "Elite Hunter"
- }
- for v , r in pairs(ranks) do
- if getTaskPoints(cid) >= v[1] and getTaskPoints(cid) <= v[2] then
- return r
- end
- end
- return 0
- end
- function getItemsFromList(items)
- 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 doRemoveItemsFromList(cid,items)
- local count = 0
- if table.maxn(items) > 0 then
- for i = 1, table.maxn(items) do
- if getPlayerItemCount(cid,items[i][1]) >= items[i][2] then
- count = count + 1 end
- end
- end
- if count == table.maxn(items) then
- for i = 1, table.maxn(items) do doPlayerRemoveItem(cid,items[i][1],items[i][2]) end
- else
- return false
- end
- return true
- end
- function getMonsterFromList(monster)
- local str = ''
- if #monster > 0 then
- for i = 1, #monster do
- str = str .. monster[i]
- if i ~= #monster then str = str .. ', ' end
- end
- end
- return str
- end
- function GiveRewardsTask(cid, items)
- local backpack = doPlayerAddItem(cid, 1999, 1) -- backpackID
- for _, i_i in ipairs(items) do
- local item, amount = i_i[1],i_i[2]
- if isItemStackable(item) or amount == 1 then
- doAddContainerItem(backpack, item, amount)
- else
- for i = 1, amount do
- doAddContainerItem(backpack, item, 1)
- end
- end
- end
- end
- function isSummon(cid)
- if(not isCreature(cid)) then
- return false
- end
- return getCreatureMaster(cid) ~= cid
- end
- ]]></config>
- <event type="login" name="TaskLogin" event="script"><![CDATA[
- function onLogin(cid)
- registerCreatureEvent(cid, "KillTask")
- registerCreatureEvent(cid, "TaskLook")
- return true
- end]]></event>
- <talkaction words="/task;!task" event="buffer"><![CDATA[
- domodlib('task_func')
- param,task,daily = param:lower(), getTaskMission(cid), getDailyTaskMission(cid)
- if isInArray({"counter","contador"},param) then
- setPlayerStorageValue(cid, task_sys_storages[8], getPlayerStorageValue(cid, task_sys_storages[8]) <= 0 and 1 or 0)
- doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"[Task System] O contador foi "..(getPlayerStorageValue(cid, task_sys_storages[8]) <= 0 and "ativado" or "desativado")..".") return true
- elseif isInArray({"daily","diaria"},param) then
- if not daily_task[daily] or getPlayerStorageValue(cid, task_sys_storages[7]) <= 0 then
- doPlayerSendCancel(cid, "Desculpe, Mas você não está em nenhuma Daily Task.") return true
- elseif getPlayerStorageValue(cid, task_sys_storages[6]) - os.time() <= 0 and getPlayerStorageValue(cid, task_sys_storages[5]) < daily_task[daily].count then
- doPlayerSendCancel(cid,"Desculpe, Mas Você não terminou a Daily Task a tempo! Por favor volte ao npc e comece uma nova Daily Task!") return true
- end
- return doShowTextDialog(cid, 8983, "[->] CURRENT DAILY TASK INFO [<-]\n\nNome: "..daily_task[daily].name.."\nProgresso: ["..(getPlayerStorageValue(cid, task_sys_storages[5]) < 0 and 0 or getPlayerStorageValue(cid, task_sys_storages[5])).."/"..daily_task[daily].count.."]\nPrazo para entrega: "..os.date("%d %B %Y %X ", getPlayerStorageValue(cid,task_sys_storages[6])).."\nMonstros para caçar: "..getMonsterFromList(daily_task[daily].monsters_list).."\n\n[->] CURRENT TASK REWARDS [<-]\n\nMoney: "..(daily_task[daily].money > 0 and daily_task[daily].money or 0).."\nExperiencia: "..(daily_task[daily].exp > 0 and daily_task[daily].exp or 0).."\nTask Points: "..daily_task[daily].points.."\nItems: "..(#daily_task[daily].reward > 0 and getItemsFromList(daily_task[daily].reward) or "Nenhum item de recompensa")..".")
- end
- if not task_sys[task] or getPlayerStorageValue(cid, task_sys[task].start) <= 0 then
- doPlayerSendCancel(cid, "você não está em nenhuma task.") return true
- end
- return doShowTextDialog(cid, 8983, "-> CURRENT TASK ["..getTaskMission(cid).."/"..#task_sys.."] <-\n\nTask Name: "..task_sys[task].name.."\nTask Level: "..task_sys[task].level.."\nTask Progress: ["..(getPlayerStorageValue(cid, task_sys_storages[3]) < 0 and 0 or getPlayerStorageValue(cid, task_sys_storages[3])).."/"..task_sys[task].count.."]\nMonster To Hunt: "..getMonsterFromList(task_sys[task].monsters_list)..".\nItens Para Entrega: "..(#task_sys[task].items > 0 and getItemsFromList(task_sys[task].items) or "Nenhum")..".\n\n[->] CURRENT TASK REWARDS [<-]\n\nReward Money: "..(task_sys[task].money > 0 and task_sys[task].money or 0).."\nReward Experiencia: "..(task_sys[task].exp > 0 and task_sys[task].exp or 0).."\nReward Points: "..task_sys[task].points.."\nRedward Items: "..(#task_sys[task].reward > 0 and getItemsFromList(task_sys[task].reward) or "Nenhum item de recompensa")..".")
- ]]></talkaction>
- <event type="look" name="TaskLook" event="script"><![CDATA[
- domodlib('task_func')
- function onLook(cid, thing, position, lookDistance)
- if isPlayer(thing.uid) and getTaskPoints(thing.uid) > 0 then
- doPlayerSetSpecialDescription(thing.uid, "\n"..(getPlayerSex(thing.uid) == 0 and "She" or "He").. " is a "..GetRankTask(thing.uid))
- end
- return true
- end]]></event>
- <event type="kill" name="KillTask" event="script"><![CDATA[
- domodlib('task_func')
- function onKill(cid, target)
- if isPlayer(cid) and isMonster(target) then
- local t,daily = task_sys[getTaskMission(cid)], daily_task[getDailyTaskMission(cid)]
- if t and getPlayerStorageValue(cid, t.start) > 0 and isInArray(t.monsters_list, getCreatureName(target):lower()) and getPlayerStorageValue(cid, task_sys_storages[3]) < t.count then
- setPlayerStorageValue(cid, task_sys_storages[3], getPlayerStorageValue(cid, task_sys_storages[3]) < 0 and 1 or (getPlayerStorageValue(cid, task_sys_storages[3])+1))
- if getPlayerStorageValue(cid, task_sys_storages[8]) <= 0 and getPlayerStorageValue(cid, task_sys_storages[3]) < t.count then
- doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"[Task System] defeated Total [" .. getPlayerStorageValue(cid, task_sys_storages[3]) .. "/" .. t.count .. "] da Task do " .. t.name .. ".")
- end
- if getPlayerStorageValue(cid, task_sys_storages[3]) >= t.count then
- doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"[Task System] You have finished the Task of "..t.name..", go back to npc seems to get your reward.")
- end
- end
- if daily and getPlayerStorageValue(cid, task_sys_storages[7]) > 0 and getPlayerStorageValue(cid, task_sys_storages[6]) - os.time() >= 0 and isInArray(daily.monsters_list, getCreatureName(target):lower()) and getPlayerStorageValue(cid, task_sys_storages[5]) < daily.count then
- setPlayerStorageValue(cid, task_sys_storages[5], getPlayerStorageValue(cid, task_sys_storages[5]) < 0 and 1 or (getPlayerStorageValue(cid, task_sys_storages[5])+1))
- if getPlayerStorageValue(cid, task_sys_storages[8]) <= 0 and getPlayerStorageValue(cid, task_sys_storages[5]) < daily.count then
- doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"[Daily Task System] defeated Total [" .. getPlayerStorageValue(cid, task_sys_storages[5]) .. "/" .. daily.count .. "] da Task do " .. daily.name .. ".")
- end
- if getPlayerStorageValue(cid, task_sys_storages[5]) >= daily.count then
- doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"[Daily Task System] Congratulations! You have finished the Task of "..daily.name..", go back to npc seems to get your reward.")
- end
- end
- end
- return true
- end]]></event>
- <movevent type="StepIn" actionid ="45250" event="script"><![CDATA[
- domodlib('task_func')
- function onStepIn(cid, item, position, fromPosition)
- local amount = 5
- if getTaskPoints(cid) < amount then
- doTeleportThing(cid, fromPosition, true)
- doPlayerSendTextMessage(cid, 25, "You can only pass if you have already completed up to task 5")
- doSendMagicEffect(getThingPos(cid), 2)
- return true
- end
- return true
- end]]></movevent>
- </mod>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement