Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?xml version="1.0" encoding="UTF-8"?>
- <mod name="Task System" version="0.4.0" author="Oskar" contact="[email protected]" enabled="yes">
- <config name="tasks_conf"><![CDATA[
- REWARD_ITEM = 1
- REWARD_EXP = 2
- REWARD_MONEY = 3
- REWARD_ADDON = 4
- REWARD_SKILL = 5
- REWARD_STORAGE = 6
- REWARD_LEVEL = 7
- AUTO_TASK_LIST = {
- [1] = {
- details = {'wolf', 'bear'}, totalKills = 500, storage = 2001, name = 'animals',
- rewards = {REWARD_ITEM, 2160, 3, REWARD_LEVEL, 0, 5},
- },
- [2] = {
- details = {'farmer'}, totalKills = 300, storage = 2002, name = 'farmers',
- rewards = {REWARD_ITEM, 2160, 5, REWARD_LEVEL, 0, 5},
- },
- [3] = {
- details = {'bandit', 'shinobazu'}, totalKills = 500, storage = 2003, name = 'bandits',
- rewards = {REWARD_ITEM, 2160, 10, REWARD_LEVEL, 0, 5},
- },
- [4] = {
- details = {'prisoner'}, totalKills = 300, storage = 2004, name = 'prisoners',
- rewards = {REWARD_ITEM, 2160, 20, REWARD_LEVEL, 0, 5},
- },
- [5] = {
- details = {'[Gaiden] Trainer', '[Gaiden] Mizuki', '[Gaiden] Naruto', '[Gaiden] Sakura', '[Gaiden] Kakashi Sensei', '[Gaiden] Sasuke Brother', '[Gaiden] Guy Sensei', '[Gaiden] Shisui', '[Gaiden] Zabuza', '[Gaiden] Haku', '[Gaiden] Rock Lee', '[Gaiden] Obito Child', '[Gaiden] Kakashi Child', '[Gaiden] Sound Orochimaru', '[Gaiden] Minato Sensei', '[Gaiden] Zaku', '[Gaiden] Kiba', '[Gaiden] Dosu', '[Gaiden] Ino', '[Gaiden] Guy', '[Gaiden] A', '[Gaiden] Bee', '[Gaiden] Jiraya', '[Gaiden] Neji', '[Gaiden] Gaara', '[Gaiden] Temari', '[Gaiden] Shukaku', '[Gaiden] Itachi', '[Gaiden] White Zetsu', '[Gaiden] Minato'}, totalKills = 500, storage = 2005, name = 'D-rank Gaidens',
- rewards = {REWARD_ITEM, 5919, 1, REWARD_LEVEL, 0, 5},
- },
- [6] = {
- details = {'sound shinobi'}, totalKills = 500, storage = 2006, name = 'sound shinobis',
- rewards = {REWARD_ITEM, 2349, 10, REWARD_LEVEL, 0, 10},
- },
- [7] = {
- details = {'[Easy] Dosu', '[Easy] Haku', '[Easy] Kiba', '[Easy] Mizuki', '[Easy] Orochimaru', '[Easy] Zabuza', '[Easy] Zaku'}, totalKills = 100, storage = 2007, name = 'easy arena enemies',
- rewards = {REWARD_ITEM, 2349, 10, REWARD_LEVEL, 0, 10},
- },
- [8] = {
- details = {'monk'}, totalKills = 500, storage = 2008, name = 'monks',
- rewards = {REWARD_ITEM, 2349, 15, REWARD_LEVEL, 0, 10},
- },
- [9] = {
- details = {'sand shinobi', 'anbu'}, totalKills = 1000, storage = 2009, name = 'shinobis',
- rewards = {REWARD_ITEM, 2349, 25, REWARD_LEVEL, 0, 10},
- },
- [10] = {
- details = {'zetsu clone'}, totalKills = 1500, storage = 2010, name = 'zetsu clones',
- rewards = {REWARD_ITEM, 2349, 50, REWARD_LEVEL, 0, 10},
- },
- [11] = {
- details = {'[Gaiden] Kisame', '[Gaiden] Jirobo', '[Gaiden] Kidomaru', '[Gaiden] Sakon', '[Gaiden] Tayuya', '[Gaiden] Tsunade', '[Gaiden] Kabuto', '[Gaiden] Sasuke', '[Gaiden] Gamabunta Naruto', '[Gaiden] Chi no Juin Sasuke', '[Gaiden] Bijuu Naruto', '[Gaiden] Kimimaro', '[Gaiden] Kakashi', '[Gaiden] Itachi Clone', '[Gaiden] Deidara', '[Gaiden] Sasori', '[Gaiden] Sai', '[Gaiden] Orochimaru'}, totalKills = 750, storage = 2011, name = 'C-rank Gaidens',
- rewards = {REWARD_ITEM, 5920, 1, REWARD_LEVEL, 0, 15},
- },
- [12] = {
- details = {'samurai' , 'cursed samurai'}, totalKills = 2000, storage = 2012, name = 'samurais',
- rewards = {REWARD_ITEM, 2349, 100, REWARD_LEVEL, 0, 15},
- },
- [13] = {
- details = {'senju member', 'uchiha member'}, totalKills = 3000, storage = 2013, name = 'clan members',
- rewards = {REWARD_ITEM, 5904, 3, REWARD_LEVEL, 0, 15},
- },
- [14] = {
- details = {'[Medium] Child Sasuke', '[Medium] Deidara', '[Medium] Hidan', '[Medium] Itachi', '[Medium] Kakuzu', '[Medium] Kimimaro', '[Medium] Sasori'}, totalKills = 200, storage = 2014, name = 'medium arena enemies',
- rewards = {REWARD_ITEM, 5904, 4, REWARD_LEVEL, 0, 15},
- },
- [15] = {
- details = {'golem', 'elite golem'}, totalKills = 2000, storage = 2015, name = 'golems',
- rewards = {REWARD_ITEM, 5904, 5, REWARD_LEVEL, 0, 15},
- },
- [16] = {
- details = {'akatsuki member'}, totalKills = 2000, storage = 2016, name = 'akatsuki members',
- rewards = {REWARD_ITEM, 5904, 10, REWARD_LEVEL, 0, 20},
- },
- [17] = {
- details = {'[Gaiden] Sasuke Shippuuden', '[Gaiden] Naruto Shippuuden', '[Gaiden] Sakura Shippuuden', '[Gaiden] Yamato', '[Gaiden] Kakashi Shippuuden', '[Gaiden] Kakuzu', '[Gaiden] Hidan', '[Gaiden] Rasa', '[Gaiden] Half-Sennin Kabuto', '[Gaiden] Itachi Shippuuden', '[Gaiden] Kankuro Shippuuden', '[Gaiden] Tobi', '[Gaiden] Zetsu Neji', '[Gaiden] Killer Bee', '[Gaiden] Chakra Mode Naruto', '[Gaiden] Pain', '[Gaiden] Mifune', '[Gaiden] Naruto Imitation', '[Gaiden] Nibi', '[Gaiden] Sanbi', '[Gaiden] Yonbi', '[Gaiden] Gobi', '[Gaiden] Rokubi', '[Gaiden] Nanabi', '[Gaiden] Edo Tensei Zabuza', '[Gaiden] Edo Tensei Haku'}, totalKills = 1000, storage = 2017, name = 'B-rank Gaidens',
- rewards = {REWARD_ITEM, 5921, 1, REWARD_LEVEL, 0, 20},
- },
- [18] = {
- details = {'edo tensei member'}, totalKills = 3000, storage = 2018, name = 'edo tensei members',
- rewards = {REWARD_ITEM, 5904, 15, REWARD_LEVEL, 0, 20},
- },
- [19] = {
- details = {'rikudou member'}, totalKills = 1000, storage = 2019, name = 'rikudou members',
- rewards = {REWARD_ITEM, 5904, 25, REWARD_LEVEL, 0, 20},
- },
- [20] = {
- details = {'[Hard] Danzou', '[Hard] Kabuto', '[Hard] Kaguya', '[Hard] Kisame', '[Hard] Madara', '[Hard] Obito', '[Hard] Raikage'}, totalKills = 300, storage = 2020, name = 'hard arena enemies',
- rewards = {REWARD_ITEM, 5904, 25, REWARD_LEVEL, 0, 20},
- },
- [21] = {
- details = {'haku', 'zabuza', 'kimimaro', 'orochimaru'}, totalKills = 100, storage = 2021, name = 'D-rank bosses',
- rewards = {REWARD_ITEM, 2160, 100, REWARD_LEVEL, 0, 25},
- },
- [22] = {
- details = {'kazekage', 'tsuchikage', 'hiruzen', 'mizukage', 'deidara', 'sasori', 'konan'}, totalKills = 200, storage = 2022, name = 'C-rank bosses',
- rewards = {REWARD_ITEM, 2349, 50, REWARD_LEVEL, 0, 25},
- },
- [23] = {
- details = {'raikage', 'tsunade', 'zetsu', 'minato', 'tobirama', 'jiraya'}, totalKills = 300, storage = 2023, name = 'B-rank bosses',
- rewards = {REWARD_ITEM, 2349, 100, REWARD_LEVEL, 0, 25},
- },
- [24] = {
- details = {'hidan', 'kakuzu', 'killer bee', 'kabuto', 'kisame', 'nagato'}, totalKills = 400, storage = 2024, name = 'A-rank bosses',
- rewards = {REWARD_ITEM, 5904, 10, REWARD_LEVEL, 0, 25},
- },
- [25] = {
- details = {'itachi', 'hashirama', 'madara', 'naruto', 'obito', 'sasuke', 'tomeri', 'kaguya'}, totalKills = 500, storage = 2025, name = 'S-rank bosses',
- rewards = {REWARD_ITEM, 5904, 25, REWARD_LEVEL, 0, 25},
- },
- [26] = {
- details = {'[mvp] itachi', '[mvp] madara', '[mvp] naruto', '[mvp] obito', '[mvp] tomeri', '[mvp] kaguya'}, totalKills = 500, storage = 2026, name = 'MVP-rank bosses',
- rewards = {REWARD_ITEM, 5904, 50, REWARD_LEVEL, 0, 30},
- },
- [27] = {
- details = {'[Gaiden] Rock Lee Imitation', '[Gaiden] Kyuubi', '[Gaiden] Raikage', '[Gaiden] Edo Tensei Hashirama', '[Gaiden] Edo Tensei Tobirama', '[Gaiden] Edo Tensei Hiruzen', '[Gaiden] Edo Tensei Minato', '[Gaiden] Mizukage', '[Gaiden] Kazekage', '[Gaiden] Edo Tensei Itachi', '[Gaiden] Tsuchikage', '[Gaiden] Edo Tensei Nagato', '[Gaiden] Danzou', '[Gaiden] Edo Tensei Madara', '[Gaiden] Zetsu', '[Gaiden] Fury Kakashi', '[Gaiden] Obito', '[Gaiden] Sennin Mode Kabuto', '[Gaiden] Juubi', '[Gaiden] Rikudou Obito', '[Gaiden] Black Zetsu', '[Gaiden] Rikudou Madara', '[Gaiden] Kaguya', '[Gaiden] Rikudou Sasuke', '[Gaiden] Rikudou Naruto'}, totalKills = 1500, storage = 2027, name = 'A-rank Gaidens',
- rewards = {REWARD_ITEM, 2160, 50, REWARD_LEVEL, 0, 30},
- },
- [28] = {
- details = {'shukaku', 'matatabi', 'isobu', 'son goku', 'kokuo', 'saiken', 'chomei', 'gyuki', 'kurama', '[mvp] juubi'}, totalKills = 25, storage = 2028, name = 'bijuus',
- rewards = {REWARD_ITEM, 2344, 3, REWARD_LEVEL, 0, 30},
- }
- }
- ]]></config>
- <event type="kill" name="taskKill" event="script"><![CDATA[
- domodlib('tasks_conf')
- local function doTakeTasksReward(cid, var)
- for i = 1, #var / 3 do
- if var[i * 3 - 2] == REWARD_ITEM then
- doPlayerAddItem(cid, var[i * 3 - 1], var[i * 3])
- elseif var[i * 3 - 2] == REWARD_EXP then
- doAddExp(cid, var[i * 3])
- elseif var[i * 3 - 2] == REWARD_STORAGE then
- doCreatureSetStorage(cid, var[i * 3 - 1], var[i * 3])
- elseif var[i * 3 - 2] == REWARD_MONEY then
- doPlayerAddMoney(cid, var[i * 3])
- elseif var[i * 3 - 2] == REWARD_SKILL then
- doPlayerSetSkill(cid, var[i * 3 - 1], getPlayerSkillLevel(cid, var[i * 3 - 1]) + var[i * 3])
- elseif var[i * 3 - 2] == REWARD_ADDON then
- doPlayerAddOutfit(cid, (getPlayerSex(cid) == 0 and var[i * 3 - 1][1] or var[i * 3 - 1][2]), var[i * 3])
- elseif var[i * 3 - 2] == REWARD_LEVEL then
- doPlayerAddLevel(cid, var[i * 3])
- end
- end
- end
- local function getTaskByName(name)
- for _, v in pairs(AUTO_TASK_LIST) do
- for i = 1, #v.details do
- if name == v.details[i]:lower() then
- return v
- end
- end
- end
- return false
- end
- function onKill(cid, target)
- if not isMonster(target) or not isPlayer(cid) then
- return true
- end
- local var = getTaskByName(getCreatureName(target):lower())
- if not var then
- return true
- end
- local storage = math.max(0, getCreatureStorage(cid, var.storage))
- if storage >= var.totalKills then
- return true
- end
- storage = storage + 1
- if storage >= var.totalKills then
- doTakeTasksReward(cid, var.rewards)
- doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'Congratulations! You finished ' .. var.name .. ' task.')
- else
- doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'You have killed ' .. var.name .. '. [' .. storage .. '/' .. var.totalKills .. '].')
- end
- doCreatureSetStorage(cid, var.storage, storage)
- return true
- end
- ]]></event>
- <talkaction words='!task' event='script'><![CDATA[
- domodlib('tasks_conf')
- function onSay(cid, words, param, channel)
- local message = 'Your task list'
- for i = 1, #AUTO_TASK_LIST do
- local var = AUTO_TASK_LIST[i]
- message = message .. '\n' .. i .. '. Killed ' .. var.name .. '. [' .. math.max(0, getCreatureStorage(cid, var.storage)) .. '/' .. var.totalKills .. '].'
- end
- doShowTextDialog(cid, 2016, message)
- end
- ]]></talkaction>
- <event type="login" name="taskLogin" event="script"><![CDATA[
- function onLogin(cid)
- registerCreatureEvent(cid, 'taskKill')
- return true
- end
- ]]></event>
- </mod>
Advertisement
Add Comment
Please, Sign In to add comment