Переход на Wend4r SDK
Менеджмент памяти через g_pMemAlloc
Рефакторинг форвардов
Автоматическое получение смещений ExecuteStringCommand и ConsolePrint
И другие не очень важные изменения
Добавлено
PTaH_SetPlayerAvatar - позволяет изменить аватар игроку
CEconItemDefinition::GetUsedByTeam позволяет узнать для какой команды предназначен предмет
Нативы для работы с CAttributeList, CEconItemAttribute и CEconItemAttributeDefinition
CEconItemDefinition.GetClassName заменён на CEconItemDefinition.GetDefinitionName
Исправлено падение при вызове функции с невалидной сигнатурой
Небольшие изменения AMBuild и gamedata
Исправлен краш, когда в GameData не было необходимых значений
Переработан inc (Wend4r)
Добавлено:
Natives
PTaH_GetPlayerInventory
CCSPlayerInventory.GetItemInLoadout
CCSPlayerInventory.GetItemsCount
CCSPlayerInventory.GetItem
CEconItemView.GetAttributeValueByIndex
CEconItemDefinition.GetEconImage (Wend4r)
CEconItemDefinition.GetModel (Wend4r)
CEconItemView.GetItemID (Wend4r)
Hook
InventoryUpdate
Устарело
PTaH_GetItemInLoadout
PTaH_GetEconItemViewFromWeapon
Исправление падения сервера при выключении
Исправление компиляции на SM 1.10+
Для компиляции теперь нужен SM 1.10+
Больше не требуется IBinTools, что позволяет нормально работать на SM 1.9-1.10
Переписана большая часть екстейшена, повышена стабильность
Нативы
Удалено: PTaH_MD5File, всё AddrInfo
Добавлено: PTaH_ForceFullUpdate, PTaH_SpawnItemFromDefIndex, PTaH_FX_FireBullets
Форварды:
Теперь хуки включаются только при надобности, все имеют Pre и Post, совместимости со старыми нет
ConsolePrint теперь перехватывает все сообщения
Удалены: ServerConsolePrint, MapContentList
Добавлен: ClientVoiceTo
Поддержка нового параметра GiveNamedItem (Origin - позиция где будет создано оружие) после обновления Danger Zone
PHP:/** GiveNamedItem * * It called when a player receives a item. * - * @param iClient Player Index. * @param sClassname Classname item. * @param Item Customization item. * @param iEnt Index Entities item. * @param OriginIsNULL True if Origin is NULL_VECTOR. * @param Origin Coordinates where the item was created at (You cannot compare Origin == NULL_VECTOR, use OriginIsNULL param for it). * - * @noreturn */ function void (int iClient, const char[] sClassname, const CEconItemView Item, int iEnt, bool OriginIsNULL, const float Origin[3]); /** GiveNamedItemPre * * Called before the issuance of the item. * - * @param iClient Player Index. * @param sClassname Classname weapons. * @param Item Customization item. * @param IgnoredCEconItemView If true ignores CEconItemView the item. * @param OriginIsNULL True if Origin is NULL_VECTOR. * @param Origin Coordinates where the item was created at (You cannot compare Origin == NULL_VECTOR or set Origin = NULL_VECTOR, use OriginIsNULL param for it). * - * @return Return Plugin_Stop or Plugin_Handled stop granting item. Return Plugin_Continue allow issuance item without changes. Returns Plugin_Changed allow issuance item with changes. */ function Action (int iClient, char sClassname[64], CEconItemView &Item, bool &IgnoredCEconItemView, bool &OriginIsNULL, float Origin[3]); /** * It gives the player item with the specified CEconItemView. * @param iClient Index Player. * @param sClassname Classname item. * @param Item Customization item. * @param Origin Coordinates the item will be created at, or NULL_VECTOR. * - * @return Return index item. * - * @error invalid iClient. */ native int PTaH_GivePlayerItem(int iClient, const char[] sClassname, CEconItemView Item = view_as<CEconItemView>(0), const float Origin[3] = NULL_VECTOR);
ServerConsolePrint больше не игнорирует сообщения из других потоков(но их нельзя заблокировать)
PHP:/** ServerConsolePrint * * Called before displaying a message in the server console (Be careful with the messages). * - * @param sMessage The message is printed to the server console. * @param severity Logging severity message. * @param bBlockable False if message was cached from another thread (Plugin_Stop and Plugin_Handled are ignored). * - * @return Return Plugin_Stop or Plugin_Handled restrict the display messages. Return Plugin_Continue allow display messages without changes. */ function Action (const char[] sMessage, LoggingSeverity severity, bool bBlockable);
Исправление крашей
ОффтопВроде проверил всё, но может ещё что-то не работает норм, сообщайте
- Добавлено
- PTaH_Version - позволяет проверить версию PTaH
- Востановлено
- GetStatTrakKill - спасибо Kailo
- Удалено
- PTaH_SpawnItemFromDefIndex - функция больше не нужна, оружие созданное через CreateEntityByName нормально функционирует
- GetCCSWeaponData - не нашла приминения
- Исправлено
- GetDefinitionIndex - баг когда всегда возвращало 0
- IsCustomItemView - баг
- ServerConsolePrint - исправлен краш сервера когда сообщения были из другого потока (временное решение так как те сообщения пропускаються)
- Исправлен натив GetDefinitionIndex на винде
- PTaH_GetEconItemViewFromWeapon теперь не требует геймдату
- Добавлен натив PTaH_SpawnItemFromDefIndex - позволяет спавнить предметы по их DefinitionIndex (CEconItemView валидна так что багов у оружия нет)