cityhonghu 发表于 2005-10-15 19:46:29

【求助】修改一插件 amx_nodmg!

此插件为Hydralisk版主开发的,也许是他本人很忙吧,几天前向其求助,但一直都无恢复,只好向其他大大们求助了。

看到amx_nodmg插件,觉得这一插件对于正版服务器非常有用,因此特求助此插件的改善版本。
主要用于反作比与改善服务器环境。
原始贴连接:amx_nodmg插件(AMXX版本)
http://forum.dt-club.net/showthread.php?t=22434
此插件使用方法为
amx_nodmg #1234(那么编号为1234的用户的攻击将无效,在输入一次恢复攻击有效)
希望改进如下:

1。 建立一个纪录作弊者的文本(.cfg或则.ini皆可,最好是.cfg),在这里写入是否攻击有效(包括小刀和雷的攻击力),替代benned.cfg文件的作用。比如XXX.cfg
例如
amx_nodmg STEAM_0:0:12345678 X% (X%为有效攻击的百分比,X为0-100范围。0.1 0.2 。。。等的形式也可以。)
那如果这个是.cfg文件的话,可以以exec xxx.cfg随时更新数据。如果是.ini文件,则需要换地图或则重新启动服务器才能更新数据,比较麻烦了。

2。可以以nameID or steamID or IP进行设置。
如:amx_nodmg "fuck all" 10% (这样可以惩罚那些用乱七八糟名字的用户),如果实现困难可以暂时不要此功能。
   amx_nodmg STEAM_0:0:1234567810% (这一部分对正版服务器特别有效),这是最需要的功能。amx_nodmg #编号希望能与steamID关联。
amx_nodmg 123.123.123.123 10% (这个对于那些固定IP作弊者有些用,nosteam服务器多少能够起到作用),如果实现困难可以暂时不要此功能。

3。不向该用户输出任何信息,让他误认为是作弊器的问题。

注:到目前为止作弊者的存在会使服务器的人气急剧下降,那么现在可以利用此插件可以使服务器的人气多少会提高,而且把作弊者所带来的负面影响将为最小甚至为0(X%为0,一般不设置为0比较好,最好设置为让他误认为是作弊器问题的范围)。
这只是我的初步设想,如果有不当之处请您指教改善。

非常感激 !希望得到各位大大们的大力帮助 !

原插件
/*AMX MOD X Script
*Author: Hydralisk
*Date: 2005.6.1920:33
*
*/

#include <amxmod>
#include <amxmisc>


new bool:p_ndmg

public plr_rst(id){
        if (p_ndmg) set_task(0.1,"mk_ndmg",id+7737)
        return PLUGIN_CONTINUE
}

public mk_ndmg(id){
        if (id>32) id -= 7737
        set_user_hitzones(id,0,0)
}

public mk_dmg(id){
        set_user_hitzones(id,0,255)
}

public m_nodmg(id,level,cid){
        if (!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED
        new arg
        read_argv(1,arg,32)
        new player = cmd_target(id,arg,3)
        if (!player) return PLUGIN_HANDLED
        if (!p_ndmg){
                p_ndmg = true
                mk_ndmg(player)
        }        else {
                p_ndmg = false
                mk_dmg(player)
        }
        return PLUGIN_HANDLED
}


public client_connect(id){
        p_ndmg = false
        return PLUGIN_CONTINUE
}

public plugin_init(){
        register_plugin("No Damage","0.1","Hydralisk")
        register_event("ResetHUD","plr_rst","b")
        register_concmd("amx_nodmg","m_nodmg",ADMIN_SLAY)
        register_concmd("amx_nndmg","mk_ndmg")
}
页: [1]
查看完整版本: 【求助】修改一插件 amx_nodmg!