zhongjia 发表于 2006-2-10 14:47:56

回复: 【原创】娱乐型反作弊插件v1.1--2005-10-3

给Enigmaya提个建议,你的插件记录可以利用这个事件plugin_end,当换图或退出服务器的时候,这个事件都会被调用,在这个事件里面写ip记录文件是最佳的 :)我就是这么写的,测试没问题。

下面是我写的代码:
public plugin_init(){
......
new configsDir
get_configsdir(configsDir, 63)
format(cvars_ini_file, 63, "%s/%s", configsDir, "zhongjia.ini");
readinifile()
}
//插件退出时写ip记录文件
public plugin_end(){
writeinifile()
}
//读取ip记录文件
public readinifile(){
if (!file_exists(cvars_ini_file))
return false
new text
new a, pos = 0
while (pos<IP_LIST_SIZE && read_file(cvars_ini_file, pos, text, MAX_IP_LENGTH, a)){
copy(play_cheater_ip, MAX_IP_LENGTH, text)
pos++
}

for(new i=pos; i<IP_LIST_SIZE; i++)
copy(play_cheater_ip, MAX_IP_LENGTH, "**********")

return true
}
//写ip记录文件
public writeinifile(){
if (!file_exists(cvars_ini_file))
return false

for(new i=0;i<IP_LIST_SIZE;i++)
write_file(cvars_ini_file, play_cheater_ip, i)

return true
}

zhongjia 发表于 2006-2-10 14:54:29

回复: 【原创】娱乐型反作弊插件v1.1--2005-10-3

还有你写的stopPunish(id)我觉得流程不够简洁,用amx_pcheater指定作弊者时,当指定的局数为0时,意思不就是stopPunish了吗?这样设计的话,一个amx_pcheater事件就ok了,也方便你在菜单里面挂接。--个人意见 :)

zhongjia 发表于 2006-2-10 15:02:20

回复: 【原创】娱乐型反作弊插件v1.1--2005-10-3

还有你写的showplayers()菜单显示函数,可读性实在太差,我到现在还没看明白,建议你参阅一下amxx1.6自带的votekick.sma源代码,人家写的那才叫清晰稳定。amxx1.6自带的那些源代码是出自高手手笔,都很经典。

zhongjia 发表于 2006-2-10 15:05:24

回复: 【原创】娱乐型反作弊插件v1.1--2005-10-3

我自己重写的那个插件已经饱和了,我对amxx的资料了解不多,知道的都加进去了,成了一个大杂烩,把我的一些经验给你说说,还是希望你写的这个插件更加完美。

我的服务器最近不知道怎么搞的,极其不稳定,连测试的环境都成问题,超级郁闷中……

AE86 发表于 2006-2-10 20:32:25

回复: 【原创】娱乐型反作弊插件v1.1--2005-10-3

小E你看了那个人发的中家什么最终版没有。我看了是无语了。本来还想拿来测试一下的。。。。
哎。。。。可惜给他那样一改又加这又加那的,最后连插件的意义都让他变掉了~~~彻底无话可说了 :brick::brick::brick:

zhongjia 发表于 2006-2-10 21:46:39

回复: 【原创】娱乐型反作弊插件v1.1--2005-10-3

Post by AE86
小E你看了那个人发的中家什么最终版没有。我看了是无语了。本来还想拿来测试一下的。。。。
哎。。。。可惜给他那样一改又加这又加那的,最后连插件的意义都让他变掉了~~~彻底无话可说了 :brick: :brick: :brick:

哈哈,我是cs菜鸟,纯属娱乐,请高手莫怪

Enigmaya 发表于 2006-2-11 02:30:07

回复: 【原创】娱乐型反作弊插件v1.1--2005-10-3

Post by zhongjia
给Enigmaya提个建议,你的插件记录可以利用这个事件plugin_end,当换图或退出服务器的时候,这个事件都会被调用,在这个事件里面写ip记录文件是最佳的 :)我就是这么写的,测试没问题。

下面是我写的代码:
public plugin_init(){
......
new configsDir
get_configsdir(configsDir, 63)
format(cvars_ini_file, 63, "%s/%s", configsDir, "zhongjia.ini");
readinifile()
}
//插件退出时写ip记录文件
public plugin_end(){
writeinifile()
}
//读取ip记录文件
public readinifile(){
if (!file_exists(cvars_ini_file))
return false
new text
new a, pos = 0
while (pos<IP_LIST_SIZE && read_file(cvars_ini_file, pos, text, MAX_IP_LENGTH, a)){
copy(play_cheater_ip, MAX_IP_LENGTH, text)
pos++
}

for(new i=pos; i<IP_LIST_SIZE; i++)
copy(play_cheater_ip, MAX_IP_LENGTH, "**********")

return true
}
//写ip记录文件
public writeinifile(){
if (!file_exists(cvars_ini_file))
return false

for(new i=0;i<IP_LIST_SIZE;i++)
write_file(cvars_ini_file, play_cheater_ip, i)

return true
}

