CFT (Захват флага) - CSS Исправление багов и очень нужна помощь)

Grey83

не пишу плагины с весны 2022
Сообщения
8,569
Реакции
5,071
Да, это предотвратит что один из игроков забрал флаг и стоит на месте как афк.
можно сделать простую проверку на AFK по нажатым кнопкам и изменению координат игрока
к примеру на каких то картах флаг будет в центре карты и каждая из команды должна будет быстрее бежать до неё.
я имел в виду 3-й флаг, за который будут давать очки обеим командам (т.е. каждая сможет захватывать 2 флага из 3)

Правда в любом случае это усложнит как код плагина, так и файл конфига. Да и такой флаг нельзя будет автоматически устанавливать, если не задана точка в конфиге.

А я ведь ещё не реализовал запись координат в конфиг.
 

EaglEs

Гуру пробития усилений
Сообщения
926
Реакции
195
Если что, я разобрался с проблемными расширениями на Win7.

Там нужно было всего лишь заменить через HEX-редактор внутри dll-файлов имя процедуры с RtlPcToFileHeader на Beep (в шестнадцатиричном виде заменить последовательность 52746C5063546F46696C6548656164657200 на 426565700000000000000000000000000000).

Способ решения взял вот отсюда (кстати его предложил Forlix, знакомый ник, не правда ли? ^_^):
Это всего лишь костыль. Скорее всего придется sourcemod до 1.13 обновлять, если не хочешь менять ОС.
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,569
Реакции
5,071
Желающие побыть альфатестерами имеются? 😏

В общем плагин в текущем виде компилится с помощью SM 1.12 и 1.13.
Конфиг только читается, но все его изменения производить нужно будет самому в текстовом редакторе (позиции можно менять и в меню будет отображаться координеты установленых позиций, при смене карты будут загружаться те значения, которые были прописаны в конфиге).
Как оно работает без понятия, надеюсь существенных косяков не наделал.

В архиве находятся исходник с инклюдом, файл перевода (надеюсь там ничего не пропустил), дефолтный конфиг, а так же рабочие модельки флага с текстурками.
Исходник плагина, естественно, нужно компилить самому.
Сообщения автоматически склеены:

1141 строка кода, 34229 символов (некоторую нерабочую на данный момент часть кода и кое-какие комменты удалил в этом экземпляре)
SM1.13:
//// CTF alpha_08.09.2025.sp
//
// Code size:         42024 bytes
// Data size:         11864 bytes
// Stack/heap size:      16828 bytes
// Total requirements:   70716 bytes
//
// Compilation Time: 0,19 sec
// ----------------------------------------
Сообщения автоматически склеены:

P.S. Меню настройки баз так же доступно из раздела настройки сервера админки.
Сообщения автоматически склеены:

Исправил поиск энтити зон закупки.
Исправил ложные записи в логе ошибок.
Исправил проблемы с менюшкой (исправления как в исходнике, так и в файле переводов).
Немного изменил эффекты базы.
Подъём флагов пока не починил.

Ещё бы убрать звук, воспроизводящийся при выводе текста в хинт. Бесит.
Сообщения автоматически склеены:

UPD В alpha2_09.09.2025 нашёл и исправил ещё несколько косяков (исправления как в коде, так и в переводах).
Теперь подбор флага работает (а вот захват - нет: мимо базы бегаешь только без толку).
Ещё нужно решить как прикрепить модельку флага к игроку (нужно за спину, как и основное оружие, но это как остальное поправлю).
 
Последнее редактирование:

Grey83

не пишу плагины с весны 2022
Сообщения
8,569
Реакции
5,071
UPD Исправил в alpha3_09.09.2025 ещё косяков (снова исправления как в коде, так и в переводах).
Теперь флаг корректно роняется и доставляется. Правда после первого же захвата флаг пропадает с концами. =)
Но с этим буду разбираться уже завтра.
 

Vit_ amin

