Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 10/21/19 em todas áreas

  1. 2 pontos
    <?xml version="1.0" encoding="ISO-8859-1"?> <npc name="Caçador de Dragon Lord" script="data/npc/scripts/NpcDragonLord.lua" floorchange="0" walkinterval="0"> <health now="100" max="100"/> <look type="39" head="24" body="25" legs="100" feet="118" addons="0"/> <parameters> <parameter key="message_greet" value="Olá |PLAYERNAME|, você gostaria de fazer uma {missao}?" /> </parameters> </npc> ------ /\ Arquivo NPC XML Para TFS 0.4 ------ \/ Arquivo .Lua do Npc 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 qntdade = 1800 local stoTime = 96494 local stoKill = 96495 local premio = 129385600 --em exp! local msg = string.lower(msg) local left = math.ceil((getPlayerStorageValue(cid, stoTime) - os.time())/(24 * 60 * 60)) --nao mexe! if (msgcontains(msg, 'task') or msgcontains(msg, 'missao')) then if getPlayerStorageValue(cid, stoTime) ~= -1 and left > 0 and getPlayerStorageValue(cid, stoKill) > 0 then local faltaMatar = getPlayerStorageValue(cid, stoKill) local jaMatou = math.abs(getPlayerStorageValue(cid, stoKill)-qntdade) local prazo = os.date("%d/%m/%y %X", getPlayerStorageValue(cid, stoTime)) selfSay("Você ainda não matou os "..qntdade.." dragons lord, atualmente você matou ".. (jaMatou)..", resta "..faltaMatar..". Seu prazo é de até "..prazo..".", cid) talkState[talkUser] = 0 return true elseif getPlayerStorageValue(cid, stoTime) ~= -1 and left <= 0 and getPlayerStorageValue(cid, stoKill) ~= -1 then selfSay("Infelismente você não matou as "..qntdade.." dragons lord a tempo. Se você quiser, você pode tentar fazer denovo a missao.", cid) setPlayerStorageValue(cid, stoTime, -1) setPlayerStorageValue(cid, stoKill, -1) talkState[talkUser] = 0 return true elseif getPlayerStorageValue(cid, stoTime) ~= -1 and left > 0 and getPlayerStorageValue(cid, stoKill) == -1 then local prazo = os.date("%d/%m/%y %X", getPlayerStorageValue(cid, stoTime)) selfSay("Você tem que esperar pelo menos 1 semana para poder pegar essa tarefa denovo. O prazo de acaba dia ".. prazo..".", cid) talkState[talkUser] = 0 return true elseif getPlayerStorageValue(cid, stoTime) ~= -1 and left > 0 and getPlayerStorageValue(cid, stoKill) == 0 then selfSay("Obrigado! você matou os "..qntdade.." dragons lord em menos de 1 semana. Aqui esta sua recompensa! Lembre-se que você pode fazer esta task quantas vezes quiser,desde que tenha concluído 1 semana contado a partir do dia de inicio.", cid) doPlayerAddExp(cid, premio) --premio setPlayerStorageValue(cid, stoKill, -1) talkState[talkUser] = 0 return true else if getPlayerStorageValue(cid, stoTime) ~= -1 and getPlayerStorageValue(cid, stoKill) == -1 then setPlayerStorageValue(cid, stoTime, -1) --soh pra evitar problemas... end selfSay("Olá! Eu sou caçador de dragons lord. Você quer me ajudar a matar dragons lord?", cid) talkState[talkUser] = 1 end elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) and talkState[talkUser] == 1 then selfSay("Ótimo! Você precisa matar pelo menos "..qntdade.." Dragons Lord em um prazo de 1 semana para eu te dar a recompensa. Aceita?", cid) talkState[talkUser] = 2 elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'sim')) and talkState[talkUser] == 2 then local semana = 7 * 24 * 60 * 60 setPlayerStorageValue(cid, stoTime, os.time()+semana) setPlayerStorageValue(cid, stoKill, qntdade) local sto = getPlayerStorageValue(cid, stoTime) selfSay("Você já pode começar a matar Dragons Lord! Volte aqui quando matar "..qntdade.." dragons lord para ser recompensado. O prazo é até ".. os.date("%d/%m/%y %X", sto) ..".", cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) ---- Adicione Essa Linha no Monstro Dragon Lord Depois do Loot <script> <event name="TaskDragonLord"/> </script>
  2. 1 ponto
    2 - Gostei do conceito pra ideia de tasks, se ninguém fizer quando eu tiver um tempo desenvolvo pra você. 3 - Já tem solução pra isso no fórum, da uma procurada.
  3. sim, abre a lib(se você usa tudo por lua) do zombie ou no MODS e procure por essa linha: doCreateMonster(zombie_config.monster_name, pos, false, false, false) e troque por essa: doSummonCreature(zombie_config.monster_name, pos)
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo