Ir para conteúdo
  • Cadastre-se

NPC que vende stone por diamonds (pedido)


Posts Recomendados

olá,como fala no titulo quero um Npc que vende stone igual o Hery so que por diamonds e o formado para comprar igual do henry,REP+ para quem ajudar

Link para o post
Compartilhar em outros sites

Olha tenho 1 aqui mais não sei se vai funcionar no seu servidor pois editei ele no Tibia 8.60, testa ai:

Vá em "Data/npcs/scripts" copie e cole 1 arquivo .lua, renomeie ele para newcoin.lua, apague tudo nele e coloque isso:
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 itemid = 2159 -- Aqui você coloca o ID do Diamond!
local shopWindow = {}
local t = {
 [2472] = {price = 10}, -- [ID da stone] e o preço que ela irá custar em diamond.
 [2520] = {price = 5},
 }
local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks)
if  t[item] and getPlayerItemCount(cid, itemid) < t[item].price then
selfSay("You do not have "..t[item].price.." new points.", cid)
else
doPlayerAddItem(cid, item)
doPlayerRemoveItem(cid, itemid, (t[item].price))
selfSay("Here you 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())

Agora em "Data/npcs" copie e cole 1 arquivo .xml e renomeie ele para newseller.xml, apague tudo no arquivo e cole isso:

<?xml version="1.0"?>
<npc name="New Seller" script="data/npc/scripts/newcoin.lua" walkinterval="50000" floorchange="0">
<health now="100" max="100"/>
<look type="154" head="78" body="88" legs="0" feet="88" addons="0"/>
<parameters>
<parameter key="message_greet" value="Hello |PLAYERNAME|. I {trade} items for new points!"/>
</parameters>
</npc>

Pra configurar é só alterar o ID do diamond e adicionar as stones pelo valor de diamond, já ta marcado no script newcoin.lua onde é pra alterar!

Editado por Wakon (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 9 months later...
Em 06/03/2015 14:49:49, Wakon disse:

Olha tenho 1 aqui mais não sei se vai funcionar no seu servidor pois editei ele no Tibia 8.60, testa ai:

Vá em "Data/npcs/scripts" copie e cole 1 arquivo .lua, renomeie ele para newcoin.lua, apague tudo nele e coloque isso:

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 itemid = 2159 -- Aqui você coloca o ID do Diamond!
local shopWindow = {}
local t = {
 [2472] = {price = 10}, -- [ID da stone] e o preço que ela irá custar em diamond.
 [2520] = {price = 5},
 }
local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks)
if  t[item] and getPlayerItemCount(cid, itemid) < t[item].price then
selfSay("You do not have "..t[item].price.." new points.", cid)
else
doPlayerAddItem(cid, item)
doPlayerRemoveItem(cid, itemid, (t[item].price))
selfSay("Here you 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())

Agora em "Data/npcs" copie e cole 1 arquivo .xml e renomeie ele para newseller.xml, apague tudo no arquivo e cole isso:


<?xml version="1.0"?>
<npc name="New Seller" script="data/npc/scripts/newcoin.lua" walkinterval="50000" floorchange="0">
<health now="100" max="100"/>
<look type="154" head="78" body="88" legs="0" feet="88" addons="0"/>
<parameters>
<parameter key="message_greet" value="Hello |PLAYERNAME|. I {trade} items for new points!"/>
</parameters>
</npc>

Pra configurar é só alterar o ID do diamond e adicionar as stones pelo valor de diamond, já ta marcado no script newcoin.lua onde é pra alterar!

 

 

 

Mano, eu quebrei a cabeça pra entender como funcionava o shop do cliente  abre quando clica na img do diamond no canto superior da tela, editei imagens, perdi um tempão, dai encontro esse post :wow:

Funcionou aqui, muito obrigado, hoje encontrei esse post, consegui criar npc que vende pokes por diamond e varias outras coisas, pela minha felicidade vou te dar mais rep++ amanhã ^^

 

Ah, uma dúvida/pedido, como eu coloco quantidade? se na janela do trade eu comprar 2 , só vem 1 e só pago o preço de 1 (ainda bem), queria por para caso role aquele negocinho que muda a quantidade e comprar o item, cobre o preço do item*quantidade e envie o item na quantidade certa, tem como me ensinar ou fazer pra mim?

Link para o post
Compartilhar em outros sites

Acho que não tem como fazer isso, se tiver está fora de meu conhecimento, desculpe.

Link para o post
Compartilhar em outros sites
Agora, Wakon disse:

Acho que não tem como fazer isso, se tiver está fora de meu conhecimento, desculpe.

Blz, você sabe como coloca pra vender pokemons nesse npc?

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