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

onlogn war points

Mauzim

Member
Joined
Jan 3, 2011
Messages
568
Reaction score
9
how to make msg on login with guild war
example.
Your guild is currently at war with the Perfect Insanity (522:309 frags, limit 1000).
 
yes but now i have problem what about 2,3,4 wars ++++
in rl is like
Your guild is currently at war with the AA AA (522:309 frags, limit 1000) and the BB BB (522:309 frags, limit 1000) and the CC CC (522:309 frags, limit 1000). etc...
Guild names alphabetically
 
It whould be nice.

Just to remember, this is the working code:
Lua:
local guild, enemy, guildFrags, enemyFrags = getPlayerGuildId(cid)
local tmp = db.getResult("SELECT `guild_id`, `enemy_id`, `guild_kills`, `enemy_kills`, `frags` FROM `guild_wars` WHERE `guild_id` = "..guild.." OR `enemy_id` = "..guild.." AND `status` = 1;")
if tmp:getID() ~= -1 then
	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
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your guild is currently in war with the ".. enemyName.." ("..guildFrags..":"..enemyFrags.." frags, limit "..tmp:getDataInt("frags")..").")
	tmp:free()
end

We have a problem what about 2,3,4 wars ++++
in rl is like
Your guild is currently at war with the AA AA (522:309 frags, limit 1000) and the BB BB (522:309 frags, limit 1000) and the CC CC (522:309 frags, limit 1000). etc...
Guild names alphabetically

How to make it? This script above don't work like this.
 
Last edited:
Lua:
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 `guild_id` = "..guild.." OR `enemy_id` = "..guild.." AND `status` = 1;")
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)
	
	local warString = ""

	for k, v in pairs(fightingGuilds) do
		warString = (k == 1 and "Your guild is currently in war with the " .. v.name .. " (" .. v.guildFrags .. ":" .. v.enemyFrags .. " frags, limit ".. v.limit ..")" or " and with the " .. v.name .. " (" .. v.guildFrags .. ":" .. v.enemyFrags.." frags, limit ".. v.limit .. ")")
	end

	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, warString .. ".")
end
 
Last edited:
Lua:
local guild, enemy, guildFrags, enemyFrags = getPlayerGuildId(cid)
local tmp = db.getResult("SELECT `guild_id`, `enemy_id`, `guild_kills`, `enemy_kills`, `frags` FROM `guild_wars` WHERE `guild_id` = "..guild.." OR `enemy_id` = "..guild.." AND `status` = 1;")
if tmp:getID() ~= -1 then
	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 .. " ORDER BY `name`")
	if(_tmp:getID() ~= -1) then
		enemyName = _tmp:getDataString("name")
		_tmp:free()
	end
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your guild is currently in war with the ".. enemyName.." ("..guildFrags..":"..enemyFrags.." frags, limit "..tmp:getDataInt("frags")..").")
	tmp:free()
end

Will it show like this?

-------
Your guild is currently at war with the A-GUILD (522:309 frags, limit 1000) and the B-GUILD (522:309 frags, limit 1000) and the C-GUILD (522:309 frags, limit 1000). etc...
-------
 
I will test this:
Lua:
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 `guild_id` = "..guild.." OR `enemy_id` = "..guild.." AND `status` = 1;")
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 = enemyName
		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
		doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Your guild is currently in war with the " .. v.name .. " (" .. v.guildFrags .. ":" .. v.enemyFrags.." frags, limit ".. v.limit ..").")
	end
end
seens great
 
no it don't work it have bugs like Your guild is currently in war with the lolololol (1:lolololol frags, limit 1000).
and it show all war guild one after another
 
Mauzim, test
Lua:
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 `guild_id` = "..guild.." OR `enemy_id` = "..guild.." AND `status` = 1;")
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)
 
	local warString = ""
 
	for k, v in pairs(fightingGuilds) do
		warString = (k == 1 and "Your guild is currently in war with the " .. v.name .. " (" .. v.guildFrags .. ":" .. v.enemyFrags .. " frags, limit ".. v.limit ..")" or " and with the " .. v.name .. " (" .. v.guildFrags .. ":" .. v.enemyFrags.." frags, limit ".. v.limit .. ")")
	end
 
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, warString .. ".")
end
 
