
Наконец то мы все дождались выхода новой версии SAMP - 0.3e! Несколько нововведений доработки:
Возможности 0.3e RC1
- Исправлены проблемы безопасности предыдущих версий, из-за которых
сервера могли атаковать с помощью специальных утилит. Исправления
требуют обновления как сервера, так и клиента.
- Исправлен баг, появившийся в 0.3d, когда игрок мог избежать смерти, если у него проигрывалась какая-то анимация.
- Решена проблема с установкой цвета игрокам, имеющим ID выше 500.
- Исправлена проблема с киком игрока при использовании в моде SpawnPlayer().
- Исправлена проблема с сервером, из-за которой мог происходить крэш
клиента (браузера серверов) в случае, когда сервер возвращал неверные
данные.
Кроме обновлений безопасности, SA-MP 0.3e имеет несколько новых возможностей:
- Добавлены несколько новых моделей за авторством cessil, включающих в себя цилиндр, трость, несколько различных стен.
- Диалоги теперь имеют панель управления в виде кнопок.
- Сервер может получать версию клиента, используемую игроком через новую функцию GetPlayerVersion().
native GetPlayerVersion(playerid, const version[], len); // Возвращает версию клиента SA-MP
- Новый параметр, добавленный в колбэк SetPlayerCameraLookAt() являет
собой указание по перемещению камеры: она либо плавно двигается в
заданную позицию, либо мгновенно "телепортируется".
#define CAMERA_CUT 2 #define CAMERA_MOVE 1 native SetPlayerCameraLookAt(playerid, Float:x, Float:y, Float:z, cut = CAMERA_CUT);
- Добавлена новая утилита, позволяющая легко находить и подбирать
позицию объектов, прикреплённых к игроку. Новая утилита также может быть
использована и для других объектов (получаем полноценный in-game
редактор карт).
Возможности 0.3e RC2
- Исправлен баг, когда игрок телепортировался на координаты 0, 0, 0,
когда автомобиль, на котором он стоял респавнился или удалялся.
- Новые функции:
native AttachPlayerObjectToVehicle(playerid, objectid, vehicleid, Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ, Float:fRotX, Float:fRotY, Float:RotZ); // прицепляет объект игрока к транспорту native InterpolateCameraPos(playerid, Float:FromX, Float:FromY, Float:FromZ, Float:ToX, Float:ToY, Float:ToZ, time, cut = CAMERA_CUT); native InterpolateCameraLookAt(playerid, Float:FromX, Float:FromY, Float:FromZ, Float:ToX, Float:ToY, Float:ToZ, time, cut = CAMERA_CUT); native AttachCameraToObject(playerid, objectid); // присоединяет камеру к объекту native AttachCameraToPlayerObject(playerid, playerobjectid); // присоединяет камеру к объекту игрока
Возможности 0.3e RC3
- Исправлена проблема с аттачем объектов (уточните).
- Приаттаченные объекты теперь удаляются после респавна или в момент
перевыбора класса, а не когда игрок умирает (с анимацией смерти).
- Добавлены новые объекты от cessil: ~40 новых стен с проёмами для
дверей и окон, наручники, полицейские мигалки, лежачие полицейские и ещё
несколько разноцветных наушников.
Возможности 0.3e RC4
- Должна быть исправлена ситуация, когда сбивался ID при удалении из игры взорванного транспорта.
- Количество слотов игроков увеличено до 500.
- Исправлен фильтр текстур на новых моделях.
- Добавлен режим полёта камеры, проходящий через стены (пример в ФС).
- Новые модели от cessil: более 40 стен, дорожные заграждения, вёдра, шарфы...
- Теперь сервер может позволить игроку кликать курсором мыши на текстдраве:
native TextDrawSetSelectable(Text:text, set); // по-умолчанию 0 (невыбраемый) native SelectTextDraw(playerid, hovercolor); // позволяет игроку выбирать текстрав кликом курсора native CancelSelectTextDraw(playerid); // завершает процесс выбора позиции курсора на текстдраве forward OnPlayerClickTextDraw(playerid, Text:clickedid); // игрок кликает на текстдрав
Интересное о SelectTextDraw():
- Все кликабельные текстдравы должны иметь атрибут TextDrawTextSize для
определения размеров кликабельного поля. Можно создавать текстдравы и
без этой функции (видимо, кликабельными они не будут).
- Вы должны (скорее, мы советуем) включить рамку ("бокс") текстдрава,
чтобы Вы видели размеры кликабельного поля, когда создаёте слой (новый
текстдрав). Вы можете отключить "бокс" после создания.
Возможности 0.3e RC5
- Исправлен баг, появившийся в версии 0.3e RC4, когда утонувший
транспорт мог быть удалён у игрока клиентом. (на сервере авто
оставалось, но в клиенте не синхронизировалось, мне кажется, это было
ещё в 0.3d RC2)
- Исправлена ситуация, когда текстдрав не менял цвет (который появился после наведения) после отключения режима кликабельности.
- Обновлена безопасность в колбэке OnDialogResponse.
- Исправлена проблема двусторонних текстур с моделью ведра.
- Добавлена система текстдравов для игроков с лимитом в 256 штук. Теперь
существует глобальный лимит (лимит для сервера) и лимит для игроков.
Все основные функции текстдравов имеют вариант "для игрока":
native PlayerText:CreatePlayerTextDraw(playerid, Float:x, Float:y, text[]); // создаёт текстдрав для игрока native PlayerTextDrawShow(playerid, PlayerText:text); // показывает персональный текстдрав игроку native PlayerTextDrawHide(playerid, PlayerText:text); // скрывает персональный текстдрав у игрока native PlayerTextDrawSetString(playerid, PlayerText:text, string[]); // меняет значение персонального текстдрава для игрока
Возможности 0.3e RC6
- Исправлен баг, приводивший к крешу в ситуации, когда удалялось авто в
то время, когда водитель использовал режим камеры "смотреть назад".
- Удалены иконки Pay'n'Spray.
- Добавлена функция GetVehicleModelInfo() для получения некоторых параметров (например, размеры и т.д.).
- Движения головы игрока теперь автоматически прекращаются, когда игрок входит в режим редактирования приаттаченных объектов.
- Добавлены функции SetObjectMaterial() и SetPlayerObjectMaterial() с
помощью которых Вы можете менять текстуры на моделях на другие,
присутствующие в игре.
- Новые объекты от cessil: таблички о продаже, противогаз, трава и стол для Покера.
- Исправлен баг, когда замороженный игрок мог проигрывать анимацию на
экранах других игроков (т.е. на его экране он стоит, хоть и жмёт клавишу
"прыжок", а у других игроков - он прыгает на месте).
Возможности 0.3e RC7
- Добавлены функции SetObjectMaterialText и SetPlayerObjectMaterialText для нанесения надписей вместо текстуры.
- Исправлен баг, когда случайные игроки могли спавниться с анимацией надетых наручников, если были AFK.
- Проверка посадочного места в самолётах и лодках менее строгая.
- Функция SetPlayerAttachedObject теперь имеет 2 дополнительных
параметра, отвечающих за цвет материала. Все скрипты, в которых была
использована эта команда должны быть перекомпилированы.
- Цвета материалов теперь в формате ARGB.
- Новые модели от cessil: Пустые квадраты (таблички) для создания своих
надписей и знаков, некоторые замены построек и домов (теперь можно
заменять стандартные "закрытые" дома "открытыми", ставив "внешний" дом и
интерьер).
Возможности 0.3e RC7-2
- Исправлены некоторое проблемы с изменение материалов объекта, из-за
которых материал мог меняться на всех объектах, имеющих такой же ID
модели.
Возможности 0.3e RC7-3
- Исправлена проблема с неотображением текста материалов на некоторых цветах заднего фона.
Возможности 0.3e RC8
- Исправлена проблема клика текстдравов в оконном режиме. Подобные проблемы были и при редактировании приаттаченных объектов.
- Более подробная информация теперь выводится в окне, сообщающем о крэше сервера на windows-платформе.
- Состояние "заморозки" игрока больше не сохраняется после респавна.
|