Ir para conteúdo
  • 0

[Npc] Vender Storage


fourketa123

Pergunta

Tipo do script: Npc

Protocolo (versão do Tibia): 8.60

Servidor utilizado: Tfs 0.4

Nível de experiência: Médio

Adicionais/Informações:

 

 

Olá,

Eu Queria Um Script,

De Npc,

Que o player leva-se,

Determinado item para o npc,

O npc Daria Uma Storage,

 

 

Faça só um exemplo... Depois eu edito. :) Obrigado..

 

URGENTEEE..

 

Gogo ~> head-shot.no-ip.org <~ Ip/Site... Venham Ser Tops :) E ter Muita Diversão...

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

10 respostass a esta questão

Posts Recomendados

  • 0
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 = 1234 -- id do anel
local quantRemove = 1 -- quantidade do item acima que sera removido
local storageGain = 5678 -- storage que o player vai ganhar quando o item for removido

if (msgcontains(msg, 'yes') and doPlayerRemoveItem(cid, itemID, quantRemove)) then
selfSay('MESAGEM QUE O NPC IRA FALAR AO REMOVER O ITEM AQUI ENTRE AS ASPAS.', cid)
setPlayerStorageValue(cid, storageGain, 1)
else
selfSay('MESAGEM QUE O NPC IRA FALAR SE O PLAYER NÂO TIVER O ITEM AQUI ENTRE AS ASPAS.', cid)
end

return true
end

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

Link para o comentário
Compartilhar em outros sites

  • 0

Para Botar Mais Que Um Item é Só?

 

local itemID = 1234, 1235

 

Nao, vai precisar fazer um loop em uma table ou array.

function doPlayerRemoveItemTable(cid, table)
for itemid,count in pairs(table) do
if not (getPlayerItemCount(cid, itemid) >= count) then
return false
end
end
return true
end

 

 

Agora eh soh declarar a funcao e utilizar uma tabela como esta:

local reqItems = {[itemid] = quant,[itemid2] = quant2}
if doPlayerRemoveItemTable(cid, reqItems) then

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

  • 0

se for sóh 2 itens poem assim:

 

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 = 1234 -- id do item que sera removido
local itemID2 = 5678 -- id do item que sera removido
local quantRemove = 1 -- quantidade do item acima que sera removido
local quantRemove2 = 5 -- quantidade do item acima que sera removido
local storageGain = 5678 -- storage que o player vai ganhar quando o item for removido

if (msgcontains(msg, 'yes') and getPlayerItemCount(cid, itemID) >= quantRemove and getPlayerItemCount(cid, itemID2) >= quantRemove2) then
doPlayerRemoveItem(cid, itemID, quantRemove)
doPlayerRemoveItem(cid, itemID2, quantRemove2)
selfSay('MESAGEM QUE O NPC IRA FALAR AO REMOVER O ITEM AQUI ENTRE AS ASPAS.', cid)
setPlayerStorageValue(cid, storageGain, 1)
else
selfSay('MESAGEM QUE O NPC IRA FALAR SE O PLAYER NÂO TIVER O ITEM AQUI ENTRE AS ASPAS.', cid)
end

return true
end

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

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

×
×
  • Criar Novo...