Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Olá boa noite a todos do forum TK.

 

Bom estou com uma duvida um pouco simples para você porem não estou conseguindo fazer a mesma funcionar..
Eu queria um npc que é tipo o Aldo que repara a soft, porem queria que ele usasse como moeda de troca o id 25379 'Platinum Token', no qual ele pegaria o id 26442 (item quebrado) + platinum token e concertaria o mesmo dando ao player o item novo  26438


Uso T.S 
Version: (3.8 . DEV)

Editado por Shiro Slayer (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
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,msg = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid, msg:lower()
          local coin, amount = 25379, 15 -- id do token e quanto sera removido
            local old, new = 26442, 26438
            if(msgcontains(msg, 'reparar') or msgcontains(msg, 'repair')) then
              selfSay('Voce deseja reparar '..getItemNameById(old)..' por '..amount..' '..getItemNameById(coin)..' ?', cid)
              talkState[talkUser] = 1
            elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
              if getPlayerItemCount(cid, old) >= 1 then
                if doPlayerRemoveItem(cid, coin, amount) then
                  doPlayerRemoveItem(cid, old, 1)
                  doPlayerAddItem(cid, new)
                  selfSay('Aqui esta o seu '..getItemNameById(new)..'!', cid)
                else
                  selfSay('Desculpe, mas voce precisa de '..amount..' '..getItemNameById(coin)..'.', cid)
                end
              else
                selfSay('Desculpe, mas voce nao possui uma '..getItemNameById(old)..' para reparar.', cid)
              end
              talkState[talkUser] = 0
            elseif msgcontains(msg, 'no') then
              talkState[talkUser] = 0
              selfSay('Ok, obrigado.', cid)
            end
            return true
          end
          npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
          npcHandler:addModule(FocusModule:new())

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

Obrigado pelo script mais ele ta voltando essa linha com erro.

 

Citar

[C]: in function 'getItemNameById'
        data/npc/scripts/Ferreiro.lua:18: in function 'callback'
        data/npc/lib/npcsystem/npchandler.lua:431: in function 'onCreatureSay'
        data/npc/scripts/Ferreiro.lua:7: in function <data/npc/scripts/Ferreiro.lua:7>

 

Link para o post
Compartilhar em outros sites
1 hora atrás, Shiro Slayer disse:

Obrigado pelo script mais ele ta voltando essa linha com erro.

 

 

 

Testei o script aqui e funcionou, pode ser algum problema na função, tente alterar as mensagens 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,msg = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid, msg:lower()
          local coin, amount = 25379, 15 -- id do token e quanto sera removido
            local old, new = 26442, 26438
            if isInArray({"reparar","repair","repara"}, msg) then
             npcHandler:say('Voce deseja reparar seu item por 15 coins?', cid)
              talkState[talkUser] = 1
            elseif msgcontains(msg, 'yes') and talkState[talkUser] == 1 then
              if getPlayerItemCount(cid, old) >= 1 then
                if doPlayerRemoveItem(cid, coin, amount) then
                  doPlayerRemoveItem(cid, old, 1)
                  doPlayerAddItem(cid, new)
                  npcHandler:say('Aqui esta o seu item!', cid)
                else
                  npcHandler:say('Desculpe, mas voce precisa de 15 coins.', cid)
                end
              else
                npcHandler:say('Desculpe, mas voce nao possui um item para reparar.', cid)
              end
              talkState[talkUser] = 0
		elseif msg == "no" and talkState[talkUser] >= 1 then
			npcHandler:say("then ok.", cid)
			talkState[talkUser] = 0
			npcHandler:releaseFocus(cid)
		end
            return true
          end
	npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
	npcHandler:addModule(FocusModule:new())

 

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

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 Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por danilo belato
      Fala Galera To Com um problema aki 
       
      quero exporta umas sprites de um server para colocar em outro 
       
      eu clico na sprites ai aparece tds a forma delas do lado de la >>
       
      ai eu clico nela e ponho a opiçao de export mais quando salvo a sprite ela n abri 
       
      aparece isso quando tento vê-la 
       
      visualização não disponível ( no formatos png e bitmap)
       
      Agora no formato idc fala que o paint n pode ler 
       
      me ajudem ae...
    • Por Vitor Bicaleto
      Galera to com o script do addon doll aqui, quando eu digito apenas "!addon" ele aparece assim: Digite novamente, algo está errado!"
      quando digito por exemplo: "!addon citizen" ele não funciona e não da nenhum erro
       
      mesma coisa acontece com o mount doll.. 
    • Por Ayron5
      Substitui uma stone no serve, deu tudo certo fora  esse  erro ajudem  Valendo  Rep+  Grato  

      Erro: data/actions/scripts/boost.lua:557: table index is nil
       [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)

      Script:
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo