Syntax error in the mooh'tah warrior monster, due to ' ...Does anyone know how to solve it?
Solved.
below:
Add:
SQL:
[Error - mysql_real_query] Query: INSERT INTO `boosted_monsters` (`name`, `position`) VALUES ('mooh'tah warrior', 1);
Message: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'tah warrior', 1)' at line 1
Lua:
boostedMonsters = {}
boostedMonstersExperienceMultiplier = 2 -- 1 = default, 2 = 200% (aka, double experience)
boostedMonstersLootChanceMultiplier = 2 -- 1 = default, 2 = 200% (aka, double chance of loot.) (1.36% -> 2.72%)(88% -> 100%)
local boostedMonstersAmount = 2 -- how many arrays from boostedMonstersList will be chosen
-- NOTE: Ensure that this amount does not exceed the amount of arrays in boostedMonstersList.. or your server will crash.
local boostedMonstersList = {
{"rat", "cave rat"}, -- setup like this, so an entire monster race can become boosted
{"troll"},
{"cyclops"}, -- don't put the same monster twice.. or bad things might happen. xP
{"demon"},
{"rotworm", "carrion worm"},
{"dwarf", "dwarf soldier", "dwarf guard"},
{"manta ray"},
{"mooh'tah warrior"}
}
local function generateBoostedMonstersText()
local text = ""
for i = 1, #boostedMonsters do
if text ~= "" then
if i == #boostedMonsters then
text = text .. " and "
else
text = text .. ", "
end
end
text = text .. boostedMonsters[i].name
end
text = "Today's boosted monsters are " .. text .. "."
return text
end
local function chooseBoostedMonsters()
local boostedMonstersCount = 0
while boostedMonstersCount < boostedMonstersAmount do
local randomMonster = math.random(#boostedMonstersList)
if not table.contains(boostedMonsters, boostedMonstersList[randomMonster][1]:lower()) then
for i = 1, #boostedMonstersList[randomMonster] do
local monsterName = boostedMonstersList[randomMonster][i]:lower()
local position = #boostedMonsters + 1 -- Calculate the position
table.insert(boostedMonsters, {name = monsterName, position = position})
-- Insert the new monster into the 'boosted_monsters' table
db.query("INSERT INTO `boosted_monsters` (`name`, `position`) VALUES ('" .. monsterName .. "', " .. position .. ");")
end
boostedMonstersCount = boostedMonstersCount + 1
end
end
print(generateBoostedMonstersText())
end
local global = GlobalEvent("globalEvent_boostedMonsters")
function global.onStartup()
-- Clear the 'boosted_monsters' table on server startup
db.query("TRUNCATE TABLE `boosted_monsters`")
addEvent(chooseBoostedMonsters, 0)
return true
end
global:register()
local loginEvent = CreatureEvent("onLogin_boostedMonsters")
loginEvent:type("login")
function loginEvent.onLogin(player)
player:sendTextMessage(MESSAGE_EVENT_ADVANCE, generateBoostedMonstersText())
return true
end
loginEvent:register()
Post automatically merged:
Solved.
below:
Lua:
local monsterName = boostedMonstersList[randomMonster][i]:lower()
Add:
Lua:
monsterName = monsterName:gsub("'", "''")
Last edited: