local guild, enemy, guildFrags, enemyFrags = getPlayerGuildId(cid)
local fightingGuilds = {}
[COLOR="#FF0000"][B]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 = ""[/B][/COLOR]
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)
[COLOR="#FF0000"][B]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[/B][/COLOR]
now it is working at 100%, i have tested with normal and multiwarsCode:ocal guild, enemy, guildFrags, enemyFrags = getPlayerGuildId(cid) local fightingGuilds = {} [COLOR="#FF0000"][B]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 = ""[/B][/COLOR] 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) [COLOR="#FF0000"][B]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[/B][/COLOR]
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 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
return true
end