Grey83
не пишу плагины с весны 2022
- Сообщения
- 8,830
- Реакции
- 5,267
@ColdWind, попробуй такой вариант:
Набирал на смарте в блокноте, так что нужно ещё проверить компилится ли.
UPD поправил очепятку
C-подобный:
#pragma semicolon 1
#pragma newdecls required
#include <custom_rounds>
#include <sdktools_stringtables>
public Plugin myinfo =
{
name = "[CR] Overlays",
author = "Саша Шеин | vk.com/sahapro33",
version = "1.2.3_fix",
url = "vk.com/sahapro33"
}
Handle hTimer[MAXPLAYERS+1];
char g_sOverlayBuffer[PLATFORM_MAX_PATH + 20];
float g_fTime;
public void OnPluginStart()
{
ConVar convar;
(convar = CreateConVar("sm_cr_overlay_delay", "3.0", "How long will the overlay be displayed.", _, true, 1.0)).AddChangeHook(ChangeCvar_TimeDisplay);
g_fTime = convar.FloatValue;
}
public void ChangeCvar_TimeDisplay(ConVar convar, const char[] oldValue, const char[] newValue)
{
g_fTime = convar.FloatValue;
}
public void OnClientDisconnect(int client)
{
if(hTimer[client]) delete hTimer[client];
}
public void CR_OnConfigSectionLoadPost(const char[] sName)
{
char buffer[PLATFORM_MAX_PATH];
KeyValues kvCR = CR_GetKeyValue();
kvCR.GetString("overlay", buffer, sizeof(buffer));
if (!buffer[0])
{
return;
}
PrecacheDecal(buffer);
Format(buffer, sizeof(buffer), "materials/%s", buffer);
AddFileToDownloadsTable(buffer);
ReplaceString(buffer, sizeof(buffer), ".vmt", ".vtf");
AddFileToDownloadsTable(buffer);
}
public void CR_OnRoundStart(KeyValues Kv)
{
if (Kv)
{
char buffer[PLATFORM_MAX_PATH];
Kv.GetString("overlay", buffer, sizeof(buffer), "");
if (buffer[0]) {
FormatEx(g_sOverlayBuffer, sizeof(g_sOverlayBuffer), "r_screenoverlay \"%s\"", buffer);
}
} else {
g_sOverlayBuffer[0] = 0;
}
}
public void CR_OnPlayerSpawn(int client, KeyValues Kv) {
if (g_sOverlayBuffer[0]) {
ClientCommand(client, g_sOverlayBuffer);
hTimer[client] = CreateTimer(g_fTime, Timer_ClearOverlay, client);
}
}
public Action Timer_ClearOverlay(Handle timer, int client)
{
hTimer[client] = null;
ClientCommand(client, "r_screenoverlay \"\"");
return Plugin_Stop;
}
UPD поправил очепятку
Последнее редактирование: