Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Fala Galera do Tibiaking Blz ? Espero que sim 

 

Então estou presisando de um npc que tipo ele pedira para o player matar um tando de pokemon . Quando ele voltar o npc dará um item para ele e ele ganhara Exp tbm só que no decorrer do dia ele não podera fazer ela denovo  . Mais ai é facio né KKK . ai que ta o dificio . Eo quero que quado chegue a 12:00 Meia Noite e todos os dias ese npc reseta a estorage e o player podera fazer a task novamente .

 

Irei deixar um npc aki caso alguem que posa me ajudar use como base .

 

Obs:ele está bugado gente.

 

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 tasks = {
["blastoise"] = {["Dailly"] = {{"Blastoise", 300}}}, --modifiquei aki, mas n sei se vai da certo kk
["electabuzz"] = {["Daily"] = {{"Electabuzz", 300}}},
["venusaur"] = {["Dailly"] = {{"Venusaur", 300}}},
["charizard"] = {["Dailly"] = {{"Charizard", 300}}},
}
local msg = msg:lower() --eh sempre bom por isso.. pra deixar a msg soh em letras minusculas
 
 
if msgcontains(msg, "task") then
   if isMyTaskComplete(cid, getNpcCid()) then
          selfSay("Wow you have already complete my task! Ok then, take your reward!", cid)
          doPlayerAddExperience(cid, 1500000) --premio
          doPlayerAddItem(cid, 2160, 25)
 
          local sto = getMyTaskSto(cid, getNpcCid())
          setPlayerStorageValue(cid, sto, -1) --nunca esqueça disso...
          setPlayerStorageValue(cid, 25566, os.time() + 24*60*60)
              setPlayerStorageValue(cid, 181601, 1) --storage da outfit
              setPlayerStorageValue(cid, 181602, 1) --storage da outfit
          talkState[talkUser] = 0
          return true
   elseif getPlayerStorageValue(cid, 25566) > os.time() then
          selfSay("You have to wait 24h to do my task again!", cid)
          talkState[talkUser] = 0
          return true
   elseif getMyTaskSto(cid, getNpcCid()) ~= -1 then
          selfSay("You are already doing my task! Go end it!", cid)
          talkState[talkUser] = 0
          return true
   end
   selfSay("What task do you want? {blastoise}, {electabuzz}, {venusaur}, {charizard}", cid)
   talkState[talkUser] = 1
   return true
elseif isInArray({"blastoise", "electabuzz", "venusaur", "charizard"}, msg) and talkState[talkUser] == 1 then
   task = tasks[msg] --modifiquei aki tb
   selfSay("Are you sure?", cid)
   talkState[talkUser] = 2
   return true
elseif msgcontains(msg, "yes") and talkState[talkUser] == 2 then
   local sto = getFreeTaskStorage(cid)
   if sto == -1 then
          selfSay("You can't catch more tasks! You are already with the maximum of "..(maxTasks).." tasks!", cid)
          talkState[talkUser] = 0
          return true
   end
   selfSay("OK kill 300, good luck!", cid)
   setStorageArray(cid, sto, task)
   talkState[talkUser] = 0
   return true
end
 
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
 

 

 

 

 

 

Ajudo ? Levo Rep +

Link para o post
Compartilhar em outros sites

Bom, sobre a storage, tera que ser alguma globalevent, vou ver o que faço e qualquer coisa volto a postar.

tibiaking.png
 

www.optimuserver.com

[email protected]

Skype: optimus.host

TEL: (16) 98849-6902

 

Acesse já e garanta seu servidor com um dos melhores Firewall existentes no mercado!

Link para o post
Compartilhar em outros sites

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.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.


  • Conteúdo Similar

    • Por ambrozii0
      Gostaria de fazer um pedido de um NPC de Task progressiva,

      Ele iniciaria dando missões para level 8 para caçar Troll, Rotworm e Ghoul.
       
      No level 30 liberaria: Cyclops, Dragon e Wyrm... e assim em diante se puder deixar comentado eu faço as criaturas na sequencia dos leveis seguintes.
       
      O jogador pode fazer as tasks dos leveis anteriores mesmo que já tenha ultrapassado o level do próximo nível de task.
       
      E o jogador ao terminar a missão poderia escolher a recompensa em gold ou experiência. As tasks podem se repetir sem problema, mas apenas pode pegar uma de cada vez.
       
      Ao finalizar todas as tasks o jogador ganha uma montaria.
       
      Minha versão de cliente é 12.91
      Versão da Canary 2.6.1
      Não sei qual o TFS do meu servidor.
    • Por Ovini
      Eae, preciso de uma ajuda, tenho um script de uma quest que ganha a reward dando use no bau. Gostaria que alguém mudasse para ganhar a reward se o player passar por cima de tal tile. Eu tentei mudar, mas não consegui. Se alguém puder me ajudar, eu agradeço.
       
      local config = { storageQuest = 70001, timeWait = 1, -- tempo em dias. } function onUse(cid, item, frompos, item2, topos) if (getPlayerStorageValue(cid, config.storageQuest) < os.time()) then setPlayerStorageValue(cid, config.storageQuest, os.time() + (config.timeWait * 600)) doSendMagicEffect(getThingPos(cid), 73) doPlayerAddItem(cid,25860,1) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Parabens! Voce acabou de completar a quest diaria.") else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Espere 20 horas pra poder pegar sua reward novamente.") end return true end  
    • Por fezeRa
      Olá,
      como o título do topico já diz..
      Eu gostaria de um NPC de task system , no caso queria que fosse bem simples ou seja:
      Player: Hi
      Npc: Voce gostaria de fazer uma missão de matar tantos bixos , e ganhar "tal"....
      Player: yes
      Dai o player ganharia a task e ao terminar automaticamente já ganhar o premio

      Premio que eu gostaria seria: Exp ou Items ou Storage.
      Uma task bem simples assim, sem aquilo do Global, de rank e etc...

      Obrigado,
      Disturbbed.
    • Por Vodkart
      08/01/2017
      SISTEMA ATUALIZADO PARA 4.0:
       
       
       
       
      Mods:
    • Por yuriowns
      Boa noite galera, gostaria de pedir um task system para TFS 1.0 que aparecesse no chat quantos bixos já matou de quantos que tem que matar e quando reportasse a task completa fosse teleportado diretamente para o boss(estando no pz) e dando a recompensa certa. agradeço a atenção rapaziada!! (caso esteja no lugar errado me movam pff!!)
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo