polygons -
Seregamil1 - 26.06.2014
Представляю систему, которая позволит
рисовать полигоны в SA-MP.
Презентация возможностей построения полигонов:
Количество гангзон использованных для полигонов не превысило 100 штук.
Функции:
PHP Code:
CreatePolygon( Float: area[ ], all_points = sizeof area ) - Создает полигон из массива и возвращает ID полигона
DestroyPolygon( polygonid ) - Удаляет полигон по его ID
PolygonFlashForAll( polygonid, color = 0xFF0000AA ) - Включает мигание полигона по его ID определенным цветом
PolygonFlashForPlayer( playerid, polygonid, color = 0xFF0000AA ) - Включает мигание полигона по его ID определенному игроку определенным цветом
PolygonStopFlashForAll( polygonid ) - Выключает мигание полигона для всех игроков
PolygonStopFlashForPlayer( playerid, polygonid ) - Выключает мигание полигона для определенного игрока
PolygonShowForAll( polygonid, color = 0xFFFFFFAA ) - Показывает полигон всем игрокам определенным цветом
PolygonShowForPlayer( playerid, polygonid, color = 0xFFFFFFAA ) - Показывает полигон определенному игроку определенным цветом
PolygonHideForAll( playerid, polygonid ) - Скрывает полигон для всех игроков
PolygonHideForPlayer( playerid, polygonid ) - Скрывает полигон для определенного игрока
CountGangZones() - Выдает количество ВСЕХ гангзон на ВСЕМ сервере
По стандарту, максимальное количество полигонов равно 20.
Система работает как со стримером, так и без него.
Если у вас подключен стример, то вам так же доступны новые каллбэки:
PHP Code:
OnPlayerEnterPolygon( playerid, polygonid ) - Срабатывает при входе игрока на полигон
OnPlayerLeavePolygon( playerid, polygonid ) - Срабатывает при выходе игрока из полигона
Прямые линии рисует одной гангзоной.
Если при создании полигона, количество созданных гангзон превышает максимальное количество гангзон, т.е. 1024, то полигон самостоятельно удалит себя.
Ссылка на репозиторий с инклудом и тестовым скриптом:
https://github.com/Seregamil/SA-MP-Polygons
Автор системы:
Seregamil
Re: polygons -
Vinnyy - 26.06.2014
Не чувак, это адовая трата гангзон, по-моему

Посмотри лучше на иконки.
Если ты будешь рисовать с помощью них, по-любому выиграешь в кол-ве заюзанных гангзон.
они всё-таки не резиновые
Re: polygons -
Mexanizm93 - 26.06.2014
Великолепно =)
Quote:
Не чувак, это адовая трата гангзон, по-моему
|
Найдётся человек которому и эта работа пригодится.
Re: polygons -
Seregamil1 - 26.06.2014
Quote:
Originally Posted by Vinnyy
Не чувак, это адовая трата гангзон, по-моему 
Посмотри лучше на иконки.
Если ты будешь рисовать с помощью них, по-любому выиграешь в кол-ве заюзанных гангзон.
они всё-таки не резиновые
|
Никто же не собирается создавать больше 20 полигонов за раз и все с кривыми прямыми, верно?
Re: polygons -
Mutha_X - 21.07.2014
Если было бы реализовано заполнение контуров ( заливка ), то можно было бы уменьшить кол-во использованных гангзон примерно вдвое (для сложных фигур) и до одной для прямоугольников. Получится даже в некотором смысле расширение для обычного редактора гангзон.
Re: polygons -
Seregamil1 - 21.07.2014
Quote:
Originally Posted by Mutha_X
Если было бы реализовано заполнение контуров ( заливка ), то можно было бы уменьшить кол-во использованных гангзон примерно вдвое (для сложных фигур) и до одной для прямоугольников. Получится даже в некотором смысле расширение для обычного редактора гангзон.
|
Да, вы правы, но идея скрипта заключена именно в пиксельном рисовании на карте.
Re: polygons -
Seregamil1 - 06.11.2014
Исправлен код перехвата OnPlayer(Enter/Leave)DynamicArea
Исправлен баг с недорисовкой последней точки полигона