• 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 Login.lua error

Znapix

New Member
Joined
Jun 11, 2014
Messages
2
Reaction score
0
Hello, i have a problem with login.lua and i cant figure out how to fix it
Code:
[11/06/2016 23:03:36] [Error - LuaScriptInterface::loadFile] data/creaturescripts/scripts/login.lua:94: '<eof>' expected near 'end'
[11/06/2016 23:03:36] [Warning - Event::loadScript] Cannot load script (data/creaturescripts/scripts/login.lua)
[11/06/2016 23:03:36] data/creaturescripts/scripts/login.lua:94: '<eof>' expected near 'end'
login.lua
Code:
local config = {
   loginMessage = getConfigValue('loginMessage'),
   useFragHandler = getBooleanFromString(getConfigValue('useFragHandler'))
}

function onLogin(cid)
   local loss = getConfigValue('deathLostPercent')
   if(loss ~= nil) then
     doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 10)
   end

   local accountManager = getPlayerAccountManager(cid)
   if(accountManager == MANAGER_NONE) then
     local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage
     if(lastLogin > 0) then
       doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
       str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "."
     else
       str = str .. " Please choose your outfit."
       doPlayerSendOutfitWindow(cid)
     end

     doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
   elseif(accountManager == MANAGER_NAMELOCK) then
     doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, it appears that your character has been namelocked, what would you like as your new name?")
   elseif(accountManager == MANAGER_ACCOUNT) then
     doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.")
   else
     doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to create an account or type 'recover' to recover an account.")
   end

   if(not isPlayerGhost(cid)) then
     doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
   end

   registerCreatureEvent(cid, "Mail")
   registerCreatureEvent(cid, "Criredric")  
   registerCreatureEvent(cid, "AdvanceReward")
   registerCreatureEvent(cid, "advanced")
   registerCreatureEvent(cid, 'advance')
   registerCreatureEvent(cid, "TopFrags")
   registerCreatureEvent(cid, "FragReward")
   registerCreatureEvent(cid, "GuildMotd")
   registerCreatureEvent(cid, "demonOakLogout")
     registerCreatureEvent(cid, "demonOakDeath")
   registerCreatureEvent(cid, "Idle")
   if(config.useFragHandler) then
     registerCreatureEvent(cid, "SkullCheck")
   end

   registerCreatureEvent(cid, "ReportBug")
   registerCreatureEvent(cid, "AdvanceSave")
   
    registerCreatureEvent(cid, "ArenaKill")
  -- if he did not make full arena 1 he must start from zero
  if getPlayerStorageValue(cid, 42309) < 1 then
  for i = 42300, 42309 do
  setPlayerStorageValue(cid, i, 0)
  end
  end
  -- if he did not make full arena 2 he must start from zero
  if getPlayerStorageValue(cid, 42319) < 1 then
  for i = 42310, 42319 do
  setPlayerStorageValue(cid, i, 0)
  end
  end
  -- if he did not make full arena 3 he must start from zero
  if getPlayerStorageValue(cid, 42329) < 1 then
  for i = 42320, 42329 do
  setPlayerStorageValue(cid, i, 0)
  end
  end
  if getPlayerStorageValue(cid, 42355) == -1 then
  setPlayerStorageValue(cid, 42355, 0) -- did not arena level
  end
  setPlayerStorageValue(cid, 42350, 0) -- time to kick 0
  setPlayerStorageValue(cid, 42352, 0) -- is not in arena  
  end
   
   local id,nm,qry = getPlayerAccountId(cid),string.find (getCreatureName(cid), "(%[+)%v*(%]+)%s*"),""
   if isPremium(cid) and nm == nil then
     qry = "UPDATE `theforgottenserver`.`players` SET `name` = '[v] "..getCreatureName(cid).."' WHERE `players`.`account_id`= "..id..";"
   elseif (not isPremium(cid)) and nm ~= nil then
     local nnome = string.gsub(getCreatureName(cid), "(%[+)%v*(%]+)%s*", "")
     qry = "UPDATE `theforgottenserver`.`players` SET `name` = '"..nnome.."' WHERE `players`.`account_id`= "..id..";"
   end
   if qry ~= "" then
     db.executeQuery(qry)
     doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You will be disconnected and will be required to put the login and password again.")
     addEvent(doRemoveThing,3000,cid)
   end
   return true
