Ir para conteúdo

Featured Replies

  • Respostas 5
  • Visualizações 527
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • O tópico foi movido para a área correta, preste mais atenção da próxima vez! Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680 Este tópico foi movido: De: "OTS

  • Recomendo o Magnus Challenger, um completíssimo NPC de tasks.

  • GabrielSapient
    GabrielSapient

    Valeu, ajudou ! Reputado.

Postado

Aqui um que eu uso:

Em data/npc cria um arquivo npcquest.xml e coloca isso.

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Tartareigo" script="npc.lua" walkinterval="2000" floorchange="0">
          <health now="150" max="150" />
          <look type="134" head="57" body="59" legs="40" feet="76" corpse="2212" />
          <parameters>
                    <parameter key="message_greet" value="Ola|PLAYERNAME|.Voce tem  {nome do item} ." />
                    <parameter key="message_farewell" value="Bye bye!" />
          </parameters>
</npc>

Depois em data\npc\scripts:

você cria um arquivo com o nome de npc.lua e coloca isso:

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 items = {
          item1 = {5678, 6131}, -- item1 item que será pedido e que será dado na primeira troca
          item2 = {5678, 6131} -- item2 item que será pedido e que será dado na segunda troca
}
local counts = {
          count1 = {50, 1}, -- count1 quantidade que será pedido e que será dado na primeira troca
          count2 = {50, 1} -- count2 quantidade que será pedido e que será dado na segunda troca
}
 
function creatureSayCallback(cid, type, msg)
          if(not npcHandler:isFocused(cid)) then
                    return false
          end
          local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

          if msgcontains(msg, 'ovos de tartaruga') then
                    if getPlayerItemCount(cid, items.item1[1]) >= counts.count1[1] then
                              doPlayerRemoveItem(cid, items.item1[1], counts.count1[1])
                              doPlayerAddItem(cid, items.item1[2], counts.count1[2])
                              selfSay('Voce trocou '.. counts.count1[1] ..' '.. getItemNameById(items.item1[1]) ..' por '.. counts.count1[2] ..' '.. getItemNameById(items.item1[2]) ..'.', cid)
                    else
                              selfSay('Voce precisa '.. counts.count1[1] ..' '.. getItemNameById(items.item1[1]) ..'.', cid)
                    end

          elseif msgcontains(msg, 'bar of gold') then
                    if getPlayerItemCount(cid, items.item2[1]) >= counts.count2[1] then
                              doPlayerRemoveItem(cid, items.item2[1], counts.count2[1])
                              doPlayerAddItem(cid, items.item2[2], counts.count2[2])
                              selfSay('Voce trocou '.. counts.count2[1] ..' '.. getItemNameById(items.item2[1]) ..' por '.. counts.count2[2] ..' '.. getItemNameById(items.item2[2]) ..'.', cid)
                    else
                              selfSay('You need '.. counts.count2[1] ..' '.. getItemNameById(items.item2[1]) ..'.', cid)
                    end
          end
          return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Eu não me lembro quem fez, então não me atrevo a dar meritos sobre o NPC, abraço!

Descreva seus sonhos aqui.

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo