Это дает ощутимое преимущество перед другими игроками и, можно сказать, ставит их в не равное положение, вследствие чего, все друг друга постоянно спрашивают, кто с каким FPS играет. В рунете я не находил ответа на вопрос как узнать fps игрока, но нашел его за бугром.
Код скрипта узнающего FPS игроков:
Команда в консоли сервера players, что бы посмотреть таблицу с игроками и их fps.
#include <amxmodx>
#include <engine>
new g_fps[33][11];
new g_i[33];
new g_maxplayers;
public plugin_init() {
register_plugin("Как узнать fps игрока", "fps", "fps")
register_srvcmd("players","show_info")
g_maxplayers = get_maxplayers()
}
public show_info()
{
new name[32]
new ping,loss
server_print("NAME | FPS | Ping | Loss")
for(new i=1;i<=g_maxplayers;i++)
{
if(!is_user_connected(i) || is_user_bot(i))
continue;
get_user_ping(i,ping,loss)
get_user_name(i,name,31)
server_print("%s | %ifps | %iping | %iloss",name,get_user_fps(i),ping,loss)
}
}
//code from get_fps tutorial
public client_putinserver(id)
set_task(0.1, "count", id, "", 0, "b");
public client_disconnect(id)
remove_task(id);
public client_PreThink(id)
g_fps[id][10]++;
public count(id) {
if ( g_i[id] < 9 )
g_i[id]++;
else
g_i[id] = 0;
g_fps[id][g_i[id]] = g_fps[id][10];
g_fps[id][10] = 0;
}
get_user_fps(id)
{
new i;
new j = 0;
for ( i = 0; i < 9; i++ )
j += g_fps[id][i];
return j - 5;
}
Если честно,данный код помогает узнать fps игрока, но он далеко не самый оптимальный и будет давать ощутимую нагрузку на сервер, так как постоянно происходит выполнение двух функций с большой частотой, с частотой равной fps игрока.
Этот код создан для того что бы показать общий принцип как можно узнать fps игрока, если вы хотите его использовать и при этом не навредить серверу, придется подумать над его оптимизацией и продумать алгоритм работы такой, что бы он запускался только в необходимый момент времени и совсем не надолго.
К стати, когда я на своих двух серверах поставил плагин, который запретил использовать игрокам фпс больше ста, сервера стали работать во много раз стабильнее. О том как можно заблокировать использование developer 1, что бы снизить fps игрока для максимальных 101, напишу в другой раз.