回复: 代码求助
Post by jim_yang不好意思啊,不过楼上的代码跟pop781的比就是画蛇添足了。get_players实际上做的就是for(new i=0; i<=get_maxplayers(); i++) 然后把符合条件的找出来。
你的说法是不对的,因为 id 并不是连续的,要么就用我这种方法,要么就用32,但用32并不好,因为如果id不存在,执行就会相应可能存在问题,但如果加上了 is_user_connected 判断,那就可以了。所以2楼的代码也是正确的。而如果用for(new i=0; i<=get_maxplayers(); i++) 就不正确。
回复: 代码求助
Post by pop781这个 "e", 经常不能完全正常的过滤出所有 alive 的玩家
而且楼主需要给整队人加钱,应该包括死亡的队友
这是很久的amxx bug
"e"是代表指定的队伍,而不是说过滤alive的玩家。
回复: 代码求助
Post by Rulzy"e"是代表指定的队伍,而不是说过滤alive的玩家。
哦,正解
抱歉,把另一"e",搞混了,好久没有用get_players了
已删除。。
回复: 代码求助
就这段代码来说,2楼和5楼的都可用如果说优化和执行效率,个人支持yang的看法
原因:
get_players()
函数执行过程的和2楼的基本一样同样要判断is_user_connected (id....id<=maxplayers)这里假如maxplayers==32人
过滤出有效的id,再返回 执行32次,假如有30个有效id
之后插件再作一次team判断的id循环,执行 30 次
共 32+30次的判断循环
回复: 代码求助
利害利害,都是达人,呵呵回复: 代码求助
呵呵 我自己也解决了 感觉真好
页:
1
[2]