• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!
  • 2026 staff recruitment is open! Check it out and consider applying!

Help spellbook script doubt

gohamvsgoku

Member
Joined
Aug 21, 2017
Messages
151
Reaction score
9
Distro: The forgotten server 1.2

is it possible remove 4 spells from the spellbook list?

XML:
<!-- House Spells -->
    <instant name="House Spell" words="aleta sio" maglvl="0" selftarget="1" aggressive="0" function="editHouseGuest" />
    <instant name="House Spell" words="aleta som" maglvl="0" selftarget="1" aggressive="0" function="editHouseSubOwner" />
    <instant name="House Spell" words="aleta grav" maglvl="0" selftarget="1" aggressive="0" function="editHouseDoor" />
    <instant name="House Spell" words="alana sio" maglvl="0" params="1" aggressive="0" function="houseKick" />

i have these spells on spells.xml... i don't want remove theys of my spells.xml, i need theys on my server...

currently my spellbook is reading all the spells from the list, is possible my spellbook ignore only name with "house spell"?

Spellbook.lua script
LUA:
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
    for i, spell in ipairs(spells) do
        local line = ""
        if prevLevel ~= spell.level then
            if i ~= 1 then
                line = "\n"
            end
            line = line .. "Spells for Magic Level " .. spell.level .. "\n"
            prevLevel = spell.level
        end
        text = text .. line .. "  " .. spell.words .. " - " .. spell.name .. " : " .. spell.mana .. "\n"
    end

    player:showTextDialog(item:getId(), text)
    return true
end

thanks for help :)
 
Change line 28 to this;
LUA:
if not string.match(spell.name, "House") then -- check for `House` in name
    text = text .. line .. "  " .. spell.words .. " - " .. spell.name .. " : " .. spell.mana .. "\n"
end
 
Back
Top