end
 
Code:
local config = {
   loginMessage = getConfigValue('loginMessage'),
   useFragHandler = getBooleanFromString(getConfigValue('useFragHandler'))
}

function onLogin(cid)
   local loss = getConfigValue('deathLostPercent')
   if(loss ~= nil) then
     doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 10)
   end

   local accountManager = getPlayerAccountManager(cid)
   if(accountManager == MANAGER_NONE) then
     local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage
     if(lastLogin > 0) then
       doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
       str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "."
     else
       str = str .. " Please choose your outfit."
       doPlayerSendOutfitWindow(cid)
     end

     doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
   elseif(accountManager == MANAGER_NAMELOCK) then
     doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, it appears that your character has been namelocked, what would you like as your new name?")
   elseif(accountManager == MANAGER_ACCOUNT) then
     doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.")
   else
     doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to create an account or type 'recover' to recover an account.")
   end

   if(not isPlayerGhost(cid)) then
     doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
   end

   registerCreatureEvent(cid, "Mail")
   registerCreatureEvent(cid, "Criredric")
   registerCreatureEvent(cid, "AdvanceReward")
   registerCreatureEvent(cid, "advanced")
   registerCreatureEvent(cid, 'advance')
   registerCreatureEvent(cid, "TopFrags")
   registerCreatureEvent(cid, "FragReward")
   registerCreatureEvent(cid, "GuildMotd")
   registerCreatureEvent(cid, "demonOakLogout")
     registerCreatureEvent(cid, "demonOakDeath")
   registerCreatureEvent(cid, "Idle")
   if(config.useFragHandler) then
     registerCreatureEvent(cid, "SkullCheck")
   end

   registerCreatureEvent(cid, "ReportBug")
   registerCreatureEvent(cid, "AdvanceSave")
 
    registerCreatureEvent(cid, "ArenaKill")
  -- if he did not make full arena 1 he must start from zero
  if getPlayerStorageValue(cid, 42309) < 1 then
  for i = 42300, 42309 do
  setPlayerStorageValue(cid, i, 0)
  end
  -- end
  -- if he did not make full arena 2 he must start from zero
  if getPlayerStorageValue(cid, 42319) < 1 then
  for i = 42310, 42319 do
  setPlayerStorageValue(cid, i, 0)
  end
 --  end
  -- if he did not make full arena 3 he must start from zero
  if getPlayerStorageValue(cid, 42329) < 1 then
  for i = 42320, 42329 do
  setPlayerStorageValue(cid, i, 0)
  end
  -- end
  if getPlayerStorageValue(cid, 42355) == -1 then
  setPlayerStorageValue(cid, 42355, 0) -- did not arena level
  end
  setPlayerStorageValue(cid, 42350, 0) -- time to kick 0
  setPlayerStorageValue(cid, 42352, 0) -- is not in arena
  end
 
   local id,nm,qry = getPlayerAccountId(cid),string.find (getCreatureName(cid), "(%[+)%v*(%]+)%s*"),""
   if isPremium(cid) and nm == nil then
     qry = "UPDATE `theforgottenserver`.`players` SET `name` = '[v] "..getCreatureName(cid).."' WHERE `players`.`account_id`= "..id..";"
   elseif (not isPremium(cid)) and nm ~= nil then
     local nnome = string.gsub(getCreatureName(cid), "(%[+)%v*(%]+)%s*", "")
     qry = "UPDATE `theforgottenserver`.`players` SET `name` = '"..nnome.."' WHERE `players`.`account_id`= "..id..";"
   end
   if qry ~= "" then
     db.executeQuery(qry)
     doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You will be disconnected and will be required to put the login and password again.")
     addEvent(doRemoveThing,3000,cid)
   end
   return true
end
 
Back
Top