Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado

NPC que troca os Itens

 

Boa Tarde turmo do Tibia King
Bem gostaria de um Npc que quando o player falasse o nome do item ele trocasse por outro item, 

os itens são:
 

1 (uma) Tear of Daraman id:2346 que sera trocado por 1 (uma) Blue Note id: 2349

10 (dez) Golden Mug id:2033 que sera trocado por 1 (uma) Bar of Gold id: 15515

 

 

Por exemplo ao falar Blue Note, o Npc diria: para fazer esse item eu preciso de uma Tear of Daraman. Caso o player tenha o Tear of Daraman o blue note ira aparecer na bp e consequentemente o Tear of Daraman sera removido...
 

Bem Achei alguns, parecidos mas não funciona do jeito que queria... Se aguem puder mi ajudar eu agradecerei

Meus Trabalhos:

 

*Spell Rajada de Flechas: http://migre.me/eI3aE

 

 

 

 

gif1705.gif

 

  • Respostas 10
  • Visualizações 8.1k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • GiovaniRodrigo
    GiovaniRodrigo

    Crie um arquivo chamado Jax.lua na pasta data/npc/scripts e cole isso   local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHa

  • GiovaniRodrigo
    GiovaniRodrigo

    Faça mesmo procedimento que eu citei só substitua o script do Jax.lua por esse local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParamete

Posted Images

Postado
  • Este é um post popular.

NPC que troca os Itens

 

Boa Tarde turmo do Tibia King

Bem gostaria de um Npc que quando o player falasse o nome do item ele trocasse por outro item, 

os itens são:

 

1 (uma) Tear of Daraman id:2346 que sera trocado por 1 (uma) Blue Note id: 2349

10 (dez) Golden Mug id:2033 que sera trocado por 1 (uma) Bar of Gold id: 15515

 

 

Por exemplo ao falar Blue Note, o Npc diria: para fazer esse item eu preciso de uma Tear of Daraman. Caso o player tenha o Tear of Daraman o blue note ira aparecer na bp e consequentemente o Tear of Daraman sera removido...

 

Bem Achei alguns, parecidos mas não funciona do jeito que queria... Se aguem puder mi ajudar eu agradecerei

Crie um arquivo chamado Jax.lua na pasta data/npc/scripts e cole 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 = {2346, 2349}, -- item1 item que será pedido e que será dado na primeira troca
          item2 = {2033, 15515} -- item2 item que será pedido e que será dado na segunda troca
}
local counts = {
          count1 = {1, 1}, -- count1 quantidade que será pedido e que será dado na primeira troca
          count2 = {10, 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, 'blue note') 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('You just swap '.. counts.count1[1] ..' '.. getItemNameById(items.item1[1]) ..' for '.. counts.count1[2] ..' '.. getItemNameById(items.item1[2]) ..'.', cid)
                    else
                              selfSay('You need '.. 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('You just swap '.. counts.count2[1] ..' '.. getItemNameById(items.item2[1]) ..' for '.. 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())

 

Crie um arquivo chamado Jax.xml na pasta data/npc e cole isso

 

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Jax" script="Jax.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="Hello |PLAYERNAME|. Do not want to make an exchange? I have {blue note} and {bar of gold}." />
                    <parameter key="message_farewell" value="Bye bye!" />
          </parameters>
</npc>

 

Testado e está 100% funcional

 

Att.

Giovani Rodrigo

Editado por GiovaniRodrigo (veja o histórico de edições)

Spoiler

local config = {
	delrey = getPlayerCarValue(cid, DELREY),
	cigarro = getPlayerCancer(cid, DERBY),
	prostituta = getPlayerAIDS(cid, cracuda),
	tresOitao = getPlayerRevorvi(cid, 38)
}

if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS")
end

 

Postado
  • Autor

GiovaniRodrigo, Cara tu é o melhor... muito obrigado amanha tu vai receber o +REP....
Poxa é por isso que o TibiaKing é o melhor fórum de todos, por ter pessoas super competente como vc....

Muitíssimo Obrigado.

Meus Trabalhos:

 

*Spell Rajada de Flechas: http://migre.me/eI3aE

 

 

 

 

gif1705.gif

 

Postado

GiovaniRodrigo, Cara tu é o melhor... muito obrigado amanha tu vai receber o +REP....

Poxa é por isso que o TibiaKing é o melhor fórum de todos, por ter pessoas super competente como vc....

Muitíssimo Obrigado.

Muito obrigado a vocês que trazem esses desafios, é um imenso prazer ajudar todos vocês do TK.

Sempre que precisar estamos ai.

 

Att.

Giovani Rodrigo

Spoiler

local config = {
	delrey = getPlayerCarValue(cid, DELREY),
	cigarro = getPlayerCancer(cid, DERBY),
	prostituta = getPlayerAIDS(cid, cracuda),
	tresOitao = getPlayerRevorvi(cid, 38)
}

if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS")
end

 

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.6k

Informação Importante

Confirmação de Termo