• 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!

Lua Error With Lever Runes Script

Gera

Newbie :)
Joined
Nov 1, 2007
Messages
4
Reaction score
0
Location
Tijuana, Mexico
Hello, i would like to know whats wrong with this script since i get an error when i try to run the server. It says it has an error in Line 6 near "["

Code:
-- by Keraxel // for otcentrum.pl
local config = {
effect = 39,
aolPrice = 4000
}
local prices = {
--[runeId] = {cost, charges, backpackColor, count},
--POTIONS--
[7618] = {800, 1, "red", 1}, --health potion
[7620] = {900, 1, "purple", 1}, --mana potion
[7588] = {1800, 1, "red", 1}, --strong health potion
[7589] = {1500, 1, "purple", 1}, --strong mana potion
[7591] = {3500, 1, "red", 1}, --great health potion
[7590] = {2200, 1, "purple", 1}, --great mana potion
[8472] = {3500, 1, "yellow", 1}, --great spirit potion
[8473] = {5800, 1, "red", 1}, --ultimate health potion
--RUNES--
[2273] = {3300, 1, "blue", 1}, --UH
[2268] = {6600, 3, "grey", 1}, --SD
[2313] = {4700, 6, "purple", 1}, --explosion
[2287] = {600, 10, "green", 1}, --light magic missile
[2311] = {2200, 10, "purple", 1}, --heavy magic missile
[2304] = {3400, 4, "red", 1}, --great fireball
[2302] = {1800, 5, "red", 1}, --fireball
[2265] = {1800, 1, "grey", 1}, --IH
[2261] = {800, 3, "grey", 1}, --destroy field
[2316] = {7300, 1, "purple", 1}, --animate dead
[2262] = {6500, 2, "grey", 1}, --energy bomb
[2277] = {2200, 3, "blue", 1}, --energy field
[2315] = {2800, 4, "purple", 1}, --thunderstorm
[2274] = {3400, 4, "blue", 1}, --avalanche
[2271] = {2900, 5, "blue", 1}, --icile
[2308] = {4000, 3, "red", 1}, --soulfire
[2285] = {1200, 3, "green", 1}, --poison field
[2286] = {3200, 2, "green", 1}, --poison bomb
[2289] = {4000, 4, "green", 1}, --poison wall
[2290] = {1500, 1, "green", 1}, --convince creature
[2291] = {4000, 1, "green", 1}, --chameleon
[2292] = {2200, 10, "green", 1}, --stalagmite
[2288] = {2800, 4, "green", 1}, --stone shower
[2301] = {1600, 3, "red", 1}, --fire field
[2305] = {4400, 2, "red", 1}, --firebomb
[2303] = {4600, 4, "red", 1} --fire wall
[2260] = {200, 1, "gray", 1} --blank rune
[2269] = {3000, 1, "blue", 1} --Wild Growth
[2278] = {6000, 1, "blue", 1} --Paralize
[2293] = {6000, 1, "yellow", 1} --Magic Wall
}
-----
function onUse(cid, item, fromPosition, itemEx, toPosition)

local function backpackIdByName(name)
local backpacksId = {["green"]=1998, ["yellow"]=1999, ["red"]=2000, ["purple"]=2001, ["blue"]=2002, ["grey"]=2003, ["golden"]=2004}
    return backpacksId[name] or LUA_ERROR

end

local aid = item.actionid - 10000

    if aid == 2173 then
        if (doPlayerBuyItem(cid, 2173, 1, config.aolPrice, 1)) ~= LUA_ERROR then
            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "You've bought an amulet of loss.")
            doSendMagicEffect(getCreaturePosition(cid), config.effect)
        else
            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "You don't have enough money. The price is "..config.aolPrice.." gold pieces.")
        end

    else

                if (doPlayerBuyItemContainer(cid, backpackIdByName(prices[aid][3]), aid, 1, prices[aid][1], prices[aid][2])) == LUA_NO_ERROR then
                    doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "You've bought a backpack of "..getItemNameById(aid)..".")
                    doSendMagicEffect(getCreaturePosition(cid), config.effect)
                else
                    doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "You don't have enough money. The price is "..prices[aid][1].." gold pieces.")
                end
    end
    return TRUE
end

Thanks in Advance.

Yours, Gera. :thumbup:
 
Code:
--[runeId] = {cost, charges, backpackColor, count},
--POTIONS--

This is your problem the server is reading your single line comments as a multiline comment

Since multiline comments start with a "--[[" and end with a "]]--" the server is confused by your comment --[runeId] = {cost, charges, backpackColor, count},

To solve the problem just copy and paste the code below

Code:
--[[[runeId] = {cost, charges, backpackColor, count},
  POTIONS]]--