Добрая душа
Сообщения
1,525
Реакции
688
Ещё бы убрать звук, воспроизводящийся при выводе текста в хинт. Бесит.
Это клиентская часть:
  1. Перехват в UserMsg (возможно потребуется небольшой delay) и отправить StopSound (но лучше не через SM API), если надо могу найти сигнатуру для вызова данного функционала
  2. Отправить sv_hudhint_sound клиенту значение false
  3. Установить на сервер sv_hudhint_sound false
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,569
Реакции
5,071
Установить на сервер sv_hudhint_sound false
Помогло. Прописал sv_hudhint_sound 0 в конфиг сервера.
Позже добавлю в плагин изменение значения этого квара на 0 на время работы плагина.

Только что внёс ещё несколько исправлений. Теперь флаг нормально захватывается и после приноса последнего флага раунд корректно завершается.
Сообщения автоматически склеены:

Вроде всё что нужно работает и можно даже играть.
Добавил квар для радиуса базы: sm_ctf_base_radius. Кольца обозначающие базу будут автоматически менять свой размер в зависимости от его значения. Количество колец задаётся дефайном RINGS_NUM.
Автоматическое изменение квара sv_hudhint_sound пока не делал.

Осталось подобрать другие звуки, которые будут информативнее, что ли.
Ну и реализовать сохранение в конфиг изменённых позиций.
Сообщения автоматически склеены:

Пока что придётся обходиться копированием координат из консоли клиента. =)
 
Последнее редактирование:

Grey83

не пишу плагины с весны 2022
Сообщения
8,569
Реакции
5,071
Реализовал отображение на радаре текущего положения флага (в том числе во время его перемещения) как метки бомбы.

Как бы сделать чтобы на радаре показывало базы и второй флаг?
 

Virus

Участник
Сообщения
709
Реакции
792
  • Команда форума
  • #50
@Grey83 Приветствую, не совсем читал тут всю тему, можно ли сделать чтобы флаги автоматически по карте были разбросаны ? Чтобы не приходилось их расставлять вручную, к примеру выставив в конфиге определенное количество.

Может это конечно уже реализовано и я пропустил где то в теме.
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,569
Реакции
5,071
@Virus, флага ставится только два, по одному на команду.
Если координаты не заданы, то флаг ставится в первой найденой зоне закупки соответствующей команды.

В alpha5 вчера ещё немного исправлений сделал: дефолтные звуки поменял на более информативные, сделал отображение на радаре одного из флагов как мины (большего сделать с метками не удалось), изменил немного внешний вид баз. В принципе, ничего особо критического.
Сообщения автоматически склеены:

Вообще можно уже даже модули к плагину пилить.
Наверное ещё добавлю форвард завершения раунда и нативы (для получения инфы о счёте и состоянии флагов, вроде на базе ли, переносится кем-то или сколько осталось для возвращения).
Сообщения автоматически склеены:

Если имеются какие-то пожелания, то пишите их здесь. Будет что-то интересное - могу добавить что-то в сам плагин или вынести это в модули, в зависимости от того какие они будут.
 
Последнее редактирование:

Grey83

не пишу плагины с весны 2022
Сообщения
8,569
Реакции
5,071
@Vit_ amin, хотелось бы для каждой из команд свою метку (и чтобы метки для флага и базы тоже отличались друг от друга).
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,569
Реакции
5,071
@Vit_ amin, в принципе я могу поставить метки плэнтов на базы, но эти метки не будут перемещаться при изменении координат баз через админку до смены раунда (ограничение игры). А на оба флага повесить метку бомбы (правда будет мигать с большой частотой).
Просто выглядеть будет так себе.

Пытался повесить метки заложников, но не получилось (хз в каких параметрах ошибся, нужно исходники игры смотреть).
 

Vit_ amin

Добрая душа
Сообщения
1,525
Реакции
688
@Vit_ amin, в принципе я могу поставить метки плэнтов на базы, но эти метки не будут перемещаться при изменении координат баз через админку до смены раунда (ограничение игры). А на оба флага повесить метку бомбы (правда будет мигать с большой частотой).
Просто выглядеть будет так себе.

