Ir para conteúdo

(Pedido)Npc Que Vende Mas Nao Por Dinhero Normal


laravita

Posts Recomendados

Exemplo: Editando o NPC Oldrak:

 

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 creatureSayCallback(cid, type, msg)

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

 --------------------------------------------------------------------------------- ATÉ AQUI NÃO MODIFIQUE

       local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid
       if msgcontains(msg, 'dragon scale mail') then        ---------------------- NOME DO ITEM QUE VOCE QUER VENDER
               selfSay('Do you want to buy a Dragon Scale Mail from me?', cid) --- PERGUNTA
               talkState[talkUser] = 1
       elseif msgcontains(msg, 'yes') and talkState[talkUser] == 1 then
               local qntd = XXX  ------------------------------------------------- QUANTIDADE DO DETERMINADO ITEM
               local itemid = XXXX  ---------------------------------------------- ID DO ITEM
                       if getPlayerItemCount(cid, itemid) > qnt then
                               selfSay('Voce comprou TAL item!', cid)  ----------- CONFIRMAÇAO DA COMPRA
                               doPlayerRemoveItem(cid, itemid, qntd) 
                               doPlayerAddItem(cid, YYYY, 1)  -------------------- ID DO ITEM QUE RECEBERA
                               talkState[talkUser] = 0
                       else
                               doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa de "..qnt.." "..getItemNameById(itemid).." para comprar.")
                       end

return TRUE
end

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

 

Veja o que deseja modificar e pronto

Editado por Kmmy
Link para o comentário
Compartilhar em outros sites

seria melhor fazer um com tables fica mais fácil configurar, botei o end onde precisava:

 

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 creatureSayCallback(cid, type, msg)

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

 --------------------------------------------------------------------------------- ATÉ AQUI NÃO MODIFIQUE

       local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid
       if msgcontains(msg, 'dragon scale mail') then        ---------------------- NOME DO ITEM QUE VOCE QUER VENDER
               selfSay('Do you want to buy a Dragon Scale Mail from me?', cid) --- PERGUNTA
               talkState[talkUser] = 1
       elseif msgcontains(msg, 'yes') and talkState[talkUser] == 1 then
               local qntd = XXX  ------------------------------------------------- QUANTIDADE DO DETERMINADO ITEM
               local itemid = XXXX  ---------------------------------------------- ID DO ITEM
                       if getPlayerItemCount(cid, itemid) >= qnt then
                               selfSay('Voce comprou TAL item!', cid)  ----------- CONFIRMAÇAO DA COMPRA
                               doPlayerRemoveItem(cid, itemid, qntd) 
                               doPlayerAddItem(cid, YYYY, 1)  -------------------- ID DO ITEM QUE RECEBERA
                               talkState[talkUser] = 0
                       else
                               doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa de "..qnt.." "..getItemNameById(itemid).." para comprar.")
                       end
end

return TRUE
end

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

Editado por Antharaz
Link para o comentário
Compartilhar em outros sites

Só esqueceu de arrumar a linha 38 .-.

 

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 creatureSayCallback(cid, type, msg)

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

 --------------------------------------------------------------------------------- ATÉ AQUI NÃO MODIFIQUE

       local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid
       if msgcontains(msg, 'dragon scale mail') then        ---------------------- NOME DO ITEM QUE VOCE QUER VENDER
               selfSay('Do you want to buy a Dragon Scale Mail from me?', cid) --- PERGUNTA
               talkState[talkUser] = 1
       elseif msgcontains(msg, 'yes') and talkState[talkUser] == 1 then
               local qntd = XXX  ------------------------------------------------- QUANTIDADE DO DETERMINADO ITEM
               local itemid = XXXX  ---------------------------------------------- ID DO ITEM
                       if getPlayerItemCount(cid, itemid) >= qnt then
                               selfSay('Voce comprou TAL item!', cid)  ----------- CONFIRMAÇAO DA COMPRA
                               doPlayerRemoveItem(cid, itemid, qntd) 
                               doPlayerAddItem(cid, YYYY, 1)  -------------------- ID DO ITEM QUE RECEBERA
                               talkState[talkUser] = 0
                       else
                               doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa de "..qnt.." "..getItemNameById(itemid).." para comprar.")
                       end
       end

return TRUE
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

Editado por Kmmy
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...