Steam Works Group Manager

Ядро плагина Steam Works Group Manager 1.8

Версия Дата выпуска Скачивания Оценка  
1.8 590 5.00 звёзд 1 оценок Скачать
1.7 332 5.00 звёзд 1 оценок Скачать
1.6 48 0.00 звёзд 0 оценок Скачать
Нововведения:
  • Теперь плагин будет отключаться при каждой нормальной загрузке и будет оповещать Администратора о неустановленной группы.
Изменения:
  • Теперь проверка будет осуществляться после SteamWorks_OnValidateClient, а не OnClientPutInServer, как это было раньше.
  • Команда "swgm_check" теперь стала "sm_swgm_check".
  • Изменена последовательность статусов в ".inc" файле.
  • Переменные:
    • swgm_groupid => sm_swgm_groupid, значение по умолчанию теперь 0;
    • swgm_timer => sm_swgm_timer, значение по умолчанию теперь 60.0;
    • Рекомендуется удалить или поправить старый конфиг в папке cfg/sourcemod/
Исправления:
  • Оптимизация. Удалены лишние переменные.
  • Исправлен форвард "SWGM_OnJoinGroup", который отдавал лишнее значение.
Удалено:
  • Натив "SWGM_CheckPlayers", который можно было использовать для запуска проверки всех игроков. Вместо него можно использовать "SWGM_CheckPlayer" с циклом по всем игрокам.
  • Показ списка игроков с их статусами в консоль, команда "swgm_list". Вместо нее будет выложен отдельный модуль.


Теперь перед проверкой игрока рекомендуется проверять его статус при помощи "SWGM_GetPlayerStatus". Можно и нужно использовать вместо "IsClientInGame".
Пример:
PHP:
if(SWGM_GetPlayerStatus(iClient) != UNNASIGNED)
{
    // Code
}
  • Мне нравится
  • Фэйспалм
Реакции: Wend4r и teran
Исправлена ошибка проверки группы после смены ID группы.
  • Фэйспалм
Реакции: Wend4r
Нововведения:
  • Добавлены новые нативы (подробнее ниже).

Исправления:
  • Теперь плагин будет работать на всех серверах.
  • Незначительные оптимизации в коде.

Изменения:
  • Удален форвард SWGM_OnGroupCheck из-за бесполезности.
  • Переработан список игроков в swgm_list.
  • Изменен способ проверки игрока на состояние в группе.



Новые нативы:
PHP:
enum Status
{
    UNASSIGNED = 0,
    NO_GROUP,
    MEMBER,
    OFFICER,
    LEAVER
};

/**
 *  Возвращает статус игрока.
 *
 *  @param iClient          Индекс игрока.
 *  @return                 Статус.
 *  @error                  Игрок не на сервере, является ботом или его индекс превышает допустимую границу.
 */
native Status SWGM_GetPlayerStatus(int iClient);

/**
 *  Запускает проверку игрока на состояние в группе.
 *
 *  @param iClient          Индекс игрока.
 *  @error                  Игрок не на сервере, является ботом или его индекс превышает допустимую границу.
 *  @noreturn
 */
native void SWGM_CheckPlayer(int iClient);

/**
 *  Запускает проверку всех игроков на состояние в группе.
 *
 *  @noreturn
 */
native void SWGM_CheckPlayers();

Добавлено создание конфига swgm.cfg по пути csgo/cfg/sourcemod.
  • Фэйспалм
Реакции: Wend4r
Теперь игроки корректно проверяются на группу.
Проверка теперь происходит при OnClientAuthorized.

Исправлены
:

PHP:
void SWGM_OnJoinGroup(int iClient, bool IsOfficer)
void SWGM_OnLeaveGroup(int iClient);
  • Фэйспалм
Реакции: Wend4r
  1. Добавлен таймер проверки игроков — квар swgm_timer.
  2. Добавлены 2 функции.
  3. Теперь проверка происходит при OnClientPostAdminCheck.

PHP:
/**
 *    Вызывается когда игрок был проверен на группу.
 *
 *    @param iClient            Индекс игрока.
 *    @param IsMember            Игрок в группе ?
 *    @param IsOfficer        Игрок Админ/Офицер в группе ?
 *    @noreturn
*/
forward Action SWGM_OnJoinGroup(int iClient, bool IsMember, bool IsOfficer);

/**
 *    Вызывается когда игрок повторно проверяется и он вышел из группы.
 *
 *    @param iClient            Индекс игрока.
 *    @noreturn
*/
forward Action SWGM_OnLeaveGroup(int iClient);
  • Фэйспалм
Реакции: Wend4r

Основное
:

  1. Переход на новый синтаксис.
  2. Небольшая оптимизация.

Квары
:

sw_groupid
теперь swgm_groupid

Команды
:

sw_check теперь swgm_check
sw_list теперь swgm_list
  • Фэйспалм
Реакции: Wend4r
Сверху Снизу