Ir para conteúdo
  • Cadastre-se

(Resolvido)erro na Script


Ir para solução Resolvido por Adriano SwaTT,

Posts Recomendados

está dando esse erro no meu Distro depois de adiciona um NPC
 
erro

[23/08/2014 09:48:26] [Error - LuaScriptInterface::loadFile] data/npc/scripts/Lendarios.lua:30: 'end' expected (to close 'function' at line 10) near 'elseif'
[23/08/2014 09:48:26] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/Lendarios.lua
[23/08/2014 09:48:26] data/npc/scripts/Lendarios.lua:30: 'end' expected (to close 'function' at line 10) near 'elseif'

 
script do npc
 

--//
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
msg = string.lower(msg)
--\\
 
   ----
local need = {
--item id....quantidade
{id = 2145, qt = 25},
}
local pokemon = "Moltres" -- nome do poke
   -----
--//
selfSay("olá, você gostaría de compra Algum Pokemon mega evoluido?!", cid)
talkState[talkUser] = 2
return true
elseif msgcontains(msg, 'yes') and talkState[talkUser] == 2 then
  if getPlayerItemCount(cid, need[1].id) < need[1].qt then
       selfSay("você não tem 25 Diamonds para compra um Pokemon mega evoluido!", cid)
  talkState[talkUser] = 0
          return true end
  if not addPokeToPlayer(cid, pokemon, 0, -1, "normal", true) then
       selfSay("voce está com 6 pokemons e não pode fazer a compra do mega Pokemon!", cid)
       talkState[talkUser] = 0
        return true end
for i = 1, #need do
doPlayerRemoveItem(cid, need[i].id, need[i].qt)
end
addPokeToPlayer(cid, pokemon, 0, 1, 'normal', true)
selfSay("nossa muito bom, obrigado e faça um bom proveito do seu novo pokémon!", cid)
talkState[talkUser] = 0
return true
end
return true
end
 
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

                                                            vps-plano-01.png

 

                                                                                                                    http://www.weblara.com.br/

Link para o post
Compartilhar em outros sites

Tenta:



--//
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
msg = string.lower(msg)
--\\
 
   ----
local need = {
--item id....quantidade
{id = 2145, qt = 25},
}
local pokemon = "Moltres" -- nome do poke
   -----
--//
selfSay("olá, você gostaría de compra Algum Pokemon mega evoluido?!", cid)
talkState[talkUser] = 2
return true
end
elseif msgcontains(msg, 'yes') and talkState[talkUser] == 2 then
  if getPlayerItemCount(cid, need[1].id) < need[1].qt then
       selfSay("você não tem 25 Diamonds para compra um Pokemon mega evoluido!", cid)
  talkState[talkUser] = 0
          return true end
  if not addPokeToPlayer(cid, pokemon, 0, -1, "normal", true) then
       selfSay("voce está com 6 pokemons e não pode fazer a compra do mega Pokemon!", cid)
       talkState[talkUser] = 0
        return true end
for i = 1, #need do
doPlayerRemoveItem(cid, need.id, need.qt)
addPokeToPlayer(cid, pokemon, 0, 1, 'normal', true)
selfSay("nossa muito bom, obrigado e faça um bom proveito do seu novo pokémon!", cid)
talkState[talkUser] = 0
end
 
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

 

Editado por Alencar123 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

mesmo erro citado lá em cima

                                                            vps-plano-01.png

 

                                                                                                                    http://www.weblara.com.br/

Link para o post
Compartilhar em outros sites

O problema é na linha 10 que diz:

function creatureSayCallback(cid, type, msg)

Pelo que eu entendi ele não consegue fazer o Moltres voltar para a pokébola ao comprar ela certo?

Tente ver se em outros scripts com a mesma função que é a de vender um pokémon lendário está certo/de outra forma.

acho que você deve preencher as palavras entre os parênteses ^-^

Link para o post
Compartilhar em outros sites

