cometta 0 Postado Julho 22, 2010 Share Postado Julho 22, 2010 Gente alguem me ajuda akii .... vejam o erro que tá dando, é um script de um npc que vende itens VIP por moedas VIP e ta aparecendo o seguinte erro: [Error - LuaScriptInterface::loadFile] data/npc/scripts/donations.lua:21: ')' expected near 'then' [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/donations.lua data/npc/scripts/donations.lua:21: ')' expected near 'then' Olhem o script se ta errado: 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 {Ultrax Cometta Hat}, {Ultrax Cometta Armor}, {Ultrax Cometta Legs}, {Ultrax Cometta Boots}, {Cometta Blade}, {Cometta Axe}, {Cometta Club}, {Cometta Bow}, {Ultrax Cometta Shield}, {Ultrax Cometta Blade}, {Ultrax Cometta Axe}, {Ultrax Cometta Club}, {Ultrax Cometta Wand}, {Ultrax Cometta Rod}, e {Ultrax Cometta Bow}.Por Moedas VIP', cid) elseif(msgcontains(msg, 'ultrax cometta hat') then selfSay('Voc\ê quer comprar Ultrax Cometta Hat por 100 VIP coins?', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'ultrax cometta armor') then selfSay('Voc\ê quer comprar Ultrax Cometta Armor por 100 VIP coins?', cid) talkState[talkUser] = 2 elseif(msgcontains(msg, 'ultrax cometta legs') then selfSay('Voc\ê quer comprar Ultrax Cometta Legs por 100 VIP coins?', cid) talkState[talkUser] = 3 elseif(msgcontains(msg, 'ultrax cometta boots') then selfSay('Voc\ê quer comprar Ultrax Cometta Boots por 100 VIP coins?', cid) talkState[talkUser] = 4 elseif(msgcontains(msg, 'cometta blade') then selfSay('Voc\ê quer comprar Cometta Blade por 50 VIP coins?', cid) talkState[talkUser] = 5 elseif(msgcontains(msg, 'cometta axe') then selfSay('Voc\ê quer comprar Cometta Axe por 50 VIP coins?', cid) talkState[talkUser] = 6 elseif(msgcontains(msg, 'cometta club') then selfSay('Voc\ê quer comprar Cometta Club por 50 VIP coins?', cid) talkState[talkUser] = 7 elseif(msgcontains(msg, 'cometta bow') then selfSay('Voc\ê quer comprar Cometta Bow por 50 VIP coins?', cid) talkState[talkUser] = 8 elseif(msgcontains(msg, 'ultrax cometta shield') then selfSay('Voc\ê quer comprar Ultrax Cometta Shield por 100 VIP coins?', cid) talkState[talkUser] = 9 elseif(msgcontains(msg, 'ultrax cometta blade') then selfSay('Voc\ê quer comprar Ultrax Cometta Blade por 100 VIP coins?', cid) talkState[talkUser] = 10 elseif(msgcontains(msg, 'ultrax cometta axe') then selfSay('Voc\ê quer comprar Ultrax Cometta Axe por 100 VIP coins?', cid) talkState[talkUser] = 11 elseif(msgcontains(msg, 'ultrax cometta club') then selfSay('Voc\ê quer comprar Ultrax Cometta Club por 100 VIP coins?', cid) talkState[talkUser] = 12 elseif(msgcontains(msg, 'ultrax cometta wand') then selfSay('Voc\ê quer comprar Ultrax Cometta Wand por 100 VIP coins?', cid) talkState[talkUser] = 13 elseif(msgcontains(msg, 'ultrax cometta rod') then selfSay('Voc\ê quer comprar Ultrax Cometta Rod por 100 VIP coins?', cid) talkState[talkUser] = 14 elseif(msgcontains(msg, 'ultrax cometta bow') then selfSay('Voc\ê quer comprar Ultrax Cometta Bow por 100 VIP coins?', cid) talkState[talkUser] = 15 -- Confirmação da Compra elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if(doPlayerRemoveItem(cid, 2157, 100) == true) then selfSay('Obrigado por comprar!', cid) doPlayerAddItem(cid, 6096, 1) then talkState[talkUser] = 0 else selfSay('Voc\ê n\ão tem 100 VIP coins', cid) talkState[talkUser] = 0 end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 2) then if(doPlayerRemoveItem(cid, 2157, 100) == true) then selfSay('Obrigado por comprar!', cid) doPlayerAddItem(cid, 6095, 1) then talkState[talkUser] = 0 else selfSay('Voc\ê n\ão tem 100 VIP coins', cid) talkState[talkUser] = 0 end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 3) then if(doPlayerRemoveItem(cid, 2157, 100) == true) then selfSay('Obrigado por comprar!', cid) doPlayerAddItem(cid, 5918, 1) then talkState[talkUser] = 0 else selfSay('Voc\ê n\ão tem 100 VIP coins', cid) talkState[talkUser] = 0 end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 4) then if(doPlayerRemoveItem(cid, 2157, 100) == true) then selfSay('Obrigado por comprar!', cid) doPlayerAddItem(cid, 5462, 1) then talkState[talkUser] = 0 else selfSay('Voc\ê n\ão tem 100 VIP coins', cid) talkState[talkUser] = 0 end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 5) then if(doPlayerRemoveItem(cid, 2157, 50) == true) then selfSay('Obrigado por comprar!', cid) doPlayerAddItem(cid, 8932, 1) then talkState[talkUser] = 0 else selfSay('Voc\ê n\ão tem 50 VIP coins', cid) talkState[talkUser] = 0 elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 6) then if(doPlayerRemoveItem(cid, 2157, 50) == true) then selfSay('Obrigado por comprar!', cid) doPlayerAddItem(cid, 7388, 1) then talkState[talkUser] = 0 else selfSay('Voc\ê n\ão tem 50 VIP coins', cid) talkState[talkUser] = 0 end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 7) then if(doPlayerRemoveItem(cid, 2157, 50) == true) then selfSay('Obrigado por comprar!', cid) doPlayerAddItem(cid, 7437, 1) then talkState[talkUser] = 0 else selfSay('Voc\ê n\ão tem 50 VIP coins', cid) talkState[talkUser] = 0 end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 8) then if(doPlayerRemoveItem(cid, 2157, 50) == true) then selfSay('Obrigado por comprar!', cid) doPlayerAddItem(cid, 8858, 1) then talkState[talkUser] = 0 else selfSay('Voc\ê n\ão tem 50 VIP coins', cid) talkState[talkUser] = 0 end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 9) then if(doPlayerRemoveItem(cid, 2157, 100) == true) then selfSay('Obrigado por comprar!', cid) doPlayerAddItem(cid, 11368, 1) then talkState[talkUser] = 0 else selfSay('Voc\ê n\ão tem 100 VIP coins', cid) talkState[talkUser] = 0 end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 10) then if(doPlayerRemoveItem(cid, 2157, 100) == true) then selfSay('Obrigado por comprar!', cid) doPlayerAddItem(cid, 2408, 1) then talkState[talkUser] = 0 else selfSay('Voc\ê n\ão tem 100 VIP coins', cid) talkState[talkUser] = 0 end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 11) then if(doPlayerRemoveItem(cid, 2157, 100) == true) then selfSay('Obrigado por comprar!', cid) doPlayerAddItem(cid, 8925, 1) then talkState[talkUser] = 0 else selfSay('Voc\ê n\ão tem 100 VIP coins', cid) talkState[talkUser] = 0 end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 12) then if(doPlayerRemoveItem(cid, 2157, 100) == true) then selfSay('Obrigado por comprar!', cid) doPlayerAddItem(cid, 2444, 1) then talkState[talkUser] = 0 else selfSay('Voc\ê n\ão tem 100 VIP coins', cid) talkState[talkUser] = 0 end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 13) then if(doPlayerRemoveItem(cid, 2157, 100) == true) then selfSay('Obrigado por comprar!', cid) doPlayerAddItem(cid, 2184, 1) then talkState[talkUser] = 0 else selfSay('Voc\ê n\ão tem 100 VIP coins', cid) talkState[talkUser] = 0 end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 14) then if(doPlayerRemoveItem(cid, 2157, 100) == true) then selfSay('Obrigado por comprar!', cid) doPlayerAddItem(cid, 7735, 1) then talkState[talkUser] = 0 else selfSay('Voc\ê n\ão tem 100 VIP coins', cid) talkState[talkUser] = 0 end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 15) then if(doPlayerRemoveItem(cid, 2157, 100) == true) then selfSay('Obrigado por comprar!', cid) doPlayerAddItem(cid, 8856, 1) then talkState[talkUser] = 0 else selfSay('Voc\ê n\ão tem 100 VIP coins', cid) talkState[talkUser] = 0 end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)npcHandler:addModule(FocusModule:new()) then end end Agradeço desde já ! Link para o comentário https://xtibia.com/forum/topic/137711-problema-com-script-de-npc/ Compartilhar em outros sites More sharing options...
0 kkzucco 0 Postado Julho 22, 2010 Share Postado Julho 22, 2010 o problema é q ta faltando um parentesis ) na sua linha 21 do script (contam as linhas em branco) e esse parentesis esta perto de um then Link para o comentário https://xtibia.com/forum/topic/137711-problema-com-script-de-npc/#findComment-909805 Compartilhar em outros sites More sharing options...
0 Vodkart 1515 Postado Julho 22, 2010 Share Postado Julho 22, 2010 tente assim: 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 {Ultrax Cometta Hat}, {Ultrax Cometta Armor}, {Ultrax Cometta Legs}, {Ultrax Cometta Boots}, {Cometta Blade}, {Cometta Axe}, {Cometta Club}, {Cometta Bow}, {Ultrax Cometta Shield}, {Ultrax Cometta Blade}, {Ultrax Cometta Axe}, {Ultrax Cometta Club}, {Ultrax Cometta Wand}, {Ultrax Cometta Rod}, e {Ultrax Cometta Bow}.Por Moedas VIP', cid) elseif(msgcontains(msg, 'ultrax cometta hat')) then selfSay('Voc\ê quer comprar Ultrax Cometta Hat por 100 VIP coins?', cid) talkState[talkUser] = 1 elseif(msgcontains(msg, 'ultrax cometta armor')) then selfSay('Voc\ê quer comprar Ultrax Cometta Armor por 100 VIP coins?', cid) talkState[talkUser] = 2 elseif(msgcontains(msg, 'ultrax cometta legs') )then selfSay('Voc\ê quer comprar Ultrax Cometta Legs por 100 VIP coins?', cid) talkState[talkUser] = 3 elseif(msgcontains(msg, 'ultrax cometta boots')) then selfSay('Voc\ê quer comprar Ultrax Cometta Boots por 100 VIP coins?', cid) talkState[talkUser] = 4 elseif(msgcontains(msg, 'cometta blade')) then selfSay('Voc\ê quer comprar Cometta Blade por 50 VIP coins?', cid) talkState[talkUser] = 5 elseif(msgcontains(msg, 'cometta axe')) then selfSay('Voc\ê quer comprar Cometta Axe por 50 VIP coins?', cid) talkState[talkUser] = 6 elseif(msgcontains(msg, 'cometta club')) then selfSay('Voc\ê quer comprar Cometta Club por 50 VIP coins?', cid) talkState[talkUser] = 7 elseif(msgcontains(msg, 'cometta bow')) then selfSay('Voc\ê quer comprar Cometta Bow por 50 VIP coins?', cid) talkState[talkUser] = 8 elseif(msgcontains(msg, 'ultrax cometta shield')) then selfSay('Voc\ê quer comprar Ultrax Cometta Shield por 100 VIP coins?', cid) talkState[talkUser] = 9 elseif(msgcontains(msg, 'ultrax cometta blade')) then selfSay('Voc\ê quer comprar Ultrax Cometta Blade por 100 VIP coins?', cid) talkState[talkUser] = 10 elseif(msgcontains(msg, 'ultrax cometta axe')) then selfSay('Voc\ê quer comprar Ultrax Cometta Axe por 100 VIP coins?', cid) talkState[talkUser] = 11 elseif(msgcontains(msg, 'ultrax cometta club')) then selfSay('Voc\ê quer comprar Ultrax Cometta Club por 100 VIP coins?', cid) talkState[talkUser] = 12 elseif(msgcontains(msg, 'ultrax cometta wand')) then selfSay('Voc\ê quer comprar Ultrax Cometta Wand por 100 VIP coins?', cid) talkState[talkUser] = 13 elseif(msgcontains(msg, 'ultrax cometta rod')) then selfSay('Voc\ê quer comprar Ultrax Cometta Rod por 100 VIP coins?', cid) talkState[talkUser] = 14 elseif(msgcontains(msg, 'ultrax cometta bow')) then selfSay('Voc\ê quer comprar Ultrax Cometta Bow por 100 VIP coins?', cid) talkState[talkUser] = 15 -- Confirmação da Compra elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if(doPlayerRemoveItem(cid, 2157, 100) == true) then selfSay('Obrigado por comprar!', cid) doPlayerAddItem(cid, 6096, 1) talkState[talkUser] = 0 else selfSay('Voc\ê n\ão tem 100 VIP coins', cid) talkState[talkUser] = 0 end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 2) then if(doPlayerRemoveItem(cid, 2157, 100) == true) then selfSay('Obrigado por comprar!', cid) doPlayerAddItem(cid, 6095, 1) talkState[talkUser] = 0 else selfSay('Voc\ê n\ão tem 100 VIP coins', cid) talkState[talkUser] = 0 end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 3) then if(doPlayerRemoveItem(cid, 2157, 100) == true) then selfSay('Obrigado por comprar!', cid) doPlayerAddItem(cid, 5918, 1) talkState[talkUser] = 0 else selfSay('Voc\ê n\ão tem 100 VIP coins', cid) talkState[talkUser] = 0 end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 4) then if(doPlayerRemoveItem(cid, 2157, 100) == true) then selfSay('Obrigado por comprar!', cid) doPlayerAddItem(cid, 5462, 1) talkState[talkUser] = 0 else selfSay('Voc\ê n\ão tem 100 VIP coins', cid) talkState[talkUser] = 0 end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 5) then if(doPlayerRemoveItem(cid, 2157, 50) == true) then selfSay('Obrigado por comprar!', cid) doPlayerAddItem(cid, 8932, 1) talkState[talkUser] = 0 else selfSay('Voc\ê n\ão tem 50 VIP coins', cid) talkState[talkUser] = 0 end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 6) then if(doPlayerRemoveItem(cid, 2157, 50) == true) then selfSay('Obrigado por comprar!', cid) doPlayerAddItem(cid, 7388, 1) talkState[talkUser] = 0 else selfSay('Voc\ê n\ão tem 50 VIP coins', cid) talkState[talkUser] = 0 end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 7) then if(doPlayerRemoveItem(cid, 2157, 50) == true) then selfSay('Obrigado por comprar!', cid) doPlayerAddItem(cid, 7437, 1) talkState[talkUser] = 0 else selfSay('Voc\ê n\ão tem 50 VIP coins', cid) talkState[talkUser] = 0 end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 8) then if(doPlayerRemoveItem(cid, 2157, 50) == true) then selfSay('Obrigado por comprar!', cid) doPlayerAddItem(cid, 8858, 1) talkState[talkUser] = 0 else selfSay('Voc\ê n\ão tem 50 VIP coins', cid) talkState[talkUser] = 0 end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 9) then if(doPlayerRemoveItem(cid, 2157, 100) == true) then selfSay('Obrigado por comprar!', cid) doPlayerAddItem(cid, 11368, 1) talkState[talkUser] = 0 else selfSay('Voc\ê n\ão tem 100 VIP coins', cid) talkState[talkUser] = 0 end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 10) then if(doPlayerRemoveItem(cid, 2157, 100) == true) then selfSay('Obrigado por comprar!', cid) doPlayerAddItem(cid, 2408, 1) talkState[talkUser] = 0 else selfSay('Voc\ê n\ão tem 100 VIP coins', cid) talkState[talkUser] = 0 end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 11) then if(doPlayerRemoveItem(cid, 2157, 100) == true) then selfSay('Obrigado por comprar!', cid) doPlayerAddItem(cid, 8925, 1) talkState[talkUser] = 0 else selfSay('Voc\ê n\ão tem 100 VIP coins', cid) talkState[talkUser] = 0 end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 12) then if(doPlayerRemoveItem(cid, 2157, 100) == true) then selfSay('Obrigado por comprar!', cid) doPlayerAddItem(cid, 2444, 1) talkState[talkUser] = 0 else selfSay('Voc\ê n\ão tem 100 VIP coins', cid) talkState[talkUser] = 0 end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 13) then if(doPlayerRemoveItem(cid, 2157, 100) == true) then selfSay('Obrigado por comprar!', cid) doPlayerAddItem(cid, 2184, 1) talkState[talkUser] = 0 else selfSay('Voc\ê n\ão tem 100 VIP coins', cid) talkState[talkUser] = 0 end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 14) then if(doPlayerRemoveItem(cid, 2157, 100) == true) then selfSay('Obrigado por comprar!', cid) doPlayerAddItem(cid, 7735, 1) talkState[talkUser] = 0 else selfSay('Voc\ê n\ão tem 100 VIP coins', cid) talkState[talkUser] = 0 end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 15) then if(doPlayerRemoveItem(cid, 2157, 100) == true) then selfSay('Obrigado por comprar!', cid) doPlayerAddItem(cid, 8856, 1) talkState[talkUser] = 0 else selfSay('Voc\ê n\ão tem 100 VIP coins', cid) talkState[talkUser] = 0 end end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Link para o comentário https://xtibia.com/forum/topic/137711-problema-com-script-de-npc/#findComment-909864 Compartilhar em outros sites More sharing options...
0 cometta 0 Postado Julho 22, 2010 Autor Share Postado Julho 22, 2010 Muito obrigado !!!! Resolvido Podem fechar Link para o comentário https://xtibia.com/forum/topic/137711-problema-com-script-de-npc/#findComment-910129 Compartilhar em outros sites More sharing options...
0 Henrique Moura 193 Postado Julho 26, 2010 Share Postado Julho 26, 2010 Sanado - movido. Link para o comentário https://xtibia.com/forum/topic/137711-problema-com-script-de-npc/#findComment-912103 Compartilhar em outros sites More sharing options...
Pergunta
cometta 0
Gente alguem me ajuda akii ....
vejam o erro que tá dando, é um script de um npc que vende itens VIP por moedas VIP e ta aparecendo o seguinte erro:
[Error - LuaScriptInterface::loadFile] data/npc/scripts/donations.lua:21: ')' expected near 'then'
[Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/donations.lua
data/npc/scripts/donations.lua:21: ')' expected near 'then'
Olhem o script se ta errado:
Agradeço desde já !
Link para o comentário
https://xtibia.com/forum/topic/137711-problema-com-script-de-npc/Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados