SA-MP 0.3e
#1


SA-MP 0.3e
SA-MP 0.3e RC1 представляет собой в большей степени обновление безопасности. Но, конечно же, планируются и некоторые новые возможности и модели. Ваши пожелания будут рассмотрены, а лучшие - добавлены в период RC-тестирования.

- Исправлены проблемы безопасности предыдущих версий, из-за которых сервера могли атаковать с помощью специальных утилит. Исправления требуют обновления как сервера, так и клиента.
- Исправлен баг, появившийся в 0.3d, когда игрок мог избежать смерти, если у него проигрывалась какая-то анимация.
- Решена проблема с установкой цвета игрокам, имеющим ID выше 500.
- Исправлена проблема с киком игрока при использовании в моде SpawnPlayer().
- Исправлена проблема с сервером, из-за которой мог происходить крэш клиента (браузера серверов) в случае, когда сервер возвращал неверные данные.

Кроме обновлений безопасности, SA-MP 0.3e имеет несколько новых возможностей:

- Добавлены несколько новых моделей за авторством cessil, включающих в себя цилиндр, трость, несколько различных стен.
- Диалоги теперь имеют панель управления в виде кнопок.

- Сервер может получать версию клиента, используемую игроком через новую функцию GetPlayerVersion().

pawn Code:
native GetPlayerVersion(playerid, const version[], len); // Возвращает версию клиента SA-MP
- Новый параметр, добавленный в колбэк SetPlayerCameraLookAt() являет собой указание по перемещению камеры: она либо плавно двигается в заданную позицию, либо мгновенно "телепортируется".

pawn Code:
#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, когда автомобиль, на котором он стоял респавнился или удалялся.
- Новые функции:

pawn Code:
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 стен, дорожные заграждения, вёдра, шарфы...
- Теперь сервер может позволить игроку кликать курсором мыши на текстдраве:

pawn Code:
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 штук. Теперь существует глобальный лимит (лимит для сервера) и лимит для игроков. Все основные функции текстдравов имеют вариант "для игрока":

pawn Code:
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-платформе.
- Состояние "заморозки" игрока больше не сохраняется после респавна.

Возможности 0.3e

- Исправлено множество мелких багов, включая дыры в безопасности.
- Несколько новых объектов для мапперов, включая стены и дома.
- Сервер теперь может менять текстуру и цвет объекта.
- Новые возможности скриптинга благодаря отличным нововведениям по контролю камеры.
- Новые утилиты, позволяющие легко редактировать положение приаттаченного объекта.
- Новые анимации и модель наручников для арестантов.
- Новые функции по созданию надписей.
- Серверы имеют возможность оперирования курсором игрока, в связи с этим появилась возможность определения клика на изображении, тексте или объекте.

Спасибо всем, кто тестировал 0.3e и сообщал об ошибках. Следите за новыми обновлениями.

Если Вам требуется сервер с количеством слотов больше 500 - пишите нам на e-mail: team@sa-mp.com и сообщайте ваш IP:порт. Если мы увидим, что Вы действительно нуждаетесь в этом - мы пошлём сборку сервера с большим кол-вом слотов.

Файлы SA-MP 0.3e:

Пояснение: дистрибутив сервера для Linux будет доступен с более поздних RC-версий.

SA-MP 0.3e RC1 Client
SA-MP 0.3e RC1 Windows Server

SA-MP 0.3e RC2 Client
SA-MP 0.3e RC2 Windows Server

SA-MP 0.3e RC3 Client
SA-MP 0.3e RC3 Windows Server

SA-MP 0.3e RC4 Client
SA-MP 0.3e RC4 Windows Server
SA-MP 0.3e RC4 Linux Server

SA-MP 0.3e RC5 Client
SA-MP 0.3e RC5 Windows Server
SA-MP 0.3e RC5 Linux Server

SA-MP 0.3e RC6 Client
SA-MP 0.3e RC6 Windows Server
SA-MP 0.3e RC6 Linux Server

SA-MP 0.3e RC7 Client
SA-MP 0.3e RC7 Windows Server
SA-MP 0.3e RC7 Linux Server

SA-MP 0.3e RC7-2 Client

SA-MP 0.3e RC7-3 Client

SA-MP 0.3e RC8 Client
SA-MP 0.3e RC8 Windows Server
SA-MP 0.3e RC8 Linux Server

