Начало появляться большое количество тем с проблемами типа: "почему объекты стали прозрачными?".
Связи с этим создал эту тему. 1.Правильный перевод сервера с версии 0.3a на 0.3b
Для начала нужно скачать новые инклуды (желательно с официального сайта)
Запускаем программу pawno из скачаного архива.
И открываем в ней все используемые скрипты и моды, далее жмем компилировать.
Обновляем старые файлы samp-server, samp-npc, announce файлами из архива. Вот и все! Сервер переведен на версию 0.3b !!!
2.Использование стримера
Если на сервере кол-во объектов превышает 400 (это текущий лимит объектов), а новые дома, парковки, трюки и т.п. нужно засунуть на сервер, то нам нужен стример объектов.
Могу порекомендовать стример, который сам использую - Fallout's Streamer (текущая версия 0.5)
Тестировал - спокойно держит 2500 объектов, разработчиками заявлен лимит 40.000.
Настройка:
Открываем файл F_Streamer.inc
Видим строчки:
Code
#define F_MAX_OBJECTS 10000 //количество объектов используемых на сервере
#define UpdateTime 300 //время обновления в миллисекундах.
#define ObjectsToStream 380 //максимальное количество объектов отображаемых игроку (max = 400).
#define StreamRange 400.0 //дистанция на которой будут отображаться объекты
#pragma dynamic 30000 //измените значение если возникнут проблемы с отображением огромных объектов
Функционал:
Code
native F_CreateObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz); //создать объекь.
native F_DestroyObject(objectid); //удалить объект.
native F_PlayerObjectUpdate(playerid, Float:x, Float:y, Float:z); //обновить объект.
native F_MoveObject(objectid, Float:x, Float:y, Float:z, Float:speed); //движение объекта.
native F_StopObject(objectid); //остановить движение.
native F_IsValidObject(objectid); //возвращает 1 если объект сужествует, 0 - если не существует.
native F_SetObjectPos(objectid, Float:x, Float:y, Float:z); //устанавливает местоположение объекта.
native F_GetObjectPos(objectid, &Float:x, &Float:y, &Float:z); //получает коорддинаты объекта.
native F_SetObjectRot(objectid, Float:rx, Float:ry, Float:rz); //устанавливает поворот объекта.
native F_GetObjectRot(objectid, &Float:rx, &Float:ry, &Float:rz); //получает поворот объекта.
native F_RefreshObjects(playerid); //пересоздает объект
native F_ObjectUpdateForAll(); //обновляет объект для всех игроков.[/color]
Стабильное использование:
Для начала конвертируем объекты для стримера на сайте convertffs.com
Открываем F_Streamer.pwn, и добавляем конвертированные объекты в public OnFilterScriptInit()
Компилируем файл, подключаем его в файле server.cfg. Все! Стример настроен!
Примечание: если в моде/скрипте используется функция SetPlayerPos, для быстрого отображения объектов желательно подключить инклуд F_Streamer