Postado Setembro 23, 2016 8 anos Mods: Alltask.xml Citar <?xml version="1.0" encoding="ISO-8859-1"?> <mod name="All Task" version="1.0" author="CaramujoSonolento" contact="tibiaking.com" enabled="yes"> <config name="AllTask_func"><![CDATA[ tsk = { storages = {68754,68755}, task = {"dragon", 10}, -- //AQUI VOCE POE O NOME DOS BIXOS E QUANTIDADE exp = 200, -- //AQUI A EXP QUE VAI GANHAR item = {2123,1} -- //AQUI O ITEM QUE VAI GANHAR } ]]></config> <event type="login" name="AreKill" event="script"><![CDATA[ function onLogin(cid) registerCreatureEvent(cid, "CountTask") return true end]]></event> <event type="kill" name="CountTask" event="script"><![CDATA[ domodlib('KillM_func') function onKill(cid, target) if isMonster(target) then local n = string.lower(getCreatureName(target)) if n == tsk.task[1] and getPlayerStorageValue(cid, tsk.storages[2]) >= 1 then local contagem = getPlayerStorageValue(cid, tsk.storages[1]) if (contagem == -1) then contagem = 1 end if not tonumber(contagem) then return true end if contagem > tsk.task[2] then return true end setPlayerStorageValue(cid, tsk.storages[1], contagem+1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,""..(contagem == tsk.task[2] and "Congratulations! You finished the task of "..n.."." or "defeated. Total [" .. contagem .. "/" .. tsk.task[2] .. "] " .. n .. ".").."") end end return true end]]></event> </mod> NPC: \/ Citar domodlib('AllTask_func') local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid local msg = string.lower(msg) if isInArray({"task","mission","missao","offer","tarefa"}, msg) then if not tonumber(getPlayerStorageValue(cid, tsk.storages[1])) then npcHandler:say("Voce ja acabou a missao!", cid) elseif getPlayerStorageValue(cid, tsk.storages[2]) >= 1 then npcHandler:say("Voce ja matou "..tsk.task[2].." "..tsk.task[1].."? {yes}", cid) talkState[talkUser] = 2 else npcHandler:say("Voce deseja fazer uma missao de matar "..tsk.task[2].." "..tsk.task[1].." e receber "..tsk.exp.." de experience e este item "..tsk.item[2].." "..getItemNameById(tsk.item[1]).."? {yes}", cid) talkState[talkUser] = 1 end elseif isInArray({"yes","sim","aceito"}, msg) and talkState[talkUser] > 0 then if talkState[talkUser] == 1 then npcHandler:say("Agora você esta participando da missao, volte quanto tiver terminado!", cid) setPlayerStorageValue(cid, tsk.storages[2], 1) else if getPlayerStorageValue(cid, tsk.storages[1]) >= tsk.task[2] then npcHandler:say("Obrigado, aqui esta a sua recompensa!", cid) setPlayerStorageValue(cid, tsk.storages[1], "Finished") doPlayerAddExp(cid, tsk.exp) doPlayerAddItem(cid, tsk.item[1], tsk.item[2]) else npcHandler:say("Voce ainda nao terminou a sua missao!", cid) end end talkState[talkUser] = 0 elseif msg == "no" then selfSay("Beleza entao de o fora!", cid) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) SOU: Exelente Mapper ENTENDO DE: Scripts/Programação OT'S EM GERAL! ~ Playing Every Day ~ START IN VERSION: 7.1 ~
Postado Setembro 23, 2016 8 anos Autor 1 hora atrás, GabrielMix disse: Mods: Alltask.xml NPC: \/ No caso esse Mod faria o sistema automatico? ou o kra teria que ir ate o NPC e pedir cada Task ?
Postado Setembro 24, 2016 8 anos @ADM Slayer No caso ali tem.... task = {"dragon", 10} Tente colocar assim...... task = {"dragon", 10; "demon", 20; "cyclops", 50} etc. SOU: Exelente Mapper ENTENDO DE: Scripts/Programação OT'S EM GERAL! ~ Playing Every Day ~ START IN VERSION: 7.1 ~
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.