搜索
查看: 3895|回复: 9

如何检测玩家的屏幕?

[复制链接]
发表于 2008-7-9 16:43:10 | 显示全部楼层 |阅读模式 来自 中国–河北–保定
如题,我想编写一个简单的反作弊。但是在检测玩家屏幕上遇到问题。

思路:
让所有玩家白屏,之后检测。
如果检测到4个设置颜色的值都为255,那么恢复正常。

如果检测为0,开启剥夺武器,或者飞天摔死,或者。。。。。。

现在就缺检测了。请各位高手帮忙。

现在编写了一些夸张的插件对付作弊,只不过是比作弊者更夸张而已。我想用更正统的方法严惩作弊。如果有兴趣我们一起研究。QQ:54477714,XINJE@126.COM
--------------------------
以下是我编写的内容,我比较无知,请不要笑我。应该如何实现?请大家帮忙。

public plugin_init() {
         register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR)  
   
    register_clcmd("zxc","zzz")
   
}


public zzz(id){
    new players[32], num;
    get_players(players, num);
    new id;
    for(new i=0;i<num;i++)
    {
        id = players
message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id)
        write_short(1<<1)
        write_short(1<<1)
        write_short(1<<2)
        write_byte(255)
        write_byte(255)
        write_byte(255)
        write_byte(255)
        message_end()
    if (get_msg_arg_int(4)==255 && get_msg_arg_int(5)==255 && get_msg_arg_int(6)==255 && get_msg_arg_int(7)==255){
        set_task(0.5,"fader",0,"",1,"b")
    //set_user_health(id, 1)

    }
}
}

public fader(id){
    client_cmd(id,"kill")
   
}
发表于 2008-7-9 19:33:25 | 显示全部楼层 来自 中国–广东–深圳

回复: 如何检测玩家的屏幕?

测试了一下,好像不行,你把玩家屏幕变白了,服务器记录了玩家是白色的了,你获取到的值,肯定也是255.
防闪光作弊的又不是根据这个值来作弊。。。
回复

使用道具 举报

发表于 2008-7-9 22:01:16 | 显示全部楼层 来自 中国–福建–漳州

回复: 如何检测玩家的屏幕?

要想检测玩家的屏幕是否防闪光,只能截图玩家客户端的屏幕。
回复

使用道具 举报

发表于 2008-7-10 23:04:44 | 显示全部楼层 来自 中国–江苏–南京–鼓楼区

回复: 如何检测玩家的屏幕?

如果这样,是否可以根据玩家只要中了闪光,无论是否全白都做一个snapshot的动作,包括smoke?

不过我觉得这样只适合战队比赛,事后有怀疑的情况下就必须上传图片
回复

使用道具 举报

发表于 2008-7-11 10:13:59 | 显示全部楼层 来自 中国–山东–青岛

回复: 如何检测玩家的屏幕?

利用amxx可以给玩家截图和录像,唯一的问题是上传。如果amxx可以上传,登陆器什么的都不需要了,直接插件就可以完成
回复

使用道具 举报

发表于 2008-7-11 10:17:10 | 显示全部楼层 来自 中国–北京–北京–海淀区

回复: 如何检测玩家的屏幕?

不是amxx的问题,是客户端dll,网络游戏基本原理建议好好研究一下
回复

使用道具 举报

发表于 2008-7-13 08:19:20 | 显示全部楼层 来自 中国–山东–青岛

回复: 如何检测玩家的屏幕?

客户端dll是什么东西?好吃吗?味道是不是和葡萄差不多?
回复

使用道具 举报

 楼主| 发表于 2008-7-13 19:48:06 | 显示全部楼层 来自 中国–上海–上海

回复: 如何检测玩家的屏幕?

现在已经验证的确可行。开反闪光等作弊的人屏幕没反映。而正常的人都是白屏。
现在的问题是不知道怎样自动识别这些屏幕没问题的人。

请大家帮忙出出主意。
回复

使用道具 举报

发表于 2008-7-14 12:10:42 | 显示全部楼层 来自 中国–广东–深圳

回复: 如何检测玩家的屏幕?

开防闪作弊器的,屏幕会闪一下,0.×秒就消失。
问题是get_msg_arg_int(4)==255 && get_msg_arg_int(5)==255 && get_msg_arg_int(6)==255 && get_msg_arg_int(7)==255)
这里返回的值,你开了作弊器,和没开作弊器,都是一样,返回255被闪了。这个值应该是保留在服务器,不是客户端的。
回复

使用道具 举报

发表于 2008-7-14 12:11:53 | 显示全部楼层 来自 中国–广东–深圳

回复: 如何检测玩家的屏幕?

findcheat插件里面,利用玩家被闪时间内,是否杀人来检测。也同样判断不到玩家是否已经被闪了。
回复

使用道具 举报

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

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