tibino96 2 Postado Agosto 3, 2011 Share Postado Agosto 3, 2011 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 https://xtibia.com/forum/topic/163834-problemas-com-script/ Compartilhar em outros sites More sharing options...
kmmyrawr 6 Postado Agosto 3, 2011 Share Postado Agosto 3, 2011 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 https://xtibia.com/forum/topic/163834-problemas-com-script/#findComment-1078613 Compartilhar em outros sites More sharing options...
tibino96 2 Postado Agosto 3, 2011 Autor Share Postado Agosto 3, 2011 Ainda nao deu certo! Agr esta dando o erro 'end' expected <to close 'fuction' at line 11 near 'elseif' Quem puder me ajudar por favor! Obrigado Link para o comentário https://xtibia.com/forum/topic/163834-problemas-com-script/#findComment-1078953 Compartilhar em outros sites More sharing options...
Posts Recomendados