SA-MP 0.3e Client
SA-MP 0.3e Windows Server
SA-MP 0.3e Linux Server
Reply
#2

О боже. Они толькочто 0.3d выпустили... Я конечно понимаю, все это хорошо... Но куда так часто, еще не все на 0.3d перешли
Reply
#3

Ну что ж теперь, на слоупоков ровняться? Тем более "безопасность" превыше всего.
Для нубов появился новый "внепавновский" инклюд vehicleutil, где упрощена система управления авто.
И новые колбэки:
pawn Code:
forward OnPlayerEditObject(playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ);
forward OnPlayerEditAttachedObject(playerid, response, index, modelid, boneid, Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ, Float:fRotX, Float:fRotY, Float:fRotZ, Float:fScaleX, Float:fScaleY, Float:fScaleZ);
forward OnPlayerSelectObject(playerid, type, objectid, modelid, Float:fX, Float:fY, Float:fZ);
Reply
#4

Quote:

Тем более "безопасность" превыше всего.

Мой сервер несколько раз атаковали подобным способом. IPFW решил проблему. Лучше держать оборону фаерволом, а не сервисом... Тем-более на костыль разработчиков вскоре появится и пила.
Reply
#5

Непонятно зачем эти функции, лучше-бы сделал управление мышью
pawn Code:
native EditObject(playerid, objectid);
native EditPlayerObject(playerid, objectid);
native SelectObject(playerid);
native CancelEdit(playerid);
pawn Code:
#define EDIT_RESPONSE_CANCEL        0
#define EDIT_RESPONSE_FINAL         1
#define EDIT_RESPONSE_UPDATE        2

forward OnPlayerEditObject( playerid, playerobject, objectid, response, Float:fX, Float:fY, Float:fZ, Float:fRotX, Float:fRotY, Float:fRotZ );

forward OnPlayerEditAttachedObject( playerid, response, index, modelid, boneid, Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ, Float:fRotX, Float:fRotY, Float:fRotZ, Float:fScaleX, Float:fScaleY, Float:fScaleZ );

#define SELECT_OBJECT_GLOBAL_OBJECT 1
#define SELECT_OBJECT_PLAYER_OBJECT 2

forward OnPlayerSelectObject(playerid, type, objectid, modelid, Float:fX, Float:fY, Float:fZ);
Reply
#6

Неплохо, а что за панель управления у диалогов?
Reply
#7

Quote:
Originally Posted by Gameyer
View Post
Неплохо, а что за панель управления у диалогов?
В оригинале сказано, что у диалогов теперь новый вид заголовка.
http://www.youtube.com/watch?feature...&v=2c8XUBytL54
Reply
#8

Хорошее обновление, CAMERA_MOVE я ждал этой опции как из vcmp)
Reply
#9

Осталось молиться на public OnPlayerClickMouse и native TogglePlayerMouse
тогда можно сделать классную админ панель.
Reply
#10

Quote:

В оригинале сказано, что у диалогов теперь новый вид заголовка.

Фе... А если я хочу старый?
Reply
#11

Quote:
Originally Posted by jhonyxakep
View Post
Фе... А если я хочу старый?
Мне кстати тоже не очень вкатывает новый заголовок диалога. Слишком крупный.
Reply
#12

Quote:
Originally Posted by AirKite
View Post
Мне кстати тоже не очень вкатывает новый заголовок диалога. Слишком крупный.
Тоже самое, хочу старый.
Reply
#13

Он может выключается?
Reply
#14

Присоединяюсь к словам выше. Стандартный лучше.

Quote:

Он может выключается?

Скорее всего нет.
Reply
#15

Quote:

Он может выключается?

Как насчет пустого текста?
Reply
#16

А как давно добавили:
pawn Code:
native EnableStuntBonusForPlayer(playerid, enable);
native bool:fmatch(name[], const pattern[], index = 0, size = sizeof name);
??
Reply
#17

0.3d
Reply
#18

Ленивые разработчики, ленятся удалять из инклудов нерабочие функции =(
fmatch - не пашет
Reply
#19

Конечно лучше было бы отключение этого заголовка, не всем по вкусу.\
У меня с маленькими буквами и то вылазит за пределы диалога
Reply
#20

Оказывается Kye всё-таки заглядывает в Bug reports, увидел моё сообщение про цвет игроков > id 500
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)