Написание плагинов

Truyn

King of clowns
Сообщения
1,591
Реакции
749
Если кому то не впадлу было бы прикольно заиметь плагин в какой то из вариаций.
1Вариант) Менять лого команд каждый раунд рандомно,
2Вариант) Меню с выбором лого команды, чтобы запоминалось и сохранялось
 

Nekro

Терра инкогнита
Сообщения
4,025
Реакции
2,260
Если кому то не впадлу было бы прикольно заиметь плагин в какой то из вариаций.
1Вариант) Менять лого команд каждый раунд рандомно,
2Вариант) Меню с выбором лого команды, чтобы запоминалось и сохранялось
А что за плагин та? И про меню не очень понятно
 

Truyn

King of clowns
Сообщения
1,591
Реакции
749
А что за плагин та? И про меню не очень понятно
Есть квар позволяющий менять лого команды
mp_teamlogo_2 astr
mp_teamlogo_1 fntc

Вот из этого сделать плагин который рандомно ставит лого или с меню выбора

P.s нашел плагин уже, не знаю правда рабочий или нет
 

skaeN

Участник
Сообщения
204
Реакции
108
Добрый вечер)
Подскажите как через код отследить активна ли разминка?
Если да, то выполнять код и наоборот. Пытался загуглить, не помогло
 

xstage

🏹
Сообщения
726
Реакции
754
Добрый вечер)
Подскажите как через код отследить активна ли разминка?
Если да, то выполнять код и наоборот. Пытался загуглить, не помогло
GameRules_GetProp("m_bWarmupPeriod")
Юзается в [VIP] Respawn. Возвращает 0/1.
 

Gazyi

Участник
Сообщения
11
Реакции
3
Можно ли как-нибудь поменять позицию хитбокса неэкипированного щита в CS:GO?

Немного изменил старую модель щита - поменял кость, которая отвечает за позицию на модели игрока. Визуально щит теперь имеет другую позицию, но его хитбокс так и привязан к spine2. Хитбокс точно используется с этой модели, так как стрельба по окну наносит урон игроку (у новой модели в хитбоксе нет дыры в районе окна), а не щиту.
 

WodiX

Участник
Сообщения
202
Реакции
29
Кто может написать лог для посещения админов? Для csgo использую MA.
Нужно что бы в логе было: SteamID, время захода, ник. И так же с выходом.
 

xstage

🏹
Сообщения
726
Реакции
754
Кто может написать лог для посещения админов? Для csgo использую MA.
Нужно что бы в логе было: SteamID, время захода, ник. И так же с выходом.
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)
    }
}
 

Туник

Участник
Сообщения
1,281
Реакции
263
Нужна небольшая помощь с плагином, нужно убрать из меню (выбор оружия), и сделать чтобы сразу показывало список оружия, в зависимости от режима который я в конфиге мог настроить, на каком оружии играть допустим пистолеты, то при нажатии на G - тут работает guns menu, открывался список с пистолетами, также убрать пункт из меню по типу откл-вкл вид показа убийств.
 

Вложения

  • deathmatch.sp
    137.3 КБ · Просмотры: 4

WodiX

Участник
Сообщения
202
Реакции
29
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)
    }
}
он выводит логи только о выходе с сервера
 

xstage

🏹
Сообщения
726
Реакции
754
он выводит логи только о выходе с сервера
C-подобный:
#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)
    }
}
 

Truyn

King of clowns
Сообщения
1,591
Реакции
749
Поправьте кто нить под ласт версию materialadmin плагин из темы(не могу скомпилировать) ругается на error 017: undefined symbol "MAGetDatabaseConnect"


Спасибо
Сообщения автоматически склеены:

Разобрался сам
Сообщения автоматически склеены:

Не пойму что он от меня хочет
L 11/22/2021 - 21:02:44: [SM] Exception reported: invalid handle 0 (error: 4)
L 11/22/2021 - 21:02:44: [SM] Blaming: SourceSleuth.smx
L 11/22/2021 - 21:02:44: [SM] Call stack trace:
L 11/22/2021 - 21:02:44: [SM] [0] IsEndOfFile
L 11/22/2021 - 21:02:44: [SM] [1] Line 223, E:\PLUGINS CSGO\Plugins\compilator\addons\sourcemod\scripting\SourceSleuth.sp::LoadWhiteList
L 11/22/2021 - 21:02:44: [SM] [2] Line 48, E:\PLUGINS CSGO\Plugins\compilator\addons\sourcemod\scripting\SourceSleuth.sp::OnPluginStart
L 11/22/2021 - 21:02:44: [SM] Unable to load plugin "SourceSleuth.smx": Error detected in plugin startup (see error logs)
Сообщения автоматически склеены:

Оказывается в изменённый версии кфг в, корень перенесли путь :/
 

Вложения

  • SourceSleuth.sp
    6.2 КБ · Просмотры: 5
  • SourceSleuth.smx
    6.5 КБ · Просмотры: 4
Последнее редактирование:

Yurka_Bear

Участник
Сообщения
61
Реакции
4
Всем доброго времени суток ребят! Кому если не сложно, нужно написать простенький плагин:
При достижения определен. количества фрагов у игрока (Допустим 26) Пишет сообщение всем игрокам в окне подсказок (Например - Это Последний Уровень!) CSS V34. Sourcemod 1.6.3
 

xstage

🏹
Сообщения
726
Реакции
754
Всем доброго времени суток ребят! Кому если не сложно, нужно написать простенький плагин:
При достижения определен. количества фрагов у игрока (Допустим 26) Пишет сообщение всем игрокам в окне подсказок (Например - Это Последний Уровень!) CSS V34. Sourcemod 1.6.3
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);
        }
    }
}
 

Paranoiiik

хачю клиентмод
Сообщения
2,047
Реакции
1,490
Всем доброго времени суток ребят! Кому если не сложно, нужно написать простенький плагин:
При достижения определен. количества фрагов у игрока (Допустим 26) Пишет сообщение всем игрокам в окне подсказок (Например - Это Последний Уровень!) CSS V34. Sourcemod 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("Это последний уровень!");
}
Сообщения автоматически склеены:

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);
        }
    }
}
Ему для GunGame, видимо, а там количество фрагов от фактического количества убийств будет отличаться
 

Madness aka null138

Участник
Сообщения
713
Реакции
734
Пора обновлять 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, видимо, а там количество фрагов от фактического количества убийств будет отличаться
event.GetInt - методмапы не поддерживаются вроде как на 1.6.3. будет логи сыпать мне кажется.
 

Paranoiiik

хачю клиентмод
Сообщения
2,047
Реакции
1,490
Сверху Снизу