Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado

Queria um npc que ao entregasse um item para ele ele trocasse por outro.

Mas queria que desse para trocar quantas vezes quisesse.

Porque estou fazendo um sisteminha de held item aqui no meu Pokemon e só falta esse npc.

Se alguem tiver um scripts que faça isto agradeço.

Postado

Data/npcs/scripts

 

Collector.lua

 

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 = {2146, 5908}, -- item1 item que será pedido e que será dado na primeira troca
item2 = {2146, 2195} -- item2 item que será pedido e que será dado na segunda troca
}
local counts = {
count1 = {20, 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, 'obsidian knife') 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, 'boots of haste') 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())

 

ai cria 1 npc com o nome de collector e bota

 

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Collector" script="data/npc/scripts/collector.lua" walkinterval="3000" floorchange="0" access="5" >
<health now="150" max="150"/>
<look type="130" head="0" body="114" legs="114" feet="0"/>
<parameters>
<parameter key="message_greet" value="Welcome, I can trade {obsidian knife} for 20 small sapphires and {boots of haste} for 50 small sapphires"/>
<parameter key="message_farewell" value="Bye"/>
</parameters>
</npc>
 
 
segue a print:

Toda terça-feira um tópico novo:

Descanso para curar mana (Spell): https://tibiaking.com/forums/topic/94615-spell-descanso-para-curar-mana/

Peça sua spell (Suporte):                https://tibiaking.com/forums/topic/84162-peça-sua-spell/                        

Chuva de flechas (Spell):                https://tibiaking.com/forums/topic/72232-chuva-de-flechas-spell/

Doom (Spell):                                https://tibiaking.com/forums/topic/51622-doom-spell/

Utilização do VS Code (Infra)       https://tibiaking.com/forums/topic/94463-utilizando-o-visual-studio-code-notepad-nunca-mais/

SD com Combo (Spell):                 https://tibiaking.com/forums/topic/94520-sd-modificada/

Alteração attack speed (C++):        https://tibiaking.com/forums/topic/94714-c-attack-speed-spells-itens-e-onde-você-quiser/  

Bônus de Speed (NPC)                  https://tibiaking.com/forums/topic/94809-npc-concede-bônus-aos-players/
 

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