Files
arcanegame-duels/README.md
T
deidara d933484514 v1.6.0: полные доработки
ИСПРАВЛЕНИЯ:
- Полное сохранение/восстановление инвентаря (гранаты, шлем, дефузер,
  патроны в клипе и резерве — раньше всё это терялось)
- RefillWeaponAmmo расширен на 25+ оружий
- Убран двойной reset state в Event_RoundStart

НОВЫЙ ФУНКЦИОНАЛ:
- Случайное оружие в weapon menu
- sm_duel_forceend — админ может принудительно завершить дуэль
- Файловый лог addons/sourcemod/logs/arcane_duels.log
- Статистика per-игрок (wins/losses/draws/rage-quits/total XP)
  в addons/sourcemod/data/arcane_duels_stats.cfg
- Команды игрока: !duelstats и !duel_top
- Rage-quit penalty: XP штраф + +1 поражение в статистике
- Звуковые эффекты на окончании дуэли (победа/поражение)
- ConVar agd_duel_block_external для интеграции с custom-rounds
  и другими плагинами

КОСМЕТИКА:
- Жёлтый префикс [DUELS] (был красный)
- Author = deidara.dev
2026-05-01 20:39:01 +03:00

7.9 KiB

ArcaneGameDUELS Core

Система дуэлей 1v1 для CS:GO серверов на SourceMod. Поддерживает арену, зону ограничения, выбор оружия, модификаторы, статистику и интеграцию с системой XP (lvl_ranks).

Функции

  • Дуэли 1v1 между любыми двумя игроками (автозапуск при 1v1 на сервере с >2 игроками)
  • Арена: фиксированные точки спавна из конфига ArcaneGameDUELS_Arena.cfg
  • Зона ограничения: дуэлянты не могут покинуть арену (настраиваемый padding)
  • Выбор оружия: Knife / Deagle / AK-47 / M4A4 / M4A1-S / AWP / Scout + случайное оружие
  • Модификаторы: обычный / Headshot Only
  • Полное сохранение и восстановление инвентаря после дуэли (оружие, патроны в магазине и резерве, гранаты, броня, шлем, дефузер, деньги)
  • Таймер дуэли с ограничением по времени
  • Интеграция XP через lvl_ranks (награда за победу + штраф за rage-quit)
  • Forwards для других плагинов: AGD_OnDuelStarted, AGD_OnDuelFinished, AGD_OnDuelDraw
  • Beacon-индикатор (звук + частицы) вокруг дуэлянтов
  • Звуковые эффекты: победителю — фанфара, проигравшему — death-камера
  • Файловый лог всех дуэлей в addons/sourcemod/logs/arcane_duels.log
  • Статистика per-игрок (wins / losses / draws / rage-quits / total XP) в файл addons/sourcemod/data/arcane_duels_stats.cfg
  • Команды !duelstats и !duel_top — статистика и топ-10 игроков
  • Админ-команда !duel_forceend для принудительной остановки дуэли
  • ConVar agd_duel_block_external — другие плагины могут временно блокировать авто-дуэли (например, во время кастомного раунда)

Зависимости

Установка

  1. Скомпилировать scripting/ArcaneGameDUELS_Core.sp
  2. Положить .smx в addons/sourcemod/plugins/
  3. Положить cfg/sourcemod/ArcaneGameDUELS_Arena.cfg в cfg/sourcemod/ на сервере
  4. Перезапустить сервер или загрузить плагин: sm plugins load ArcaneGameDUELS_Core

Конфиг арены

Путь: cfg/sourcemod/ArcaneGameDUELS_Arena.cfg (ключ-значения через KeyValues, на каждую карту своя секция).

Команды игрока

Команда Описание
!duel / sm_duel Информация о системе дуэлей
!duelstats / sm_duelstats Личная статистика (победы/поражения/винрейт)
!duel_top / sm_duel_top Топ-10 игроков по победам

Команды админа (флаг z / ROOT)

