Ir para conteúdo
  • Cadastre-se

(Resolvido)[ACTION] erro


Ir para solução Resolvido por gabrielbuff,

Posts Recomendados

Alguém me ajuda nesse erro? ele está funcionando mais fica dando esse seguinte erro no distro..

 

[Error - Action Interface ]

data/actions/scripts/evento.lua:onUse

Description:

data/actions/scripts/evento.lua:28: attempt to index local 'item' <a number value>

Stack traceback:

data/actions/scripts/evento.lua:28: in function <data/action/scripts/evento.lua:19>

 

 

local toPos = {x = 1375, y = 835, z = 7} --pos para onde o player sera teleportado
local createPos = {x = 1378, y = 837, z = 7} --pos aonde o tp sera criado
local tpID = 1387 --id do tp, nunca usei um, n sei se eh esse ms...
local tempo = 120 --90seg

local function removeTP(pos, id, time)
if time == 0 then
local item = getTileItemById(pos, id).uid
if item > 1 then
doRemoveItem(item, 1)
doSendAnimatedText(pos, "Closed!", 227)
end
else
doSendAnimatedText(pos, time, 192)
addEvent(removeTP, 1000, pos, id, time-1)
end
end

function onUse(cid, item, frompos, item2, topos)
local item = getTileItemById(createPos, tpID).uid
if item > 1 then
return doPlayerSendTextMessage(cid, 27, "The teleport already is open!")
end

Link para o post
Compartilhar em outros sites
7 minutos atrás, gabrielbuff disse:

Alguém me ajuda nesse erro? ele está funcionando mais fica dando esse seguinte erro no distro..

 

[Error - Action Interface ]

data/actions/scripts/evento.lua:onUse

Description:

data/actions/scripts/evento.lua:28: attempt to index local 'item' <a number value>

Stack traceback:

data/actions/scripts/evento.lua:28: in function <data/action/scripts/evento.lua:19>

 

 

local toPos = {x = 1375, y = 835, z = 7} --pos para onde o player sera teleportado
local createPos = {x = 1378, y = 837, z = 7} --pos aonde o tp sera criado
local tpID = 1387 --id do tp, nunca usei um, n sei se eh esse ms...
local tempo = 120 --90seg

local function removeTP(pos, id, time)
if time == 0 then
local item = getTileItemById(pos, id).uid
if item > 1 then
doRemoveItem(item, 1)
doSendAnimatedText(pos, "Closed!", 227)
end
else
doSendAnimatedText(pos, time, 192)
addEvent(removeTP, 1000, pos, id, time-1)
end
end

function onUse(cid, item, frompos, item2, topos)
local item = getTileItemById(createPos, tpID).uid
if item > 1 then
return doPlayerSendTextMessage(cid, 27, "The teleport already is open!")
end

 

 

Quando você dá use funciona mesmo? pois não era pra funcionar por causa do erro...

 

Não sei em que momento tu chama ele, porém, analisando o código

 

function onUse(cid, item, frompos, item2, topos)
  local item = getTileItemById(createPos, tpID).uid
  if item > 1 then
  	return doPlayerSendTextMessage(cid, 27, "The teleport already is open!")
end

 

parece que ao dar use, não existe o objeto que deveria estar na position informada na variavel item, então o sistema tenta verificar e dá erro... só assim é dificil analisar, tem que dizer o que você queria fazer também..

Está procurando um Global Mid exp para se divertir e dominar? http://www.deluxe-global.com

Link para o post
Compartilhar em outros sites

é uma alavanca, ao ser puxada ela cria um teleporte, com uma contagem regressiva em cima do teleporte (exemplo: 30, 29, 28..), ao ser puxada a alavanca da esse erro acima no distro.

Link para o post
Compartilhar em outros sites
2 minutos atrás, gabrielbuff disse:

é uma alavanca, ao ser puxada ela cria um teleporte, com uma contagem regressiva em cima do teleporte (exemplo: 30, 29, 28..), ao ser puxada a alavanca da esse erro acima no distro.

 

 

Então tenta alterar a função para essa:

 

function onUse(cid, item, frompos, item2, topos)
  local item = getTileItemById(createPos, tpID).uid
  if item then
  	return doPlayerSendTextMessage(cid, 27, "The teleport already is open!")
end

 

Está procurando um Global Mid exp para se divertir e dominar? http://www.deluxe-global.com

Link para o post
Compartilhar em outros sites

Agora o teleporte não aparece, ao puxar alavanca so aparece a msg "The teleport already is open!" no dafault, e não aparece erro no distro.

Link para o post
Compartilhar em outros sites
1 minuto atrás, gabrielbuff disse:

Agora o teleporte não aparece, ao puxar alavanca so aparece a msg "The teleport already is open!" no dafault, e não aparece erro no distro.

 

Então eu estou viajando no código, pois na função onUse não tem nada para criar o teleporte, você postou o código completo do evento?

Está procurando um Global Mid exp para se divertir e dominar? http://www.deluxe-global.com

Link para o post
Compartilhar em outros sites

falto uma parte no final.. desculpa

 

local toPos = {x = 1375, y = 835, z = 7} --pos para onde o player sera teleportado
local createPos = {x = 1378, y = 837, z = 7} --pos aonde o tp sera criado
local tpID = 1387 --id do tp, nunca usei um, n sei se eh esse ms...
local tempo = 120 --90seg

local function removeTP(pos, id, time)
if time == 0 then
local item = getTileItemById(pos, id).uid
if item > 1 then
doRemoveItem(item, 1)
doSendAnimatedText(pos, "Closed!", 227)
end
else
doSendAnimatedText(pos, time, 192)
addEvent(removeTP, 1000, pos, id, time-1)
end
end

