Ir para conteúdo
  • 0

[Pedido] Npc Que Troca Varios Itens Por Apenas Um


melocom

Pergunta

Bom Sou Novo Nessa Parte E Nao Sei Se To Postando Certo Se N Estiver Me Ajudei Obrigado

 

Vamos La

 

O Que Eu Presiso E De Um Npc Estilo Npc De Addon So Q Ao Inves De Trocar Os Itens Por Addon

Ele Troca Por Apenas Um Item

Vo Dar Um Ex :

O Player Teria Que Ter

100 bat wings id 5894, 100 Bear Paw id 5896, 100 crab pincers id 11183, 100 frosty hearts id 10577, 100 giant eyes id 11191

Para Poder Trocar Por

1 obsidian knife id 5908

Isso Tudo E So Um Ex Depois Eu Modifico Ao Meu Gosto

 

Acho Que Seria Isso

Se Alguem Puder Me Ajudar

Eu Agradeso

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

lib/functions

function getItemsFromList(items) -- by vodka
local str = ''
if table.maxn(items) > 0 then
for i = 1, table.maxn(items) do
str = str .. items[i][2] .. ' ' .. getItemNameById(items[i][1])
if i ~= table.maxn(items) then str = str .. ', ' end end end
return str
end
function doRemoveItemsFromList(cid,items) -- by vodka
local count = 0
if table.maxn(items) > 0 then
for i = 1, table.maxn(items) do
if getPlayerItemCount(cid,items[i][1]) >= items[i][2] then
count = count + 1 end  end  end
if count == table.maxn(items) then
for i = 1, table.maxn(items) do doPlayerRemoveItem(cid,items[i][1],items[i][2]) end
else return false end
return true end

 

exemplo de uso

 


local list = {{5894,100},{11191,100},{11183,100}} -- lista do seus items

if doRemoveItemsFromList(cid, list) then
npcHandler:say("parabéns, aqui está seu item", cid)
doPlayerAddItem(cid, 2494,1)
else
npcHandler:say("você não tem "..getItemsFromList(list), cid)
end

Link para o comentário
Compartilhar em outros sites

  • 0

Cria um npc e poem esse código nele:

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

local itemNeed = { -- itens que precisa para completar a troca

   {itemid = 1234, quant = 5}, -- id do item, quantidade
   {itemid = 4352, quant = 3},
   {itemid = 9876, quant = 100},
   {itemid = 6719, quant = 15}

}

local itemGain, quantGain = 2160, 10 -- item que ganhara ao fim da troca

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 = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

if msgcontains(msg, 'trocar') then

selfSay('Você deseja trocar '.. itemNeed[1].quant ..''.. getItemNameById(itemNeed[1].itemid) ..', '.. itemNeed[2].quant ..''.. getItemNameById(itemNeed[2].itemid) ..', '.. itemNeed[3].quant ..''.. getItemNameById(itemNeed[3].itemid) ..', '.. itemNeed[4].quant ..''.. getItemNameById(itemNeed[4].itemid) ..', por' .. quantGain ..''.. getItemNameById(itemGain) ..'.', cid)
talkState[talkUser] = 2


elseif talkState[talkUser] == 2 then

if msgcontains(msg, 'yes') then

   for i=1, #itemNeed do
   if getPlayerItemCount(cid, itemNeed[i].itemid) < itemNeed[i].quant then
       selfSay('Você não possui os item necessarios para troca.', cid)
   return true
   end
   end

   for i=1, #itemNeed do
       doPlayerRemoveItem(cid, itemNeed[i].itemid, itemNeed[i].quant)
   end

   doPlayerAddItem(cid, itemGain, quantGain)
   selfSay('A troca esta completa.', cid)


else

selfSay('Você não desja {trocar}?', cid)

end

end

end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Link para o comentário
Compartilhar em outros sites

  • 0

Nao Sei Pq Mais N Funciono Direito Nao Consigo Sumona O Npc

Mais Vlw A Itencao

REP +

Eu So Presiso De Mais Uma Coisa

Eu Criei Um Tupico Num Lugar Errado Como Fasso Pra Removelo

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...