Как получить id того,у кого больше фрагов.

OFFSprings

Участник
Сообщения
14
Реакции
0
PHP:
#include <sourcemod>
#include <sdktools>
#pragma semicolon 1

public OnPluginStart;
{
	HookEvent("round_start",OnRoundStart);
}


public Action:OnRoundStart(Handle:event,const String:name[],bool:dontBroadcast);
        CreateTimer(8.0,TimerToOborona);
		
		
public Action:TimerToOborona(Handle:timer);
{
	new K=GetClientFrags(client);
	
}
Дальше че то не могу ппц.
 

Primo

типа серьёзный тип
Сообщения
1,532
Реакции
759
PHP:
new t_c;
new t_w;

for(new i=1; i<=GetMaxClients(); i++) 
{
    t_f = GetClientFrags(i);
    if(t_f > t_c) {t_c = t_f; t_w = i;}
}
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #3
PHP:
GetClientMaxFrags()
{
	decl iClient, i, iMaxFrags, iFrags;
	iClient = 0;
	iMaxFrags = 0;
	for (i = 1; i <= MaxClients; ++i) 
	{ 
		if (IsClientInGame(i))
		{ 
			iFrags = GetClientFrags(i);
			if(iFrags > iMaxFrags)
			{
				iMaxFrags = iFrags;
				iClient = i;
			}
		} 
	}
	
	return iClient;
}

Использовать так:
PHP:
new iClient = GetClientMaxFrags();
if(iClient)
{
// Вот игрок
}


Оффтоп
 
Последнее редактирование:

OFFSprings

Участник
Сообщения
14
Реакции
0
PHP:
GetClientMaxFrags()
{
	decl iClient, i, iMaxFrags, iFrags;
	iClient = 0;
	iMaxFrags = 0;
	for (i = 1; i <= MaxClients; ++i) 
	{ 
		if (IsClientInGame(i))
		{ 
			iFrags = GetClientFrags(i);
			if(iFrags > iMaxFrags)
			{
				iMaxFrags = iFrags;
				iClient = i;
			}
		} 
	}
	
	return iClient;
}

Использовать так:
PHP:
new iClient = GetClientMaxFrags();
if(iClient)
{
// Вот игрок
}


Оффтоп

Спасибо,правда не понятно это отдельная процедура,или можно встроить в TimeToOborona?
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #5
OFFSprings, это функция и её использование
 

OFFSprings

Участник
Сообщения
14
Реакции
0
Можешь посмотреть http://hlmod.ru/forum/utverjdionnye-plaginy/29687-most-deadly-player.html для примера - там достаточно оптимально и нахождение "Max'имала", даже если фраги с кем-то равны.
Я взял его как пример,но что то тяжело в нем разобраться.

Добавлено через 4 минуты
PHP:
#include <sourcemod>
#include <sdktools>
#pragma semicolon 1

public OnPluginStart;
{
	HookEvent("round_start",OnRoundStart);
}



public Action:OnRoundStart(Handle:event,const String:name[],bool:dontBroadcast);
        CreateTimer(8.0,TimerToOborona);
		
public GetClientMaxFrags();	
	decl iClient, i, iMaxFrags, iFrags; 
    iClient = 0; 
    iMaxFrags = 0; 
    for (i = 1; i <= MaxClients; ++i)  
    {  
        if (IsClientInGame(i) && IsPlayerAlive && GetClientTeam(client)==CS_TEAM_CT) 
        {  
            iFrags = GetClientFrags(i); 
            if(iFrags > iMaxFrags) 
            { 
                iMaxFrags = iFrags; 
                iClient = i; 
            } 
        }  
    } 
     

		
public Action:TimerToOborona(Handle:timer);
Значение iClient можно использовать в последующих процедурах?
 
Последнее редактирование:

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
тяжело в нем разобраться
Найди вывод в чат о самом "стрелковом игроке", там есть его индекс. Если же нужны фраги за всё время, то подсчёт нужно сделать немного иначе.
Значение iClient можно использовать в последующих процедурах?
Оффтоп Если в пределах этой же функции, то можно. Если необходимо "по всему плагину", то нужно вывести глобальную переменную.
 
Сверху Снизу