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
function doPlayerCountItems(cid, items) -- by Vodka
local items = type(items) == "table" and items or {items}
for i = 1, table.maxn(items) do
if getPlayerItemCount(cid, items[i]) <= 0 then
return false
end
end
return true
end
function doPlayerRemoveAllItems(cid, items, count) -- by Vodka
local items = type(items) == "table" and items or {items}
for i = 1, table.maxn(items) do
doPlayerRemoveItem(cid,items[i], count or 1)
end
return nil
end
items_list = {5468,2600,6103,2194,10165,7632}
-- Conversa Jogador/NPC
if(msgcontains(msg, 'negociar')) then
selfSay('Eu posso lhe oferecer a passagem para a proxima fase dessa quest, mais para isto eu quero os 5 itens que esses monstros guardam, caso tenha coletado os itens diga, {expecto patrono}.', cid)
elseif(msgcontains(msg, 'expecto patrono')) then
selfSay('Você coletou os 5 itens necessarios para a proxima fase?', cid)
talkState[talkUser] = 13
-- Confirmação da Compra
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 13) then
if doPlayerCountItems(cid, items_list) then
doPlayerRemoveAllItems(cid, items_list, 1)
doPlayerAddItem(cid, 7632,1)
setPlayerStorageValue(cid,5644, 1)
doSendMagicEffect(getCreaturePosition(cid), 29)
selfSay('Obrigado, foi um prazer barganhar com você.', cid)
talkState[talkUser] = 0
else
selfSay('Você está tentando me enganar? Isso pode lhe custar caro!', cid)
talkState[talkUser] = 0
end
end
return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
6
1.1k
01 de maio de 2011 às 15:43
01 de maio de 2011 às 16:48
n funfo o script.. o npc nem se quer apareceu ![]()
Editado Maio 1 por 749676
info
Grupo: Infante
Registrado: 13/10/08
Posts: 1.6k
Reputação: +420
Char no Tibia: Demonbholder

01 de maio de 2011 às 16:58
No título do seu tópico coloque uma breve introdução ao seu pedido.
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
-- Conversa Jogador/NPC
if(msgcontains(msg, 'negociar')) then
selfSay('Eu posso lhe oferecer a passagem para a proxima fase dessa quest, mais para isto eu quero os 5 itens que esses monstros guardam, caso tenha coletado os itens diga, {expecto patrono}.', cid)
elseif(msgcontains(msg, 'expecto patrono')) then
selfSay('Você coletou os 5 itens necessarios para a proxima fase?', cid)
talkState[talkUser] = 13
-- Confirmação da Compra
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 13) then
if doPlayerRemoveItem(cid,5468,4) == TRUE then
doPlayerAddItem(cid, 7632,1)
setPlayerStorageValue(cid,5644, 1)
doSendMagicEffect(getCreaturePosition(cid), 29)
selfSay('Obrigado, foi um prazer barganhar com você.', cid)
talkState[talkUser] = 0
else
selfSay('Você está tentando me enganar? Isso pode lhe custar caro!', cid)
talkState[talkUser] = 0
end
end
return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Editado Maio 1 por Demonbholder
01 de maio de 2011 às 18:49
nossa, vlw dinovo ae camarada :**
info
Grupo: Infante
Registrado: 13/10/08
Posts: 1.6k
Reputação: +420
Char no Tibia: Demonbholder

01 de maio de 2011 às 19:39
Ok, reportado para mover. Não esqueça do título na próxima vez.



info
Grupo: Campones
Registrado: 17/04/09
Posts: 22
Reputação: +2
Char no Tibia: tharkus
Tou com problema com um script aki de um npc... esse npc troca 5 itens por 1 outro item.. mais se o player so levar 4 item ele pega os 4 item e n da nd pro player... gostaria q se o player levasse 4 item o npc falasse, que são preciso todos os itens e não pegasse dele os 4 itens.
esse é o script:
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
-- Conversa Jogador/NPC
if(msgcontains(msg, 'negociar')) then
selfSay('Eu posso lhe oferecer a passagem para a proxima fase dessa quest, mais para isto eu quero os 5 itens que esses monstros guardam, caso tenha coletado os itens diga, {expecto patrono}.', cid)
elseif(msgcontains(msg, 'expecto patrono')) then
selfSay('Você coletou os 5 itens necessarios para a proxima fase?', cid)
talkState[talkUser] = 13
-- Confirmação da Compra
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 13) then
if doPlayerRemoveItem(cid,5468,1) and doPlayerRemoveItem(cid,2600,1) and doPlayerRemoveItem(cid,6103,1) and doPlayerRemoveItem(cid,2194,1) and doPlayerRemoveItem(cid,10165,1) then
doPlayerAddItem(cid, 7632,1)
setPlayerStorageValue(cid,5644, 1)
doSendMagicEffect(getCreaturePosition(cid), 29)
selfSay('Obrigado, foi um prazer barganhar com você.', cid)
talkState[talkUser] = 0
else
selfSay('Você está tentando me enganar? Isso pode lhe custar caro!', cid)
talkState[talkUser] = 0
end
end
return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
ALGUEM AE MANJA ARRUMA ISSO?