Ir para conteúdo

Featured Replies

Postado

Olá, gostaria de pedir um NPC que troca item por item, exemplo, ele da a lista de itens que poderá trocar e o player escolhe o item, ele fala o preço e se sim, ele troca as "Pedras" pelo determinado item. (Moeda de troca - id:8300)


UP

Postado
  • Administrador

Isso?

local id1 = 9533  --id do item a ser trocado
local id2 = 9533  --id do item a ser recebido
local stor = 34444 -- storage que o npc vai adr pelo item
local quantidade = 150 -- quantos itens player deve ter para trocar por storage 
local palavra = "trocar" --palavra chave pra falar com o npc pra trocar a storage
local mensagem = "BLABLABLALBALBALBLALBALBLA." -- a mensagem que deve ser dita se ele não tiver o item
 
 
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 playerHaveItems(cid, itemid)
local items = type(itemid) == "table" and itemid or {itemid}
for i = 1, #items do
if getPlayerItemCount(cid, items[i]) <= 0 then
return false
end
end
return true
end
 
function doPlayerRemoveItems(cid, itemid, count)
local items = type(itemid) == "table" and itemid or {itemid}
for i = 1, #items do
doPlayerRemoveItem(cid, items[i], count ~= nil and count or 1)
end
return nil
end
 
function creatureSayCallback(cid, type, msg)
 
if(not npcHandler:isFocused(cid)) then
return false
end
 
if msgcontains(msg, palavra) then
if playerHaveItems(cid, {id1}) then
doPlayerRemoveItems(cid, {id1}, quantidade)
doPlayerAddItems(cid, {id2}, quantidade)
setPlayerStorageValue(cid, stor, 1)
else
selfSay(mensagem)
end
end 
return true
 
endnpcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new()) 

Postado
  • Autor

Isso?

local id1 = 9533  --id do item a ser trocado
local id2 = 9533  --id do item a ser recebido
local stor = 34444 -- storage que o npc vai adr pelo item
local quantidade = 150 -- quantos itens player deve ter para trocar por storage 
local palavra = "trocar" --palavra chave pra falar com o npc pra trocar a storage
local mensagem = "BLABLABLALBALBALBLALBALBLA." -- a mensagem que deve ser dita se ele não tiver o item
 
 
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 playerHaveItems(cid, itemid)
local items = type(itemid) == "table" and itemid or {itemid}
for i = 1, #items do
if getPlayerItemCount(cid, items[i]) <= 0 then
return false
end
end
return true
end
 
function doPlayerRemoveItems(cid, itemid, count)
local items = type(itemid) == "table" and itemid or {itemid}
for i = 1, #items do
doPlayerRemoveItem(cid, items[i], count ~= nil and count or 1)
end
return nil
end
 
function creatureSayCallback(cid, type, msg)
 
if(not npcHandler:isFocused(cid)) then
return false
end
 
if msgcontains(msg, palavra) then
if playerHaveItems(cid, {id1}) then
doPlayerRemoveItems(cid, {id1}, quantidade)
doPlayerAddItems(cid, {id2}, quantidade)
setPlayerStorageValue(cid, stor, 1)
else
selfSay(mensagem)
end
end 
return true
 
endnpcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new()) 

Já ajudou... porém, seria a lista normal de preços do NPC mas com essa moeda diferente...

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