Ir para conteúdo

Problemas Com Script


tibino96

Posts Recomendados

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+

Link para o comentário
Compartilhar em outros sites

Tenta esse:

 

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
end


-- 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())

 

T+

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...