zwfgdlc
发表于 2009-7-22 01:07:48
很喜欢你之前的签名,“我很乐意帮助别人,但也请别人多指点”
呵呵,好象是之前你自己说的,在一个老贴子里看到的。
Hydralisk
发表于 2009-7-22 01:10:28
:)
嗯,有点印象。好像是高考结束后发的贴,很久以前了。。。现在眼瞅着自己就要毕业了,唉。
现在的情况是我帮不了别人,别人也没法帮我。。。唉,,,
zwfgdlc
发表于 2009-7-22 01:26:24
呵呵,现在流行“被就业”.
心静如水
发表于 2009-7-22 12:59:40
本帖最后由 心静如水 于 2009-7-22 14:21 编辑
:)
嗯,有点印象。好像是高考结束后发的贴,很久以前了。。。现在眼瞅着自己就要毕业了,唉。
现在的情况是我帮不了别人,别人也没法帮我。。。唉,,, ...
Hydralisk 发表于 2009-7-22 01:10 http://www.dt-club.net/forum/images/common/back.gif
这位大哥:请问他会在被封玩家客户端处生成文件吗?
别忘了远离本主题了.....
Hydralisk
发表于 2009-7-22 16:25:16
14# 心静如水
没有生成文件,但是修改了他CS的设置,可以被服务段识别出来。
zhangsheng
发表于 2009-7-22 16:33:04
Hydralisk什么时候回来的啊?你还好吧。很多年不见你来了。特别想你,当初在AMX上得到了你的帮助一直很感激你。希望你能继续为点通服务。我看好你。加油Hydralisk刺蛇
心静如水
发表于 2009-7-22 18:13:08
本帖最后由 心静如水 于 2009-7-22 18:44 编辑
谢谢.....不过这样BAN名字若很长那很是辛苦输入.........
而被惩罚的玩家又需要如何修改后才能正常进服务器呢?
Rulzy
发表于 2009-7-22 18:21:12
用 client_mark 插件就可以了。
心静如水
发表于 2009-7-22 19:04:26
本帖最后由 心静如水 于 2009-7-22 19:08 编辑
new filePath
get_configsdir(filePath, 63)
format(filePath, 63, "%s/CSCP.dat", filePath)
copy(fileName,63,filePath)
loadFile(filePath)
public client_connect(id){
new pname,msg
get_user_name(id,pname,31)
for (new i=0; i<MAX_RECORD_PLAYER; i++){
if( equal(g_recordName,pname) ){
format(msg,127,"新进服的玩家 %s 曾经作弊,立刻封禁他IP.",pname);
set_hudmessage(colR, colG, colB, 0.5, 0.8, 0, 0.02, 5.0, 0.01, 0.2, 2)
show_hudmessage(0 , msg)
new ipStr
get_user_ip(id, ipStr, 15, 1 )
server_cmd("addip %.2f %s;wait;writeip", 60.0, ipStr);
return PLUGIN_HANDLED;
}
}
g_playerFlag=0;
return PLUGIN_HANDLED;
}
public client_disconnect(id){
if( g_playerFlag && !is_user_bot(id) ){
new ipStr,Msg,pname;
get_user_ip(id, ipStr, 15, 1 )
get_user_name(id,pname,31);
if( WriteToFile(ipStr,pname ) ){
//copy(g_recordIp,15,ipStr);
copy(g_recordName,32,pname);
format(Msg,127,": 作弊的玩家已被记录姓名.");
set_hudmessage(colR, colG, colB, 0.5, 0.8, 0, 0.02, 5.0, 0.01, 0.2, 2)
show_hudmessage(0 , Msg)
}
server_cmd("addip %.2f %s;wait;writeip", 60.0, ipStr);
}
}
loadFile(filename[]){
new fp
if( !file_exists(filename) ){
fp=fopen(filename,"w")
fclose(fp)
return 0
}
new text,pos=0,a,lineStr;
while( g_recordNum < MAX_RECORD_PLAYER && read_file(filename,pos++,text,255,a) ){
if(text==';')
continue
if( parse(text,lineStr,2,g_recordName,31,g_recordIp,15)==3 )
g_recordNum++;
}
return 1
}
WriteToFile(ipStr[],nameStr[]){
if( g_recordNum>MAX_RECORD_PLAYER*0.9 )
client_print(0,print_console,"** you have writed %i lines(MAX %i). You should clear it.",g_recordNum,MAX_RECORD_PLAYER)
if( g_recordNum==MAX_RECORD_PLAYER-1 ){
client_print(0,print_console,"** Sorry, can't write to file. you have writed %i lines(MAX %i). You must clear it.",g_recordNum,MAX_RECORD_PLAYER)
return 0;
}
new str;
format(str,63,"%i ^"%s^"%s",g_recordNum+1,nameStr,ipStr);
write_file(fileName,str,-1);
g_recordNum++;
return 1;
}
publicclient_infochanged(id){
if( g_playerFlag ){
new nname,pname
get_user_info(id, "name", nname,31)
get_user_name(id,pname,31)
if( !equal(nname,pname) ){
client_print(id,print_chat,"******对不起,你不能改名 ! ******")
set_user_info(id,"name",pname);
}
}
}
..
心静如水
发表于 2009-7-22 19:08:53
本帖最后由 心静如水 于 2009-7-22 21:01 编辑
用这代码服务端可以生成文件,但是有记录太多时增加服务器负担过重,
而如果是作弊的玩家方统一生成,那进服时仅检测一下而已又不增加服务器方的记录及核对工作..另一方面玩家怎么样恢复默认设置只要没有删除那个生成文件依然进不了服务器,这样比较好,应该说好比封"亚机器码".吧.....