O problema é na linha 10 que diz:

function creatureSayCallback(cid, type, msg)

Pelo que eu entendi ele não consegue fazer o Moltres voltar para a pokébola ao comprar ela certo?

Tente ver se em outros scripts com a mesma função que é a de vender um pokémon lendário está certo/de outra forma.

acho que você deve preencher as palavras entre os parênteses ^-^

Não é isso

                                                            vps-plano-01.png

 

                                                                                                                    http://www.weblara.com.br/

Link para o post
Compartilhar em outros sites

Segundo o erro no console, faltou finalizar uma função.

Tenta:

 

 

--//
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
msg = string.lower(msg)
--\\
 
   ----
local need = {
--item id....quantidade
{id = 2145, qt = 25},
}
local pokemon = "Moltres" -- nome do poke
   -----
--//
selfSay("olá, você gostaría de compra Algum Pokemon mega evoluido?!", cid)
talkState[talkUser] = 2
return true
 end
 
if msgcontains(msg, 'yes') and talkState[talkUser] == 2 then
  if getPlayerItemCount(cid, need[1].id) < need[1].qt then
       selfSay("você não tem 25 Diamonds para compra um Pokemon mega evoluido!", cid)
  talkState[talkUser] = 0
          return true end
  if not addPokeToPlayer(cid, pokemon, 0, -1, "normal", true) then
       selfSay("voce está com 6 pokemons e não pode fazer a compra do mega Pokemon!", cid)
       talkState[talkUser] = 0
        return true end
        
         
for i = 1, #need do
doPlayerRemoveItem(cid, need[i].id, need[i].qt)
end

addPokeToPlayer(cid, pokemon, 0, 1, 'normal', true)
selfSay("nossa muito bom, obrigado e faça um bom proveito do seu novo pokémon!", cid)
talkState[talkUser] = 0

return true
end

 

 
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

F5MHzGo.gif

Link para o post
Compartilhar em outros sites

Segundo o erro no console, faltou finalizar uma função.

Tenta:

 

 

--//
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
msg = string.lower(msg)
--\\
 
   ----
local need = {
--item id....quantidade
{id = 2145, qt = 25},
}
local pokemon = "Moltres" -- nome do poke
   -----
--//
selfSay("olá, você gostaría de compra Algum Pokemon mega evoluido?!", cid)
talkState[talkUser] = 2
return true
 end
 
if msgcontains(msg, 'yes') and talkState[talkUser] == 2 then
  if getPlayerItemCount(cid, need[1].id) < need[1].qt then
       selfSay("você não tem 25 Diamonds para compra um Pokemon mega evoluido!", cid)
  talkState[talkUser] = 0
          return true end
  if not addPokeToPlayer(cid, pokemon, 0, -1, "normal", true) then
       selfSay("voce está com 6 pokemons e não pode fazer a compra do mega Pokemon!", cid)
       talkState[talkUser] = 0
        return true end
        
         
for i = 1, #need do
doPlayerRemoveItem(cid, need[i].id, need[i].qt)
end

addPokeToPlayer(cid, pokemon, 0, 1, 'normal', true)
selfSay("nossa muito bom, obrigado e faça um bom proveito do seu novo pokémon!", cid)
talkState[talkUser] = 0

return true
end

 

 
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

erro

[23/08/2014 11:04:09] [Error - Npc interface]
[23/08/2014 11:04:09] data/npc/scripts/Lendarios.lua
[23/08/2014 11:04:09] Description:
[23/08/2014 11:04:09] data/npc/scripts/heal.lua:35: bad argument #1 to 'find' (string expected, got nil)
[23/08/2014 11:04:09] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/Lendarios.lua

                                                            vps-plano-01.png

 

                                                                                                                    http://www.weblara.com.br/

Link para o post
Compartilhar em outros sites

Again.

 

--//
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
msg = string.lower(msg)
--\\
 
   ----
