faltou uns "then" e uma ageitadinha na estrutura de "ifs". agora acho que vai funcionar:
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, 'Jester Hat') then
selfSay('Ok, para adquirir o Jaster Hat precisarei de 100 {Nails}, voce pode obter nos War Golem.', cid)
talkState[talkUser] = 1
elseif msgcontains(msg, 'Jester Staff') then
selfSay('Ok, para adquirir o Jaster Staff precisarei de 111 {Soul orb}.', cid)
talkState[talkUser] = 2
end
if (msgcontains(msg, 'nails')) and talkState[talkUser] == 1) then
if (doPlayerRemoveItem(cid, 8309, 100) then
doPlayerAddItem(cid, 7957, 1 )
selfSay('Obrigado pela troca amigo. Tenha um bom dia!', cid)
else
selfSay('Voce nao possui o item', cid)
end
elseif (msgcontains(msg, 'soul orb')) and talkState[talkUser] == 2) then
if (doPlayerRemoveItem(cid, 5944, 111) then
doPlayerAddItem(cid, 7958, 1 )
selfSay('Obrigado pela troca amigo. Tenha um bom dia!', cid)
else
selfSay('Voce nao possui o item', cid)
end
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())


info
Grupo: Artesão
Registrado: 03/08/07
Posts: 129
Reputação: +12
Gênero: Masculino
Bom Galera alguem poderia dar uma olhada nesse script que fiz? Sou muito iniciante estou aprendendo ainda a cria-los. Obrigado!
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, 'Jester Hat') then
selfSay('Ok, para adquirir o Jaster Hat precisarei de 100 {Nails}, voce pode obter nos War Golem.', cid)
talkState[talkUser] = 1
elseif msgcontains(msg, 'Jester Staff') then
selfSay('Ok, para adquirir o Jaster Staff precisarei de 111 {Soul orb}.', cid)
talkState[talkUser] = 2
elseif (msgcontains(msg, 'nails')) and talkState[talkUser] == 1) then
if (doPlayerRemoveItem(cid, 8309, 100)
doPlayerAddItem(cid, 7957, 1 )
selfSay('Obrigado pela troca amigo. Tenha um bom dia!', cid)
else
selfSay('Voce nao possui o item', cid)
end
end
elseif (msgcontains(msg, 'soul orb')) and talkState[talkUser] == 2) then
if (doPlayerRemoveItem(cid, 5944, 111)
doPlayerAddItem(cid, 7958, 1 )
selfSay('Obrigado pela troca amigo. Tenha um bom dia!', cid)
else
selfSay('Voce nao possui o item', cid)
end
else
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())