zbizu
Legendary OT User
I've found some difficulties using spellbook on GOD, therefore I decided to rewrite it so GM+ won't get debug due to too large text.
This code doesn't modify anything for players, it removes information about requirements for gods to avoid client debug when displaying large message(GM+ see only name and words in spellbook).
Replace actions\scripts\other\spellbook.lua for this code:
This code doesn't modify anything for players, it removes information about requirements for gods to avoid client debug when displaying large message(GM+ see only name and words in spellbook).
Replace actions\scripts\other\spellbook.lua for this code:
LUA:
function onUse(cid, item, fromPosition, itemEx, toPosition)
local t = {}
if(getPlayerAccess(cid) > 2) then
for i = 0, getPlayerInstantSpellCount(cid) - 1 do
local spell = getPlayerInstantSpellInfo(cid, i)
table.insert(t, spell)
end
table.sort(t, function(a, b) return a.level < b.level end)
local text = ""
for i, spell in ipairs(t) do
local line = ""
text = text .. line .. " " .. spell.words .. " - " .. spell.name .. "\n"
end
doShowTextDialog(cid, item.itemid, text)
else
for i = 0, getPlayerInstantSpellCount(cid) - 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 text, 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
return true
end