Elias Palermo 4 Postado Abril 20, 2016 Share Postado Abril 20, 2016 Vi que bastante gente estava com problemas nesse sistema de task, e como coloquei o meu pra funcionar vou compartilhar com vocês. Npc de task [Que faz apenas uma vez] Citar 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 task = { ["Sr.Cartter [History]"] = {{"Pidgey", 3}, {"Rattata", 3}}, } if getPlayerStorageValue(cid, 300003) == 1 then --- Storage pra não fazer de novo selfSay("Voce ja e um fez minha quest hoje!", cid) return true end if msgcontains(msg, 'sim senhor') or msgcontains(msg, 'Sim senhor') then if isMyTaskComplete(cid, getNpcCid()) then selfSay("Muito bom, logo voce sabera a utilidade desta berry!", cid) doPlayerAddExperience(cid, 1500) --exp doPlayerAddItem(cid, 11448, 1) --premio local sto = getMyTaskSto(cid, getNpcCid()) setPlayerStorageValue(cid, sto, -1) setPlayerStorageValue(cid, 300003, 1) --- Storage pra não fazer de novo talkState[talkUser] = 0 return true else selfSay("Vejo que falta confianca e coragem em voce assim como todos os outros jovens treinadores, aqui tenho uma rarissima berry que podera ajudar seu Pokemon, mas para que eu possa te da-la voce tera que provar que a merece... Derrote {3 Pidgeys e 3 Rattatas}, voce pode fazer isto?", cid) talkState[talkUser] = 2 end elseif (msgcontains(msg, 'sim') or msgcontains(msg, 'Sim')) and talkState[talkUser] == 2 then if getMyTaskSto(cid, getNpcCid()) ~= -1 then selfSay("Va terminar a quest!", cid) talkState[talkUser] = 0 return true end local sto = getFreeTaskStorage(cid) if sto == -1 then selfSay("Voce nao pode pegar mais quests! Pois ja tem o numero "..(maxTasks).." de quest!", cid) talkState[talkUser] = 0 return true end selfSay("Excelente... Faca o seu melhor!", cid) setStorageArray(cid, sto, task) talkState[talkUser] = 0 return true end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Npc de task diaria Citar 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 stg = 300003 -- storage para não fazer a quest de novo local task = { ["Sr.Cartter [History]"] = {{"Pidgey", 3}, {"Rattata", 3}}, } if getPlayerStorageValue(cid, stg) > os.time() then selfSay("Voce ja e um fez minha quest hoje!", cid) return true end if msgcontains(msg, 'sim senhor') or msgcontains(msg, 'Sim senhor') then if isMyTaskComplete(cid, getNpcCid()) then selfSay("Muito bom, logo voce sabera a utilidade desta berry!", cid) doPlayerAddExperience(cid, 1500) --exp doPlayerAddItem(cid, 11448, 1) --premio local sto = getMyTaskSto(cid, getNpcCid()) setPlayerStorageValue(cid, stg, os.time() + 1*24*60*60) talkState[talkUser] = 0 return true else selfSay("Vejo que falta confianca e coragem em voce assim como todos os outros jovens treinadores, aqui tenho uma rarissima berry que podera ajudar seu Pokemon, mas para que eu possa te da-la voce tera que provar que a merece... Derrote {3 Pidgeys e 3 Rattatas}, voce pode fazer isto?", cid) talkState[talkUser] = 2 end elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'Yes')) and talkState[talkUser] == 2 then if getMyTaskSto(cid, getNpcCid()) ~= -1 then selfSay("Va terminar a quest!", cid) talkState[talkUser] = 0 return true end local sto = getFreeTaskStorage(cid) if sto == -1 then selfSay("Voce nao pode pegar mais quests! Pois ja tem o numero "..(maxTasks).." de quest!", cid) talkState[talkUser] = 0 return true end selfSay("Excelente... Faca o seu melhor!", cid) setStorageArray(cid, sto, task) talkState[talkUser] = 0 return true end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Eu apenas editei, o script não foi feito completamente por mim. Espero que seja útil ^^ Link para o comentário Compartilhar em outros sites More sharing options...
Josegvb 87 Postado Abril 25, 2016 Share Postado Abril 25, 2016 (editado) Em 19/4/2016 at 16:35, Elias Palermo disse: Vi que bastante gente estava com problemas nesse sistema de task, e como coloquei o meu pra funcionar vou compartilhar com vocês. Npc de task [Que faz apenas uma vez] Npc de task diaria Eu apenas editei, o script não foi feito completamente por mim. Espero que seja útil ^^ colocou pra ter como fazer cada 24horas? edit: testei aki, ainda ta com o bug desgraçado q nao ta permitindo entregar a task só pegar dnovo Editado Abril 25, 2016 por Josegvb Link para o comentário Compartilhar em outros sites More sharing options...
Elias Palermo 4 Postado Abril 26, 2016 Autor Share Postado Abril 26, 2016 18 horas atrás, Josegvb disse: colocou pra ter como fazer cada 24horas? edit: testei aki, ainda ta com o bug desgraçado q nao ta permitindo entregar a task só pegar dnovo Mudou o storage? Link para o comentário Compartilhar em outros sites More sharing options...
XxVinePeccixX 9 Postado Junho 30, 2016 Share Postado Junho 30, 2016 funciona em tfs 1.2? Link para o comentário Compartilhar em outros sites More sharing options...
Elias Palermo 4 Postado Julho 1, 2016 Autor Share Postado Julho 1, 2016 Em 30/06/2016 at 02:16, XxVinePeccixX disse: funciona em tfs 1.2? Não testei. Link para o comentário Compartilhar em outros sites More sharing options...
Eskylo 175 Postado Julho 1, 2016 Share Postado Julho 1, 2016 Em 20/04/2016 at 18:05, Elias Palermo disse: Vi que bastante gente estava com problemas nesse sistema de task, e como coloquei o meu pra funcionar vou compartilhar com vocês. Npc de task [Que faz apenas uma vez] Npc de task diaria Eu apenas editei, o script não foi feito completamente por mim. Espero que seja útil ^^ não tá faltando arquivos da pasta creaturescripts? normalmente pra task funcionar precisa de algum creaturescript que vai registrando os monstros que o player matou, quantidade etc. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados