• copy and paste it into a new remote page (alt+r)
• right click on channel then click on Flags>ON to activate it
its a simple script which shows you the Flag for where your server is hosted
right click on Flag and it will show the menus
any bug please report
NOTE: this script was tested in a 7.14 mIRC version but some user already noticed errors in versions under 6.35
so, for better use, this script seems to work only in 6.35+
alias flag {
$iif(!$exists(flags), mkdir Flags)
$iif($sock(flags), sockclose flags)
sockopen Flags iptrace.im 80
sockmark flags $iif($$1,$$1,$serverip)
}
on *:sockopen:flags:{
var %x = sockwrite -nt $sockname
%x GET $+(/whatismyipaddress.php?ip=,$sock(flags).mark) HTTP/1.1
%x Host: iptrace.im
%x
}
on *:sockread:flags:{
var %x
sockread %x
if $regex(%x,/<td>(.+)\ <img width=18 height=12 src=.+ border=0><\/td>/i) {
bls $replace($iif($regml(1) == United States,United States of America,$regml(1)),$chr(32),$chr(37) $+ 20)
}
}
alias bls {
$iif($sock(gks), sockclose gks)
sockopen gks www.printableworldflags.com 80
set -u10 %Flags $1
writeini -n flags.ini Flags $serverip $+(%Flags,.jpg)
}
on *:sockopen:gks:{
var %x = sockwrite -n $sockname
%x GET $+(/icon-flags/16/,%Flags,.png) HTTP/1.1
%x HOST: www.printableworldflags.com
%x Connection: close
%x
}
On *:sockread:gks:{
if (!$sock($sockname).mark) {
var %Flag.var | sockread %Flag.var
if (%Flag.var == $null) { sockmark $sockname 1 }
}
else {
sockread &Flags
bwrite $+(Flags\,%Flags,.jpg) -1 -1 &Flags | updatebar | echo -agt New Flag Found
}
}
alias updatebar {
if (!$toolbar(Flag)) {
var %y = $remove($replace($readini(flags.ini,flags,$serverip),$chr(37) $+ 20,$chr(32)),.jpg)
.toolbar -a Flag " $+ %y $(|) $server ( $+ $serverip $+ ) $+ " " $+ Flags\ $+ $readini(flags.ini,flags,$serverip) $+ " " $+ /echo -ag Server Flag: %y $+ " @Flag
}
else {
var %y = $remove($replace($readini(flags.ini,flags,$serverip),$chr(37) $+ 20,$chr(32)),.jpg)
.toolbar -tpl Flag " $+ %y $(|) $server ( $+ $serverip $+ ) $+ " " $+ $+(Flags\,$readini(flags.ini,flags,$serverip)) $+ " " $+ /echo -ag Server Flag: %y $+ "
}
}
#flags on
on *:active:*:{
if ($status == disconnected) && ($toolbar(flag)) {
toolbar -d flag
}
if ($status == connected) {
if ($readini(flags.ini,Flags,$serverip)) {
if (!$toolbar(flag)) {
var %y = $remove($replace($readini(flags.ini,flags,$serverip),$chr(37) $+ 20,$chr(32)),.jpg)
.toolbar -a Flag " $+ %y $(|) $server ( $+ $serverip $+ ) $+ " " $+ Flags\ $+ $readini(flags.ini,flags,$serverip) $+ " " $+ /echo -ag Server Flag: %y $+ " @Flag
}
else {
var %y = $remove($replace($readini(flags.ini,flags,$serverip),$chr(37) $+ 20,$chr(32)),.jpg)
.toolbar -tpl Flag " $+ %y $(|) $server ( $+ $serverip $+ ) $+ " " $+ $+(Flags\,$readini(flags.ini,flags,$serverip)) $+ " " $+ /echo -ag Server Flag: %y $+ "
}
}
else {
echo -agt Wait a minute getting New Server Flag
flag $serverip
}
}
}
#flags end
on *:connect:{
if ($group(#flags).status == on) {
if ($readini(flags.ini,Flags,$serverip)) {
if (!$toolbar(flag)) {
var %y = $remove($replace($readini(flags.ini,flags,$serverip),$chr(37) $+ 20,$chr(32)),.jpg)
.toolbar -a Flag " $+ %y $(|) $server ( $+ $serverip $+ ) $+ " " $+ Flags\ $+ $readini(flags.ini,flags,$serverip) $+ " " $+ /echo -ag Server Flag: %y $+ " @Flag
}
else {
var %y = $remove($replace($readini(flags.ini,flags,$serverip),$chr(37) $+ 20,$chr(32)),.jpg)
.toolbar -tpl Flag " $+ %y $(|) $server ( $+ $serverip $+ ) $+ " " $+ $+(Flags\,$readini(flags.ini,flags,$serverip)) $+ " " $+ /echo -ag Server Flag: %y $+ "
}
}
else {
echo -agt Wait a minute getting New Server Flag
flag $serverip
}
}
}
menu status,channel {
Flags
.$iif($group(#flags).status == on,$style(1)) ON: .enable #Flags | echo -agt Flags Activated, Wait a minute | $iif($status == connected, check_flag)
.$iif($group(#flags).status == off,$style(1)) OFF: .disable #Flags | sockclose flags | sockclose gks | echo -agt Flags deactivated | $iif($toolbar(Flag), toolbar -d Flag)
}
alias check_flag {
if ($readini(flags.ini,Flags,$serverip)) {
if (!$toolbar(flag)) {
var %y = $remove($replace($readini(flags.ini,flags,$serverip),$chr(37) $+ 20,$chr(32)),.jpg)
.toolbar -a Flag " $+ %y $(|) $server ( $+ $serverip $+ ) $+ " " $+ Flags\ $+ $readini(flags.ini,flags,$serverip) $+ " " $+ /echo -ag Server Flag: %y $+ " @Flag
}
else {
var %y = $remove($replace($readini(flags.ini,flags,$serverip),$chr(37) $+ 20,$chr(32)),.jpg)
.toolbar -tpl Flag " $+ %y $(|) $server ( $+ $serverip $+ ) $+ " " $+ $+(Flags\,$readini(flags.ini,flags,$serverip)) $+ " " $+ /echo -ag Server Flag: %y $+ "
}
}
else {
echo -agt Wait a minute getting New Server Flag
flag $serverip
}
}
menu @Flag {
Flags
.Get Server Info: Flaginfo $serverip
.Copy Server IP: clipboard | clipboard -a $serverip
}
alias flaginfo {
echo -agt Getting info for: $server ( $+ $serverip $+ )
$iif($sock(flaginfo), sockclose flaginfo)
sockopen flaginfo www.infobyip.com 80
sockmark flaginfo $iif($$1,$$1,$serverip)
}
on *:sockopen:flaginfo:{
var %x = sockwrite -nt $sockname
%x GET $+(/ipwhois-,$sock(flaginfo).mark,.html) HTTP/1.1
%x Host: www.infobyip.com
%x Connection: close
%x
}
on *:sockread:flaginfo:{
var %x
sockread %x
if (*OrgName:* iswm %x) || (*Address:* iswm %x) || (*City:* iswm %x) || (*StateProv:* iswm %x) {
echo -ag Information for $sock(flaginfo).mark $+ : %x
}
}
on *:disconnect:{
$iif($toolbar(flag), toolbar -d flag)
}