凌雪无晴 发表于 2007-6-1 20:52:43

关于"特别方便定义内网IP信息的inc文件"的问题

想偷偷问下.哪位大哥搞出来了.怎么搞的呢?
我搞 了两天都不知道怎么个弄法!!!
不知道有没人给些灵感呢...

Rulzy 发表于 2007-6-2 00:27:38

回复: 关于"特别方便定义内网IP信息的inc文件"的问题

我这个相当于提供了一个接口函数,你在插件源代码中包含此头文件,然后需要使用的地方调用提供的函数即可。至于如果显示,那就由你来决定了。localipinfo.txt 放到 addons/amxmodx/data 目录下,里面的内容有示例,应该能看得懂吧。

凌雪无晴 发表于 2007-6-2 12:27:09

回复: 关于"特别方便定义内网IP信息的inc文件"的问题

"我这个相当于提供了一个接口函数,你在插件源代码中包含此头文件,然后需要使用的地方调用提供的函数即可"
这句话冒似很深奥,就这里看不懂,后面的却很容易.
如果我使用的是ipseeker那我应该在哪个插件下加上那个代码呢?

Rulzy 发表于 2007-6-3 00:34:01

回复: 关于"特别方便定义内网IP信息的inc文件"的问题

使用这个 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, country, area, name;
    get_user_name(id, name, 31);
    get_ipinfo(ip, country, area, 39, 135);
    client_print(0, print_chat, "欢迎 %s,来自 %s%s。", name, country, area);
}

如果 data/localipinfo.txt 中有如下内容:


192.168.0.2   192.168.0.200   "广东连州网上人网吧"   "%d号机"      2

而如果玩家的IP为 192.168.0.20, 则玩家登录的时候,聊天区显示的内容为:
欢迎 Player,来自 广东连州网上人网吧20号机。

而如果玩家的IP没有在 localipinfo.txt 中定义,则得到的结果与使用 ipseeker 相同。

凌雪无晴 发表于 2007-6-3 18:54:56

回复: 关于&quot;特别方便定义内网IP信息的inc文件&quot;的问题

谢谢你的回答!
不过我可能很笨,还是看不明白.
使用这个 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, country, area, name;
    get_user_name(id, name, 31);
    get_ipinfo(ip, country, area, 39, 135);
    client_print(0, print_chat, "欢迎 %s,来自 %s%s。", name, country, area);
}
是否要在plugins.INI加什么东西.或者在其他地方加什么东西呢?
是不是把你的rulzy_ipinfo文件包放到相应的地方就OK了呢...?
还是要修改什么地方.把内容加到什么地方!!

Rulzy 发表于 2007-6-3 21:11:54

回复: 关于&quot;特别方便定义内网IP信息的inc文件&quot;的问题

楼主你先学学编插件最基本的知识吧,如果这么详细都还不明白,真的不知道该怎么帮你了。
页: [1]
查看完整版本: 关于&quot;特别方便定义内网IP信息的inc文件&quot;的问题