Компиляция и публикация плагинов

Dragokas

Добрая душа
Сообщения
229
Реакции
213
12. Компиляция плагинов:
  • Compiling SourceMod Plugins - Руководство с различными методами локальной компиляции.
  • Online SourceMod Compiler - Компиляция через браузер путём копирования-вставки кода; сторонние inc файлы не поддерживаются.
  • Limetech Compiler by asherkin - Компиляция через браузер путём копирования-вставки кода, разрешены сторонние include файлы.

  • Загрузка плагинов:


13. Публикация плагинов:
Рекомендации при публикации темы с новым плагином.​
Writing Sane Plugins - Множество советов и часто встречающиеся ошибки.​
Вы будете удивлены, на сколько часто люди спрашивают самую элементарную информацию, даже если для вас она кажется очевидной и поэтому не указывается в вашей теме.​
1. Предоставляйте информативное описание о функционале плагина и о том, как им пользоваться.​
2. Перечисляйте все команды, квары и имя файла конфига с кварами, а также его расположение.​
3. Объясняйте, как установить плагин, включая указание путей к дополнительным файлам настроек, моделей, звуков и т.п.​
4. Перечисляйте требования и оставляйте гиперссылки на зависимости, без которых ваш плагин не сможет заработать, такие как инклуды, другие плагины и расширения.​
5. Загружайте заранее скомпилированный .SMX только в том случае, если вы используете сторонние инклуды, из-за которых форумный движок (AM) не сможет самостоятельно их скомпилировать при нажатии на ссылку "Get Plugin".​
6. Используйте знаки подчёркивания "_" в именах файлов. Пробелы " " усложняют загрузку плагина вручную, а при скачивании в их именах появляются знаки "%20" на месте пробелов. (Прим. переводчика: вы всё ещё можете взаимодействовать с такими плагинами из консоли, окружив имя кавычками, например, sm plugins reload "my plugin.smx").​
7. Также, не используйте такие знаки, как "[", "]" или "&" в именах файлов, т.к. они отображаются в виде "%5B", "%5D" и "%26" при загрузке с AlliedMods.​



Благодарности:
- разработчикам SourceMod и MetaMod за их великолепную работу.​
- авторам SourceMod wiki - здесь приведены ссылки на множество их статей.​
- авторам плагинов и сообществу SourceMod за множество плагинов и ссылок в этой статье.​
- Dragokas за тонну дополнений в этой теме и множество рекомендаций!​
- Maxximou5, Marttt, zipcore, Desktop, MAGNAT2645, xZk, asherkin, JoinedSenses, Lux, GAMMACASE, SM9(); и CrazyHackGUT за их вклад в эту тему.​



Список изменений:

27.03.2022​
- В раздел "Продвинутые техники" добавлена подсекция "Пропы (Prop_Data, Prop_Send) - описание различных свойств сущностей"​
- В подсекцию "Пропы" добавлена заметка "Различия между m_vecOrigin [оффсет] и m_vecAbsOrigin [координаты]" от Bacardi.​

22.02.2022​
- В раздел "Лучшие практики" добавлена инфа о различиях между глобально объявленным int и static int (спасибо Bacardi).​

24.01.2022​
- В раздел "Распространённые ошибки" добавлено описание ошибки "Exception reported: Failed to clone array. Out of memory"​

17.01.2022​
- В раздел "Распространённые ошибки" => добавлена инфа о FormatEx + Static, а также про изменение строковой переменной при передаче по значению.​

16.01.2022​
- В раздел "Различные функции" => добавлена команда developer 1​
- Плагин Health Preserve - добавлен в список рекомендованных фиксов для L4D1/2​
- Плагин Map Slots Locker - добавлен в список рекомендованных фиксов для L4D1/2​

16.12.2021​
- В раздел "Продвинутые техники" => "Патч памяти" добавлены ссылки на:​
* Hooking without extension от BHaType​
* Memory Extended форк от Dragokas (развитие проекта)​
* SM Reverse Engineering - Руководство по созданию сигнатур | Видео-версия от Scag​
- В разделе "Установка сервера" подправлен батник установки (параметр force_install_dir должен идти перед параметром login).​

15.12.2021​
- В раздел "Продвинутые техники" => "Навигация" добавлена статья на русском "Работа с навигационной сеткой".​

17.10.2021​
- В раздел "Лучшие практики" добавлено упоминание 8-ричной формы записи чисел для режима работы с файлами/папками.​

15.10.2021​
- В раздел "Распространенные ошибки" добавлен пункт о HookEvent и потерянном "const".​
- В раздел "Распространенные ошибки" добавлена подсекция "Ошибки в клиентской консоли".​
- В раздел "Продвинутые техники" добавлены примеры кода установки группы коллизии, и управления твердостью (solid), а также ссылки CollisionHook.​
- В раздел "Лучшие практики" добавлено упоминание плагина Console Cmd As Host (Listen servers only).​
- В раздел "Лучшие практики" добавлено замечание о страховке события "round_start" через "map_transition" и OnMapEnd().​
- В раздел "Лучшие практики" добавлено замечание о двойном вызове колбека события "round_start".​

15.08.2021​
- В раздел "Различная информация" добавлено пару слов о STEAM_ID_STOP_IGNORING_RETVALS.​
- В раздел "Различная информация" добавлено о максимально допустимой длине куки.​
06.07.2021​
- Добавлен раздел VScript в "продвинутые техники".​
30.04.2021​
- добавлена заметка о способе дампа клиентских переменных (раздел "Содержание").​
- добавлена команда +posedebug - отображение имени позы / анимации.​
- добавлена команда soundinfo - отображает список звуков, которые воспроизводятся в данный момент.​
12.03.2021​
- добавлена команда net_showevents 2 (раздел "Различные функции и информация")​
26.02.2021​
- дополнен раздел "Продвинутые техники": добавлены Source Scramble от nosoop, SM-Memory от Scag;​
- добавлен подраздел "Чтение памяти в консоль" с плагинами Gamedata Offset Tester (оригинал от SilverShot) (форк от Dragokas), Gamedata Sig Tester от SilverShot.​

10.01.2021​
- перевод на русский язык​
- множество правок и дополнений​
- добавлен раздел "Терминология"​
- обновлён раздел "Подключение к серверу"​
- Распространённые ошибки разделены на группы​
- Добавлен пункт о "ChangeEdictState"​
- добавлен ключ -condebug​
- дополнен SetTransmit (инфа от asherkin)​
- добавлены команды report_entities, cl_showents​
- Исправлен упущенный OnMapEnd() в части примеров "Как остановить (удалить) глобальный таймер"​
- Плагин Remove Weapons/Carryables Collision добавлен в список рекомендованных фиксов для L4D1/2​
- Плагин Return To Lobby Fix добавлен в список рекомендованных фиксов для L4D1/2​
- Плагин Cvar and Command List добавлен в список "Для разработчиков"​
- Плагин Entity Limits Logger добавлен в список "Для разработчиков"​
- Плагин ac_debug заменён на новый релиз Valve Profiler (теперь с поддержкой L4D1/2)​
- Скрипт [VBS] Simple Regexp Syntax updater добавлен в "Другие инструменты"​
- Скрипт MethodMapize добавлен в "Другие инструменты"​
- Добавлена ссылка на статью: "Как сделать модель компактной" (в "Другие инструменты")​
 
Последнее редактирование:

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #2
Плагин DevCmds предоставляет команды
Было бы неплохо приложить ссылку на этот плагин в этом фрагменте.

5. Загружайте заранее скомпилированный .SMX только в том случае, если вы используете сторонние инклуды, из-за которых форумный движок (AM) не сможет самостоятельно их скомпилировать при нажатии на ссылку "Get Plugin".
Это актуально только для AM. Возможно стоит отдельную категорию в статье под публикацию на АМ выделить?
 

Dragokas

Добрая душа
Сообщения
229
Реакции
213
Просто напоминание, что я периодически обновляю темы Руководства, раз в 2-3 месяца.
Что изменилось, можно посмотреть под спойлером выше - "Список изменений".
 
Сверху Снизу