Lua:
local guild, enemy, guildFrags, enemyFrags = getPlayerGuildId(cid)
local tmp = db.getResult("SELECT `guild_id`, `enemy_id`, `guild_kills`, `enemy_kills`, `frags` FROM `guild_wars` WHERE `guild_id` = "..guild.." OR `enemy_id` = "..guild.." AND `status` = 1;")
if tmp:getID() ~= -1 then
	local msg
	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
		if not msg then
			msg = "Your guild is currently in war with the ".. enemyName.." ("..guildFrags..":"..enemyFrags.." frags, limit "..tmp:getDataInt("frags")..")"
		else
			msg = msg.. " and " . enemyName.." ("..guildFrags..":"..enemyFrags.." frags, limit "..tmp:getDataInt("frags")..")"
		end
	until not tmp:next()
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg..".")
	tmp:free()
end
sry was drinking beer, should be good now...
 
[21:1:39.733] [Error - LuaInterface::loadFile] data/creaturescripts/scripts/logi
n.lua:96: unexpected symbol near '.'
[21:1:39.733] [Error - Event::checkScript] Cannot load script (data/creaturescri
pts/scripts/login.lua)
[21:1:39.733] data/creaturescripts/scripts/login.lua:96: unexpected symbol near
'.'
error

in line
msg = msg.. " and " . enemyName.." ("..guildFrags..":"..enemyFrags.." frags, limit "..tmp:getDataInt("frags")..")"

fixed
Lua:
msg = msg.. " and "..enemyName.." ("..guildFrags..":"..enemyFrags.." frags, limit "..tmp:getDataInt("frags")..")"

//down not work u have my fix upp
 
Last edited:
#up sry didnt saw use that (its better)
Lua:
local guild, enemy, guildFrags, enemyFrags = getPlayerGuildId(cid)
local tmp = db.getResult("SELECT `guild_id`, `enemy_id`, `guild_kills`, `enemy_kills`, `frags` FROM `guild_wars` WHERE `guild_id` = "..guild.." OR `enemy_id` = "..guild.." AND `status` = 1;")
if tmp:getID() ~= -1 then
	local msg, enemyName, _tmp = ""
	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
		enemyName, _tmp = "", db.getResult("SELECT `name` FROM `guilds` WHERE `id` = " .. enemy)
		if(_tmp:getID() ~= -1) then
			enemyName = _tmp:getDataString("name")
			_tmp:free()
		end
		if msg == "" then
			msg = "Your guild is currently in war with the ".. enemyName.." ("..guildFrags..":"..enemyFrags.." frags, limit "..tmp:getDataInt("frags")..")"
		else
			msg = msg.. " and " .. enemyName.." ("..guildFrags..":"..enemyFrags.." frags, limit "..tmp:getDataInt("frags")..")"
		end
	until not tmp:next()
        msg = msg .. "."
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg)
	tmp:free()
 
Mauzin is it working?
Lua:
local guild, enemy, guildFrags, enemyFrags = getPlayerGuildId(cid)
local tmp = db.getResult("SELECT `guild_id`, `enemy_id`, `guild_kills`, `enemy_kills`, `frags` FROM `guild_wars` WHERE `guild_id` = "..guild.." OR `enemy_id` = "..guild.." AND `status` = 1;")
if tmp:getID() ~= -1 then
	local msg, enemyName, _tmp = ""
	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
		enemyName, _tmp = "", db.getResult("SELECT `name` FROM `guilds` WHERE `id` = " .. enemy)
		if(_tmp:getID() ~= -1) then
			enemyName = _tmp:getDataString("name")
			_tmp:free()
		end
		if msg == "" then
			msg = "Your guild is currently in war with the ".. enemyName.." ("..guildFrags..":"..enemyFrags.." frags, limit "..tmp:getDataInt("frags")..")"
		else
			msg = msg.. " and " . enemyName.." ("..guildFrags..":"..enemyFrags.." frags, limit "..tmp:getDataInt("frags")..")"
		end
	until not tmp:next()
        msg = msg .. "."
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg)
	tmp:free()
 
no it not work
Lua:
local guild, enemy, guildFrags, enemyFrags = getPlayerGuildId(cid)
local tmp = db.getResult("SELECT `guild_id`, `enemy_id`, `guild_kills`, `enemy_kills`, `frags` FROM `guild_wars` WHERE `guild_id` = "..guild.." OR `enemy_id` = "..guild.." AND `status` = 1;")
if tmp:getID() ~= -1 then
	local msg
	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
		if not msg then
			msg = "Your guild is currently at war with the ".. enemyName.." ("..guildFrags..":"..enemyFrags.." frags, limit "..tmp:getDataInt("frags")..")"
		else
			msg = msg.. " and the "..enemyName.." ("..guildFrags..":"..enemyFrags.." frags, limit "..tmp:getDataInt("frags")..")"
		end
	until not tmp:next()
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg..".")
	tmp:free()
end
take it work
 
Back
Top