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

WOE Database Problem

Cris2387

Member
Joined
Dec 30, 2013
Messages
177
Reaction score
9
Hello i added the war of emperium to my serv and i dont get any problems when opening my serv im using the otx serv 2.51, when i try to start the event i get this error :
Code:
[22/5/2015 15:56:20] sqlite3_prepare_v2(): SQLITE ERROR: near "AUTO_INCREMENT": syntax error (CREATE TABLE "woe" ("id" INT( 11 ) NOT NULL AUTO_INCREMENT ,"started" INT( 11 ) NOT NULL ,"guild" INT( 11 ) NOT NULL ,"breaker" INT( 11 ) NOT NULL ,"time" INT( 11 ) NOT NULL ,PRIMARY KEY ( "id" ) ,UNIQUE ("id")) ENGINE = MYISAM)
[22/5/2015 15:56:20] > Broadcasted message: "DB Added [...]".
[22/5/2015 15:57:3] sqlite3_prepare_v2(): SQLITE ERROR: near "AUTO_INCREMENT": syntax error (CREATE TABLE "woe" ("id" INT( 11 ) NOT NULL AUTO_INCREMENT ,"started" INT( 11 ) NOT NULL ,"guild" INT( 11 ) NOT NULL ,"breaker" INT( 11 ) NOT NULL ,"time" INT( 11 ) NOT NULL ,PRIMARY KEY ( "id" ) ,UNIQUE ("id")) ENGINE = MYISAM)
[22/5/2015 15:57:3] > Broadcasted message: "DB Added [...]".
i know it has to do with database hum how can i fix it? im not a pro this is my _Woe.lua
Code:
dofile("./var.woe")

local config = woe_config

fileStore = true

infoFile = 'tmp.woe'
infoLua = {}

Woe = {}
Woe.__index = Woe

function Woe.setup()
   db.query("DROP TABLE IF EXISTS `woe`;")
   db.query("CREATE TABLE `woe` (`id` INT( 11 ) NOT NULL AUTO_INCREMENT ,`started` INT( 11 ) NOT NULL ,`guild` INT( 11 ) NOT NULL ,`breaker` INT( 11 ) NOT NULL ,`time` INT( 11 ) NOT NULL ,PRIMARY KEY ( `id` ) ,UNIQUE (`id`)) ENGINE = MYISAM")
   doBroadcastMessage("DB Added [...]", config.bcType)
   if fileStore then
     local newFile = io.open(infoFile, "w")
     for _, i in ipairs({'started', 'guild', 'breaker', 'time'}) do
       newFile:write(i .. ' = 0 ;end;\n')
     end
     newFile:close()
   else
     db.query("DROP TABLE IF EXISTS `tmpwoe`;")
     db.query("CREATE TABLE `tmpwoe` (`started` INT( 11 ) NOT NULL ,`guild` INT( 11 ) NOT NULL ,`breaker` INT( 111 ) NOT NULL ,`time` INT( 1 ) NOT NULL) ENGINE = MYISAM ;")
     db.query("ALTER TABLE `tmpwoe` ADD `indexer` INT NOT NULL ")
     db.query("INSERT INTO `tmpwoe` (`started` ,`guild` ,`breaker` ,`time`, `indexer`)VALUES ('0', '0', '0', '0', '1');")
   end
end

function Woe.getInfo()
   if fileStore then
     local open = io.open(infoFile, "r")
     if open then
       for i in io.lines(infoFile) do
         for v, k in ipairs({'started', 'guild', 'breaker', 'time'}) do
           if (i:find(k)) then
             n = i:match(k .. '.*')
             infoLua[v] = tonumber(n:sub(n:find('=') + 2, n:find(';end;') - 2))
           end
         end
       end
       open:close()
     end
   else
     for v, k in ipairs({'started', 'guild', 'breaker', 'time'}) do
       local tmp = db.getResult("SELECT " .. k .. " FROM `tmpwoe` WHERE `indexer` = '1';")
       infoLua[v] = tmp:getDataInt(k)
       tmp:free()
     end
   end
end

function Woe.updateInfo(tab)
   if fileStore then
     local open = io.open(infoFile, "w")
     if open then
       for k, i in ipairs({'started', 'guild', 'breaker', 'time'}) do
         open:write(i .. ' = ' .. tab[k] .. ' ;end;\n')
       end
       open:close()
     end
   else
     for v, k in ipairs({'started', 'guild', 'breaker', 'time'}) do
       db.query("UPDATE `tmpwoe` SET " .. k .. " =  " .. tab[v] .. " WHERE `indexer` = 1;")
     end
   end
end

function Woe.save()
   Woe.getInfo()
   db.query("INSERT INTO `woe` (`started`, `guild`, `breaker`, `time`) VALUES (" .. infoLua[1] .. ", " .. infoLua[2] .. ", " .. infoLua[3] .. ", " .. infoLua[4] .. ");")
end

function Woe.getGuildName(id)
   local res = db.getResult("SELECT `name` FROM `guilds` WHERE `id` = " .. id .. ";")
   if (res:getID() ~= -1) then
     ret = res:getDataString('name')
     res:free()
   end
   return ret
end

function Woe.breakerName()
   Woe.getInfo()
   return infoLua[3] ~= 0 and getPlayerNameByGUID(infoLua[3]) or 'None'
end

function Woe.guildName()
   Woe.getInfo()
   return infoLua[2] ~= 0 and Woe.getGuildName(infoLua[2]) or 'Nones'
end

function Woe.startTime()
   Woe.getInfo()
   return os.date("%d %B %Y %X ", infoLua[1])
end

function Woe.breakTime()
   Woe.getInfo()
   return os.date("%d %B %Y %X ", infoLua[4])
end

function Woe.timeToEnd()
   Woe.getInfo()
   local myTable = {}
   for k, i in ipairs({"%M", "%S"}) do
     myTable[k] = os.date(i, os.difftime(os.time(), infoLua[1]))
   end
   return {mins = ((config.timeToEnd - 1) - myTable[1]), secs = (60 - myTable[2])}
end

function Woe.moveBack(cid, fromPosition, text)
   doTeleportThing(cid, fromPosition, TRUE)
   doPlayerSendCancel(cid, text)
end

function Woe.getGuildMembers(id)
   local members = {}
   for _, i in ipairs(getPlayersOnline()) do
     if id == getPlayerGuildId(i) then
       table.insert(members, i)
     end
   end
   return members
end

function Woe.deco(text)
   for _, i in ipairs(Castle.decoraciones) do
     doItemSetAttribute(i, "description", text)
   end
end

function Woe.removePortals()
   for _, i in ipairs(Castle.PrePortalsPos) do
     if (getThingFromPos(i).itemid > 0) then
       doRemoveItem(getThingFromPos(i).uid)
     end
   end
end

function Woe.removePre()
   for _, i in ipairs(Castle.PreEmpes) do
     if (isCreature(getThingFromPos(i).uid) == true) then
       doRemoveCreature(getThingFromPos(i).uid)
     end
   end
end

function Woe.checkPre()
   local Count = 0
   for _, i in ipairs(Castle.PreEmpes) do
     if (isCreature(getThingFromPos(i).uid) == false) then
       Count = Count + 1
     end
   end
   return (Count == #Castle.PreEmpes)
end

function Woe.isTime()
   return (getGlobalStorageValue(stor.WoeTime) == 1)
end

function Woe.isStarted()
   return (getGlobalStorageValue(stor.Started) == 1)
end

function Woe.isRegistered(cid)
   return (getPlayerStorageValue(cid, stor.register) == 1)
end

function Woe.isInCastle(cid)
   local myPos = getCreaturePosition(cid)
   if (myPos.x >= Castle.salas.a.fromx and myPos.x <= Castle.salas.a.tox) then
     if (myPos.y >= Castle.salas.a.fromy and myPos.y <= Castle.salas.a.toy) then
       if isInArray({Castle.salas.a.z, Castle.salas.b.z, Castle.salas.c.z}, myPos.z) then
         return true
       end
     end
   end
   return false
end

function Woe.expulsar(guild, fromx, tox, fromy, toy, z, outpos)
   for _x = fromx, tox do
     for _y = fromy, toy do
       local player = getThingFromPos({x = _x, y = _y, z = z, stackpos = 253}).uid
       if (isPlayer(player) == true) then
         if (getPlayerGuildId(player) ~= guild) then
           doTeleportThing(player, outpos, false)
         end
       end
     end
   end
end

-- extras

function doSetItemActionId(uid, action)
   doItemSetAttribute(uid, "aid", action)
end

function exhaust(cid, storevalue, exhausttime)
-- Exhaustion function by Alreth, v1.1 2006-06-24 01:31
-- Returns 1 if not exhausted and 0 if exhausted
  newExhaust = os.time()
  oldExhaust = getPlayerStorageValue(cid, storevalue)
  if (oldExhaust == nil or oldExhaust < 0) then
  oldExhaust = 0
  end
  if (exhausttime == nil or exhausttime < 0) then
  exhausttime = 1
  end
  diffTime = os.difftime(newExhaust, oldExhaust)
  if (diffTime >= exhausttime or diffTime < 0) then
  setPlayerStorageValue(cid, storevalue, newExhaust)
  return 1
  else
  return 0
  end
end

--new
guard_pos =
   {
     {x = 55, y = 31, z = 5},
     {x = 55, y = 30, z = 5},
     {x = 55, y = 29, z = 5},
     {x = 55, y = 28, z = 5},
     {x = 55, y = 27, z = 5},
     {x = 55, y = 26, z = 5},
     {x = 55, y = 25, z = 5}
   }
   
function Woe.check()
   for storage = 24504, 24511 do
     local pid = getGlobalStorageValue(storage)
     if isCreature(pid) then
       return false
     end
   end
   return true
end

function Woe.summon()
   for k, i in ipairs(guard_pos) do
     local pid = doSummonCreature("guard", i)
     setGlobalStorageValue(24503 + k, pid)
   end
end

function Woe.remove()
   for storage = 24504, 24511 do
     local pid = getGlobalStorageValue(storage)
     if isCreature(pid) then
       doRemoveCreature(pid)
     end
   end
end
i hope that was enough information thank you
 
Back
Top