Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado

Presiso de um npc assim :

player Hi

 

npc : tem anos que estou procurando meus tres tesouros desaparecidos,desde que 'aquilo você conhece a historia ?

 

player: yes

 

npc : como as conseguiu? Posso trocar com você.tenho algo muito precioso.Aceita?

 

palyer: yes

 

npc: Aqui esta sua recompensa.muinto obgdo .Essa chave abre algo muinto importante nao consegui encontrar o  cofre acho que voce consegue,na chave tem uma descriçao, alem disso tem uma biblioteca antiga na city de sunshine,pode conseguir + informaoes lá

 

----------------------------

1.Iten scarab coin Id > 2159

2.Iten strange symbol id > 2174

3.Iten brooch id>  2122

---------------------------

id da chave que o npc vai trocar nos 3 item acima e >>>>>>> (12910)

----------------------------

quem poder me ajudar agradecerei muinto

Postado
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
                    selfSay('You want to swap '.. counts.count1[1] ..' '.. getItemNameById(items.item1[1]) ..' for '.. counts.count1[2] ..' '.. getItemNameById(items.item1[2]) ..'.',cid)
                    talkState[talkUser] = 1
          elseif talkState[talkUser] == 1 then
                    if msgcontains(msg, 'yes') 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)
          talkState[talkUser] = 0
                              else
                                        selfSay('You need '.. counts.count1[1] ..' '.. getItemNameById(items.item1[1]) ..'.', cid)
                              end
                    else
                              selSay('Ok then!', cid)
         talkState[talkUser] = 0
                    end
          elseif msgcontains(msg, 'bar of gold') then
                    selfSay('You want to swap '.. counts.count2[1] ..' '.. getItemNameById(items.item2[1]) ..' for '.. counts.count2[2] ..' '.. getItemNameById(items.item2[2]) ..'.', cid)
     talkState[talkUser] = 2
          elseif talkSate[talkUser] == 2
                    if msgcontains(msg, 'yes') 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)
          talkState[talkUser] = 0
                              else
                                        selfSay('You need '.. counts.count2[1] ..' '.. getItemNameById(items.item2[1]) ..'.', cid)
                              end
                    else
                              selfSay('Ok then!', cid)
                              talkState[talkUser] = 0
                    end
          end
          return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Vamos lá, vocês poderiam me tirar uma duvida nesse script? Ele ta funcionando porem, queria adicionar mais itens. 

 

Local Items seria o ID do item, 

Count seria a quantidade certo?

 

E se eu quiser adicionar mais itens na troca? como eu faço para alterar essa parte? 

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

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