Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info
  • Новые темы в этом разделе публикуются автоматически при добавлении файла в менеджер ресурсов.
    Ручное создание новых тем невозможно.

Include DynamicMaps (динамические карты в игре) v0.1

^_^

Специалист
DynamicMaps (карты как на Advance Roleplay) v0.2

Данный инклуд позволяет создавать карту GTA San Andreas прямо из игры (состоящая из 4 объектов) и указывать на неё различные точки, менять им цвет, размер, а также менять позицию, или гладко двигать данные точки в соответствие с реальными координатами x и y. С помощью данного инклуда, можно лёгким и быстрым алгоритмом создавать системы вроде "Карты Автобусов Advance RP", причём создавать её можно на любой ротации R-Z. Тем кому всё ещё не ясен функционал, предлагаю посмотреть видео:
[HR][/HR]
I. Функции​
DynamicMap:CreateDynamicMap(Float:_center_x, Float:_center_y, Float:_center_z, Float:_rotation_z, _vw = -1, _i = -1)

Создаёт динамичную карту имеющия центр на указанные координаты и указанную R-Z ротацию.
Параметры:
Float:_center_x, Float:_center_y, Float:_center_z - координаты центра

Float:_rotation_z - R-Z ротация всей карты
_vw - виртуальный мир карты (по дефолту - -1 - все виртуальные миры)
_i - интерьер карты (по дефолту - -1 - все интерьеры)​
Возвращает:
DynamicMap:mapid - карта успешно создана.
INVALID_MAP_ID - не удалось создать карту (превышен лимит карт)​

Заметка: Придётся использовать все виртуальные миры и все интерьеры для того чтобы иметь возможность создавать точки в разных интерьерах и разных виртуальных мирах для одной и той же карты.



DestroyDynamicMap(DynamicMap:mapid)

Уничтожает карту и все точки прикреплённые к ней.
Параметры:
​
DynamicMap:mapid - ид карты.

Возвращает:
0 - не удалось удалить карту (карта не создана).
1 - карта и все прикреплённые точки успешно удалены .​



Point:CreatePointForDynamicMap(DynamicMap:mapid, point_object, Float:_point_size=0.0, Float:p_realC_x = 0.0, Float:p_realC_y = 0.0, _vw = -1, _i = -1)

Создаёт и прикрепляет к динамичной карты точку, имеющая указанную модель объекта, размер, интерьер и виртуальный мир в соответствии с реальными координатами x и y.
Параметры:
DynamicMap:mapid - ид карты к которой будет прикреплена точка.
point_object - модель объекта (рекомендуется использовать задекларированные модели).
_point_size - расстояние между картой и центром точки (размер) (рекомендуется использовать задекларированные размеры).
Float:p_realC_x = 0.0, Float:p_realC_y = 0.0 - реальные координаты на которых точка будет указывать на карте (по дефолту - центр карты).
_vw = -1, _i = -1 - виртуальный мир и интерьер (по дефолту - интерьер карты и виртуальный мир).​
Возвращает:
INVALID_POINT_ID - не удалось создать точку(превышен лимит точек)
Point:pointid - точка успешно создана.
​



DestroyPoint(Point:_pointid)

Удаляет точку.
Параметры:
Point:_pointid - ид точки.
​
Возвращает:
0 - не удалось удалить, точка не создана.
1- успешно удалена.​



SetPointSize(Point:_pointid, Float:_pt_size)

Меняет расстояние между картой и точкой (размер точки) на указанный. Работает на двигающийся точки.
Parameters:
Point:_pointid - ид точки.
Float:_pt_size - новый размер точки (рекомендуется использовать задекларированные размеры).
​
Возвращает
0 - не удалось изменить, точка не создана.
1 - размер изменён.
2 - размер изменён во время движения точки.​



SetPointObject(Point:_pointid, pointobject)

Меняет модель объекта. Если точка двигалась, она остановится на текущую позицию
Параметры:
Point:_pointid - ид точки.
pointobject - новая модель объекта.
​
Возвращает:
0 - не удалось изменить, точка не создана.
1 - модель объекта изменена.​



AssignPointToPos(Point:_pointid, Float:real_x, Float:real_y)

Назначает положение точки на карте которое указывает на real_x и real_y.
Параметры:
Point:_pointid - ид точки.
Float:real_x, Float:real_y - реальные x и y координаты мира.
​
Возвращает:
0 - не удалось изменить позицию, точка не создана.
1 - успешно.
​

MovePointForPos(Point:_pointid, Float:real_mx, Float:real_my, Float:movespeed = 0.1)

Плавно двигает точку (с указанной скоростью передвижения) с текущей позиции, до положения на карте, указывающие на реальные координаты мира.
Параметры:
Point:_pointid - ид точки.
Float:real_mx, Float:real_my - реальные x и y координаты мира.
Float:movespeed = 0.1 - скорость передвижения (по дефолту 0.1).
​
Возвращает:
0 - не удалось переместить, точка не создана.
1 - успешно.
​



GetDynamicMapCoords(Float:x,Float:y, DynamicMap:mapid, &Float:eek:n_map_x,&Float:eek:n_map_y,&Float:eek:n_map_z, Float:_point_size)

Функция записывает координаты точки с указанной динамичной карты в зависимости от размера точки и от координат реальной карты в переменные on_map_x, on_map_y, on_map_z.
Float:eek:n_map_x, Float:eek:n_map_y, Float:eek:n_map_z.
Параметры:
Float:x,Float:y - координаты мира x и y.
DynamicMap:mapid - ид карты.
&Float:eek:n_map_x,&Float:eek:n_map_y,&Float:eek:n_map_z - переменные в которых будут записаны координаты точки.
_point_size - размер токи.
​
Возвращает
Функция не возвращает никакое значение.
​

v0.2:

GetDynamicMapPointRealCoords(DynamicMap:_mapid, Float:eek:n_map_x, Float:eek:n_map_y, Float:eek:n_map_z, &Float:real_x, &Float:real_y)

Функция записывает в актуальные параметры real_x, real_y реальные координаты которыми обозначены на динамичной карте _mapid координаты on_map_x, on_map_y, on_map_z.
Параметры:
DynamicMap:_mapid - ид карты
Float:eek:n_map_x, Float:eek:n_map_y, Float:eek:n_map_z - переменные в которых записаны координаты на карте.
&Float:eek:n_map_x,&Float:eek:n_map_y,&Float:eek:n_map_z - переменные в которых будут записаны реальные координаты.
​
Возвращает
Функция не возвращает никакое значение.
​
[HR][/HR]
II. Задекларированные константы​
Модели для точек:
PHP:
POINT_WHITE
POINT_GREEN
POINT_RED
POINT_ORANGE
POINT_YELLOW
Размеры точки:
PHP:
TINY_POINT
SMALL_POINT
MEDIUM_POINT
BIG_POINT
HUGE_POINT
[HR][/HR]
III. Заметки​
  • Для использования данного инклюда нужен streamer.
  • DynamicMaps должен быть подключён после a_samp и streamer.
  • Рекомендуется самостоятельно задекларировать значение констант MAX_MAPS и MAX_POINTS
    PHP:
    //Пример:
    #define MAX_MAPS 1
    #define MAX_POINTS 20
[HR][/HR]
IV.Установка:​
1) Скопировать код с Pastebin в чистый .txt файл. Pastebin -
2) Сохранить .txt файл с названием DynamicMaps в папку сервера/pawno/include
3) В начале мода (после #include <a_samp> и #include <a_streamer>) добавить #include <DynamicMaps>.

Автор: ^_^.
 
Последнее редактирование:
Сверху Снизу