Files

83 lines
3.8 KiB
Markdown

# ArcaneGameDUELS Core
Система дуэлей 1v1 для CS:GO серверов на SourceMod. Поддерживает арену, зону ограничения, выбор оружия, модификаторы и интеграцию с системой XP (lvl_ranks).
## Функции
- Дуэли **1v1** между любыми двумя игроками
- Автоматический запуск дуэли при обнаружении двух игроков на сервере
- **Арена**: фиксированные точки спавна из конфига `ArcaneGameDUELS_Arena.cfg`
- **Зона ограничения**: дуэлянты не могут покинуть арену (настраиваемый padding)
- Выбор оружия: Deagle, AK-47, M4A4, M4A1-S, AWP, Scout, Knife
- Модификаторы: обычный / NoZoom / Headshot Only
- Сохранение и восстановление инвентаря и здоровья после дуэли
- Таймер дуэли с ограничением по времени
- Интеграция XP через **lvl_ranks** (награда за победу)
- **Forwards** для других плагинов: `OnDuelStarted`, `OnDuelFinished`, `OnDuelDraw`
- Beacon-индикатор (звук + частицы) вокруг дуэлянтов
## Зависимости
- [SourceMod](https://www.sourcemod.net/) 1.10+
- [SDKHooks](https://wiki.alliedmods.net/SDK_Hooks) (входит в SourceMod)
- [lvl_ranks](https://github.com/levans95/lvl_ranks) — для начисления XP
## Установка
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`
```
// Позиция спавна игрока 1
sm_duels_arena_spawn1_x "0.0"
sm_duels_arena_spawn1_y "0.0"
sm_duels_arena_spawn1_z "0.0"
sm_duels_arena_spawn1_yaw "0.0"
// Позиция спавна игрока 2
sm_duels_arena_spawn2_x "200.0"
sm_duels_arena_spawn2_y "0.0"
sm_duels_arena_spawn2_z "0.0"
sm_duels_arena_spawn2_yaw "180.0"
```
## ConVars
| ConVar | По умолчанию | Описание |
|---|---|---|
| `sm_duels_enable` | `1` | Включить/выключить дуэли |
| `sm_duels_use_arena` | `1` | Использовать арену |
| `sm_duels_beacon` | `1` | Включить beacon у дуэлянтов |
| `sm_duels_prepare_time` | `5` | Время подготовки перед дуэлью (сек) |
| `sm_duels_win_xp` | `50` | XP за победу |
| `sm_duels_time_limit` | `120` | Лимит времени дуэли (сек) |
| `sm_duels_zone_enable` | `1` | Включить зону ограничения |
| `sm_duels_zone_grace` | `3.0` | Время предупреждения перед кикбеком (сек) |
| `sm_duels_allow_deagle` | `1` | Разрешить Deagle |
| `sm_duels_allow_ak47` | `1` | Разрешить AK-47 |
| `sm_duels_allow_awp` | `1` | Разрешить AWP |
| `sm_duels_debug_solo` | `0` | Debug: одиночный режим (без второго игрока) |
## Forwards (для других плагинов)
```sourcepawn
// Дуэль началась
forward void OnDuelStarted(int player1, int player2);
// Дуэль завершилась
forward void OnDuelFinished(int winner, int loser);
// Дуэль завершилась ничьей
forward void OnDuelDraw(int player1, int player2);
```
## Версия
`1.5.3` — Автор: OpenAI / havno