ExiteE
Участник
- Сообщения
- 120
- Реакции
- 10
ОбоснуйЖелаю не заниматься больше проектом.
ОбоснуйЖелаю не заниматься больше проектом.
Ребят, добавьте пожалуйста функцию иммунитета админу на этого плагина, мб через флаг можно было бы это сделать.
#pragma semicolon 1
#pragma newdecls required
#include <sourcemod>
public Plugin myinfo =
{
name = "Hide radar the dead player",
author = "Drumanid",
version = "1.0.1",
url = "Discord: Drumanid#9108"
};
ConVar g_hCvar;
public void OnPluginStart()
{
if(!(g_hCvar = FindConVar("sv_disable_radar")))
SetFailState("No found cvar: sv_disable_radar");
#define HOOKEVENT(%0,%1) HookEvent(%0, view_as<EventHook>(%1));
HOOKEVENT("player_spawn", Event_PlayerSpawn)
HOOKEVENT("player_death", Event_PlayerDeath)
HOOKEVENT("player_team", Event_PlayerTeam)
}
#define FLAG "b"
#define ON "0"
#define OFF "1"
#define RADAR(%0) \
{ int iClient = GetClientOfUserId(hEvent.GetInt("userid")); \
if(!IsFakeClient(iClient) && !(GetUserFlagBits(iClient) & ReadFlagString(FLAG))) g_hCvar.ReplicateToClient(iClient, %0); }
void Event_PlayerSpawn(Event hEvent)
RADAR(ON)
void Event_PlayerDeath(Event hEvent)
RADAR(OFF)
void Event_PlayerTeam(Event hEvent)
{
if(hEvent.GetInt("team") < 2)
RADAR(OFF)
}
Что тебе обосновывать? Если ты не понял, я просто ответил тебе, как ты в другой теме.Обоснуй
пасеба, держиC++:#pragma semicolon 1 #pragma newdecls required #include <sourcemod> public Plugin myinfo = { name = "Hide radar the dead player", author = "Drumanid", version = "1.0.1", url = "Discord: Drumanid#9108" }; ConVar g_hCvar; public void OnPluginStart() { if(!(g_hCvar = FindConVar("sv_disable_radar"))) SetFailState("No found cvar: sv_disable_radar"); #define HOOKEVENT(%0,%1) HookEvent(%0, view_as<EventHook>(%1)); HOOKEVENT("player_spawn", Event_PlayerSpawn) HOOKEVENT("player_death", Event_PlayerDeath) HOOKEVENT("player_team", Event_PlayerTeam) } #define FLAG "b" #define ON "0" #define OFF "1" #define RADAR(%0) \ { int iClient = GetClientOfUserId(hEvent.GetInt("userid")); \ if(!IsFakeClient(iClient) && !(GetUserFlagBits(iClient) & ReadFlagString(FLAG))) g_hCvar.ReplicateToClient(iClient, %0); } void Event_PlayerSpawn(Event hEvent) RADAR(ON) void Event_PlayerDeath(Event hEvent) RADAR(OFF) void Event_PlayerTeam(Event hEvent) { if(hEvent.GetInt("team") < 2) RADAR(OFF) }
sm_chtoto = CreateConVar("chtoto", "1", "[(1)Вкл/(0)Выкл] ", _, true, 0.0, true, 1.0);
grenade = GetConVarInt(sm_chtoto);
ingore = FindConVar("sv_ignoregrenaderadio");
SetConVarInt(ignore, grenade);
CreateConVar и FindConVar возвращает Handle конвара (ссылку на него), что бы получить его значение, используйтеРебят, есть такая проблема, в ниже приведённой конструкции(Лишнее убрал) вне зависимости от значения квара `sm_chtoto`(На название не смотрите, просто для примера) в конфиге, переменная сервера `sv_ignoregrenaderadio` всегда выставлена на 1. Кто может подсказать как это решить, смотрел другие плагины, но как то туго идёт. Просто надо чтобы от значения квара менялась аналогично переменной сервера.
C++:sm_chtoto = CreateConVar("chtoto", "1", "[(1)Вкл/(0)Выкл] ", _, true, 0.0, true, 1.0); grenade = GetConVarInt(sm_chtoto); ingore = FindConVar("sv_ignoregrenaderadio"); SetConVarInt(ignore, grenade);
cvar_chtoto = CreateConVar("chtoto", "1", "[(1)Вкл/(0)Выкл] ", _, true, 0.0, true, 1.0);
FindConVar("sv_ignoregrenaderadio").IntValue = cvar_chtoto.IntValue;
public void OnPluginStart()
{
ConVar cvar = CreateConVar("sm_something", "1", "1/0 - enable/disable", _, true, _, true, 1.0);
cvar.AddChangeHook(CVarChanged);
CVarChanged(cvar, NULL_STRING, NULL_STRING);
}
public void CVarChanged(ConVar cvar, const char[] oldValue, const char[] newValue)
{
static ConVar cvar1;
if(!cvar1 && !(cvar1 = FindConVar("sv_ignoregrenaderadio")))
{
LogError("Can't find convar 'sv_ignoregrenaderadio'!");
return;
}
cvar1.SetInt(cvar.IntValue);
}
Это понятнотащемта в клиенте есть автопокупка же
в обычном блокноте правишь и всё покупается одним нажатием кнопки на клаве
Не,в этом суть маленько другая)Владимир96, ты про такое, что ли?
![]()
Grey83/SourceMod-plugins
Contribute to Grey83/SourceMod-plugins development by creating an account on GitHub.github.com