回复: 【原创】娱乐型反作弊插件v1.1--2005-10-3
给你摘一段votekick.sma里面的代码看看?get_players( g_nMenuPlayers, nNum )
......
for( i = nStart; i < nEnd; i++ )
{
j = g_nMenuPlayers
get_user_name( j, szUserName, 31 )
......
}
这里,人家为什么要用j而不是直接用i呢?很显然嘛! :)
回复: 【原创】娱乐型反作弊插件v1.1--2005-10-3
Post by Enigmaya看楼上吧。。。
确实阿。。我一开始就是把id当作useid的。。。后来用电脑测试一直出错。。。然后才发现和userid不一样,又后来,用get_players时就直接用了i。。。我去找找我见过直接用i的代码
骗你干嘛。。。老早就说了这是第一个插件。。。有很多东西都不太了解。。。在这样的基础上。。。
另外。。。谁给你说我...
好了,我不说话了,高手过招点到为止,我心不坏可嘴巴坏,说多了伤人,我闪~~
回复: 【原创】娱乐型反作弊插件v1.1--2005-10-3
再给你看一段weaponarena.sma里面的源代码:get_players(playersList, playersFound, "a")
for (new i = 0; i < playersFound; i++) {
if (giveIfHasnt(playersList)) {
switch (get_cvar_num("weaponarena_unlimitedammo")) {
case 0: giveAmmo(playersList)
case 2: giveAmmo(playersList)
}
}
回复: 【原创】娱乐型反作弊插件v1.1--2005-10-3
再给你看大名鼎鼎的魔兽3里面的源代码:get_players(players, numplayers, "ae", teamname)
......
for (new i=0; i<numplayers; ++i){
targetid=players
get_user_origin(targetid, targetorigin)
......
回复: 【原创】娱乐型反作弊插件v1.1--2005-10-3
还要找吗?要参考就参考那些经得起考验的源代码回复: 【原创】娱乐型反作弊插件v1.1--2005-10-3
最先发现amxx的DOC文档作的很好,于是从amxx的DOC文档看起。。。get_players(players, num)
new i
for (i=0; i<num; i++)
{
。。。
//Set this player's health
set_user_health(players, Health)
。。。
但我没明白为什么要这样,于是去找其他的代码看。。。
JGHG的sentrygun插件
for(new i = 1; i <= g_MAXPLAYERS; i++) {
if (!is_user_connected(i) || !is_user_bot(i) || !is_user_alive(i))
continue
sentry_build(i)
asked++
}
教程里面本身有些东西就有点嗦,于是认为这就是更简便的方法。。。
然后又去测试了一下,我又没服务器。。。就在本机上和电脑测试。。。也没出什么问题,
所以就这样用了。。。虽然从这之后这个插件不断有bug,但从来没想过这里有问题。。。后来写其他插件才发现原来的理解有问题,但是这里觉得好像也能工作正常于是就默认了,也懒得改了。。。
这样说。。。你清楚了吧。。。如果不介意。。。顺便解释一下第2段代码的用法吧。。。我想听听你的理解。
真不该删掉原来2楼的申明。。。 :confused:
回复: 【原创】娱乐型反作弊插件v1.1--2005-10-3
看楼上吧。。。确实阿。。我一开始就是把id当作useid的。。。后来用电脑测试一直出错。。。然后才发现和userid不一样,又后来,用get_players时就直接用了i。。。我去找找我见过直接用i的代码
骗你干嘛。。。老早就说了这是第一个插件。。。有很多东西都不太了解。。。在这样的基础上。。。
另外。。。谁给你说我是程序员了? 大学还没毕业呢。。。
而且不是只有程序员才会测试小模块,ok?
谦虚。。。我又怎么了。。。说实话也有错?
倒是我觉得你很不耿直, 你一直说我的ip精度有问题却从来不直接给我说。。。 :cold:
唉~~~
zhongjia:
我上次的确是说了3遍,还是点通这破论坛,我一拷贝你我对比的源代码就把我的浏览器搞死掉,生气了我就不说了,这点纯属误会啊,你都那么爽快告诉我相关的很多参数,我至于那么不耿直藏私吗?
你ip精度的问题归根结底也就是这个索引误解所引起的。涉及到了ip索引、惩罚索引、名字索引等等很多,说句老实话,我常看源代码,看你写的代码的确很痛苦。
我大学刚毕业的时候跟你一样的毛病,想到哪写到哪,没有统一的规划,在北京做石油勘探CGMTOOLS项目开发的时候,天天被高手扁,现在改了很多。
回复: 【原创】娱乐型反作弊插件v1.1--2005-10-3
我正好也有你所说的sentrygun的源代码,这里是指的是bot的索引,非在线的用户,或许对机器人这么写可以吧,不过我觉得不应该提倡这样的写法,还是得利用get_players提出bot数组,然后再索引,这样程序代码的可读性强一些。回复: 【原创】娱乐型反作弊插件v1.1--2005-10-3
Post by zhongjia我正好也有你所说的sentrygun的源代码,这里是指的是bot的索引,非在线的用户,或许对机器人这么写可以吧,不过我觉得不应该提倡这样的写法,还是得利用get_players提出bot数组,然后再索引,这样程序代码的可读性强一些。
我没骗你吧。。。
你想想如果你刚入门。。。看到这2种方法。。。而且简单测试之后发现都可以。。你选哪个?
回复: 【原创】娱乐型反作弊插件v1.1--2005-10-3
请教Enigmaya一个问题:在sma的自己写的函数中,return PLUGIN_HANDLED和return PLUGIN_CONTINUE有什么区别?
在捡枪事件中,我用return PLUGIN_HANDLED返回,服务器运行一会就会崩溃,而改成return PLUGIN_CONTINUE就没事,还请指点一二。