local need = {
--item id....quantidade
{id = 2145, qt = 25},
}
local pokemon = "Moltres" -- nome do poke
   -----
--//
selfSay("olá, você gostaría de comprar algum Pokemon mega evoluido?!", cid)
talkState[talkUser] = 2
return true
 end
if (msgcontains(msg, 'yes')) and talkState[talkUser] == 2 then
  if getPlayerItemCount(cid, need[1].id) < need[1].qt then
       selfSay("você não tem 25 Diamonds para compra um Pokemon mega evoluido!", cid)
  talkState[talkUser] = 0
          return true end
  if not addPokeToPlayer(cid, pokemon, 0, -1, "normal", true) then
       selfSay("voce está com 6 pokemons e não pode fazer a compra do mega Pokemon!", cid)
       talkState[talkUser] = 0
        return true end
         end
for i = 1, #need do
doPlayerRemoveItem(cid, need[i].id, need[i].qt)
addPokeToPlayer(cid, pokemon, 0, 1, 'normal', true)
selfSay("nossa muito bom, obrigado e faça um bom proveito do seu novo pokémon!", cid)
talkState[talkUser] = 0
 
return true
end
  
 
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

F5MHzGo.gif

Link para o post
Compartilhar em outros sites

erro :(

[23/08/2014 12:00:31] [Error - Npc interface]
[23/08/2014 12:00:31] data/npc/scripts/Lendarios.lua
[23/08/2014 12:00:31] Description:
[23/08/2014 12:00:32] data/npc/scripts/heal.lua:35: bad argument #1 to 'find' (string expected, got nil)
[23/08/2014 12:00:32] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/Lendarios.lua
Editado por SliceFalso (veja o histórico de edições)

                                                            vps-plano-01.png

 

                                                                                                                    http://www.weblara.com.br/

Link para o post
Compartilhar em outros sites

Tenta se nao der diga oque esse script faz assim podemos fazer outro.

--//
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
msg = string.lower(msg)
--\\
 
   ----
local need = {
--item id....quantidade
{id = 2145, qt = 25},
}
local pokemon = "Moltres" -- nome do poke
   -----
--//
selfSay("olá, você gostaría de compra Algum Pokemon mega evoluido?!", cid)
talkState[talkUser] = 2
return true
elseif msgcontains(msg, 'yes') and talkState[talkUser] == 2 then
  if getPlayerItemCount(cid, need[1].id) < need[1].qt then
       selfSay("você não tem 25 Diamonds para compra um Pokemon mega evoluido!", cid)
  talkState[talkUser] = 0
          return true end
  if not addPokeToPlayer(cid, pokemon, 0, -1, "normal", true) then
       selfSay("voce está com 6 pokemons e não pode fazer a compra do mega Pokemon!", cid)
       talkState[talkUser] = 0
        return true end
for i = 1, #need do
doPlayerRemoveItem(cid, need[i].id, need[i].qt)
end
addPokeToPlayer(cid, pokemon, 0, 1, 'normal', true)
selfSay("nossa muito bom, obrigado e faça um bom proveito do seu novo pokémon!", cid)
talkState[talkUser] = 0
return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Discord: Naze#3578

 

Ter Linux Dentro de Windows com Acesso 'localhost' para testes e +

AutoLoot Otimizado Direto na Source (tfs 0.4/otx)

 

// Pirataria é crime, original é roubo, compartilhar é legal.

 

tumblr_muk78tEwDQ1qah4nko1_500.gif

Link para o post
Compartilhar em outros sites

Teste 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
msg = string.lower(msg)

local need = {2145, 25} -- id, quantidade
local pokemon = "Moltres" -- nome do poke

    if msgcontains(msg, 'yes') and talkState[talkUser] == 2 then
    if getPlayerItemCount(cid, need[1]) < need[2] then
        selfSay('Voce precisa de '..need[2]..' '..getItemNameById(need[1])..' para compra um Pokemon mega evoluido!', cid)
        talkState[talkUser] = 0
    return true
    if not addPokeToPlayer(cid, pokemon, 0, -1, "normal", true) then
        selfSay('Voce este com 6 pokemons e não pode fazer a compra do mega Pokemon!', cid)
        talkState[talkUser] = 0
    return true
    end
    else    
        doPlayerRemoveItem(cid, need[1], need[2])
        addPokeToPlayer(cid, pokemon, 0, 1, 'normal', true)
        selfSay('Nossa muito bom, obrigado e faça bom proveito do seu novo pokémon!', cid)
        talkState[talkUser] = 0
    end
    end
  return true
end
 
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Boa sorte.

Editado por Adriano SwaTT (veja o histórico de edições)

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

Irei testar o do adriano. Esse npc vai vende o pokemon moltres por 25 diamonds ID 2145, ele vai executar com a função addPokeToPlayer mais eu não sei porque está dando esse erro, irei testar o do adriano

                                                            vps-plano-01.png

 

                                                                                                                    http://www.weblara.com.br/

Link para o post
Compartilhar em outros sites

Teste 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
msg = string.lower(msg)

local need = {2145, 25} -- id, quantidade
local pokemon = "Moltres" -- nome do poke

    if msgcontains(msg, 'yes') and talkState[talkUser] == 2 then
    if getPlayerItemCount(cid, need[1]) < need[2] then
        selfSay('Voce precisa de '..need[2]..' '..need[1]..' para compra um Pokemon mega evoluido!', cid)
        talkState[talkUser] = 0
    return true
    if not addPokeToPlayer(cid, pokemon, 0, -1, "normal", true) then
        selfSay("Voce este com 6 pokemons e não pode fazer a compra do mega Pokemon!", cid)
        talkState[talkUser] = 0
    return true
    end
    else    
        doPlayerRemoveItem(cid, need[1], need[2])
        addPokeToPlayer(cid, pokemon, 0, 1, 'normal', true)
        selfSay("Nossa muito bom, obrigado e faça bom proveito do seu novo pokémon!", cid)
        talkState[talkUser] = 0
    end
    end
  return true
end
 
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Boa sorte.

Adriano cadê o id da pokebola?

aí só tem o do diamante.

Link para o post
Compartilhar em outros sites

Não precisa do id da pokeball porque já está fixa no script

ata, eu só perguntei porquê quero entender mais de script.

Link para o post
Compartilhar em outros sites

Caraka, só quero ver quem vai conseguir achar a resposta correta o.0

Gente, não dou suporte via mp, caso queira ajuda crie um tópico no fórum!!!
youtube.png  10869_64x64.png
Ajudei? Clicar em gostar não vai te matar

Link para o post
Compartilhar em outros sites

ainda está dando esse erro

 

[24/08/2014 03:59:40] [Error - LuaScriptInterface::loadFile] data/npc/scripts/Lendarios.lua:30: 'end' expected (to close 'function' at line 10) near 'elseif'
[24/08/2014 03:59:40] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/Lendarios.lua
[24/08/2014 03:59:40] data/npc/scripts/Lendarios.lua:30: 'end' expected (to close 'function' at line 10) near 'elseif'

                                                            vps-plano-01.png

 

                                                                                                                    http://www.weblara.com.br/

Link para o post
Compartilhar em outros sites

E o meu script?

Já testou?

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites

E o meu script?

Já testou?

Foi o seu :(

up

up

                                                            vps-plano-01.png

 

                                                                                                                    http://www.weblara.com.br/

Link para o post
Compartilhar em outros sites

Voce testou o meu? Nao era pra dar esse erro no meu.

Discord: Naze#3578

 

Ter Linux Dentro de Windows com Acesso 'localhost' para testes e +

AutoLoot Otimizado Direto na Source (tfs 0.4/otx)

 

// Pirataria é crime, original é roubo, compartilhar é legal.

 

tumblr_muk78tEwDQ1qah4nko1_500.gif

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo