Vá em data/npc, copie um arquivo lua e coloque isso:
<?xml version="1.0" encoding="UTF-8"?><npc name="Assistente VIP" script="data/npc/scripts/assistente vip.lua" access="5" walkinterval="2000">
<health now="200" max="200"/>
<look type="73" head="20" body="30" legs="40" feet="50" corpse="6080"/>
<parameters>
<parameter key="message_greet" value="Ola, |PLAYERNAME|. Eu troco 100 vip coins por 1 vip stone."/>
<parameter key="message_farewell" value="Ok, ate logo |PLAYERNAME|." />
<parameter key="message_walkaway" value="Hmm, argh..." />
<parameter key="message_onsendtrade" value="Nao vendo nada, apenas troco vip coins por vip stones."/>
</parameters>
</npc>
Renomeie o arquivo para Assistente VIP, agora vá em data/npc/scripts, copie um arquivo lua e ponha isto:
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
if(msgcontains(msg, 'vip stone') or msgcontains(msg, 'vip coin')) then
selfSay('Posso trocar 100 vip coin por 1 vip stone, voce concorda?', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if(getPlayerItemCount(cid, 9020) >= 100) then
doPlayerRemoveItem(cid, 9020, 100)
doPlayerAddItem(cid, 7633, 1)
selfSay('Ok. Aqui esta.', cid)
else
selfSay('Voce nao tem o que eu preciso. Me traga 100 vip coins e faremos negocio.', cid)
end
talkState[talkUser] = 0
elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then
talkState[talkUser] = 0
selfSay('Tudo bem, sempre estou disposto a fazer negocio.', cid)
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Renomeie o arquivo para assistente vip.
O Script é bem fácil de editar. Você pode mudar o nome e a aparência no primeiro script. No segundo, as frases de resposta, os ids dos items e as ações do npc.
Espero ter ajudado!
Feliz natal ae fera ![]()


info
Grupo: Campones
Registrado: 30/06/09
Posts: 51
Reputação: +2
Char no Tibia: Assassin of Shadow
Quero pedir 1 npc que troca 100 itens do id 9020 por 1 item id 7633.
player:hi
seller trade:Ola player name,eu troco 100 vip coins por 1 vip stone.
player:trade
seller trade:voce deseja mesmo trocar 100 vip coins por 1 vip stone?
player:yes
seller trade:ai esta.
ai quando o player nao tiver as 100 vip coin o npc fala:Voce precisa de 100 vip coin para trocar em uma vip stone!
Aguardando!