А что за плагин та? И про меню не очень понятноЕсли кому то не впадлу было бы прикольно заиметь плагин в какой то из вариаций.
1Вариант) Менять лого команд каждый раунд рандомно,
2Вариант) Меню с выбором лого команды, чтобы запоминалось и сохранялось
Есть квар позволяющий менять лого командыА что за плагин та? И про меню не очень понятно
Добрый вечер)
Подскажите как через код отследить активна ли разминка?
Если да, то выполнять код и наоборот. Пытался загуглить, не помогло
GameRules_GetProp("m_bWarmupPeriod")
Кто может написать лог для посещения админов? Для csgo использую MA.
Нужно что бы в логе было: SteamID, время захода, ник. И так же с выходом.
#include <sourcemod>
char sPath[PLATFORM_MAX_PATH];
public void OnPluginStart() {
BuildPath(Path_SM, sPath, sizeof(sPath), "logs/admin_log.log");
HookEvent("player_connect", EventAdminLog);
HookEvent("player_disconnect", EventAdminLog);
}
void EventAdminLog(Event hEvent, const char[] sEvent, bool db) {
int iClient = GetClientOfUserId(hEvent.GetInt("userid"));
if(iClient != 0 && GetUserFlagBits(iClient) != 0) {
char sSteam[64], sTime[32];
GetClientAuthId(iClient, AuthId_Steam2, sSteam, sizeof(sSteam));
FormatTime(sTime, sizeof(sTime), "%d/%m/%Y %H:%M");
LogToFile(sPath, "[AdminLog] [%s] %N %s | Время: %s", sSteam, iClient, sEvent[7] == 'd' ? "вышел с сервера":"зашел на сервер", sTime)
}
}
он выводит логи только о выходе с сервераC-подобный:#include <sourcemod> char sPath[PLATFORM_MAX_PATH]; public void OnPluginStart() { BuildPath(Path_SM, sPath, sizeof(sPath), "logs/admin_log.log"); HookEvent("player_connect", EventAdminLog); HookEvent("player_disconnect", EventAdminLog); } void EventAdminLog(Event hEvent, const char[] sEvent, bool db) { int iClient = GetClientOfUserId(hEvent.GetInt("userid")); if(iClient != 0 && GetUserFlagBits(iClient) != 0) { char sSteam[64], sTime[32]; GetClientAuthId(iClient, AuthId_Steam2, sSteam, sizeof(sSteam)); FormatTime(sTime, sizeof(sTime), "%d/%m/%Y %H:%M"); LogToFile(sPath, "[AdminLog] [%s] %N %s | Время: %s", sSteam, iClient, sEvent[7] == 'd' ? "вышел с сервера":"зашел на сервер", sTime) } }
он выводит логи только о выходе с сервера
#include <sourcemod>
char sPath[PLATFORM_MAX_PATH];
public void OnPluginStart() {
BuildPath(Path_SM, sPath, sizeof(sPath), "logs/admin_log.log");
HookEvent("player_activate", EventAdminLog);
HookEvent("player_disconnect", EventAdminLog);
}
void EventAdminLog(Event hEvent, const char[] sEvent, bool db) {
int iClient = GetClientOfUserId(hEvent.GetInt("userid"));
if(iClient != 0 && GetUserFlagBits(iClient) != 0) {
char sSteam[64], sTime[32];
GetClientAuthId(iClient, AuthId_Steam2, sSteam, sizeof(sSteam));
FormatTime(sTime, sizeof(sTime), "%d/%m/%Y %H:%M");
LogToFile(sPath, "[AdminLog] [%s] %N %s | Время: %s", sSteam, iClient, sEvent[7] == 'd' ? "вышел с сервера":"зашел на сервер", sTime)
}
}
Всем доброго времени суток ребят! Кому если не сложно, нужно написать простенький плагин:
При достижения определен. количества фрагов у игрока (Допустим 26) Пишет сообщение всем игрокам в окне подсказок (Например - Это Последний Уровень!) CSS V34. Sourcemod 1.6.3
#define KILLS_COUNT 26
#define MESSAGE "Это Последний Уровень!"
public OnPluginStart() {
HookEvent("player_death", EventPlayerDeath);
}
public EventPlayerDeath(Handle:event, const String:name[], bool:dontBroadcast) {
static kills[MAXPLAYERS+1];
new attacker = GetClientOfUserId(GetEventInt(event, "attacker"));
if(attacker != 0 && IsClientInGame(attacker)) {
kills[attacker]++;
if(kills[attacker] == KILLS_COUNT) {
PrintHintTextToAll(MESSAGE);
}
}
}
Пора обновлять SM.Всем доброго времени суток ребят! Кому если не сложно, нужно написать простенький плагин:
При достижения определен. количества фрагов у игрока (Допустим 26) Пишет сообщение всем игрокам в окне подсказок (Например - Это Последний Уровень!) CSS V34. Sourcemod 1.6.3
public void OnPluginStart()
{
HookEvent("player_death", eventPlayerDeath);
}
public Action eventPlayerDeath(Event event, const char[] name, bool dontBroadcast)
{
int attacker = GetClientOfUserId(event.GetInt("attacker"));
if(attacker && !IsFakeClient(attacker) && IsClientInGame(attacker) && GetClientFrags(attacker) == 26) PrintHintTextToAll("Это последний уровень!");
}
Ему для GunGame, видимо, а там количество фрагов от фактического количества убийств будет отличатьсяC:#define KILLS_COUNT 26 #define MESSAGE "Это Последний Уровень!" public OnPluginStart() { HookEvent("player_death", EventPlayerDeath); } public EventPlayerDeath(Handle:event, const String:name[], bool:dontBroadcast) { static kills[MAXPLAYERS+1]; new attacker = GetClientOfUserId(GetEventInt(event, "attacker")); if(attacker != 0 && IsClientInGame(attacker)) { kills[attacker]++; if(kills[attacker] == KILLS_COUNT) { PrintHintTextToAll(MESSAGE); } } }
event.GetInt - методмапы не поддерживаются вроде как на 1.6.3. будет логи сыпать мне кажется.Пора обновлять SM.
C-подобный:public void OnPluginStart() { HookEvent("player_death", eventPlayerDeath); } public Action eventPlayerDeath(Event event, const char[] name, bool dontBroadcast) { int attacker = GetClientOfUserId(event.GetInt("attacker")); if(attacker && !IsFakeClient(attacker) && IsClientInGame(attacker) && GetClientFrags(attacker) == 26) PrintHintTextToAll("Это последний уровень!"); }
Сообщения автоматически склеены:
Ему для GunGame, видимо, а там количество фрагов от фактического количества убийств будет отличаться
Поэтому и написал, что пора обновлять SM. Специально дал код именно полностью на новом синтаксисеevent.GetInt - методмапы не поддерживаются вроде как на 1.6.3. будет логи сыпать мне кажется.