Перейти к содержанию

ryancoolround
Перейти к решению Решено ryancoolround,

Рекомендуемые сообщения

  • Администратор

Плагин показывает время на сервере, он переименовывает Source TV во фразу "Время по МСК: 12:00".

20210415204223_1.jpg

За основу был взят этот плагин, и просто чуть чуть переделан.

Код на всякий случай:

#include <sourcemod>
#include <sdktools>


public Plugin myinfo =  {
	name = "Часы", 
	author = "Ryancoolround", 
	description = "При нажатии на Tab, плагин показывает текущее время в Наблюдателях.", 
	version = "1.2", 
	url = "https://ip-gamers.net/"
};
public OnPluginStart()
{
	HookUserMessage(GetUserMessageId("SayText2"), ChangeName, true);
	CreateTimer(1.0, Timer, _, TIMER_REPEAT);
}
public Action ChangeName(UserMsg MsgId, Handle hBitBuffer, const iPlayers[], iNumPlayers, bool bReliable, bool bInit)
{
	char Message[1024];
	
	BfReadByte(hBitBuffer);
	BfReadByte(hBitBuffer);
	BfReadString(hBitBuffer, Message, sizeof(Message));
	if (StrEqual(Message, "#Cstrike_Name_Change"))
		return Plugin_Handled;
	
	return Plugin_Continue;
}
public Action Timer(Handle timer)
{
	char Name[128], STime[64];
	for (int i = 1; i <= MaxClients; i++)
	{
		if (IsClientInGame(i) && IsClientSourceTV(i))
		{
			FormatTime(STime, sizeof(STime), "Время по МСК: %H:%M");
			Name = ("%s", STime);
			SetClientName(i, Name);
		}
	}
}

 

tvclock.smx tvclock.sp

Мир изменился, он стал другим!

Ссылка на комментарий
Поделиться на другие сайты

  • 1 год спустя...
  • Администратор

Плагин обновлен, скомпилирован на версии Sourcemod 1.11, и я так же добавил на 41 строку кода часть:

return Plugin_Handled;

Что бы избавится от предупреждения:

warning 242: function "Timer" should return an explicit value

Полностью код теперь выглядит следующим образом:

#include <sourcemod>
#include <sdktools>


public Plugin myinfo = {
	name = "Часы", 
	author = "Ryancoolround", 
	description = "При нажатии на Tab, плагин показывает текущее время в Наблюдателях.", 
	version = "1.3", 
	url = "https://ip-gamers.net/"
};
public OnPluginStart()
{
	HookUserMessage(GetUserMessageId("SayText2"), ChangeName, true);
	CreateTimer(1.0, Timer, _, TIMER_REPEAT);
}
public Action ChangeName(UserMsg MsgId, Handle hBitBuffer, const iPlayers[], iNumPlayers, bool bReliable, bool bInit)
{
	char Message[1024];
	
	BfReadByte(hBitBuffer);
	BfReadByte(hBitBuffer);
	BfReadString(hBitBuffer, Message, sizeof(Message));
	if (StrEqual(Message, "#Cstrike_Name_Change"))
		return Plugin_Handled;
	
	return Plugin_Continue;
}
public Action Timer(Handle timer)
{
	char Name[128], STime[64];
	for (int i = 1; i <= MaxClients; i++)
	{
		if (IsClientInGame(i) && IsClientSourceTV(i))
		{
			FormatTime(STime, sizeof(STime), "Время по МСК: %H:%M");
			Name = ("%s", STime);
			SetClientName(i, Name);
		}
	}
	return Plugin_Handled; 
} 

 

tvclock.sp tvclock.smx

20220710213205_1.jpg

Мир изменился, он стал другим!

Ссылка на комментарий
Поделиться на другие сайты

  • 1 год спустя...
  • Администратор
  • Решение

Часы


Плагин показывает время на сервере, он переименовывает Source TV во фразу "Время по МСК: 12:00".


 

Мир изменился, он стал другим!

Ссылка на комментарий
Поделиться на другие сайты

  • Лучшие авторы

    На этой неделе никто репутацию не получал

  • Последние достижения

    • GAMADA повысил звание
      Lvl 1
    • Darya повысил звание
      Lvl 14
    • Mad.Eagle повысил звание
      Lvl 5
    • Mad.Eagle повысил звание
      Lvl 4
    • Plamen474 получил значок
      Бета
×
×
  • Создать...