83 lines
3.8 KiB
Markdown
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
|