Ir para conteúdo
  • Cadastre-se

(Resolvido)Npc de SCARAB COIN


Ir para solução Resolvido por machine,

Posts Recomendados

Olha, se for para utilizar com o {trade}, você teria que fazer modificações na source. Mas se quiser por diálogo, tem como ser feito sem mexer na source. Exemplo:

 


Player: Hi

NPC: Olá, {Player}, sou o armeiro de Winterfell. Caso esteja precisando de {espadas}, posso te oferecer algumas em troca de uma moeda preciosa.

Player: Espada

NPC: Muito bem, posso te oferecer uma {serpent sword} por 5 small diamonds, {mystic blade} por 50 small diamonds, ou {magic longsword} por 1000 small diamonds. Qual você deseja?

Player: mystic blade

NPC: Foi um prazer fazer negócio com você. Aí está sua espada.

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Link para o post
Compartilhar em outros sites
  • Solução

\data\npc\scripts crie scarabitens.lua

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 creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end
local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid
local shopWindow = {}
local moeda = 2159 -- [ID DO SCARAB COIN]
local t = {
     [1234] = {price = 15} -- [ID DO ITEM QUE SERÁ VENDIDO] = {QUANTO IRÁ CUSTAR}   
     [5678] = {price = 15}
     [9101] = {price = 15}
     [1213] = {price = 15}

     }
local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks)
    if t[item] and not doPlayerRemoveItem(cid, moeda, t[item].price) then
         selfSay("você não tem "..t[item].price.." "..getItemNameById(moeda), cid)
             else
        doPlayerAddItem(cid, item)
        selfSay("aqui está seu item!", cid)
     end
    return true
end
if (msgcontains(msg, 'trade') or msgcontains(msg, 'TRADE'))then
            for var, ret in pairs(t) do
                    table.insert(shopWindow, {id = var, subType = 0, buy = ret.price, sell = 0, name = getItemNameById(var)})
                end
            openShopWindow(cid, shopWindow, onBuy, onSell)
        end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

\data\npc crie trocador.xml (ou qualquer nome que quiser, mas lembre de trocar no script abaixo também)

<?xml version="1.0"?>
<npc name="Trocador" script="data/npc/scripts/scarabitens.lua" access="5" lookdir="2" walkinterval="0">
<health now="200" max="200" />
<look type="324" head="95" body="95" legs="95" feet="95" addons="3" />
<parameters>
<parameter key="message_greet" value="Ola |PLAYERNAME|. Veio trocar uns scarabs coins por itens? Diga {trade}." />
</parameters>
</npc>
Link para o post
Compartilhar em outros sites

Vlw mano , eu cliquei em melhor resposta e curtir , nao sei se isso significa REP auhsuahs, nao conheço muito.

Você clicando em Melhor Resposta o Tópico vai ficar Como Resolvido

E você clicando em liked.png e Reputação ( Rep+ )

Meus Trabalhos :D

[Resolvido] Comando !Templo

[Resolvido] Evento Invasão Diária

[Resolvido] "X" Item da "X" Vocação

[Resolvido] 30 Dias de VIP em "X" Item

                   

   " O mundo e feito de escolhas e eu escolhi você "  :D  ;)

Link para o post
Compartilhar em outros sites
  • 7 months later...
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 creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end
local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid
local shopWindow = {}
local moeda = 6527 -- [iD DA MOEDA]
local t = {
 [12544] = {price = 5},
 [2798] = {price = 1},
 [9004] = {price = 15}, -- [iD DO ITEM QUE SERÁ VENDIDO] = {QUANTO IRÁ CUSTAR}
 [8981] = {price = 10}
 }
local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks)
if  t[item] and not doPlayerRemoveItem(cid, moeda, t[item].price) then
 selfSay("você não tem "..t[item].price.." "..getItemNameById(moeda), cid)
else
doPlayerAddItem(cid, item)
selfSay("aqui está seu item!", cid)
  end
return true
end
if (msgcontains(msg, 'trade') or msgcontains(msg, 'TRADE'))then
for var, ret in pairs(t) do
table.insert(shopWindow, {id = var, subType = 0, buy = ret.price, sell = 0, name = getItemNameById(var)})
end
openShopWindow(cid, shopWindow, onBuy, onSell)
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
 
 
Estou usando o código feito por nosso amigo ai, porém ele tem um bug, quando abre a janela de trade se você não tiver gold coin na backpack ele não deixa você comprar o item, e em vez de aparecer o nome do coin desejado "no meu caso vip coin", aparace gold coin.
 
Alguém sabe como resolver? vlw
Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo