SA-MP 0.3.8 RC
Версия 0.3.8 дает возможность владельцам серверам использовать на своем сервере кастомные объекты/скины. В настоящее время поддерживаются кастомные объекты и скины игроков, а в будущем планируется больше возможностей. Эти новые функции потребуют некоторого времени для формализации, поэтому будьте терпеливы с выпуском. Хотя есть несколько новых функций безопасности, связанных с пользовательскими моделями, но они еще не включены в текущей сборке. Используйте только эту версию людьми, которым вы доверяете, поскольку в форматах модели GTA: SA могут быть неизвестные недостатки безопасности.
Обновления:
Обновление клиента SA-MP 0.3.8 RC4-4 (необязательное):
- Клиент версии RC4-4 такой же, как и RC4-3. Исправили только проблему с сообщением - «Server timer wrapped», которое было вызвано неправильно. После тестирования разработчик обнаружил, что в игре не было никаких проблем с таймером.
Обновление клиента SA-MP 0.3.8 RC4-3 (необязательное):
- Теперь «Актеры» не будут выполнять действие "руки вверх" в режиме прицеливании. Напоминаю, «Актеры» похожи на NPC, но имеют ограничения в функциональности и не занимают слоты игрового сервера;
- Ещё больше ограничили игровой таймер, чтобы исправить ошибки связанные с интерполяцией камеры. Но при этом увеличился риск обхода таймера;
- Теперь разработчики смогут использовать в оформлении интерфейса, подгружаемые TXDs как спрайты TextDraw`ов:
Код
~ используя тег - mdl-ID:texturename, где '-ID' - это модель добавленная с помощью AddSimpleModel;
Система TextDraw, скорее всего, будет обновлена в будущих версиях 0.3.8 RC, с функциями, подобными MaterialText, поэтому разработчик бы не рекомендовал использовать загруженные текстуры для текстовых сообщений.
- Увеличено максимальное количество клиентских спрайтов с 100 до 200;
- Сделана дополнительная проверка TXD. Клиент не будет принимать текстуры с шириной или высотой больше 2048 пикселей;
- Теперь выход с автомобиля должен работать корректно на созданных сервером объектах.
Обновление клиента SA-MP 0.3.8 RC4-2:
- Теперь при загрузке «2D-эффектов» из модели, клиент будет загружать только огни и эскалаторы. Все частицы игры уже доступны в SA-MP как отдельные объекты.
Обновление клиент/сервер SA-MP 0.3.8 RC4-1 (необязательное):
- Теперь клиент будет показывать ошибку HTTP вместо «bad checksum» при загрузке с разных URL-адресов;
- Исправлена ошибка сервера: если вызывается RedirectDownload() вместе со сценарием, возвращающим 1 в OnPlayerRequestDownload, клиент не знал, какой способ загрузки использовать;
- Когда SetSpawnInfo используется с пользовательским скином, пользовательский скин не будет сброшен на 0.
Обновление клиент/сервер SA-MP 0.3.8 RC4:
- Добавлена поддержку выбора источника загрузки моделей/текстур с помощью веб-сайта или же файлового сервера. Это означает, что разработчик может указать URL-адрес в игровом моде или filterscript`е, откуда будет происходить загрузка. Загрузка с помощью URL-адреса выполняется - libcurl версии 7.57.0, скомпилированной с поддержкой протоколов HTTP, HTTPS и ZLIB (gzip).
- Если Вам требуется прокси-сервер для загрузки через протокол HTTP, адрес прокси-сервера можно ввести в меню - "Tools > Settings" в SA-MP клиенте;
- Добавлены различные Pawn функции, чтобы реализовать перенаправления (редиректа) загрузки моделей / текстур. Дополнительную информацию см. в скрипте dl_redirect.pwn;
- Добавлена функцию GetPlayerCustomSkin(playerid):
Код
native FindModelFileNameFromCRC(crc, retstr[], retstr_size);
native FindTextureFileNameFromCRC(crc, retstr[], retstr_size);
native RedirectDownload(playerid, url[]);
native GetPlayerCustomSkin(playerid);
Когда SetPlayerSkin используется для установки пользовательского скина (скачанного с сервера), GetPlayerSkin возвращает базовый скин (из игры), а не пользовательский skin ID. Вместо этого вы должны использовать GetPlayerCustomSkin для получения пользовательского skin ID. Клиент и сервер SA-MP определит что загрузка может завершиться неудачей или что пользовательские модели могут не загрузиться, и в этом случае основной скин, используемый в AddCharModel(), по-прежнему останется основным.
Код
forward OnPlayerRequestDownload(playerid, type, crc); // когда игрок запрашивает загрузку
Обновление клиента SA-MP 0.3.8 RC3-4:
- «FreeTXDs» был удален с сетевой статистики - F5, так как он крашил некоторых игроков
Обновление клиента SA-MP 0.3.8 RC3-3
- Добавлены дополнительные проверки пользовательских моделей - dff/txd
Обновление клиент SA-MP 0.3.8 RC3-2
- Отключили пока что стирание из памяти удаляемые загруженные модели\текстуры, о которой говорилось в рк3. Это вызывало краши у некоторых игроков.
Обновление клиента SA-MP 0.3.8 RC3-1
- Читатель dff-файлов не все файлы читал. Исправили.
Обновление Клиент/Сервер SA-MP 0.3.8 RC3
- Добавлена первичная проверка безопасности при загрузки новой модели\текстуры. В дальнейшем планируется добавление систем безопасности в процессе разработки 0.3.8, но пока что вы подключайтесь к серверам, которым доверяете.
- Теперь вы можете изменить расположение папки кэша моделей и текстур используя "Tools > Settings" в клиенте SA-MP 0.3.8.
- Объекты созданные из загруженных моделей с сервера теперь стираются из памяти при их удалении.
- Добавлено сжатие файлов при загрузки. Примечание: Загрзка большого количества мелких файлов может быть медленной.
Обновление Клиент/Сервер SA-MP 0.3.8 RC2
- Максимальное количество объектов (MAX_OBJECTS) увеличено до 2000.
- Исправлен баг с снайперским прицелом. Ранее мог не корректно отображаться.
- В RC1 SelectObject крашил сервер, если не было информации об объекте.
- Исправили краши сервера, при использовании не правильных моделей скинов.
- Добавили 'local' в кэш, чтобы не загружать большое количество объектов в игру. Это еще не закончено. Подробности позже. (прим.sa-mp.com)
- В RC1 клиент мог рассинхронизоваться с сервером, если игрок перемещаля из одного виртуального мира к другому.
- Добавлена поддержка к временным пользовательским объектам.
- AddCharModel/AddSimpleModel Теперь могут быть вызваны из PAWN. Сейчас нет зависимости где и когда эти функции использовать эти функции в OnFilterScriptInit/OnGameModeInit, вы рискуете оставить игроков, которые уже есть на сервере без подгружаемых объектов. Имеется в виду при рестрте сервера или подключении скрипта в процессе игры.
Новые функции:
Код
native AddCharModel(baseid, newid, dffname[], txdname[]);
native AddSimpleModel(virtualworld, baseid, newid, dffname[], txdname[]);
native AddSimpleModelTimed(virtualworld, baseid, newid, dffname[], txdname[], timeon, timeoff);
Как пользовательские модели работают в SA-MP
Пользовательские модели хранятся в корне сервера SA-MP в папке 'models'. Когда игрок подключается к серверу, список файлов будет загружен игроку на компьютер в папку хранения данных текстур - Documents\GTA San Andreas User Files\SAMP\cache . В этой папке будут еще создаваться папки с адресом сервера и портом, чтобы не смешивать все в кучу.
Все пользовательские скины и объекты загружаются сразу при входе на сервер, и эту загрузку нельзя отменить. Но объекты, которые прикреплены к какому-то определенному виртуальному миру могут быть загружены в момент, когда игрок в нем окажется. Т.е. пока игрок не попадет в этот виртуальный мир - объекты загружены не будут.
Формат моделей
Формат скинов такой же, как и у других скинов игры. Для объектных моделей требуется 'collision', связанное с dff, и это 'collision' должно быть связано с помощью инструмента kdff.
Основные инструменты моделирования для GTA: SA написаны для 3dsmax, хотя для программ редактирования txd есть и другие инструменты. Здесь я сделал короткий учебник по экспорту
программ редактирования txd.
Определение пользовательских моделей в файле artconfig.txt
Пользовательские модели указываются в файле сервера artconfig.txt из расчета одна моедль - одна линия. Функция AddCharModel используется для добавления пользовательской модели скина игрока, а функция AddSimpleModel используется для пользовательских объектов, которые могут использоваться как объекты на карте, так и как объекты, прикрепленные к игроку.
Код
Диапазон ID пользовательских скинов: 20000 to 30000 (10000 slots)
Диапазон ID пользовательских объектов: -1000 to -30000 (29000 slots)
Другие фиксы:
- Радар теперь должна масштабироваться должным образом в широкоэкранных разрешениях.
- Ошибка в PlayerPlaySound со звуком ID 0, должна быть исправлена.
- Актеров теперь снова можно повернуть.
Кастомные объекты
Для того, чтобы добавить на сервер кастомный объект или скин, для начала нам нужно скачать сервер с версией 0.3.8 & клиент.
После скачки сервера, в папке с сервером будет папка 'models', там и будут находится кастомные объекты а так же скины.
Для того, чтобы добавить объект или кастомный скин, нам нужно открыть файл 'artconfig.txt' и добавить нужную вам строку:
- Функция 'AddCharModel(ID скина, Слот, Файл .dff, Файл .txd)' отвечает за добавление кастомного скина на сервер.
- Функция 'AddSimpleModel(Виртуальный мир, ID любого объекта, Файл .dff, Файл .txd)' отвечает за добавление кастомного объекта на сервер.
Скачать:
RC4
SA-MP 0.3.8 RC4-4 Клиент
SA-MP 0.3.8 RC4-3 Клиент
SA-MP 0.3.8 RC4-2 Клиент
SA-MP 0.3.8 RC4-1 Клиент
SA-MP 0.3.8 RC4-1 Windows Server
SA-MP 0.3.8 RC4-1 Linux Server
SA-MP 0.3.8 RC4 Клиент
SA-MP 0.3.8 RC4 Windows Server
SA-MP 0.3.8 RC4 Linux Server
RC3
SA-MP 0.3.8 RC3-4 Клиент
SA-MP 0.3.8 RC3-3 Клиент
SA-MP 0.3.8 RC3-2 Клиент
SA-MP 0.3.8 RC3-1 Клиент
SA-MP 0.3.8 RC3 Клиент
SA-MP 0.3.8 RC3 Windows Server
SA-MP 0.3.8 RC3 Linux Server
RC2
SA-MP 0.3.8 RC2 Клиент
SA-MP 0.3.8 RC2 Windows Сервер
RC1
SA-MP 0.3.8 RC1 Клиент
SA-MP 0.3.8 RC1 Windows Сервер
Оригинал текста