[Include] polygons
#1

Представляю систему, которая позволит рисовать полигоны в SA-MP.

Презентация возможностей построения полигонов:







Количество гангзон использованных для полигонов не превысило 100 штук.

Функции:

PHP Code:
CreatePolygonFloatarea[ ], all_points sizeof area ) - Создает полигон из массива и возвращает ID полигона
DestroyPolygon
polygonid ) - Удаляет полигон по его ID
PolygonFlashForAll
polygonidcolor 0xFF0000AA ) - Включает мигание полигона по его ID определенным цветом
PolygonFlashForPlayer
playeridpolygonidcolor 0xFF0000AA ) - Включает мигание полигона по его ID определенному игроку определенным цветом
PolygonStopFlashForAll
polygonid ) - Выключает мигание полигона для всех игроков
PolygonStopFlashForPlayer
playeridpolygonid ) - Выключает мигание полигона для определенного игрока
PolygonShowForAll
polygonidcolor 0xFFFFFFAA ) - Показывает полигон всем игрокам определенным цветом
PolygonShowForPlayer
playeridpolygonidcolor 0xFFFFFFAA ) - Показывает полигон определенному игроку определенным цветом
PolygonHideForAll
playeridpolygonid ) - Скрывает полигон для всех игроков
PolygonHideForPlayer
playeridpolygonid ) - Скрывает полигон для определенного игрока
CountGangZones
() - Выдает количество ВСЕХ гангзон на ВСЕМ сервере 
По стандарту, максимальное количество полигонов равно 20.

Система работает как со стримером, так и без него.

Если у вас подключен стример, то вам так же доступны новые каллбэки:
PHP Code:
OnPlayerEnterPolygonplayeridpolygonid ) - Срабатывает при входе игрока на полигон
OnPlayerLeavePolygon
playeridpolygonid ) - Срабатывает при выходе игрока из полигона 
Прямые линии рисует одной гангзоной.

Если при создании полигона, количество созданных гангзон превышает максимальное количество гангзон, т.е. 1024, то полигон самостоятельно удалит себя.

Ссылка на репозиторий с инклудом и тестовым скриптом: https://github.com/Seregamil/SA-MP-Polygons

Автор системы: Seregamil
Reply
#2

Не чувак, это адовая трата гангзон, по-моему
Посмотри лучше на иконки.
Если ты будешь рисовать с помощью них, по-любому выиграешь в кол-ве заюзанных гангзон.
они всё-таки не резиновые
Reply
#3

Великолепно =)

Quote:

Не чувак, это адовая трата гангзон, по-моему

Найдётся человек которому и эта работа пригодится.
Reply
#4

Quote:
Originally Posted by Vinnyy
View Post
Не чувак, это адовая трата гангзон, по-моему
Посмотри лучше на иконки.
Если ты будешь рисовать с помощью них, по-любому выиграешь в кол-ве заюзанных гангзон.
они всё-таки не резиновые
Никто же не собирается создавать больше 20 полигонов за раз и все с кривыми прямыми, верно?
Reply
#5

Если было бы реализовано заполнение контуров ( заливка ), то можно было бы уменьшить кол-во использованных гангзон примерно вдвое (для сложных фигур) и до одной для прямоугольников. Получится даже в некотором смысле расширение для обычного редактора гангзон.
Reply
#6

Quote:
Originally Posted by Mutha_X
View Post
Если было бы реализовано заполнение контуров ( заливка ), то можно было бы уменьшить кол-во использованных гангзон примерно вдвое (для сложных фигур) и до одной для прямоугольников. Получится даже в некотором смысле расширение для обычного редактора гангзон.
Да, вы правы, но идея скрипта заключена именно в пиксельном рисовании на карте.
Reply
#7

Исправлен код перехвата OnPlayer(Enter/Leave)DynamicArea
Исправлен баг с недорисовкой последней точки полигона
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)