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

Solved Problem with onlogin

Kexio

New Member
Joined
Jul 11, 2012
Messages
12
Reaction score
0
Hello everyone, i have a some problem.
I want to add this script
Code:
--[[
  [1] = Sorcerer
  [2] = Druid
  [3] = Paladin
  [4] = Knight
  [5] = Master Sorcerer
  [6] = Elder Druid
  [7] = Royal Paladin
  [8] = Elite Knight
]]--
local outfits = {
[1] = {lookType = 143},
[2] = {lookType = 156},
[3] = {lookType = 266},
[4] = {lookType = 75},
[5] = {lookType = 301},
[6] = {lookType = 301},
[7] = {lookType = 301},
[8] = {lookType = 301}
}
function onLogin(cid)
  local voc_id = getPlayerVocation(cid)
  if getPlayerVocation(cid) > 0 then
  doSetCreatureOutfit(cid, outfits[voc_id], -1)
  end
  return TRUE
end

But it work only when i add in last lane of my onlogin.lua
Okey he is work but when i add this in last lane others script from onlogin dont work good like server log/server info messages etc. so my question is where i should put this script. Please put this script to my login.lua to work good everything.
Here is my login.lua
Code:
local config = {
   loginMessage = getConfigValue('loginMessage'),
   useFragHandler = getBooleanFromString(getConfigValue('useFragHandler'))
}

function onLogin(cid)
   if (getConfigValue("accountManager") == FALSE and getCreatureName(cid) == "Account Manager") then
     return false
   end

   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, "GuildMotd")
   registerCreatureEvent(cid,'SpellUp')


   registerCreatureEvent(cid, "Idle")
   if(config.useFragHandler) then
     registerCreatureEvent(cid, "SkullCheck")
   end

   registerCreatureEvent(cid, "ReportBug")
   registerCreatureEvent(cid, "AdvanceSave")
   return true
end
 
Last edited by a moderator:
You dont need to put everything in same lua file. Just make it a seprate onLogin. Since both events will get executed anyway.
Code:
--[[
    [1] = Sorcerer
    [2] = Druid
    [3] = Paladin
    [4] = Knight
    [5] = Master Sorcerer
    [6] = Elder Druid
    [7] = Royal Paladin
    [8] = Elite Knight
]]--
local outfits = {
    [1] = {lookType = 143},
    [2] = {lookType = 156},
    [3] = {lookType = 266},
    [4] = {lookType = 75},
    [5] = {lookType = 301},
    [6] = {lookType = 301},
    [7] = {lookType = 301},
    [8] = {lookType = 301}
}

function onLogin(cid)
    local vocationOutfit = outfits[getPlayerVocation(cid)]
    if vocationOutfit then
        doSetCreatureOutfit(cid, vocationOutfit, -1)
    end

    return true
end
 
Back
Top