Данная новость является вольным переводом официальной заметки на сайте SourceMod с замечаниями и правками от переводчика
Оригинал можно прочитать здесь
Оригинал можно прочитать здесь
Привет всем, как Вы уже могли заметить, SourceMod 1.9 был объявлен стабильной веткой. Обновления файлов gamedata для 1.8 продолжатся в течении ограниченного времени. Ниже приведён список изменений в SourceMod с тех пор, как была объявлена стабильной ветка 1.8.
И ещё раз, спасибо сообществу, которое помогло нам разрабатывать ветку 1.9, начиная с официального релиза 1.8. В этот список входят следующие лица (ими не ограничивается): peace-maker, Headline, ErikMinekus, Powerlord, GoD-Tony, FlaminSarge, Benoist3012, iNilo, luki1412, klstriker, kossolax, Duk0, WildCard65, InvexByte, VoiDeD, The Creeper, Pelipoika, akowald, thewavelength, и @Kailo.
Исправления:
- Исправлены некоторые ошибки, связанные с сетевыми свойствами энтити в CS:GO*
- Исправлено неадекватное поведение команды sm_rename при массовом использовании (sm_rename @аll "Something")
- Исправлена ошибка, когда необязательные нативы (функции внешних плагинов - прим. переводчика) могли стать обязательными при перезагрузке плагина
- Исправлена ошибка, когда плагин номинаций карт (sm_nominate) мог возвращать Plugin_Continue (могло привести к ответу сервера "Unknown command" при выполнении в консоли - прим. переводчика)
- Исправлена ошибка, когда имена игроков могли быть обрезаны в середине UTF-8 символа*
- Исправлена ошибка, когда сервер мог упасть из-за SQLite драйвера при попытке объекта типа SqDatabase получить доступ к "мёртвому" SqDriver объекту.
- Исправлена ошибка, когда в include-файлах был указан неверный тип данных, который возвращается функцией UserMessageToBfRead()*
- Исправлена ошибка, когда событие OnMapTimeLeftChanged() могло не вызываться в CS:GO*
- Исправлена ошибка, когда сервер падал при попытке плагинами закрыть указатель на ответ от SQL-сервера*
- Исправлена ошибка, когда сервер падал при попытке склонировать большой массив при помощи функции CloneArray()
- Исправлена ошибка "Натив не зарегистрирован" при попытке получить доступ к свойству Style у объекта типа Panel*
- Исправлена ошибка, когда SourceMod мог вызвать Assert, если версия сервера - не релизная (бета, альфа - прим. переводчика)
- Исправлена утечка памяти в расширении Regex
- Исправлена ошибка, когда неудачное завершение транзакции к БД вызывало падение сервера
- Исправлена ошибка, когда меню не рисовались на клиенте
- Исправлена ошибка, когда размер свойства в битах возвращался некорректно функцией FindDataMapInfo()
- Исправлена ошибка, когда опция AllowClLanguageVar не работала корректно в CS:GO (клиент сам не отсылает свою локализацию, SourceMod вынужден вручную её запрашивать - прим. переводчика)*
- Исправлена ошибка, когда сервер падал при попытке получить доступ к "правилам игры" (GameRules) во время смены карты*
- Исправлена ошибка, когда функция GetCommandLineParam() всегда возвращала "дефолтное значение", если параметр в запусках сервера не был передан*
- Исправлена ошибка, когда адрес объекта типа ICommandLine не мог быть получен на Linux в играх Insurgency и DOI*
- Исправлена ошибка, когда KeyValues.SetUInt64() обрезал значение*
- Исправлена ошибка, когда событие OnEntityCreated() вызывалось не всегда
- Исправлена ошибка, когда функция CS_GetWeaponPrice() возвращала некорректную стоимость для оружия*
- Исправлена ошибка, когда значения конфига core.cfg не всегда кешировались
- Исправлена ошибка, когда событие OnPlayerRunCmd() могло спровоцировать падение сервера из-за некорректного указателя на объект типа CUserCmd
- Исправлена ошибка, когда один и тот же плагин мог быть загружен несколько раз на платформах Windows и MacOS
Улучшения:
- Добавлена функция Database.Format() с авто-экранизацией значений для более простой сборки SQL-запросов.
- Добавлена возможность добавлять несколько символов чат-триггера
- Добавлены конфигурационные файлы для basevotes и funvotes
- Добавлена поддержка многих фич для БД типа SQLite вроде волшебного :memory: (позволяет создать БД на время в ОЗУ сервера. закрытие указателя спровоцирует удаление БД без сохранения на диск - прим. переводчика)
- Добавлены свойства ArrayList.BlockSize и ArrayStack.BlockSize
- Добавлена функция FireEntityOutput()
- Добавлены функции IsNativeParamNullVector() и IsNativeParamNullString()
- Добавлена функция PrintToConsoleAll() (удивительно: в оригинале написано "native", по факту это всё же stock-функция - прим. переводчика)
- Добавлено событие OnPlayerRunCmdPost()
- Добавлена функция GetGameFrameTime()
- Добавлены функции IsNullVector() и IsNullString()
- Добавлены функции Call_PushNullVector() и Call_PushNullString()
- Добавлена поддержка для новой функции CreateItemEntityByName() для CS:GO*
- Добавлены функции CS_ItemDefIndexToID() и CS_WeaponIDToItemDefIndex()
- Добавлена функция KeyValues.ExportToString() и свойство KeyValues.ExportLength
- Добавлен новый тип указателей (Handle - прим. переводчика) FrameIterator для "пробега" по стеку вызовов функций.
- Добавлены функции TranslationPhraseExists() и IsTranslatedForLanguage()
- Добавлены переводы для префиксов ALL, ADMINS и TO ADMINS в чате от плагина basechat.
Другое:
- Включена поддержка Radio Menus для Black Mesa
- Увеличен размер буфера для TopMenus
- Удалена константа праздника TFHoliday_SpyVsEngyWar, т.к. праздник больше не существует в игре.
- Улучшена документация для sm_reserve_type, CharToLower(), CharToUpper(), RadToDeg(), ArrayList.Resize(), ResizeArray() и GetSteamAccountID().
- Исправлены некоторые опечатки в событии OnRemoveBan()*
- Добавлен интерфейс ICellArray для расширений
- outputs() метод был удалён у класса DebugReport: теперь это свойство.
- Исправлена команда sm_msay: она использовала захардкоженное значение 10 для MaxPageItems вместо стандартного (которое зависит от игры - прим. переводчика)*
- Произведены корректировки в плагине rockthevote: теперь используется RoundToCeil() вместо RoundToFloor() для более лучшего результата.
- Добавлено два свойства в чёрный список для CS:GO
- Исправлено поведение CHalfLife2::GetMapDisplayName()
- Теперь боты игнорируются при использовании фильтра @fake
- Исправлено поведение команды sm_map: теперь она выводит название карты с помощью GetMapDisplayName()
- Использование функции Event.FireToClient() теперь разрешено, независимо от того, разрешено ли "широковещание" или нет.
- Добавлен "потерянный параметр" для функции DataPack.IsReadable() (у IsPackReadable() ничего не теряли (ещё один повод не использовать в данный момент методмапы) - прим. переводчика)*
- Боты больше не "обходят" очередь киков.
- Убрано использование "пола человека" из переводов плагина nominations
- Теперь при неправильной сигнатуре, расширение CStrike пишет название функции, для которой она неверна*
- Никакие действия при завершении голосования не производятся, если игрок успел выйти с сервера до окончания голосования (basevotes).
- Теперь можно узнавать, когда наступает конец в датапаке (когда уже нечего читать - прим. переводчика).
- Обновлена функция TF2_IsPlayerInCondition() для поддержки новых кондов*
- Неудавшиеся для загрузки расширения теперь отображаются только если они требуются для работы каких-либо плагинов.
- Исправления в include-файлах, связанные с тегом const (где-то был лишний тег, где-то его не было - прим. переводчика)
Пункты, помеченные звездой в конце (*), были добавлены так же и в некоторых, более поздних сборках SourceMod 1.8
На странице стабильных сборок теперь располагается SourceMod 1.9, сборки SourceMod 1.8 так же доступны в течение некоторого времени здесь. А страница разрабатываемых, возможно нестабильных сборок, теперь содержит в себе новый SourceMod 1.10.
При копировании перевода, пожалуйста, указывайте прямую обратную ссылку на него!
Последнее редактирование: