Ir para conteúdo
  • Cadastre-se

Derivado Erro com comando table.insert


Posts Recomendados

ta acusando attempt to call field '?' (a nil value) na linha do table.insert(t, pos) , segue script abaixo

Spoiler

local t = {}
    local m = getThingPosWithDebug(cid)
        for x = -7, 7 do
            for y = -7, 7 do
            local pos = {x = m.x + x, y = m.y + y, z = m.z, stackpos = 0}
                if getTileThingByPos(pos).itemid > 0 then
                 table.insert(t, pos)
                end
            end
        end

    local function doEarthquake(cid, pos)
        if not isCreature(cid) then return true end
    if not isSightClear(getThingPosWithDebug(cid), pos, false) then return true end
    if not canWalkOnPos(pos, false, false, false, false, true) then return true end
    doAreaCombatHealth(cid, GROUNDDAMAGE, pos, 0, -min, -max, 255)
    doSendMagicEffect({x = pos.x + 1, y = pos.y + 1, z = pos.z}, 127)
    end

    for a = 1, #t do
        if #t >= 1 then
        local random = math.random(1, #t)
        addEvent(doEarthquake, a * 24, cid, t[random])
        t = doRemoveElementFromTable(t, t[random])
        end
    end    

 

Link para o post
Compartilhar em outros sites
  • Sub-Admin
12 horas atrás, matheus9712 disse:

ta acusando attempt to call field '?' (a nil value) na linha do table.insert(t, pos) , segue script abaixo

  Ocultar conteúdo

local t = {}
    local m = getThingPosWithDebug(cid)
        for x = -7, 7 do
            for y = -7, 7 do
            local pos = {x = m.x + x, y = m.y + y, z = m.z, stackpos = 0}
                if getTileThingByPos(pos).itemid > 0 then
                 table.insert(t, pos)
                end
            end
        end

    local function doEarthquake(cid, pos)
        if not isCreature(cid) then return true end
    if not isSightClear(getThingPosWithDebug(cid), pos, false) then return true end
    if not canWalkOnPos(pos, false, false, false, false, true) then return true end
    doAreaCombatHealth(cid, GROUNDDAMAGE, pos, 0, -min, -max, 255)
    doSendMagicEffect({x = pos.x + 1, y = pos.y + 1, z = pos.z}, 127)
    end

    for a = 1, #t do
        if #t >= 1 then
        local random = math.random(1, #t)
        addEvent(doEarthquake, a * 24, cid, t[random])
        t = doRemoveElementFromTable(t, t[random])
        end
    end    

 

 

 

local t = {}
    local m = getThingPosWithDebug(cid)
        for x = -7, 7 do
            for y = -7, 7 do
            local pos = {x = m.x + x, y = m.y + y, z = m.z, stackpos = 0}
                if getTileThingByPos(pos).itemid > 0 then
                end
            end
        end
    local function doEarthquake(cid, pos)
        if not isCreature(cid) then return true end
    if not isSightClear(getThingPosWithDebug(cid), pos, false) then return true end
    if not canWalkOnPos(pos, false, false, false, false, true) then return true end
    doAreaCombatHealth(cid, GROUNDDAMAGE, pos, 0, -min, -max, 255)
    doSendMagicEffect({x = pos.x + 1, y = pos.y + 1, z = pos.z}, 127)
    end
    for a = 1, #t do
        if #t >= 1 then
        local random = math.random(1, #t)
        addEvent(doEarthquake, a * 24, cid, t[random])
        t = doRemoveElementFromTable(t, t[random])
        end
    end

 

 

20230912_034613.png.cf49b650c34dd7d7b1f79bd49c70f53c.png

Eu sou um entusiasta da programação apaixonado por ajudar a comunidade open source a crescer. Sempre em busca de novos desafios e oportunidades para contribuir com meu código.  #OpenSource #Programação #Contribuição

 

Link para o post
Compartilhar em outros sites
17 minutos atrás, Alexy Brocanello disse:

 

 


local t = {}
    local m = getThingPosWithDebug(cid)
        for x = -7, 7 do
            for y = -7, 7 do
            local pos = {x = m.x + x, y = m.y + y, z = m.z, stackpos = 0}
                if getTileThingByPos(pos).itemid > 0 then
                end
            end
        end
    local function doEarthquake(cid, pos)
        if not isCreature(cid) then return true end
    if not isSightClear(getThingPosWithDebug(cid), pos, false) then return true end
    if not canWalkOnPos(pos, false, false, false, false, true) then return true end
    doAreaCombatHealth(cid, GROUNDDAMAGE, pos, 0, -min, -max, 255)
    doSendMagicEffect({x = pos.x + 1, y = pos.y + 1, z = pos.z}, 127)
    end
    for a = 1, #t do
        if #t >= 1 then
        local random = math.random(1, #t)
        addEvent(doEarthquake, a * 24, cid, t[random])
        t = doRemoveElementFromTable(t, t[random])
        end
    end

 

o erro sumiu, mas o agora o ataque simplesmente não aparece nada pois vc tirou do script o comando de adicionar as áreas dele na table @Alexy Brocanello

Link para o post
Compartilhar em outros sites
t = {}
local m = getThingPosWithDebug(cid)
for x = -7, 7 do
	for y = -7, 7 do
		local pos = {x = m.x + x, y = m.y + y, z = m.z, stackpos = 0}
		if getTileThingByPos(pos).itemid > 0 then
			t[#t+1] = pos
		end
	end
end
local function doEarthquake(cid, pos)
	if not isCreature(cid) then return true end
	if not isSightClear(getThingPosWithDebug(cid), pos, false) then return true end
	if not canWalkOnPos(pos, false, false, false, false, true) then return true end
	doAreaCombatHealth(cid, GROUNDDAMAGE, pos, 0, -min, -max, 255)
	doSendMagicEffect({x = pos.x + 1, y = pos.y + 1, z = pos.z}, 127)
end
if #t > 0 then
	for a = 1, #t do
		local random = math.random(1, #t)
		addEvent(doEarthquake, a * 24, cid, t[random])
		t = doRemoveElementFromTable(t, t[random]) -- pra que essa função? existe table.insert e table.remove kk
	end
end  

 

teste desse jeito

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites
31 minutos atrás, Vodkart disse:

t = {}
local m = getThingPosWithDebug(cid)
for x = -7, 7 do
	for y = -7, 7 do
		local pos = {x = m.x + x, y = m.y + y, z = m.z, stackpos = 0}
		if getTileThingByPos(pos).itemid > 0 then
			t[#t+1] = pos
		end
	end
end
local function doEarthquake(cid, pos)
	if not isCreature(cid) then return true end
	if not isSightClear(getThingPosWithDebug(cid), pos, false) then return true end
	if not canWalkOnPos(pos, false, false, false, false, true) then return true end
	doAreaCombatHealth(cid, GROUNDDAMAGE, pos, 0, -min, -max, 255)
	doSendMagicEffect({x = pos.x + 1, y = pos.y + 1, z = pos.z}, 127)
end
if #t > 0 then
	for a = 1, #t do
		local random = math.random(1, #t)
		addEvent(doEarthquake, a * 24, cid, t[random])
		t = doRemoveElementFromTable(t, t[random]) -- pra que essa função? existe table.insert e table.remove kk
	end
end  

 

teste desse jeito

@Vodkart mano, valew mesmo, sensacional, REP++:wow:

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.

  • Conteúdo Similar

    • Por LeoTK
      Salve galera neste tópico irei postar algumas prints do mapa do servidor para quem queira acompanhar e quem sabe até utilizar de inspiração para mapear o seu NTO.
       
      #Att 11/08/2022

       
       
       
       
      Konoha (Em Desenvolvimento)
       
       
       
       
    • Por DiigooMix
      Como o título já diz, será que alguém possui sprite do hitto e se possível as transformações dele?
    • Por OmegaZero
      Olá gostaria que alguém me ajudasse com uma "scripting" não sei se é pela mesma, seria o seguinte uma determinada arma teria a chance de dar double hit e não sei oque fazer alguem poderia ajudar?

      OBS:não sei se é o local correto se não for mova, desculpe
    • Por Madarasenju
      Olá galera do Tibia King, queria por uns npc's no meu server que não tem função de trade nem nada do tipo, queria que eles só andassem como enfeite, Rep+ Pra quem me ajudar... grato desde já.
    • Por SilenceRoot
      A magia é assim o você usa a a magia e ela ficará ativado por 10 segundos, até que o inimigo lance a primeira magia ou todos de uma vez, quando ele lançar a primeira magia, ele não lhe acertará ou seja esquivando dela, e logo em seguida será teletransportado aleatoriamente ao redor do inimigo que usou.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo