local config = {
loginMessage = getConfigValue('loginMessage'),
useFragHandler = getBooleanFromString(getConfigValue('useFragHandler'))
}
function onLogin(cid)
fly.login(cid)
local loss = getConfigValue('deathLostPercent')
if(loss ~= nil) then
doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 10)
end
local guild, enemy, guildFrags, enemyFrags = getPlayerGuildId(cid)
local fightingGuilds = {}
local tmp = db.getResult("SELECT `guild_id`, `enemy_id`, `guild_kills`, `enemy_kills`, `frags` FROM `guild_wars` WHERE `status` = 1 and (`guild_id` = "..getPlayerGuildId(cid).." or `enemy_id` = "..getPlayerGuildId(cid).. ") ;")
warString = ""
if tmp:getID() ~= -1 then
i = 1
repeat
if tmp:getDataInt("guild_id") == guild then
enemy = tmp:getDataInt("enemy_id")
guildFrags = tmp:getDataInt("guild_kills")
enemyFrags = tmp:getDataInt("enemy_kills")
else
enemy = tmp:getDataInt("guild_id")
guildFrags = tmp:getDataInt("enemy_kills")
enemyFrags = tmp:getDataInt("guild_kills")
end
local enemyName, _tmp = "", db.getResult("SELECT `name` FROM `guilds` WHERE `id` = " .. enemy)
if(_tmp:getID() ~= -1) then
enemyName = _tmp:getDataString("name")
_tmp:free()
end
fightingGuilds[i] = {}
fightingGuilds[i].name = enemyName
fightingGuilds[i].guildFrags = guildFrags
fightingGuilds[i].enemyFrags = enemyFrags
fightingGuilds[i].limit = tmp:getDataInt("frags")
i = i + 1
until not(tmp:next())
tmp:free()
table.sort(fightingGuilds, function (a, b)
return (a.name < b.name)
end)
for k, v in pairs(fightingGuilds) do
if (v.guildFrags < v.limit and v.enemyFrags < v.limit ) then
if (warString == "") then
warString = "Your guild is currently in war with the " .. v.name .. " (" .. v.guildFrags .. ":" .. v.enemyFrags .. " frags, limit ".. v.limit ..")"
else
warString = warString .. " and with the " .. v.name .. " (" .. v.guildFrags .. ":" .. v.enemyFrags.." frags, limit ".. v.limit .. ")"
end
end
end
end
if (warString ~= "") then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, warString .. ".")
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, "ZombieAttack")
registerCreatureEvent(cid, "Mail")
registerCreatureEvent(cid, "Guildmotd")
registerCreatureEvent(cid, "Warkill")
registerCreatureEvent(cid, "Loginwar")
registerCreatureEvent(cid, "bazirTeleport")
registerCreatureEvent(cid, "MonsterPortal")
registerCreatureEvent(cid, "Idle")
if(config.useFragHandler) then
registerCreatureEvent(cid, "SkullCheck")
end
registerCreatureEvent(cid, "playerd")
registerCreatureEvent(cid, "Loginwar")
registerCreatureEvent(cid, "logoout")
registerCreatureEvent(cid, "BlessLogin")
registerCreatureEvent(cid, "ReportBug")
registerCreatureEvent(cid, "AdvanceSave")
return true
end