回复: 【发布】ASP+MySQL论坛注册排行【071210修正】
Post by '']gets_user_stats里面获取IP,比如
g_iPStats=......
然后save_user_stats里面保存,照葫芦画瓢
谢谢您的回复,我试了一晚上 也没能成功。论坛也找不到相似的源码。麻烦您写全一点吧。我已经快崩溃了。。。
回复: 【发布】ASP+MySQL论坛注册排行【071210修正】
Post by '']你说的我没有测试过,代码编写修改编译环境,我只用的原版!如你所说,如此严重的错误,我怎么会发布呢,请检查或更换其他的版本!
//#include <amxmisc>
#include <amxmodx>
#include <csstats>
#include <dbi>
//#include <string>
我所用的amxx 1.76下,需要注释掉//#include <string>,//#include <amxmisc>
这两个才能编译,否则就会提示内部错误,我也不知何解,试过 Xp, win2003系统下也是如此,不过注释掉上面的语句后,稍改了一些地方,目前还是个性签名方面和注册等还是可以正常使用,
暂时没有测试统计方面。只是把信息整合到了discuz了。
现在研究加上进服提示地理位置等信息,把统计改到PS3.希望能成功。
回复: 【发布】ASP+MySQL论坛注册排行【071210修正】
Post by joes//#include <amxmisc>
#include <amxmodx>
#include <csstats>
#include <dbi>
//#include <string>
我所用的amxx 1.76下,需要注释掉//#include <string>,//#include <amxmisc>
这两个才能编译,否则就会提示内部错误,我也不知何解,试过 Xp, win2003系统下也是如此,不过注释掉上面的语句后,稍改了一些地方,目前还是个性签名方面和注册等还是可以正常使用,
暂时...
你下载1.76D来编译,我是在1.76D下编译成功的。
你所说的加上进服提示我已经修改了,而且我没有和论坛整合,我是直接把字段添加到admins表的。改写了一个简单的注册页面,添加了几个字段,比如QQ信息。
我现在想在换图时候把玩家的IP信息写进数据库,可惜一直没成功。
附上我修改的部分
public check(idx[])
{
new id = idx
new username
new userpwd
new passfield
new IP, addr;
get_user_ip( id, IP, 15, 1);
ipseeker( IP, ipseek_all, addr, 39, 63);
new izStats, izBody;
new iRankPos;
iRankPos = get_user_stats( id, izStats, izBody);
get_pcvar_string(amx_password_field, passfield, 31)
get_user_info(id,"name",username,31)
get_user_info(id,passfield,userpwd,31)
replace_all(username,31,"[","[")
replace_all(username,31,"]","]")
replace_all(username,31,"<","<")
replace_all(username,31,">",">")
new g_sqlpwd
new g_Signature
new g_realname
new g_qq
g_dbc = dbi_connect(g_host,g_user,g_pass,g_dbname,g_error,MAX_NAME_LENGTH)
if (g_dbc == SQL_FAILED)
log_amx(" SQL Connection Failed")
else
{
result = dbi_query(g_dbc,"set names utf8;")
result = dbi_query(g_dbc,"select * from `%s` where auth = '%s'", g_sqlstats_table, username)
if (result == RESULT_FAILED)
{
log_amx(" Sorry,No DataBase or Table")
}
else if(result == RESULT_NONE)
{
new szMessage;
format( szMessage, 511, "^x01欢迎:^x03%s (未注册账号) ^x01地址:^x04%s ^x01来自:^x03%s ",username, IP, addr);
display_chat( szMessage);
client_print(id,print_chat,"您可以在主页注册此当前ID,然后登陆CS以保留成绩!")
}
else
{
dbi_result(result, "Password", g_sqlpwd, 31)
dbi_result(result, "Real_name",g_realname,31)
dbi_result(result, "Signature",g_Signature,63)
dbi_result(result, "qq",g_qq,10)
dbi_free_result(result)
dbi_close(g_dbc)
if (equal(g_sqlpwd,userpwd) && strlen(userpwd)>0)
{
replace_all(username,31,"[","[")
replace_all(username,31,"]","]")
replace_all(username,31,"<","<")
replace_all(username,31,">",">")
replace_all(g_Signature,31,"[","[")
replace_all(g_Signature,31,"]","]")
replace_all(g_Signature,31,"<","<")
replace_all(g_Signature,31,">",">")
//client_print(0,print_chat,"欢迎【VIP】%s -->>【昵称:】%s -->>【排名:】%s -->>【地址:】%s -->>【来自:】%s ,",username,g_realname,iRankPos,IP,addr)
//client_print(0,print_chat,"【个性签名:】%s",g_Signature)
new szMessage;
format( szMessage, 511, "^x01欢迎 VIP:^x03%s ^x01昵称:^x04%s ^x01地址:^x04%s ^x01来自:^x03%s ^x01排名:^x04%d ",username, g_realname, IP, addr, iRankPos);
display_chat( szMessage);
format( szMessage, 511, "^x01QQ号码:^x04%s ^x01个性签名:^x04%s",g_qq,g_Signature);
display_chat( szMessage);
}
else
{
new userid = get_user_userid( id)
server_cmd( "kick #%d ^"对不起,该帐号需密码,输入密码或改名后重新进入!^"", userid)
}
}
}
return PLUGIN_CONTINUE
}
回复: 【发布】ASP+MySQL论坛注册排行【071210修正】
我能力有限,希望 大哥能够给予帮助,帖出来完整的修改方法。就是换图时候把玩家IP信息写进数据库的,我已经尝试了一晚上了 谢谢。回复: 【发布】ASP+MySQL论坛注册排行【071210修正】
需要在相应的数据库中建立一个列,也就是保存IP的!快过年了,家里就我一个人在忙,暂时没啥时间了。