PDA

Просмотр полной версии : [Include] Geebrox's Cuff System



Geebrox
27.05.2016, 21:26
Автор: Я


Описание:


Этот инклюд добавит на ваш сервер уникальную систему наручников. При помощи команды /gcuff можно надеть наручники на подозреваемого, но это не главное! Подозреваемый будет следовать за игроком, а если расстояние слишком большое, то начнет бегать за ним. При этом подозреваемый полностью лишается управления персонажем, пока игрок не снимет с него наручники, /guncuff, или не выйдет из игры. Подробнее можете посмотреть в видеообзоре.


Видеообзор:



https://www.youtube.com/watch?v=2_TrriMDKd0


Лог обновлений:




Добавлен новый параметр G_CUFF_TP_RANGE (Float:distance) - устанавливает при каком расстояние преступник должен телепортнуться к игроку.
Добавлена новая команда /followme [ID] - преступник на которого были надеты наручники, начинает следовать за игроком
Добавлена новая команда /stayhere [ID] - останавливает следовавшего преступника
Отредактирована команда /gcuff - теперь она используется только для того, чтобы надеть наручники
Исправлен момент, о котором говорили в комментариях, теперь если игрок тпшится в интерьеры и т.д. преступник, который следует за игроком тпшится за ним
Теперь при смене интерьера у игрока, она меняется и у преступника, который следует за игроком
Теперь игрок может надевать наручники только 1 преступнику и следовательно может тащить за собой только преступника на которого он сам надел наручники
Игрок может снимать наручники у преступника на которого он сам надевал наручники
Исправлен сбив анимки при беге каждую секунду
Система перенесена в GitHub





Весь инклюд полностью переписан заново
Код оптимизирован
Переменные, название функции и макросы переименованы, следовательно теперь название параметров для настроек другие
Отредактированы команды, добавлены дополнительные проверки
Добавлены новые настройки для инклюда
Теперь при смене виртуального мира у игрока, то мир меняется и у игрока в наручниках (далее преступник) тоже
Теперь при смене интерьера у игрока, то преступник сразу телепортируется за игроком, это сделан для того чтобы избежать не правильных срабатывание обновлений преступника, если интерьер находится ближе, чем было указано в настройках телепортации преступника (кажется понятно)
Учтен совет пользователя underground, теперь когда игрок садится в ТС, то преступник тоже садится в эту машину, ЕСЛИ есть свободное место
Учтен совет пользователя Nexius_Tailer, изменен название анимации игрока на run_civi (спасибо underground'у за подсказку)
Теперь преступник только бежит за игроком, это сделан во избежание сбива анимации при повторном обновление преступника (но если вам очень нужно добавить анимацию ходьбы тоже, то пишите в комментариях, будет сделан в дальнейших версиях)



Доступные команды:




Название команды
Описание команды


/gcuff
Надевает наручники на игрока.
Наручники можно надевать максимум на одного игрока
Вам не должно быть надеты наручники, чтобы использовать эту команду


/guncuff
Снимает наручники с игрока
Если вы хотите снять наручники с игрока, то они должны быть надеты вами


/gfollowme
Тащит игрока за Вами.
На игрока должны быть надеты наручники вами


/gstayhere
Останавливает игрока, который следовал за вами




Доступные параметры для настроек:




Название
Описание
По умолчанию
Пример использование


gc_SUSPECT_UPDATE_INTERVAL
Устанавливает интервал между обновлениями преступника в миллисекундах, чем меньше интервала, тем плавнее преступник следит за игроком, но тем больше грузит сервер
1000 (одна секунда)

#include <a_samp>
...
#define gc_SUSPECT_UPDATE_INTERVAL 500
#include <g_cuff>


gc_CUFF_DISTANCE
Устанавливает дистанцию, с которого можно надевать наручники на преступника
3.0

#include <a_samp>
...
#define gc_CUFF_DISTANCE 1.5
#include <g_cuff>


gc_UNCUFF_DISTANCE
Устанавливает дистанцию, с которого можно снимать наручники с преступника
3.0

#include <a_samp>
...
#define gc_UNCUFF_DISTANCE 2.3
#include <g_cuff>


gc_FOLLOW_DISTANCE
Устанавливает дистанцию, с которого можно тащить преступника за собой
5.0

#include <a_samp>
...
#define gc_FOLLOW_DISTANCE 7.5
#include <g_cuff>


gc_SUSPECT_RANGE_RUN
Устанавливает радиус между игроком и преступником, после которого преступник начинает бежать за игроком, если он следит за ним
4.0

#include <a_samp>
...
#define gc_SUSPECT_RANGE_RUN 3.0
#include <g_cuff>


gc_SUSPECT_RANGE_TP
Устанавливает радиус между игроком и преступником, после которого преступник телепортируется к игроку, если он следовал за ним
20.0

#include <a_samp>
...
#define gc_SUSPECT_RANGE_TP 25.321
#include <g_cuff>


gc_COLOR_INFO
Устанавливает цвет для обычных частей сообщение
"{ecf0f1}"

#include <a_samp>
...
#define gc_COLOR_INFO "{cd0000}"
#include <g_cuff>


gc_COLOR_NOTE
Устанавливает цвет для важных частей сообщение
"{e67e22}"

#include <a_samp>
...
#define gc_COLOR_NOTE "{FFFFFF}"
#include <g_cuff>


gc_COLOR_ERROR
Устанавливает цвет для ошибок
"{c0392b}"

#include <a_samp>
...
#define gc_COLOR_ERROR "{555555}"
#include <g_cuff>


gc_COLOR_SUCCESS
Устанавливает цвет для сообщений, при успешном результате
"{2ecc71}"

#include <a_samp>
...
#define gc_COLOR_SUCCESS "{2ecc71}"
#include <g_cuff>




Сам include


Скачать с GitHub (https://github.com/Geebrox/Pawn/tree/master/Geebrox-Cuff-System)



Спасибо пользователю m1n1vv за помощь при тестирование


Авторские права:


Нельзя выкладывать в другие источники без разрешение автора!




Оставляйте свои советы и идеи для новых версии системы.

Geebrox
27.06.2016, 20:54
Обновлен до версии 2:


Добавлен новый параметр G_CUFF_TP_RANGE (Float:distance) - устанавливает при каком расстояние преступник должен телепортнуться к игроку.
Добавлена новая команда /followme [ID] - преступник на которого были надеты наручники, начинает следовать за игроком
Добавлена новая команда /stayhere [ID] - останавливает следовавшего преступника
Отредактирована команда /gcuff - теперь она используется только для того, чтобы надеть наручники
Исправлен момент, о котором говорили в комментариях, теперь если игрок тпшится в интерьеры и т.д. преступник, который следует за игроком тпшится за ним
Теперь при смене интерьера у игрока, она меняется и у преступника, который следует за игроком
Теперь игрок может надевать наручники только 1 преступнику и следовательно может тащить за собой только преступника на которого он сам надел наручники
Игрок может снимать наручники у преступника на которого он сам надевал наручники
Исправлен сбив анимки при беге каждую секунду
Система перенесена в GitHub


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

underground
03.02.2017, 15:28
Все отлично, но есть пару недоработок, к примеру:
- когда игрок (тот кто ведет) меняет интерьер, то нужно сравнивать и виртуальный мир\
- когда игрок садится в т/с было бы хорошо чтобы того кого ведут тоже забрасывало в транспорт

А так то все четко, спасибо!

Nexius_Tailer
03.02.2017, 17:40
Да, работа хорошая.
Только одно пожелание: анимка следования, по видимому, взята у CJ, что конфликтует с античитами на бег CJ на серверах, где он не юзается по умолчанию. Лучше сделать подмену функции UsePlayerPedAnims (если она использовалась - задавать анимку сиджея, иначе любую другую)

underground
05.02.2017, 13:01
Да, работа хорошая.
Только одно пожелание: анимка следования, по видимому, взята у CJ, что конфликтует с античитами на бег CJ на серверах, где он не юзается по умолчанию. Лучше сделать подмену функции UsePlayerPedAnims (если она использовалась - задавать анимку сиджея, иначе любую другую)

WALK_CIVI и RUN_CIVI - никаких проблем :)

ankasvibla
11.02.2017, 12:08
Если полицейский зайдет в интерьер, преступник будет бежать бесконечно в направлении координат полицейского?

Nexius_Tailer
11.02.2017, 12:21
WALK_CIVI и RUN_CIVI - никаких проблем :)
Это было бы неплохо сделать именно в инклуде