That should solve your problem.
 
Last edited:
Code:
--[runeId] = {cost, charges, backpackColor, count},
--POTIONS--

This is your problem the server is reading your comments as a multiline comment

If your going to comment out [runeId] then use this instead

Code:
--[[[runeId] = {cost, charges, backpackColor, count},
--POTIONS]]--

That should solve your problem.

Thank you i'll try it right now and see if it works ^_^

It didnt :(

I still get the same error

Code:
[21/03/2009 16:22:09] Warning: [Event::loadScript] Can not load script. data/actions/scripts/leverRunes.lua
[21/03/2009 16:22:09] data/actions/scripts/leverRunes.lua:44: '}' expected (to close '{' at line 6) near '['
 
Thank you i'll try it right now and see if it works ^_^

It didnt :(

I still get the same error

Code:
[21/03/2009 16:22:09] Warning: [Event::loadScript] Can not load script. data/actions/scripts/leverRunes.lua
[21/03/2009 16:22:09] data/actions/scripts/leverRunes.lua:44: '}' expected (to close '{' at line 6) near '['


You had a clerical error, forgetting some commas in your table structure


Copy and paste this
Code:
-- by Keraxel // for otcentrum.pl
local config = {
effect = 39,
aolPrice = 4000
}
local prices = {
--[[[runeId] = {cost, charges, backpackColor, count},
--POTIONS]]--
[7618] = {800, 1, "red", 1}, --health potion
[7620] = {900, 1, "purple", 1}, --mana potion
[7588] = {1800, 1, "red", 1}, --strong health potion
[7589] = {1500, 1, "purple", 1}, --strong mana potion
[7591] = {3500, 1, "red", 1}, --great health potion
[7590] = {2200, 1, "purple", 1}, --great mana potion
[8472] = {3500, 1, "yellow", 1}, --great spirit potion
[8473] = {5800, 1, "red", 1}, --ultimate health potion
--RUNES--
[2273] = {3300, 1, "blue", 1}, --UH
[2268] = {6600, 3, "grey", 1}, --SD
[2313] = {4700, 6, "purple", 1}, --explosion
[2287] = {600, 10, "green", 1}, --light magic missile
[2311] = {2200, 10, "purple", 1}, --heavy magic missile
[2304] = {3400, 4, "red", 1}, --great fireball
[2302] = {1800, 5, "red", 1}, --fireball
[2265] = {1800, 1, "grey", 1}, --IH
[2261] = {800, 3, "grey", 1}, --destroy field
[2316] = {7300, 1, "purple", 1}, --animate dead
[2262] = {6500, 2, "grey", 1}, --energy bomb
[2277] = {2200, 3, "blue", 1}, --energy field
[2315] = {2800, 4, "purple", 1}, --thunderstorm
[2274] = {3400, 4, "blue", 1}, --avalanche
[2271] = {2900, 5, "blue", 1}, --icile
[2308] = {4000, 3, "red", 1}, --soulfire
[2285] = {1200, 3, "green", 1}, --poison field
[2286] = {3200, 2, "green", 1}, --poison bomb
[2289] = {4000, 4, "green", 1}, --poison wall
[2290] = {1500, 1, "green", 1}, --convince creature
[2291] = {4000, 1, "green", 1}, --chameleon
[2292] = {2200, 10, "green", 1}, --stalagmite
[2288] = {2800, 4, "green", 1}, --stone shower
[2301] = {1600, 3, "red", 1}, --fire field
[2305] = {4400, 2, "red", 1}, --firebomb
[2303] = {4600, 4, "red", 1}, --fire wall
[2260] = {200, 1, "gray", 1},--blank rune
[2269] = {3000, 1, "blue", 1}, --Wild Growth
[2278] = {6000, 1, "blue", 1}, --Paralize
[2293] = {6000, 1, "yellow", 1} --Magic Wall
}
-----
function onUse(cid, item, fromPosition, itemEx, toPosition)

local function backpackIdByName(name)
local backpacksId = {["green"]=1998, ["yellow"]=1999, ["red"]=2000, ["purple"]=2001, ["blue"]=2002, ["grey"]=2003, ["golden"]=2004}
    return backpacksId[name] or LUA_ERROR

end

local aid = item.actionid - 10000

    if aid == 2173 then
        if (doPlayerBuyItem(cid, 2173, 1, config.aolPrice, 1)) ~= LUA_ERROR then
            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "You've bought an amulet of loss.")
            doSendMagicEffect(getCreaturePosition(cid), config.effect)
        else
            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "You don't have enough money. The price is "..config.aolPrice.." gold pieces.")
        end

    else

                if (doPlayerBuyItemContainer(cid, backpackIdByName(prices[aid][3]), aid, 1, prices[aid][1], prices[aid][2])) == LUA_NO_ERROR then
                    doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "You've bought a backpack of "..getItemNameById(aid)..".")
                    doSendMagicEffect(getCreaturePosition(cid), config.effect)
                else
                    doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "You don't have enough money. The price is "..prices[aid][1].." gold pieces.")
                end
    end
    return TRUE
