|
发表于 2006-11-26 02:44:23
|
显示全部楼层
|阅读模式
来自 中国–陕西–西安
此 rulzy_ipinfo.inc 文件是为了方便用户定义内网IP信息。
使用方法:
将相应文件放到对应文件夹。
参考 data\localipinfo.txt 中已有内容,根据自己的实际情况进行修改。此文件可用Windows的记事本进行编辑,注意要保存为 UTF-8 格式。本inc文件能自动跳过 UTF-8 BOM。
在你的插件源代码前面增加如下一行:
#include <rulzy_ipinfo>
然后按如下方法得到IP信息:
new country[40], area[136]
...
get_ipinfo(ip, country, area, 39, 135)
此 rulzy_ipinfo.inc 文件使用了 ipseeker 和 li_geoip 这两个模块,但只使用其中的一个,默认使用 ipseeker。注意 scripting\include\rulzy_ipinfo.inc 如下内容:
#define USE_IPSEEKER
//#define USE_LI_GEOIP
// please use only one of above
这表明是使用 ipseeker,若要使用 li_geoip 模块,改成:
//#define USE_IPSEEKER
#define USE_LI_GEOIP
// please use only one of above
请用户自行下载 QQWry.dat 或 Coralwry.dat,下载地址请查看 scripting\include\ipseeker.inc。
如果使用ipseeker,请将 QQWry.dat 或 Coralwry.dat 放到 data 文件夹下,改名为 Wry.dat。
如果使用li_geoip,请将 QQWry.dat 或 Coralwry.dat 放到 data 文件夹下,改名为 QQWry.dat。
详细说明:
使用这个 inc 文件中的函数 get_ipinfo(ip[], country[], area[], clen, alen),会首先从 data/localipinfo.txt 中读取内网IP信息,如果找到,得到的内网IP信息存于 country 和 area 中;如果没找到,则通过调用 ipseeker 或 li_geoip 中的函数来得到IP信息(默认使用 ipseeker)。
例子:- ........
- #include <rulzy_ipinfo>
- ........
- public client_connect(id)
- {
- new ip[20], country[40], area[136], name[32];
- get_user_name(id, name, 31);
- [color=red]get_ipinfo(ip, country, area, 39, 135);[/color]
- client_print(0, print_chat, "欢迎 %s,来自 %s%s。", name, country, area);
- }
-
- 如果 data/localipinfo.txt 中有如下内容:
-
- [type2]
- 192.168.0.2 192.168.0.200 "广东连州网上人网吧" "%d号机" 2
-
- 而如果玩家的IP为 192.168.0.20, 则玩家登录的时候,聊天区显示的内容为:
- [color=orange]欢迎 Player,来自 广东连州网上人网吧20号机。[/color]
-
- 而如果玩家的IP没有在 localipinfo.txt 中定义,则得到的结果与使用 ipseeker 相同。
复制代码 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注个册吧
×
|