StevenH
11.02.2017, 18:23
Если полицейский зайдет в интерьер, преступник будет бежать бесконечно в направлении координат полицейского?

Нет, преступника телепортирует в интерьер к полицейскому

Geebrox
11.02.2017, 23:53
Это было бы неплохо сделать именно в инклуде

Я над этим работаю, то есть над новой версией, времени свободного очень мало.

Geebrox
16.02.2017, 00:40
Обновлен до версии 3:


Весь инклюд полностью переписан заново
Код оптимизирован
Переменные, название функции и макросы переименованы, следовательно теперь название параметров для настроек другие
Отредактированы команды, добавлены дополнительные проверки
Добавлены новые настройки для инклюда
Теперь при смене виртуального мира у игрока, то мир меняется и у игрока в наручниках (далее преступник) тоже
Теперь при смене интерьера у игрока, то преступник сразу телепортируется за игроком, это сделан для того чтобы избежать не правильных срабатывание обновлений преступника, если интерьер находится ближе, чем было указано в настройках телепортации преступника (кажется понятно)
Учтен совет пользователя underground, теперь когда игрок садится в ТС, то преступник тоже садится в эту машину, ЕСЛИ есть свободное место
Учтен совет пользователя Nexius_Tailer, изменен название анимации игрока на run_civi (спасибо underground'у за подсказку)
Теперь преступник только бежит за игроком, это сделан во избежание сбива анимации при повторном обновление преступника (но если вам очень нужно добавить анимацию ходьбы тоже, то пишите в комментариях, будет сделан в дальнейших версиях)



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

VVWVV
16.02.2017, 01:10
Разве в foreach есть такая константа?


_foreach_included

Geebrox
16.02.2017, 03:08
Разве в foreach есть такая константа?


_foreach_included


исправил, ночью писал эту часть)

Иван Бубнов
16.02.2017, 11:15
А если игрок который тащит за собой будет телепортирован админом, то тот игрок что в наручниках все равно будет бегать к копу? Нужно такие дела решить, по коду норм вроде

Geebrox
16.02.2017, 12:09
А если игрок который тащит за собой будет телепортирован админом, то тот игрок что в наручниках все равно будет бегать к копу? Нужно такие дела решить, по коду норм вроде

Этот же вопрос задавали ранее и даже этот пункт указан в самой описание темы (gc_SUSPECT_RANGE_TP). Неужели нельзя прочитать тему полностью?

123
18.02.2017, 14:35
А если заключенный / арестованный во время конвая умрет? Учитывать нужно такие моменты