想请教个函数问题...(自己水平问题)
new who = 0, nub2 = 0new maxplayers = get_maxplayers()
new stats, body
for(new i = 1; i < maxplayers; ++i){
get_user_wstats( i, 0, stats, body)
if ( (stats - stats) >= nub2 ) {
who = i
nub2 = stats - stats
}
}
这样为何获得的不是当前地图得分最差的玩家呢?
如何才能获得当前地图里面得分最差的玩家?
请指导一下好吗?
回复: 想请教个函数问题...
一、应该用get_user_frags和get_user_deaths来获得当前地图玩家的得分和死亡数。二、nub2的初值不正确。因为有可能存在所有玩家的“死亡数-杀人数”都小于0的情况(即杀人数-死亡数都大于0,这种情况出现的可能性是很小,但因为放了C4爆炸会有3人奖励,所以还是有可能会出现的)。
回复: 想请教个函数问题...
能否完整性的列出一下?...真不好意思...new who = 0
new maxplayers = get_maxplayers()
for(new i = 1; i < maxplayers; ++i){
if ( get_user_frags(i) <=0 ) {
who = i
}
}
比如说这样的话,它就是指得分小于0的所有玩家,只想取最差得分的玩家怎么办呢?
回复: 想请教个函数问题...
new worst = 1<<31
new score
new theone
for(new i = 1; i <= g_maxplayers; ++i)
{
if(is_user_connected(i))
{
score = get_user_frags(i) - get_user_deaths(i)
if(score < worst)
{
worst = score
theone = i
}
}
}
回复: 想请教个函数问题...
new worst = 1<<31谢谢了....就是它不知道怎么定....
回复: 想请教个函数问题...
如果在pawn里想用整型变量最大值,可以直接使用cellmax这个关键字回复: 想请教个函数问题...
不过1<<31也足够大了应该是~(1<<32)最大,第一位应该是符号位,所以最大的应该是31个1
回复: 想请教个函数问题...
直接写 0x7FFFFFFF 就行了。回复: 想请教个函数问题...
懒得敲那么多fffffffffffffffff回复: 想请教个函数问题...
Post by jim_yangnew worst = 1<<31
new score
new theone
for(new i = 1; i <= g_maxplayers; ++i)
{
if(is_user_connected(i))
{
score = get_user_frags(i) - get_user_deaths(i)
if(score < worst)
{
worst = score
theone = i
}
}
}
checkkick() {
new who = 0
new worst = 1<<31
new score
new maxplayers = get_maxplayers()
for(new i = 1; i <= maxplayers; ++i){
if ( !is_user_connected(i) && !is_user_connecting(i) )
continue
if (get_user_flags(i)&ADMIN_RESERVATION)
continue
score = get_user_frags(i) - get_user_deaths(i)
if ( score < worst ) {
worst = score
who = i
}
}
if(who){
server_cmd("kick #%d^"你已被会员挤出,等下再试^"", get_user_userid(who))
}
return who
}
这样测试了.....但踢出的不是最低分的玩家.......恳请版主或哪位帮改正错误一下....
页:
[1]
2