function onUse(cid, item, frompos, item2, topos)
  local item = getTileItemById(createPos, tpID).uid
  if item then
      return doPlayerSendTextMessage(cid, 27, "The teleport already is open!")
end

doCreateTeleport(tpID, toPos, createPos)
removeTP(createPos, tpID, tempo)
doPlayerSendTextMessage(cid, 27, "O teleporte foi aberto, ele fechará em 30 segundos!")
doTransformItem(item.uid, (item.itemid == 1945 and 1946 or 1945))

return true
end

Link para o post
Compartilhar em outros sites
6 minutos atrás, gabrielbuff disse:

falto uma parte no final.. desculpa

 

local toPos = {x = 1375, y = 835, z = 7} --pos para onde o player sera teleportado
local createPos = {x = 1378, y = 837, z = 7} --pos aonde o tp sera criado
local tpID = 1387 --id do tp, nunca usei um, n sei se eh esse ms...
local tempo = 120 --90seg

local function removeTP(pos, id, time)
if time == 0 then
local item = getTileItemById(pos, id).uid
if item > 1 then
doRemoveItem(item, 1)
doSendAnimatedText(pos, "Closed!", 227)
end
else
doSendAnimatedText(pos, time, 192)
addEvent(removeTP, 1000, pos, id, time-1)
end
end

function onUse(cid, item, frompos, item2, topos)
  local item = getTileItemById(createPos, tpID).uid
  if item then
      return doPlayerSendTextMessage(cid, 27, "The teleport already is open!")
end

doCreateTeleport(tpID, toPos, createPos)
removeTP(createPos, tpID, tempo)
doPlayerSendTextMessage(cid, 27, "O teleporte foi aberto, ele fechará em 30 segundos!")
doTransformItem(item.uid, (item.itemid == 1945 and 1946 or 1945))

return true
end

 

Tentou deixar a alavanca na posição inicial e testar novamente se vai gerar o teleport e iniciar o contador?

Está procurando um Global Mid exp para se divertir e dominar? http://www.deluxe-global.com

Link para o post
Compartilhar em outros sites

tentei, alavanca não se mexe agora mais, toda vez que clica nela aparece agora a mensagem "The teleport already is open!"

Link para o post
Compartilhar em outros sites
2 minutos atrás, gabrielbuff disse:

tentei, alavanca não se mexe agora mais, toda vez que clica nela aparece agora a mensagem "The teleport already is open!"

 

Então tem que fazer ela voltar pra posição inicial reiniciando o ot ou criando uma nova alavanca no lugar dessa, pois como deu erro a primeira vez, ela mudou pra posição de use.

Está procurando um Global Mid exp para se divertir e dominar? http://www.deluxe-global.com

Link para o post
Compartilhar em outros sites
  • Solução

consegui arrumar o script, obrigado pela sua ajuda tuners, o script ficou assim para quem futuramente tiver interesse.

 

local toPos = {x = 1375, y = 835, z = 7} --pos para onde o player será teleportado
local createPos = {x = 1378, y = 837, z = 7} --pos aonde o teleporte será criado
local tpID = 1387 --id do tp.
local tempo = 30 -- segundos

local function removeTP(pos, id, time)
if time == 0 then
local item = getTileItemById(pos, id).uid
if item > 1 then
doRemoveItem(item, 1)
doSendAnimatedText(pos, "Closed!", 227)
end
else
doSendAnimatedText(pos, time, 192)
addEvent(removeTP, 1000, pos, id, time-1)
end
end

function onUse(cid, item, frompos, item2, topos)
  local item = getTileItemById(createPos, tpID).uid
  if item > 1 then
      return doPlayerSendTextMessage(cid, 27, "o Teleporte ja está aberto!")
end

doCreateTeleport(tpID, toPos, createPos)
removeTP(createPos, tpID, tempo)
doPlayerSendTextMessage(cid, 27, "O teleporte foi aberto, ele fechará em 30 segundos!")
doTransformItem(item2.uid, (item2.itemid == 1945 and 1946 or 1945))
return true
end

Editado por gabrielbuff
consegui arrumar o erro do script (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
Em 23/09/2016 ás 20:34, gabrielbuff disse:

consegui arrumar o script, obrigado pela sua ajuda tuners, o script ficou assim para quem futuramente tiver interesse.

 

local toPos = {x = 1375, y = 835, z = 7} --pos para onde o player será teleportado
local createPos = {x = 1378, y = 837, z = 7} --pos aonde o teleporte será criado
local tpID = 1387 --id do tp.
local tempo = 30 -- segundos

local function removeTP(pos, id, time)
if time == 0 then
local item = getTileItemById(pos, id).uid
if item > 1 then
doRemoveItem(item, 1)
doSendAnimatedText(pos, "Closed!", 227)
end
else
doSendAnimatedText(pos, time, 192)
addEvent(removeTP, 1000, pos, id, time-1)
end
end

function onUse(cid, item, frompos, item2, topos)
  local item = getTileItemById(createPos, tpID).uid
  if item > 1 then
      return doPlayerSendTextMessage(cid, 27, "o Teleporte ja está aberto!")
end

doCreateTeleport(tpID, toPos, createPos)
removeTP(createPos, tpID, tempo)
doPlayerSendTextMessage(cid, 27, "O teleporte foi aberto, ele fechará em 30 segundos!")
doTransformItem(item2.uid, (item2.itemid == 1945 and 1946 or 1945))
return true
end

 

Show de bola!!! xD

Está procurando um Global Mid exp para se divertir e dominar? http://www.deluxe-global.com

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