Иконка ресурса

Players count in hostname 1.2

rJIa3

Участник
Сообщения
169
Реакции
180
  • Автор ресурса
  • #1
Players count in hostname

Описание:
Плагин изменяет имя сервера показывая текущее количество игроков и версию игры.

Требования:
SourceMod

Поддерживаются игры:
  • CS: Source
  • CS: GO
  • Team Fortress 2
  • Day of Defeat: Source
  • L4D1/2

Установка:
  1. Скопировать файл playerscount_version_in_hostname.smx в директорию cstrike/addons/sourcemod/plugins/
  2. Скопировать файл playerscount_version_in_hostname.sp в директорию addons/sourcemod/scripting

Переменные:
%d - текущее кол-во игроков на сервере
%d - кол-во игроков sv_visiblemaxplayers
%s - версия сервера
sm_formatted_hostname ""
Пример:
sm_formatted_hostname "My Server %d/%d (%s)"
"My Server %d/%d" => "My Server 5/8"
прописать можно в server.cfg


Оригинал
 
Последнее редактирование модератором:

sintez

★CS.ORG.RU★
Сообщения
272
Реакции
45
не кто не знает? как исправить чтобы показывало вот так
 

Вложения

  • Снимок.PNG
    Снимок.PNG
    189 байт · Просмотры: 592

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
PHP:
public Plugin:myinfo = 
{
	name = "Players count in hostname",
	author = "D1maxa",
	description = "Showing number of players and version in name of server",
	version = "1.22",
	url = "http://forums.alliedmods.net/showthread.php?t=126060"
};

new g_NumClients=0;
new Handle:hostname = INVALID_HANDLE;
new Handle:formatted_hostname = INVALID_HANDLE;
new String:version[16] = "";

public OnPluginStart()
{
	hostname = FindConVar("hostname");
	formatted_hostname=CreateConVar("sm_formatted_hostname", "My Server %d/%d (%s)", "Formatted string for dynamic hostname",FCVAR_PLUGIN);
	GetVersion();
}

public OnMapStart()
{
	g_NumClients=0;
}
 
 public OnConfigsExecuted()
{
	SetNumberOfPlayersInHostname();
}
 
public OnClientConnected(client)
{
	if(!IsFakeClient(client))
	{
		g_NumClients++;
		SetNumberOfPlayersInHostname();
	}
}

public OnClientDisconnect(client)
{
	if(!IsFakeClient(client))
	{		
		g_NumClients--;
		SetNumberOfPlayersInHostname();
	}
}

SetNumberOfPlayersInHostname()
{
	decl String:my_buf[64];
	decl String:f_hostname[64];
	GetConVarString(formatted_hostname,f_hostname,sizeof(f_hostname));
	Format(my_buf,sizeof(my_buf),f_hostname,g_NumClients,MaxClients,version);
	SetConVarString(hostname,my_buf);
	ServerCommand("heartbeat");
}

GetVersion()
{
	new Handle:steaminf = OpenFile("steam.inf","r");  
	if(steaminf == INVALID_HANDLE)
	{
		LogError("Cannot open steam.inf");			
		return;  			
	}	
	new String:buffer[128];
	while(ReadFileLine(steaminf, buffer, sizeof(buffer)) && (StrContains(buffer,"PatchVersion=",false) == -1))
	{}
	CloseHandle(steaminf);
	if(StrContains(buffer,"PatchVersion=",false) != -1)
	{
		new i = FindCharInString(buffer,'=') + 1;
		new j = 0;
		do
		{
			version[j++] = buffer[i++];
		}
		while(buffer[i] != '\0' && j<sizeof(version));
		version[7] = '\0';
	}		
}
 

master117

Участник
Сообщения
275
Реакции
10
Подправьте код и выложите пожалуйста, мне нужно убрать проверку на ботов.
 

master117

Участник
Сообщения
275
Реакции
10
Спасибо!

Добавлено через 19 минут
Игра CS:GO боты есть на сервере, а в скобках не показывает их кол-во там где название сервера, как подправить? =)
 
Последнее редактирование:
Сверху Снизу