Jump to content

Olá Tibiano! Notamos que você está com um adblocker ligado... 

Nós promovemos servidores dentro da comunidade, para que eles tenham visibilidade.

Por favor, nos ajude a continuar promovendo esses servidores. Adicione nosso domínio na whitelist de seu adblocker, ok? :)

  • 0
nbb147

npc [Resolvido] npc não da storage

Question

7 answers to this question

Recommended Posts

  • 1

@nbb147

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


local item = 5897 -- item AQui
local storage = xxxxxx  ---storage Aqui
function creatureSayCallback(cid, type, msg)


if msgcontains(msg, 'sim') or msgcontains(msg, 'yes') then

if getPlayerStorageValue(cid,  storage) == -1 then

if getPlayerItemCount(cid, item) > 10 then

setPlayerStorageValue(cid, storage, 1)
selfSay('Otimo serviço, você tem minha autorização.', cid)
else
selfSay('Você precisa me trazer 10 rat paws', cid)
end
else
selfSay('Você já fez minha missão', cid)
end
end

return true

end


npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

Share this post


Link to post
Share on other sites
  • 0

Funcionou, porém o jogador pode repetir a missão quando quiser, o que não é legal, como eu poderia criar uma condição para que q ele não pudesse repeti-la? Pois tentei através de storages e não consegui.

Share this post


Link to post
Share on other sites
  • 0

amigo, eu coloquei desta forma, mas ele não recebe a storage inicialmente, apenas quando eu saio do personagem e entro novamente, e mesmo estando com a storage ele continua fazendo a missão repetidamente.

Share this post


Link to post
Share on other sites
  • 0
A questão neste tópico de suporte foi respondida e/ou o autor do tópico resolveu o problema. Este tópico está fechado e foi movido para

Please login or register to see this link.

. Se você tiver outras dúvidas, crie um novo tópico.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Similar Content

    • By StrikersBR12
      Alguem tem um script de Reload Npc automático?
    • By StrikersBR12
      Versão do Servidor: TFS - 1.2 Tipo de Script: npc Código: Please login or register to see this spoiler.
      quando uma pessoa fala com um npc e morre o server laga
    • By bpm92
      Boa noite, estou com um pequeno problema, eu tenho aqui 2 npcs no qual 1 eu quero que entregue uma storage. e o outro npc que verifique a storage, remova a storage, venda a bless, e verifique se ta com a bless.

      Segue script do npc 1 que entrega a storage.

       
      local keywordHandler = KeywordHandler:new()
      local npcHandler = NpcHandler:new(keywordHandler)
      NpcSystem.parseParameters(npcHandler)
      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 phoenix(cid, message, keywords, parameters, node)
          if(not npcHandler:isFocused(cid)) then
              return false
          end
              if getPlayerStorageValue(cid,8888888) <= -1 then
                  npcHandler:say('So receive the blessing of the life-giving earth, pilgrim.!', cid)
                  doSendMagicEffect(getCreaturePos(cid), 12)
                  setPlayerStorageValue(cid,8888888, 1)
              end
              if getPlayerStorageValue(cid,8888888) == 1 then
              npcHandler:say('ja te dei a bensao.', cid)
          end
      end
      keywordHandler:addKeyword({'bless'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Here you may receive the blessing {Spark of The Phoenix}'})
      local node1 = keywordHandler:addKeyword({'phoenix'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'The Spark of the Phoenix is given by name and by the great pyromancer in the nearby fire temple. Do you wish to receive my part of the Spark if the Phoenix? '})
          node1:addChildKeyword({'yes'}, phoenix, {npcHandler = npcHandler, onlyFocus = true, reset = true})
          node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then.', reset = true})
          
          
      npcHandler:addModule(FocusModule:new())


      Segue npc 2 que vende a bless, verifica se ja tem bless, remove o storage do primeiro npc

       
      local keywordHandler = KeywordHandler:new()
      local npcHandler = NpcHandler:new(keywordHandler)
      NpcSystem.parseParameters(npcHandler)
      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 phoenix(cid, message, keywords, parameters, node)
          if(not npcHandler:isFocused(cid)) then
              return false
          end
          
          local player_gold     = getPlayerItemCount(cid,2148)
          local player_plat     = getPlayerItemCount(cid,2152)*100
          local player_crys     = getPlayerItemCount(cid,2160)*10000
          local player_money     = player_gold + player_plat + player_crys
          
          if player_money >= 10000 then
          if doPlayerRemoveMoney(cid,10000) and getPlayerStorageValue(cid,8888888) <= 1 and getPlayerBlessing(cid, 2) then
              npcHandler:say('Here is your blessing!', cid)
              setPlayerStorageValue(cid,8888888,-1)
              doSendMagicEffect(getCreaturePos(cid), 12)
              doPlayerAddBlessing(cid, 2)
              end
              else
                  npcHandler:say('Alright then.', cid)
          end
          
          if getPlayerStorageValue (cid,8888888) == -1 then
          npcHandler:say('You have already blessed you with this blessing.', cid)
          end
      end
              
      local node1 = keywordHandler:addKeyword({'phoenix'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Here you may receive the blessing {Spark of Phoenix}. But we must ask of you to sacrifice 10000 gold coins. Are you still interested?.'})
          node1:addChildKeyword({'yes'}, phoenix, {})
          node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then.', reset = true})
          
          
          npcHandler:addModule(FocusModule:new())
          
      porém estou em conflito com os npcs, eu acho que a formula do npc da bless está errado como keyworld, alguem poderia ajudar?
    • By MathhCunha
      Versão do Servidor: TFS - 0.4 Tipo de Script: npc Código: Please login or register to see this spoiler.
      Fale rapaziada. Preciso da ajuda para criar um npc em que ele só ira trocar uma quantidade x de item por uma moeda. 
      EXEMPLO: 
      'COIN=2151' 
      NPC: Ola 'JOGADOR', eu vendo a 'PICK' para minerar e também compro os 'ITENS' minerados. 
      PLAYER: PICK 
      NPC: A pick custa x COIN/// PLAYER: YES ////// NPC: Aqui esta sua pick. 
      PLAYER: ITENS ////// NPC: Eu compro 100 sapphires por 10 COIN, 100 Skull por 15 COIN, 100 Diamond por 20 COIN. ///// PLAYER: YES //////// NPC: Aqui esta suas COIN.  
        
      O npc precisa das quantidade exatas para trocar pela a COIN, e ele troca todos os itens automático. O player não precisa ficar falando qual item ele quer troca. Se ele tiver 1000 Sapphires, 100 Skull, 10000 Diamond, ele ja vai somar e trocar tudo. 
    • By faiixxxx
      boa noite 
      gostaria de pedi um script de npc que troka itens por itens sem limite de troka 
      mais o menos assim eu tenho 10 itens aleatorio na bag e eu trocaria com o npc 1 itens por vez com npc 
      mais cada itens trocaria por itens diferente com o npc com limte de tempo pra pega o iten com npc 
      como se o npc tivesse criando o iten
      desde ja agradeço a ajuda se puderem
       
×
×
  • Create New...