Ir para conteúdo

Featured Replies

Postado

Ola mas uma vez galerinha do TK.

 

Estou precisando de um NPC que troque major token (Editavel) por itens...exemplo:

 

ItempriceID = [18423 ,1]

Itens ID = [12360 ,1] - [iTEM ,COUNT] [Editavel] -- Item a ser recebido.

                [12360 ,1] -- Prismatic Legs -- Itens exemplos.

                [12360 ,1] -- Prismatic Helmet

                [12360 ,1] -- Gill Legs

                [12360 ,1] -- Gill Gugel

                [12360 ,1] -- Glow Wine

                [12360 ,1] -- Ironload stone

...... Que eu possa adicionar mas itens...REP+ para quem mim ajudar.

  • Respostas 18
  • Visualizações 2.3k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Também não , tem que ser vários items.

  • Ola, eu tbm já estive precisando de um npc como esse, porem optei por outro opção, é um script em que você clica no bau e ele te vende o item por um gold alternativo.   Dá uma olhada nele, vê se po

Postado

tem esse aki.

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())

Postado

Esse não serve infelizmente.

"Lendas jamais voltam pois são apenas lendas. eu, eu sou real."

 

Attr:// [GM] Eddy

2013 ~ 2014 R.I.P

Kjc5D10.png

O retorno da lenda....

Postado
  • Autor

@Macalo

 

Cara obrigado por tentar ajuda mas essa script ja testei e não posso adicionar mas itens...ela não funciona pelo menos no meu servidor não funcionou (Baiak Vills)

Postado

e esse aki. ja testou ?

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

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


-- Config --

local configs = {
    
    FirstItemId = 2455,
    FirstItemCount = 5,
    SecondItemId = 2321,
    SecondItemCount = 1,

    isQuest = "false",    
    questStorage = 17890,

    msgMeet = 'Você deseja trocar '..FirstItemCount .. ' '.. getItemName(FirstItemId) ..' por '.. SecondItemCount ..' '.. getItemName(SecondItemId) ..'?',
    msgQuestCompleted = "Você já fez essa quest.",
    msgQuestNotItem = "Voce não tem o item necessario.",

    }


function npcTroca(cid, message, keywords, parameters, node)

    if(not npcHandler:isFocused(cid)) then
        return false
    end

    if (configs.isQuest == "true") then
    if (getPlayerStorageValue(configs.questStorage) <= 0) then
        if (getItemCount(cid, configs.FirstItemId) == configs.FirstItemCount) then
            doRemoveItem(configs.FirstItemId, config.FirstItemCount)
            doPlayerAddItem(cid, configs.SecondItemId, configs.SecondItemCount)
        else
            return     doPlayerSendTextMessage(cid, 27, configs.msgQuestNotItem)
        end
    else
        return doPlayerSendTextMessage(cid, 27, configs.msgQuestCompleted)
    end
else
    if (getItemCount(cid, configs.FirstItemId) == configs.FirstItemCount) then
        doRemoveItem(configs.FirstItemId, config.FirstItemCount)
        doPlayerAddItem(cid, configs.SecondItemId, configs.SecondItemCount)
    else
        return     doPlayerSendTextMessage(cid, 27, configs.msgQuestNotItem)
    end    
end
end

itemTrade = keywordHandler:addKeyword({'offer'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = configs.msgMeet})
itemTrade:addChildKeyword({'yes'}, npcTroca, {})
itemTrade:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then.', reset = true})
        
npcHandler:addModule(FocusModule:new())

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