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 = 0
- REWARD_EXP = 1
- REWARD_MONEY = 2
- REWARD_ADDON = 3
- REWARD_SKILL = 4
- REWARD_STORAGE = 5
- REWARD_LEVEL = 6
- AUTO_TASK_LIST = {
- [1] = {
- details = {'wolf', 'hollow snake', 'giant hollow snake', 'hollow wolf'}, totalKills = 200, storage = 2001, name = 'animals',
- rewards = {REWARD_ITEM, 2152, 5, REWARD_EXP, 0, 500}, -- 250 expa/500 gp -->
- },
- [2] = {
- details = {'bandit', 'rukongai bandit', 'mafioso'}, totalKills = 300, storage = 2002, name = 'bandits',
- rewards = {REWARD_ITEM, 2152, 10, REWARD_EXP, 0, 750}, -- 750 expa/1k -->
- },
- [3] = {
- details = {'pirate', 'pirate captain', 'hunter'}, totalKills = 500, storage = 2003, name = 'opositions',
- rewards = {REWARD_ITEM, 4865, 5, REWARD_EXP, 0, 2000}, -- 2000 expa/5 hunter soul -->
- },
- [4] = {
- details = {'academy shinigami', 'shinigami', 'shinigami captain', 'exiled shinigami'}, totalKills = 750, storage = 2004, name = 'shinigamis',
- rewards = {REWARD_ITEM, 5882, 1, REWARD_EXP, 0, 4500}, -- 4500 expa/symbol 12 oddzialu -->
- },
- [5] = {
- details = {'tsumibito', 'togabito', 'shuren', 'kushanada', 'hell guard'}, totalKills = 1000, storage = 2005, name = 'hell guards',
- rewards = {REWARD_ITEM, 5881, 1, REWARD_EXP, 0, 6000}, -- 6000 expa/symbol 11 oddzialu -->
- },
- [6] = {
- details = {'metal golem', 'golden metal'}, totalKills = 1000, storage = 2006, name = 'metals',
- rewards = {REWARD_ITEM, 2173, 1, REWARD_EXP, 0, 8000}, -- 8000 expa/amulet of loss -->
- },
- [7] = {
- details = {'fire skeleton', 'vampire', 'zombie'}, totalKills = 1000, storage = 2007, name = 'undeads',
- rewards = {REWARD_ITEM, 5879, 1, REWARD_EXP, 0, 10000}, -- 10000 expa/symbol 9 oddzialu -->
- },
- [8] = {
- details = {'blank', 'dark blank', 'fury blank'}, totalKills = 1000, storage = 2008, name = 'blanks',
- rewards = {REWARD_ITEM, 5877, 1, REWARD_EXP, 0, 20000}, -- 20000 expa/symbol 7 oddzialu -->
- },
- [9] = {
- details = {'ninja', 'white ninja'}, totalKills = 750, storage = 2009, name = 'ninjas',
- rewards = {REWARD_ITEM, 5876, 1, REWARD_EXP, 0, 60000}, -- 60000 expa/symbol 6 oddzialu -->
- },
- [10] = {
- details = {'hollow', 'hollow spider', 'hollow bird', 'elder hollow bird', 'menos grande', 'adjuchas', 'arrancar'}, totalKills = 3000, storage = 2010, name = 'hollows',
- rewards = {REWARD_ITEM, 5899, 1, REWARD_EXP, 0, 100000}, -- 100000 expa/stamina pill -->
- },
- [11] = {
- details = {'lava golem', 'marble golem', 'water golem'}, totalKills = 1000, storage = 2011, name = 'golems',
- rewards = {REWARD_ITEM, 4872, 1, REWARD_EXP, 0, 175000}, -- 175000 expa/symbol 3 oddzialu -->
- },
- [12] = {
- details = {'bakkouto member', 'bakkouto warrior', 'bakkouto leader'}, totalKills = 1000, storage = 2012, name = 'bakkoutos',
- rewards = {REWARD_ITEM, 8979, 5, REWARD_EXP, 0, 250000}, -- 250000 expa/5 x kaien soul -->
- },
- [13] = {
- details = {'samurai', 'hollow samurai', 'red samurai'}, totalKills = 1000, storage = 2013, name = 'samurais',
- rewards = {REWARD_ITEM, 4871, 1, REWARD_EXP, 0, 350000}, -- 350000 expa/symbol 2 oddzialu -->
- },
- [14] = {
- details = {'kidou corps member', 'kidou corps mage', 'kidou corps commander'}, totalKills = 1000, storage = 2014, name = 'kidou corps',
- rewards = {REWARD_ITEM, 8865, 1, REWARD_EXP, 0, 500000}, -- 500000 expa/espada coat -->
- },
- [15] = {
- details = {'hollow shinigami', 'hollow captain shinigami'}, totalKills = 1000, storage = 2015, name = 'hollow shinigamis',
- rewards = {REWARD_ITEM, 4870, 1, REWARD_EXP, 0, 500000}, -- 500000 expa/symbol 1 oddzialu -->
- },
- [16] = {
- details = {'omnitsukido member', 'omnitsukido commander', 'omnitsukido leader'}, totalKills = 2000, storage = 2016, name = 'omnitsukidos',
- rewards = {REWARD_ITEM, 4870, 1, REWARD_EXP, 0, 500000}, -- 500000 expa/symbol 1 oddzialu -->
- },
- [17] = {
- details = {'fullbring member', 'fullbring warrior', 'fullbring leader'}, totalKills = 5000, storage = 2017, name = 'fullbrings',
- rewards = {REWARD_ITEM, 4870, 1, REWARD_EXP, 0, 500000}, -- 500000 expa/symbol 1 oddzialu -->
- },
- }
- ]]></config>
- <event type="kill" name="taskKill" event="script"><![CDATA[
- domodlib('tasks_conf')
- local function doTakeReward(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], true)
- 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
- doTakeReward(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='!mission' 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 .. '. You have killed ' .. var.name .. '. [' .. math.max(0, getCreatureStorage(cid, var.storage)) .. '/' .. var.totalKills .. '].'
- end
- doPlayerPopupFYI(cid, 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