Rishat | Дата: Четверг, 27.11.2014, 00:32 | Сообщение # 1 |
Уверенный в себе
Группа:
Продвинутые
Сообщений: 235
Награды: 3
Город: Nab. Chelny
Репутация: 56
Замечания: 0%
Статус:
| Line.inc Данный инклуд создает линию объектов между начальной точкой и местом назначения. Полезно для тоннелей, полицейской лентой и неоновых полос и т.д.
Внимание!!! Используется С - YSI/y_iterate - Y_Less - Streamer Plugin - Incognito
[cut noguest=Видео - скрин] [/cut]
1. Верёвка [pwn]CreateLineSegment(19087, 2.46, // модель и длина -2225.2817, 645.5092, 72.9436, // начальная точка объекта -2209.6670, 673.3132, 62.7871, // конечная точка объекта .RotX = 90.0, .objlengthoffset = -(2.46/2)); // доп. информация[/pwn]
2. Труба [pwn]CreateLineSegment(3865, 8.9908, // модель и длина -2226.5056, 688.1932, 65.3995, // начальная точка объекта -2202.7493, 682.2815, 65.3625, // конечная точка объекта .objlengthoffset = -(4.4388/2)); // доп. информация[/pwn]
3. Неон [pwn]CreateLineSegment(18649, 2.0, // модель и длина -2226.0684, 662.0745, 62.5684, // начальная точка объекта -2204.8420, 661.5704, 71.7603, // конечная точка объекта .objlengthoffset = -(2.0/2)); // доп. информация[/pwn]
Ресурсы
Константы MAX_LINE: Лимит создания сегмента/линии. MAX_OBJECTS_PER_LINE: Максимальное количество объектов на отрезке. INVALID_LINE_SEGMENT_ID: InvalidID для использования с проверками достоверности.
Функции [pwn]CreateLineSegment(modelid, Float:objlength, Float:PointX, Float:PointY, Float:PointZ, Float:DestX, Float:DestY, Float:DestZ, Float:RotX = 0.0, Float:RotY = 0.0, Float:RotZ = 0.0, Float:objlengthoffset = 0.0, worldid = -1, interiorid = -1, playerid = -1, Float:maxlength = 100.0); // Создает сегмент линии, состоящей из объектов указанной модели ID, углов поворота, интервалов и других свойств. Может быть установлено, чтобы быть видимыми в определенном мире, интерьера и конкретного игрока. DestroyLineSegment(lineid); // Уничтожает отрезок и освобождает идентификатор для использования. IsValidLineSegment(lineid); // Возвращает значение, если отрезок ID действителен отрезку. GetLineSegmentModel(lineid); // Возвращает модель, используемого отрезка. SetLineSegmentModel(lineid, modelid, Float:objlength, Float:objlengthoffset); // Устанавливает отрезок, модели ID и обновления объектов соответственно. GetLineSegmentObjectCount(lineid); // Возвращает количество объектов, используемых отрезка. GetLineSegmentObjectLength(lineid); // Возвращает установленную длину модели, используемой для отрезка. SetLineSegmentObjectLength(lineid, Float:objlength); // Устанавливает длину модели, используемой отрезка. GetLineSegmentObjectOffset(lineid); // Возвращает смещение вдоль линии, на которой создаются объекты SetLineSegmentObjectOffset(lineid, Float:objlengthoffset); // Устанавливает смещение вдоль линии, на которой создаются объекты. GetLineSegmentMaxLength(lineid); // Возвращает максимальную длину сегмента/линии (Использовать на свой страх и риск) SetLineSegmentMaxLength(lineid, Float:maxlength); // Устанавливает максимальную длину отрезка. GetLineSegmentPoint(lineid, &Float:PointX, &Float:PointY, &Float:PointZ); // Получает начальную точку отрезка. SetLineSegmentPoint(lineid, Float:PointX, Float:PointY, Float:PointZ); // Устанавливает начальную точку отрезка. GetLineSegmentDest(lineid, &Float:DestX, &Float:DestY, &Float:DestZ); // Получает конечную точку отрезка. SetLineSegmentDest(lineid, Float:DestX, Float:DestY, Float:DestZ); // Устанавливает конечную точку отрезка. GetLineSegmentModelAngles(lineid, &Float:RotX, &Float:RotY, &Float:RotZ); // Получает углы поворота объекта. SetLineSegmentModelAngles(lineid, Float:RotX, Float:RotY, Float:RotZ); // Устанавливает углы поворота объекта. GetLineSegmentWorld(lineid); // Получает виртуальный мир, в котором отрезок виден (-1 для всех миров). SetLineSegmentWorld(lineid, world); // Устанавливает виртуальный мир, в котором отрезок виден (-1 для всех миров). GetLineSegmentInterior(lineid); // Получает интерьер, в котором отрезок виден (-1 для всех интерьеров). SetLineSegmentInterior(lineid, interior); // Устанавливает интерьер, в котором отрезок виден (-1 для всех интерьеров). GetLineSegmentPlayerID(lineid); // Получает идентификатор игрока, к которому будет отображен (-1 для всех игроков). SetLineSegmentPlayerID(lineid, playerid); // Устанавливает идентификатор игрока, к которому будет отображен (-1 для всех игроков). GetLineSegmentVector(lineid, &Float:x, &Float:y, &Float:z); // Возвращает вектор направления 3D отрезка. GetDistanceToLineSegmentPoint(lineid, Float:FromX, Float:FromY, Float:FromZ); // Возвращает расстояние до начала отрезка GetDistanceToLineSegmentDest(lineid, Float:FromX, Float:FromY, Float:FromZ); // Возвращает расстояние до конца отрезка. GetLineSegmentLength(lineid); // Возвращает общую длину отрезка.[/pwn]
СКАЧАТЬ/ПРОСМОТРЕТЬ код: 1. GitHub 2. Создайте и сохраните данный код в Line.inc 3. Поместите инклуд в папку сервером [ .../pawno/include ] 4. Откройте Ваш .pwn мод и вставьте подключение инклуда #include 5. Работает при использование - YSI/y_iterate и Streamer Plugin
P.S. Пример работы скрипта: GitHub
Автор: [HLF]Southclaw Перевод: Rishat
[Open Source] GTO v.0.5.8 - 0.7.2 [all series]
[GM] GTA-EU Role Play (akka Awesome RPg) [GM] MultiGTA - Rishat edition 2011
[MAP] Автошкола. (Los Santos) [MAP] Hospital - Больница (Los Santos)
Сообщение отредактировал Rishat - Четверг, 27.11.2014, 00:43 |
|
|
|