Ir para conteúdo
  • 0

Bug na action


markimbozi

Pergunta

Então galera estava olhando a log dp minha data base e ela apareceu esse erro aqui alguem sabe me dizer o que e isso? e como concertar?



Lua Script Error: [Action Interface]
data/actions/scripts/other/spellbook.lua:onUse
data/actions/scripts/other/spellbook.lua:19: attempt to get length of global 't' (a nil value)
stack traceback:
[C]: in function '__len'
data/actions/scripts/other/spellbook.lua:19: in function

imaginei que voces iriam precissar ver o script dessa spellbook



function onUse(player, item, fromPosition, target, toPosition, isHotkey)
local count = getPlayerInstantSpellCount(player)
local text = ""
local spells = {}
for i = 0, count - 1 do
local spell = getPlayerInstantSpellInfo(player, i)
if spell.level ~= 0 then
if spell.manapercent > 0 then
spell.mana = spell.manapercent .. "%"
end
spells[#spells + 1] = spell
end
end

table.sort(spells, function(a, b) return a.level < b.level end)

local prevLevel = -1
local spell
for i = 1, #t do
spell = t[i]
local line = ""
if prevLevel ~= spell.level then
if i ~= 1 then
line = "\n"
end
line = line .. "Spells for Level " .. spell.level .. "\n"
prevLevel = spell.level
end
text = text .. line .. " " .. spell.words .. " - " .. spell.name .. " : " .. spell.mana .. "\n"
end

player:showTextDialog(item.itemid, text)
return true
end

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Para resolver esse problema eu peguei o mesmo script de outro servidor vai o script que funcionou para se alguem tiver o mesmo erro .

function onUse(cid, item, fromPosition, itemEx, toPosition)
	local count = getPlayerInstantSpellCount(cid)
	local text = ""
	local t = {}
	for i = 0, count - 1 do
		local spell = getPlayerInstantSpellInfo(cid, i)
		if spell.level ~= 0 then
			if spell.manapercent > 0 then
				spell.mana = spell.manapercent .. "%"
			end
			table.insert(t, spell)
		end
	end
	table.sort(t, function(a, b) return a.level < b.level end)
	local prevLevel = -1
	for i, spell in ipairs(t) do
		local line = ""
		if prevLevel ~= spell.level then
			if i ~= 1 then
				line = "\n"
			end
			line = line .. "Spells for Level " .. spell.level .. "\n"
			prevLevel = spell.level
		end
		text = text .. line .. "  " .. spell.words .. " - " .. spell.name .. " : " .. spell.mana .. "\n"
	end
	doShowTextDialog(cid, item.itemid, text)
	return TRUE
end
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...