Ola amigos do xtibia!
Tenho um npc que vende itens vip e gostaria que vcs olhassem meu script pois quando abro meu ot acontece o seguinte erro:
'end' expected <to close 'if' at line 19> near '<eof>'
Aqui esta 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, 'list')) then
selfSay('Eu vendo {Special Hat}, {Special Armor}, {Special Legs}, {Special Boots}, {Special Shield}, {Special BackPack}, {Vip Star}, {Special Wand} , {Special Sword}, {Special Axe}, {Special Club}, {Second Addon},por Moedas VIP', cid)
elseif(msgcontains(msg, 'Special Hat')) then
selfSay('Voc\ê quer comprar um Special Hat por 10 VIP coins?', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'Special Armor')) then
selfSay('Voc\ê quer comprar Special Armor por 12 VIP coins?', cid)
talkState[talkUser] = 2
elseif(msgcontains(msg, 'Special Legs') )then
selfSay('Voc\ê quer comprar Special Legs por 12 VIP coins?', cid)
talkState[talkUser] = 3
elseif(msgcontains(msg, 'Special Boots') )then
selfSay('Voc\ê quer comprar Special Boots por 12 VIP coins?', cid)
talkState[talkUser] = 4
elseif(msgcontains(msg, 'Special Backpack') )then
selfSay('Voc\ê quer comprar Special Backpack por 10 VIP coins?', cid)
talkState[talkUser] = 5
elseif(msgcontains(msg, 'Vip Star') )then
selfSay('Voc\ê quer comprar Vip Star por 15 VIP coins?', cid)
talkState[talkUser] = 6
elseif(msgcontains(msg, 'Special Wand') )then
selfSay('Voc\ê quer comprar Special Wand por 15 VIP coins?', cid)
talkState[talkUser] = 7
elseif(msgcontains(msg, 'Special Sword') )then
selfSay('Voc\ê quer comprar Special Sword por 15 VIP coins?', cid)
talkState[talkUser] = 8
elseif(msgcontains(msg, 'Special Axe') )then
selfSay('Voc\ê quer comprar Special Axe por 15 VIP coins?', cid)
talkState[talkUser] = 9
elseif(msgcontains(msg, 'Special Club') )then
selfSay('Voc\ê quer comprar Special Club por 15 VIP coins?', cid)
talkState[talkUser] = 10
elseif(msgcontains(msg, 'Second Addon') )then
selfSay('Voc\ê quer comprar Second Addon por 3 VIP coins?', cid)
talkState[talkUser] = 11
elseif(msgcontains(msg, 'Special Shield') )then
selfSay('Voc\ê quer comprar Second Addon por 12 VIP coins?', cid)
talkState[talkUser] = 12
-- Confirmação da Compra
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if(doPlayerRemoveItem(cid, 2157, 10) == true) then
selfSay('Obrigado por comprar!', cid)
doPlayerAddItem(cid, 6096, 1)
talkState[talkUser] = 0
else
selfSay('Voc\ê n\ão tem 10 VIP coins', cid)
talkState[talkUser] = 0
end
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 2) then
if(doPlayerRemoveItem(cid, 2157, 12) == true) then
selfSay('Obrigado por comprar!', cid)
doPlayerAddItem(cid, 2653, 1)
talkState[talkUser] = 0
else
selfSay('Voc\ê n\ão tem 12 VIP coins', cid)
talkState[talkUser] = 0
end
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 3) then
if(doPlayerRemoveItem(cid, 2157, 12) == true) then
selfSay('Obrigado por comprar!', cid)
doPlayerAddItem(cid, 5918, 1)
talkState[talkUser] = 0
else
selfSay('Voc\ê n\ão tem 12 VIP coins', cid)
talkState[talkUser] = 0
end
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 4) then
if(doPlayerRemoveItem(cid, 2157, 12) == true) then
selfSay('Obrigado por comprar!', cid)
doPlayerAddItem(cid, 5462, 1)
talkState[talkUser] = 0
else
selfSay('Voc\ê n\ão tem 12 VIP coins', cid)
talkState[talkUser] = 0
end
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 5) then
if(doPlayerRemoveItem(cid, 2157, 10) == true) then
selfSay('Obrigado por comprar!', cid)
doPlayerAddItem(cid, 10518, 1)
talkState[talkUser] = 0
else
selfSay('Voc\ê n\ão tem 10 VIP coins', cid)
talkState[talkUser] = 0
end
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 6) then
if(doPlayerRemoveItem(cid, 2157, 15) == true) then
selfSay('Obrigado por comprar!', cid)
doPlayerAddItem(cid, 7366, 1)
talkState[talkUser] = 0
else
selfSay('Voc\ê n\ão tem 15 VIP coins', cid)
talkState[talkUser] = 0
end
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 7) then
if(doPlayerRemoveItem(cid, 2157, 15) == true) then
selfSay('Obrigado por comprar!', cid)
doPlayerAddItem(cid, 3961, 1)
talkState[talkUser] = 0
else
selfSay('Voc\ê n\ão tem 15 VIP coins', cid)
talkState[talkUser] = 0
end
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 8) then
if(doPlayerRemoveItem(cid, 2157, 15) == true) then
selfSay('Obrigado por comprar!', cid)
doPlayerAddItem(cid, 7366, 1)
talkState[talkUser] = 0
else
selfSay('Voc\ê n\ão tem 15 VIP coins', cid)
talkState[talkUser] = 0
end
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 9) then
if(doPlayerRemoveItem(cid, 2157, 15) == true) then
selfSay('Obrigado por comprar!', cid)
doPlayerAddItem(cid, 7453, 1)
talkState[talkUser] = 0
else
selfSay('Voc\ê n\ão tem 15 VIP coins', cid)
talkState[talkUser] = 0
end
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 10) then
if(doPlayerRemoveItem(cid, 2157, 15) == true) then
selfSay('Obrigado por comprar!', cid)
doPlayerAddItem(cid, 8929, 1)
talkState[talkUser] = 0
else
selfSay('Voc\ê n\ão tem 15 VIP coins', cid)
talkState[talkUser] = 0
end
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 11) then
if(doPlayerRemoveItem(cid, 2157, 3) == true) then
selfSay('Obrigado por comprar!', cid)
doPlayerAddItem(cid, 6527, 1)
talkState[talkUser] = 0
else
selfSay('Voc\ê n\ão tem 3 VIP coins', cid)
talkState[talkUser] = 0
end
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 12) then
if(doPlayerRemoveItem(cid, 2157, 12) == true) then
selfSay('Obrigado por comprar!', cid)
doPlayerAddItem(cid, 2527, 1)
talkState[talkUser] = 0
else
selfSay('Voc\ê n\ão tem 12 VIP coins', cid)
talkState[talkUser] = 0
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
Obrigado,quem me ajudar dou rep+