Пытался повесить метки заложников, но не получилось (хз в каких параметрах ошибся, нужно исходники игры смотреть).
Метки заложников не видны команде "Террорист"
 

DENZEL519

Работаю с AI !
Сообщения
453
Реакции
242
Если имеются какие-то пожелания, то пишите их здесь. Будет что-то интересное - могу добавить что-то в сам плагин или вынести это в модули, в зависимости от того какие они будут.
Добавить удаления бомбы если она есть на карте, и залогов если они предусмотрены картой. Чтобы не было такого, что есть и залоги, и бомба на картах, когда режим захват флага.
 
Последнее редактирование:

Grey83

не пишу плагины с весны 2022
Сообщения
8,569
Реакции
5,071
Добавить удаления бомбы если она есть на карте, и залогов если они предусмотрены картой.
Бомба при включеном плагине не выдаётся и раунд после её установки не заканчивается.
С заложниками должно быть точно так же как и с установкой бомбы (они спавнятся, но толку от этого не должно быть никакого). Хотя энтити можно и удалять, в принципе.
Сообщения автоматически склеены:

Добавил квар sm_ctf_round_time (менять длительность раунда можно хоть во время раунда, часы будут корректно показывать время; по истечению времени раунд закончится с результатом в зависимости от счёта команд).
Заменил дефолтные звуки на более подходящие.
Заменил модельку базы с трубы на фонарный столб.
На радаре террористам должно показывать их флаг как бомбу (для спецназа аналогичное пока не реализовывал).

Почему-то триггер флага спецназа глючно реагирует на меня, когда я играл на тестовом: срабатывал только после переноса флага админкой на себя или же когда летал в ноклипе. Хз от чего это происходит, так и не разобрался за 2 дня (видимо какой-то глюк именно trigger_multiple, с террористами такого ни разу не случалось).
 

Вложения

  • CTF alpha6_13.09.2025.zip
    89.3 КБ · Просмотры: 2
Последнее редактирование:

Grey83

не пишу плагины с весны 2022
Сообщения
8,569
Реакции
5,071
Реализовал запись настроек в файл, но оно удаляет пути загружаемых файлов, если в параметре совсем ничего не указывать (для фикса достаточно просто туда прописать любой символ, хоть пробел).
Ну и комментарии всё удаляются, естественно.

Кстати, в конфиге в секции для загрузки у меня прописаны не все необходимые файлы для флага. =)
Заметил, пока игрался с сохранением конфига.

Выложу с записью конфига чуток попозже. Может всё же разобью конфиг на 2 файла: один со списком загружаемых файлов (пути просто списком), а второй - с остальными параметрами.
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,569
Реакции
5,071
Изменения в alpha7_16.09.2025:
1. Конфиг:
Разбил файл конфига на два: один с моделькой флага, звуками и координатами, другой - с путями ресурсов для загрузки (в принципе можно прописать любые файлы для любого другого плагина из папок materials, models и sound, главное чтобы расширение файла было правильным ^_^).
Во втором конфиге можно использовать комментирование двумя слэшами: // коммент.
И заодно переписал алгоритм чтения основного конфига.
При изменении любых координат через админку плагина или командой конфиг будет перезаписываться и все комментарии оттуда удалятся.

2. Мини-карта:
На карте теперь отображаются базы и флаги. Базы видны всем, а флаги - только той команде, которой они принадлежат (ограничения самой игры). База террористов помечается иконкой бомбплейса А, флаг - иконкой бомбы. У спецназа база обозначена значком эвакуации (буква H), а флаг - иконкой заложника.

3. Прочее:
Плагин автоматически прописывает тег CTF серверу, на котором он работает. Ну и удаляет его при своей выгрузке. В принципе я это добавил ещё в альфе6, просто не указал это в сообщении с нею.

Тексты в чате всё ещё не все поддерживают перевод. Чуток позже займусь.
 

Вложения

  • CTF alpha7_16.09.2025.zip
    90.5 КБ · Просмотры: 9
Сверху Снизу