13/09/2011 Обновление клиента и сервера SA-MP 0.3d RC1 - Возможность юзать все звуки миссий из одиночной игры (ID > 2000) в функции PlayerPlaySound
- С помощью RemoveBuildingForPlayer можно удалять объекты и здания с общей карты
- Фикс бага прыгающего радара во время входа в транспорт
- Фикс багов синхры транспорта, где транспорт мог двигаться боком и появлялся в неожиданных местах
- Фикс багов в синхре мотоциклов
- Фикс бага с прикреплением при езде на крыше поездов
- MAX_OBJECTS = 1000
- MAX_PICKUPS = 4096
- FPS клиента теперь = 50
- Фикс бага анимации при выходе из транспорта
- Фикс крэша игры при ходьбе по эскалатору
- Сервер теперь показывает внутренний FPS в сетевой статистике
- Фикс бага, где спавн мог быть прямо на крыше транспорта, в котором игрок умер
- Удалена анимация PED FACTALK из списка, который юзает функция GetPlayerAnimationIndex
- Фикс COL файла элеватора (лифта), который не позволяет выпрыгнуть из него, когда он двигается вниз
Код
native PlayAudioStreamForPlayer(playerid, url[], Float:posX = 0.0, Float:posY = 0.0, Float:posZ = 0.0, Float:distance = 50.0, usepos = 0);
native StopAudioStreamForPlayer(playerid);
PlayAudioStreamForPlayer используется для проигрывания потокового Интернет радио для выбранного игрока. Поддерживаются ogg/vorbis и MP3 потоки. Звук может быть привязан к самому игроку. Или к определенной позиции на карте и он будет слышен только на определенной дистанции, если указать параметр 'usepos' = 1.
Уровень громкости для аудио потоков регулируется самим игроком в настройках уровня звука для радио. Если убавить громкость на 0, то аудиопоток не пересылается от сервера к клиенту.
Если игроку нужно использовать прокси для доступа к какому-то потоку, то SA-MP будет юзать прокси, который указан в Windows настройках доступа в Интернет. Такое поведение можно отключить в настройках сервера, выставив audioproxyoff=1.
Код
native RemoveBuildingForPlayer(playerid, modelid, Float:fX, Float:fY, Float:fZ, Float:fRadius);
RemoveBuildingForPlayer может удалять объекты и здания с общей карты для указанного игрока. Нужно всего лишь указать модель объекта, приблизительную позицию и радиус, в котором будут удалены объекты указанной модели. Вы можете указать огромный радиус, для удаления объектов с необходимым ID с карты.
Код
native PlayerPlaySound(playerid, soundid, Float:x, Float:y, Float:z);
Теперь эта функция может проигрывать почти что все звуки, указанные в файле \data\AudioEvents.txt в папке с игрой.
18/09/2011 SA-MP 0.3d RC2 - Добавлен колбэк OnPlayerTakeDamage();
- фикс бага с эвакуатором, от которого отцеплялся транспорт возле других игроков;
- добавлен DIALOG_STYLE_PASSWORD для ShowPlayerDialog();
- фикс бага с аудио потоком, который продолжал играть после выхода с сервера;
- фикс багов с проигрыванием некоторых звуков с ИД выше 2000 в функции PlayerPlaySound();
- добавлена встроенная команда /audiomsg для отключения показа URL потоков в чате;
- теперь 0.3d RC2 серверы видны в общих списках серверов.
Кое-какие изменения в моделях объектов:
- Были заменены модели тюремных дверей в полицейском участке SFPD;
- новый объект - значок TAXI, который можно прикрепить к любому транспорту.
Код
public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid)
Колбэк OnPlayerTakeDamage() вызывается, когда игроку нанесли урон и он потерял какое-то кол-во здоровья.
Код
playerid - это ИД раненного игрока.
issuerid - ИД игрока, который ранил игрока или INVALID_PLAYER_ID, если игрок навернулся сам
Float:amount - кол-во здоровья, которое потерял раненный игрок.
weaponid - ИД оружия, с которого был ранен игрок.
30/09/2011 Обновление клиента и сервера SA-MP 0.3d RC3 - Небольшие хитрости для GTA:SA должны привести к увеличению FPS, плавной игре и меньшей нагрузке на процессор для многих игроков;
- добавлены новые параметры в MoveObject() позволяющие вращать объект (необязательные параметры);
- добавлена команда AttachObjectToObject() позволяющая присоединять обекты к объектам, это позволяет им двигаться и вращаться одновременно;
- добавлены скрипты примеры: cargo ship, pirate ship, ferris wheel, для вращения объектов и AttachObjectToObject;
- исправлено переполнение буфера в конфиге сервера описанный здесь:
http://www.exploit-db.com/exploits/17893; - как всегда, мы рекомендуем владельцам серверов никогда не использовать файлы конфигурации и сценариев из ненадежных источников. Всегда редактировать свои собственные файлы конфигурации и компилировать любые скрипты которые ваш сервер использует.
Важно: изменения в MoveObject не потребует от вас изменять свои сценарий, однако, все скрипты которые используют MoveObject должны быть перекомпилированы для SA-MP 0.3d.
05/10/2011 Обновление клиента SA-MP 0.3d RC3-2
- Исправлена проблема когда звуковой поток не останавливался при запуске нового;
- если MoveObject() использовать на движущийся объект, предыдущее движение не будет завершено (объект начнет двигаться от существующей позиции, а не с конечной позиции текущего движения);
- хотя правильное поведение MoveObject() и должно закончить предыдущего движения, прежде чем начать новое, это не соответствует поведению в - предыдущих SA-MP версиях и новые поведение (введенное в 0.3d RC3) нарушит существующие сценарии;
- исправлена проблема при "падении" игры при удалении объекта на котором вы движетесь;
- исправлена проблема со скольжением игроков на вращающемся объекте;
- исправлены проблемы с оружием, связанных с движком GTA и введенных в 0.3d RC3 настроек.
08/10/2011 Обновление клиента SA-MP 0.3d RC3-3
- Это обновление должно решить пробему, возникавшую у некоторых людей, связанных со скоростью игры:
http://forum.sa-mp.com/showthread.php?t=287984; - добавлена опция multicore в sa-mp.cfg. Если Вы установите параметр multicore=1 в конфиге, то GTA:SA будет использовать больше одного ядра процессора после запуска SA-MP. После нескольких успешных испытаний, опция была включена по-умолчанию;
- добавлены последние модели и редакции от cessil в файлы samp.ide/samp.img;
- удалена модель BigCesar из файла samp.ide (а samp.img?) потому что она, похоже, приводит к зависанию игры.
ВАЖНО: Для серверов, использующих SPECIAL_ACTION_USECELLPHONE. Это специальное действие больше не показывает телефон в руке (как и раньше удалили банку Sprunk из анимации автоматов). Это было сделано для того, чтобы можно было менять объект телефона (как вы помните, в 0.3c добавили несколько моделей мобильников, кроме того можно кастомные сувать теперь, например, мод iPhone для сингла). Для вставки в руку телефона используйте следующий код:
Код
if(strcmp(cmd, "/usecell",true) == 0)
{
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_USECELLPHONE);
SetPlayerAttachedObject(playerid, 4, 330, 6);
// 4 = attachment slot, 330 = cellphone model, 6 = right hand
return 1;
}
if(strcmp(cmd, "/stopcell",true) == 0)
{
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_STOPUSECELLPHONE);
RemovePlayerAttachedObject(playerid, 4);
return 1;
}
09/10/2011 Обновление клиента и сервера SA-MP 0.3d RC4 - Слоты игроков больше не ограничены 20 (теперь как и раньше 500);
- функция MoveObject не обрабатывает поворот, если он не указан. Поворачивать такие объекты можно с помощью функции SetObjectRot();
- исправлена проблема с объектов ворот военной базы 51, где с одной стороны была прозрачная текстура.
10/10/2011 Обновление клиента SA-MP 0.3d RC4-2 - У некоторых пользователей возникала критическая ошибка при запуске, связанная с Securom.
11/10/2011 Обновление клиента и сервера SA-MP 0.3d RC5 - Добавлена функция OnPlayerGiveDamage, как противоположная функции OnPlayerTakeDamage. Она вызывается для игрока, который наносит повреждения другому игроку;
- ещё больше оптимизированные настройки оружия для ускорения игры.
- исправлена команда SetPlayerTeam, которая могла рассинхронизировать игроков и спутать команды, таким образом игроки одной команды могли наносить друг-другу урон;
- игроки нашли коды цветов, которые обрезали текст чата. Это было решено в 0.3d;
- добавлены потерянные скины. Спасибо IllidanS4 за предоставление их ID и названий файлов голосов.
Код
forward OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid);
Код
playerid - игрок, нанёсший урон;
damagedid - игрок, которому нанесли урон;
amount - количество хп, потраченной за урон;
weaponid - тип оружия.
12/10/2011 Обновление клиента SA-MP 0.3d RC5-2 - Физика поведения игрока, стоя на транспорте и объекте теперь работает и для объектов, присоединённых к транспорту;
- в клиенте изменена логика движения объекта:
Поведение функции MoveObject было некорректным, так как позиция объекта могла быть рассинхронизирована, но только тогда, когда игрок AFK (т.е. если во время движения игрок жал esc, то при выходе из него - объект продолжал двигаться, тогда как у других игроков он уже закончил движение). Если вы хотите использовать функцию MoveObject на уже движущемся объекте, и хотите, чтобы движение началось сразу же (с текущей позиции), то сначала вы должны использовать функцию StopObject. Если вы этого не сделаете, то последнее из движений объекта немедленно остановится, и объект начнёт движение из конечного положения, в котором должен был оказаться объект по завершению последней функции движения.
16/10/2011 Обновление клиента SA-MP 0.3d RC5-3 - (в режиме тестирования) Теперь Вы можете использовать систему текстдравов SA-MP'а со специальным ID шрифта, который покажет на экране спрайты из синглплеера.
Код
if(strcmp(cmd, "/tdsprite",true) == 0)
{
new Text:txtSprite1;
txtSprite1 = TextDrawCreate(200.0, 220.0, "samaps:map"); // Текстура txdfile:texture
TextDrawFont(txtSprite1, 4); // 4 шрифт рисования спрайта
TextDrawColor(txtSprite1, 0xFFFFFFFF);
TextDrawTextSize(txtSprite1, 200.0, 200.0); // Размер изображения Ширина:Высота
TextDrawShowForPlayer(playerid, txtSprite1);
return 1;
}
Устанавливая ID шрифта 4 и синтаксисом txdfile:texture Вы можете выводить на экран текстуры из TXD. Возможные значения TXD-файла:
- hud: текстуры от HUD'а (hud.txd);
- samaps: текстуры карты San Andreas из samaps.txd в папке SAMP в директории игры;
- любой TXD файл или текстура из папки models/txd в директории с игрой GTA San Andreas.
- Добавлены KEY_YES (Y), KEY_NO (N), KEY_CTRL_BACK (H) для GetPlayerKeys();
- MAX_PLAYER_ATTACHED_OBJECTS увеличен до 10;
- TextDrawSetString () может быть использован для изменения спрайта текстуры существующих текстдравов;
- исправлена проблема, когда прикрепленные объекты продолжали движение после StopObject;
- игра не будет остановлена, даже при выходе в меню (ESC);
- игра не вернется к меню, если использовать ALT+TAB.
22/10/2011 Обновление клиента SA-MP 0.3d RC6-2 - Значительные исправление проблем в веденной системе паузы в меню введенной в 0.3d RC6;
- больше настроек для сирены потому что многие пользователи жаловались что её по-прежнему тяжело включать.
07/11/2011 ? Обновление клиента и сервера SA-MP 0.3d RC7 - Исправлена проблема с отрисовкой чата на ноутбуках с видекартой от VIA/S3;
- добавлены функции IsObjectMoving/IsPlayerObjectMoving;
- исправлена проблема с SetVehicleParamsEx при использовании в OnVehicleSpawn
- исправлено исчезновение пикапов в интерьерах.
- добавлена функция GetPlayerTargetPlayer() возвращает Id игрока на которого нацеливается другой игрок (зеленое с остояние над головой);
- исправлена проблема с паузой в режиме debug/test;
- теперь вы можете использовать режим "Test" в Jernej's map editor внутри интерьеров (объект интерьера должен быть выбран);
- добавлены последние обекты от cessil:
-- заменены сетки для торгового центра Вероны. Пример смотрите в фильтрскрипте ls_mall.pwn;
-- воздушный шар в нескольких цветах;
-- каска пожарных.
Код
native GetPlayerTargetPlayer(playerid);
Функция GetPlayerTargetPlayer() вернет INVALID_PLAYER_ID если при прицеливании вы ни в кого не целитесь.
07/11/2011 ? Обновление клиента и сервера SA-MP 0.3d RC8 - Опция 'мультиядерность' теперь включена по-умолчанию;
- удалены неиспользуемые текстуры из samp.img;
- исправлен крэш при выходе из игры, возникающий при превышении лимита объектов;
- исправлена функция TogglePlayerControllable, которая не работала во время нахождения игрока в ESC;
- синхронизированы светофоры;
- обновлён экран кредитов (информации о разработчиках);
- обновлёна версия NSIS-инсталлятора (исправлена проблема с UAC (контроль учётных зиписей) для Windows 7).
12/11/2011 Обновление клиента и сервера SA-MP 0.3d RC9 - Добавлена новая функция OnPlayerClickMap;
- отключены функции AllowAdminTeleport и AllowPlayerTeleport;
- Вы можете использовать ~k~ константа клавиши для использования в сообщениях и 3D текстах;
- исправлена проблема с LOS в 3D текста игрока;
- исправлено падение клиента при посадке на несуществующее место в машине;
- исправлена проблема с мотоциклами/велосипедами появляющимися над землей;
- исправлена проблема с сервером, на Windows, когда в консоль вводится пустая команда.
PHP код:
forward OnPlayerClickMap(playerid, Float:fX, Float:fY, Float:fZ);
OnPlayerClickMap вызывается когда игрок нажимает правой кнопкой на карту в меню игры. Всегда возвращается позиция X, Y позиция, на которой произошло нажатие и ориентировочную позицию землю. Пожалуйста, обратите внимание: так как игра не знает точное положение земли на карте, значение Z возвращается приблизительное. Возможно вам придется использовать плагин MapAndreas, чтобы получить более точное значение Z координаты.
14/11/2011 Обновление клиента SA-MP 0.3d RC9-2 - Исправлена проблема с транспортом, который мгновенно останавливался при паузе;
- в некоторых ситуациях аудио потоки могли обрываться;
- исправлена проблема с отображением диалогов совместно с Alt+Tab и паузой;
- исправлена оставшаяся проблема со спавном мотоциклов и велосиедов над землей;
- добавлены cPos/sPos в команду /dl;
- исправлена проблема с текстурой снега, добавленной в RC9.