Initial commit: arcanegame-duels plugin with documentation and config
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
# 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
|
||||
@@ -0,0 +1,26 @@
|
||||
// ArcaneGameDUELS Arena Configuration
|
||||
// Укажите координаты точек спавна арены для текущей карты.
|
||||
// Координаты можно узнать командой: getpos (в консоли CS:GO от имени игрока)
|
||||
|
||||
// ── Спавн игрока 1 ────────────────────────────────────────────
|
||||
sm_duels_arena_spawn1_x "0.0"
|
||||
sm_duels_arena_spawn1_y "0.0"
|
||||
sm_duels_arena_spawn1_z "64.0"
|
||||
sm_duels_arena_spawn1_yaw "0.0"
|
||||
|
||||
// ── Спавн игрока 2 ────────────────────────────────────────────
|
||||
sm_duels_arena_spawn2_x "300.0"
|
||||
sm_duels_arena_spawn2_y "0.0"
|
||||
sm_duels_arena_spawn2_z "64.0"
|
||||
sm_duels_arena_spawn2_yaw "180.0"
|
||||
|
||||
// ── Зона арены (опционально, используется если sm_duels_zone_enable = 1) ─
|
||||
// Минимальная точка зоны (нижний левый угол)
|
||||
sm_duels_arena_zone_min_x "-200.0"
|
||||
sm_duels_arena_zone_min_y "-200.0"
|
||||
sm_duels_arena_zone_min_z "0.0"
|
||||
|
||||
// Максимальная точка зоны (верхний правый угол)
|
||||
sm_duels_arena_zone_max_x "500.0"
|
||||
sm_duels_arena_zone_max_y "200.0"
|
||||
sm_duels_arena_zone_max_z "300.0"
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user