end
 
Last edited:
You had a clerical error, forgetting some comments in your table structure


Copy and paste this
Code:
-- by Keraxel // for otcentrum.pl
local config = {
effect = 39,
aolPrice = 4000
}
local prices = {
--[[[runeId] = {cost, charges, backpackColor, count},
--POTIONS]]--
[7618] = {800, 1, "red", 1}, --health potion
[7620] = {900, 1, "purple", 1}, --mana potion
[7588] = {1800, 1, "red", 1}, --strong health potion
[7589] = {1500, 1, "purple", 1}, --strong mana potion
[7591] = {3500, 1, "red", 1}, --great health potion
[7590] = {2200, 1, "purple", 1}, --great mana potion
[8472] = {3500, 1, "yellow", 1}, --great spirit potion
[8473] = {5800, 1, "red", 1}, --ultimate health potion
--RUNES--
[2273] = {3300, 1, "blue", 1}, --UH
[2268] = {6600, 3, "grey", 1}, --SD
[2313] = {4700, 6, "purple", 1}, --explosion
[2287] = {600, 10, "green", 1}, --light magic missile
[2311] = {2200, 10, "purple", 1}, --heavy magic missile
[2304] = {3400, 4, "red", 1}, --great fireball
[2302] = {1800, 5, "red", 1}, --fireball
[2265] = {1800, 1, "grey", 1}, --IH
[2261] = {800, 3, "grey", 1}, --destroy field
[2316] = {7300, 1, "purple", 1}, --animate dead
[2262] = {6500, 2, "grey", 1}, --energy bomb
[2277] = {2200, 3, "blue", 1}, --energy field
[2315] = {2800, 4, "purple", 1}, --thunderstorm
[2274] = {3400, 4, "blue", 1}, --avalanche
[2271] = {2900, 5, "blue", 1}, --icile
[2308] = {4000, 3, "red", 1}, --soulfire
[2285] = {1200, 3, "green", 1}, --poison field
[2286] = {3200, 2, "green", 1}, --poison bomb
[2289] = {4000, 4, "green", 1}, --poison wall
[2290] = {1500, 1, "green", 1}, --convince creature
[2291] = {4000, 1, "green", 1}, --chameleon
[2292] = {2200, 10, "green", 1}, --stalagmite
[2288] = {2800, 4, "green", 1}, --stone shower
[2301] = {1600, 3, "red", 1}, --fire field
[2305] = {4400, 2, "red", 1}, --firebomb
[2303] = {4600, 4, "red", 1}, --fire wall
[2260] = {200, 1, "gray", 1},--blank rune
[2269] = {3000, 1, "blue", 1}, --Wild Growth
[2278] = {6000, 1, "blue", 1}, --Paralize
[2293] = {6000, 1, "yellow", 1} --Magic Wall
}
-----
function onUse(cid, item, fromPosition, itemEx, toPosition)

local function backpackIdByName(name)
local backpacksId = {["green"]=1998, ["yellow"]=1999, ["red"]=2000, ["purple"]=2001, ["blue"]=2002, ["grey"]=2003, ["golden"]=2004}
    return backpacksId[name] or LUA_ERROR

end

local aid = item.actionid - 10000

    if aid == 2173 then
        if (doPlayerBuyItem(cid, 2173, 1, config.aolPrice, 1)) ~= LUA_ERROR then
            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "You've bought an amulet of loss.")
            doSendMagicEffect(getCreaturePosition(cid), config.effect)
        else
            doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "You don't have enough money. The price is "..config.aolPrice.." gold pieces.")
        end

    else

                if (doPlayerBuyItemContainer(cid, backpackIdByName(prices[aid][3]), aid, 1, prices[aid][1], prices[aid][2])) == LUA_NO_ERROR then
                    doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "You've bought a backpack of "..getItemNameById(aid)..".")
                    doSendMagicEffect(getCreaturePosition(cid), config.effect)
                else
                    doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "You don't have enough money. The price is "..prices[aid][1].." gold pieces.")
                end
    end
    return TRUE
end

Trying....

OMG :D I DONT GET ERRORS ANYMORE! NOW IT SHOULD WORK!

Thank you so much i added rep :thumbup:

Can some one close this? its solved :D
 
Last edited:
Back
Top