在玩家退的地方记录当然是为了方便。因为还要检查ip是否重复,需要区分已经记录的。。。都放到后面。。。还要定义变量。。。放到这里自然简单得多了。
另外,我平时一般在浩方玩,指不定什么时候就被浩方k了。。。所以能早记录就不会放到后面去。。。

Post by zhongjia
还有你写的stopPunish(id)我觉得流程不够简洁,用amx_pcheater指定作弊者时,当指定的局数为0时,意思不就是stopPunish了吗?这样设计的话,一个amx_pcheater事件就ok了,也方便你在菜单里面挂接。--个人意见 :)

其实当初没有打算停止惩罚的,有了菜单才加的。不过流程。。。如果光看惩罚多局的话,就一个player_flag[ id ]=false标记而已。。。怎么个简洁法?
其他的惩罚方式。。。需要的恢复的东西多一些而已。
这些都是必要的动作阿。不太懂你的意思。

Post by zhongjia
还有你写的showplayers()菜单显示函数,可读性实在太差,我到现在还没看明白,建议你参阅一下amxx1.6自带的votekick.sma源代码,人家写的那才叫清晰稳定。amxx1.6自带的那些源代码是出自高手手笔,都很经典。

额,怪了,当初我也是找来找去, 从CS User Model Menuz发现的,当时就感觉不错。。。
不过确实没有amxx原始的代码简洁。。。至于清晰。。感觉这个一目了然些。
稳定嘛。。。至少还没见过菜单出错的。

Post by zhongjia
我自己重写的那个插件已经饱和了,我对amxx的资料了解不多,知道的都加进去了,成了一个大杂烩,把我的一些经验给你说说,还是希望你写的这个插件更加完美。

我的服务器最近不知道怎么搞的,极其不稳定,连测试的环境都成问题,超级郁闷中……

嗯,我也希望有人指出问题。。。交流。。。感谢你了。 :)
不过这个插件(好像是我的第一个插件吧)很多东西也不想重写了。。。而且目前问题也都不大。如果能稳定运行。。。也就不会再去改什么了。

Post by AE86
小E你看了那个人发的中家什么最终版没有。我看了是无语了。本来还想拿来测试一下的。。。。
哎。。。。可惜给他那样一改又加这又加那的,最后连插件的意义都让他变掉了~~~彻底无话可说了 :brick::brick::brick:

Post by zhongjia
哈哈,我是cs菜鸟,纯属娱乐,请高手莫怪

呵。。。处女插件嘛。。。自然是以学习为主。学到新的东西自然想实践一下嘛。我也是这么过来的。。。

不过确实把插件原有的意义变淡了。。。不管怎么说dt又多了一个写插件的。。。
希望zhongjia继续努力,争取早日拿出自己的作品。

睡觉咯。。。再放上2个新插件。。。 :)

Enigmaya 发表于 2006-2-11 02:37:25

回复: 【原创】娱乐型反作弊插件v1.1--2005-10-3

居然不然发帖。。。。。。。。唉。。。干嘛半夜禁止发帖阿?奇怪。。。

算了。。明天放上来。。。

AE86 发表于 2006-2-11 05:28:22

回复: 【原创】娱乐型反作弊插件v1.1--2005-10-3

好象不是半夜不能发贴。有好多人都不能发贴哦。~~~可能是斑竹禁止了呀 :brick:

对了1.7版测试了2天,一切正常。发现在你OP惩罚菜单里面增加了一个投票选项,嘿嘿~~!

那个中加(zhongjia)大哥我真的无话可说了,拿着别人插件修改几个地方还称得上“原创分享” :sweat::sweat: 天理何在呀!
以后谁出了一个有趣插件,然后我干脆也修改几个文字,也写个“原创分享”算了。。。。。。。真是的,那样也行。哎。不多说了,会得罪人 :boss:

AE86 发表于 2006-2-11 05:44:08

回复: 【原创】娱乐型反作弊插件v1.1--2005-10-3

Post by Enigmaya
居然不然发帖。。。。。。。。唉。。。干嘛半夜禁止发帖阿?奇怪。。。

算了。。明天放上来。。。
如果明天你发不了的话, 把你要发的传给我哈。好象我可以发。偶就来个转发,嘻嘻,开个玩笑 :eek:
页: 34 35 36 37 38 39 40 41 42 43 [44] 45 46 47 48 49 50 51 52 53
查看完整版本: 【原创】娱乐型反作弊插件v1.1--2005-10-3