Команда Описание
sm_duel_setspawn1 / sm_duel_setspawn2 Сохранить точку спавна #1/#2
sm_duel_setzone1 / sm_duel_setzone2 Углы зоны ограничения
sm_duel_savearena Сохранить арену для текущей карты
sm_duel_reloadarena Перезагрузить конфиг арены
sm_duel_arena_info Показать данные арены
sm_duel_showzone Показать визуально зону
sm_duel_debugsolo Соло-дебаг (без 2-го игрока)
sm_duel_forceend Принудительно завершить активную дуэль

ConVars

ConVar По умолчанию Описание
agd_core_enable 1 Включить дуэли
agd_use_arena 1 Использовать арену
agd_duel_beacon 1 Включить beacon
agd_duel_prepare_time 10 Время подготовки (сек)
agd_duel_post_unfreeze_invuln 2.0 Неуязвимость после анфриза
agd_duel_win_money 1500 Деньги за победу
agd_duel_win_xp 100 XP за победу
agd_duel_time_limit 30 Лимит дуэли (сек, 0 = нет)
agd_weapon_allow_* 1 Разрешить оружие (knife/deagle/ak47/m4a1/m4a1s/awp/scout)
agd_duel_bypass_restrict_flags 1 Дать ROOT-флаг во время дуэли (обход других плагинов)
agd_zone_* разные Параметры зоны ограничения
agd_debug_allow_solo 1 Разрешить sm_duel_debugsolo
agd_duel_block_external 0 Внешняя блокировка (другой плагин может выставить в 1)
agd_duel_ragequit_xp_penalty 50 Штраф XP за выход во время дуэли
agd_duel_stats_enable 1 Сохранять статистику в файл
agd_duel_log_enable 1 Логировать дуэли в файл

Forwards / Natives

forward void AGD_OnDuelStarted(int player1, int player2);
forward void AGD_OnDuelFinished(int winner, int loser, int winnerXP, int loserXP);
forward void AGD_OnDuelDraw(int player1, int player2);

native bool AGD_IsDuelActive();
native bool AGD_IsBettingOpen();
native bool AGD_GetDuelPlayers(int &p1, int &p2);
native int  AGD_GetDuelParticipantXP(int client);
native int  AGD_GetWinnerMoneyReward();
native bool AGD_IsArenaReady();
native bool AGD_IsClientInDuel(int client);

Файлы данных

  • Статистика: addons/sourcemod/data/arcane_duels_stats.cfg (KeyValues per Steam ID)
  • Лог: addons/sourcemod/logs/arcane_duels.log (текстовый, формат [YYYY-MM-DD HH:MM:SS] EVENT: detail)

Версия

1.6.0 — Автор: deidara.dev

Changelog

  • 1.6.0
    • Жёлтый префикс [DUELS] (был красный)
    • Полное сохранение/восстановление инвентаря: гранаты, шлем, дефузер, патроны в клипе и резерве
    • RefillWeaponAmmo теперь знает 25+ оружий (все винтовки, SMG, дробовики, пистолеты, снайперки)
    • Добавлен пункт «Случайное оружие» в weapon menu
    • Новая админ-команда sm_duel_forceend — принудительно остановить любую активную/готовящуюся дуэль
    • Файловый лог дуэлей addons/sourcemod/logs/arcane_duels.log
    • Статистика per-игрок: wins/losses/draws/rage-quits + персистенция через addons/sourcemod/data/arcane_duels_stats.cfg
    • Команды !duelstats (личная стата) и !duel_top (топ-10 по победам)
    • Rage-quit penalty: XP-штраф (по cvar) и +1 поражение/rage-quit в стате
    • Звуковые эффекты: победителю — фанфара, проигравшему — death-камера
    • ConVar agd_duel_block_external — внешние плагины могут временно блокировать авто-дуэли
    • Убран двойной reset state в Event_RoundStart
    • Author = deidara.dev (был OpenAI / havno)
  • 1.5.3 — предыдущая версия