搜索
楼主: 心静如水

寻求这种惩罚作弊方法,希望得到帮助.(继续)

[复制链接]
发表于 2009-7-22 01:07:48 | 显示全部楼层 来自 中国–广东–惠州–惠城区
很喜欢你之前的签名,“我很乐意帮助别人,但也请别人多指点”
呵呵,好象是之前你自己说的,在一个老贴子里看到的。
回复

使用道具 举报

发表于 2009-7-22 01:10:28 | 显示全部楼层 来自 中国–河南–郑州
:)
嗯,有点印象。好像是高考结束后发的贴,很久以前了。。。现在眼瞅着自己就要毕业了,唉。

现在的情况是我帮不了别人,别人也没法帮我。。。唉,,,
回复

使用道具 举报

发表于 2009-7-22 01:26:24 | 显示全部楼层 来自 中国–广东–惠州–惠城区
呵呵,现在流行“被就业”.
回复

使用道具 举报

 楼主| 发表于 2009-7-22 12:59:40 | 显示全部楼层 来自 中国–广西–百色
本帖最后由 心静如水 于 2009-7-22 14:21 编辑
:)
嗯,有点印象。好像是高考结束后发的贴,很久以前了。。。现在眼瞅着自己就要毕业了,唉。

现在的情况是我帮不了别人,别人也没法帮我。。。唉,,, ...
Hydralisk 发表于 2009-7-22 01:10

这位大哥:请问他会在被封玩家客户端处生成文件吗?

别忘了远离本主题了.....
回复

使用道具 举报

发表于 2009-7-22 16:25:16 | 显示全部楼层 来自 中国–河南–郑州
14# 心静如水


没有生成文件,但是修改了他CS的设置,可以被服务段识别出来。
回复

使用道具 举报

发表于 2009-7-22 16:33:04 | 显示全部楼层 来自 中国–云南–西双版纳傣族自治州–景洪市
Hydralisk什么时候回来的啊?你还好吧。很多年不见你来了。特别想你,当初在AMX上得到了你的帮助一直很感激你。希望你能继续为点通服务。我看好你。加油Hydralisk刺蛇
回复

使用道具 举报

 楼主| 发表于 2009-7-22 18:13:08 | 显示全部楼层 来自 中国–广西–百色
本帖最后由 心静如水 于 2009-7-22 18:44 编辑

谢谢.....不过这样BAN名字若很长那很是辛苦输入.........
而被惩罚的玩家又需要如何修改后才能正常进服务器呢?
回复

使用道具 举报

发表于 2009-7-22 18:21:12 | 显示全部楼层 来自 中国–福建–漳州
用 client_mark 插件就可以了。
回复

使用道具 举报

 楼主| 发表于 2009-7-22 19:04:26 | 显示全部楼层 来自 中国–广西–百色
本帖最后由 心静如水 于 2009-7-22 19:08 编辑

new filePath[64]
        get_configsdir(filePath, 63)
        format(filePath, 63, "%s/CSCP.dat", filePath)
        copy(fileName,63,filePath)
        loadFile(filePath)
       
public client_connect(id){

        new pname[32],msg[128]
        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[16]
                        get_user_ip(id, ipStr, 15, 1 )
                        server_cmd("addip %.2f %s;wait;writeip", 60.0, ipStr);
                       
                        return PLUGIN_HANDLED;
                }
        }
       
        g_playerFlag[id]=0;
       
        return PLUGIN_HANDLED;
}

public client_disconnect(id){
        if( g_playerFlag[id] && !is_user_bot(id) ){
                new ipStr[16],Msg[128],pname[32];
                get_user_ip(id, ipStr, 15, 1 )
                get_user_name(id,pname,31);
                if( WriteToFile(ipStr,pname ) ){
                        //copy(g_recordIp[g_recordNum],15,ipStr);
                        copy(g_recordName[g_recordNum++],32,pname);
                        format(Msg,127,"[OP]: 作弊的玩家已被记录姓名.");
                        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[256],pos=0,a,lineStr[3];
        while( g_recordNum < MAX_RECORD_PLAYER && read_file(filename,pos++,text,255,a) ){
                if(text[0]==';')
                        continue
                if( parse(text,lineStr,2,g_recordName[g_recordNum],31,g_recordIp[g_recordNum],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[64];
        format(str,63,"%i   ^"%s^"  %s",g_recordNum+1,nameStr,ipStr);
        write_file(fileName,str,-1);
        g_recordNum++;

        return 1;
}

public  client_infochanged(id){
        if( g_playerFlag[id] ){
                new nname[32],pname[32]
                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 编辑

用这代码服务端可以生成文件,但是有记录太多时增加服务器负担过重,
而如果是作弊的玩家方统一生成,那进服时仅检测一下而已又不增加服务器方的记录及核对工作..另一方面玩家怎么样恢复默认设置只要没有删除那个生成文件依然进不了服务器,这样比较好,应该说好比封"亚机器码".吧.....
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 注个册吧

快速回复 返回顶部 返回列表