pow velho ai vc tem que mechar na lib do npc para aceitar moedas vips tbm :X
- Fórum
- xTibia - Notícias e Suporte
- Soluções
- Archived
- Npc Especial
4
959
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

10 de março de 2011 às 19:33
info
Grupo: Campones
Registrado: 29/08/09
Posts: 5
Reputação: 0
Char no Tibia: Levoth de elera

10 de março de 2011 às 21:22
como eu mecho na lib pra aceitar isso?
o dificil e trocar de guild pra vip gold o resto eu sei fazer o npc todinho menos isso que nao sei
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

10 de março de 2011 às 21:32
se eu não me engano é nessa função:
-- Callback onBuy() function. If you wish, you can change certain Npc to use your onBuy().
function ShopModule:callbackOnBuy(cid, itemid, subType, amount, ignoreCap, inBackpacks)
if(self.npcHandler.shopItems[itemid] == nil) then
error("[shopModule.onBuy]", "items[itemid] == nil")
return false
end
if(self.npcHandler.shopItems[itemid].buyPrice == -1) then
error("[shopModule.onSell]", "Attempt to buy a non-buyable item")
return false
end
local backpack = 1988
local totalCost = amount * self.npcHandler.shopItems[itemid].buyPrice
if(inBackpacks) then
totalCost = totalCost + (math.max(1, math.floor(amount / getContainerCapById(backpack))) * 20)
end
local parseInfo = {
[TAG_PLAYERNAME] = getPlayerName(cid),
[TAG_ITEMCOUNT] = amount,
[TAG_TOTALCOST] = totalCost,
[TAG_ITEMNAME] = self.npcHandler.shopItems[itemid].realName
}
if(getPlayerMoney(cid) < totalCost) then
local msg = self.npcHandler:getMessage(MESSAGE_NEEDMONEY)
msg = self.npcHandler:parseMessage(msg, parseInfo)
doPlayerSendCancel(cid, msg)
return false
end
local subType = self.npcHandler.shopItems[itemid].subType or 1
local a, b = doNpcSellItem(cid, itemid, amount, subType, ignoreCap, inBackpacks, backpack)
if(a < amount) then
local msgId = MESSAGE_NEEDMORESPACE
if(a == 0) then
msgId = MESSAGE_NEEDSPACE
end
local msg = self.npcHandler:getMessage(msgId)
parseInfo[TAG_ITEMCOUNT] = a
msg = self.npcHandler:parseMessage(msg, parseInfo)
doPlayerSendCancel(cid, msg)
if(NPCHANDLER_CONVBEHAVIOR ~= CONVERSATION_DEFAULT) then
self.npcHandler.talkStart[cid] = os.time()
else
self.npcHandler.talkStart = os.time()
end
if(a > 0) then
doPlayerRemoveMoney(cid, ((a * self.npcHandler.shopItems[itemid].buyPrice) + (b * 20)))
return true
end
return false
else
local msg = self.npcHandler:getMessage(MESSAGE_BOUGHT)
msg = self.npcHandler:parseMessage(msg, parseInfo)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg)
doPlayerRemoveMoney(cid, totalCost)
if(NPCHANDLER_CONVBEHAVIOR ~= CONVERSATION_DEFAULT) then
self.npcHandler.talkStart[cid] = os.time()
else
self.npcHandler.talkStart = os.time()
end
return true
end
end


info
Grupo: Campones
Registrado: 29/08/09
Posts: 5
Reputação: 0
Char no Tibia: Levoth de elera
Tipo do script:npcs
Protocolo (versão do Tibia):8.60
Servidor utilizado:styller yourots
Nível de experiência:medio/baixo(sei mecher no bassico fazer creatures essas coisas)
Adicionais/Informações:o npc e o seguinte ele vende itens por otro itens sem ser gold seria uma nova moeda mais eu nao quero de troca eu queria que o player podesse falar trade como se fose gold mais esse npoc em vez de pegar gold ele pega o item vip do server!
ex:
player:hi
npc: ola player para comprar itens vips e so falar trade
player:trade
ae la abre akela paradinha do trade ele compra sertinho mais quando ele compra em ves de ser gold vai ser barras de ouro