Lua KBulletTracers 1.2-dev | 18.09.2024 | Трейсер пуль с помощью DrawList

kyrtion

Известный
Автор темы
978
355
KBulletTracers 1.2-dev

Скрипт позволяет рендерить трейсер пуль через DrawList в MImGui, а также предпросмотр трейсер в окно MImGui.
В этот скрипт включает возможность проходить пули сквозь экран (возможно не стабильно).
Скрипт подойдет для администрации сервера SA-MP в любом уровне.

Настройки делится для себя и другие:
Отрисовку пуль​
Окончания у линий​
Время задержки трейсера​
Время появление до попадании​
Шаг исчезновение​
Толщина линий​
Размер окончания трейсера​
Количество углов на окончаниях​

Также настройки делятся на несколько цветов:
Игрок​
Машина​
Статистический объект​
Динамический объект​
Тестовый трейсер (поменяете цвет, если понравился то перетаскиваешь цвет в другом цвете с помощью drag-to-drop)​

В параметрах настройки трейсер пуль входят:
Дать возможность трейсер пуль попасть в камере​
Сообщить в чате, если трейсер не распознан​
Ограничить радиус (в метров)​

Преимущество:
+ Красиво и качественно​
+ Почти не жрется FPS​
+ Необязательно указать максимальные трейсера​
+ Теперь вы сможете сменить цвет с альфой (прозрачный)​
+ Плавно появляется и исчезает постепенно по шагу после таймера (спс @Cosmo)​

Недостатки:
- Функция "Проходить пули сквозь экран" - пока еще нестабильна. Потребуется переработать с функцией (не шарю как это пофиксить)​
- За использование данный скрипт возможно вы получите бан, если подозревают что играете с ВХ (или на опре)​

OVuwDry.png

<- это npc из серв от sr_team, если нпц то скрипт считает что это не нпц, а стат.объект
cKmYf0f.png

Библиотеки: samp.events, mimgui, encoding*
* - не обязательно скачивать отдельно, у вас уже установлены по умолчанию
Активация: /kbt
Автор: @kyrtion
Установка: Скрипт KBulletTracers-*.lua перекинуть в папке moonloader

Также создал архив git_kbulletracers.zip (там все содержится старые и текущие версия), может кому-то пригодится.

При публикации где-либо обязательно указывайте автора и ссылку на эту тему!

28.08.2023 | Версия: 1.0
+ Релиз

03.09.2023 | Версия: 1.1
! Исправлено, если цель-тип (4 и более) не включено в конфигурации и скрипт завершил работу
+ Добавлены 2 галочки "Сообщить в чате, если трейсер не распознан" и "Ограничить радиус"
18.09.2024 | Версия 1.2 для разработчиков
 

Вложения

  • git_kbulletstracer.zip
    11.5 KB · Просмотры: 229
  • KBulletTracers-1.1.lua
    30.6 KB · Просмотры: 589
  • KBulletTracers-1.2-dev.lua
    33.8 KB · Просмотры: 95
Последнее редактирование:

friendly

Известный
900
261
а возможно ли добавить в скрипт функцию "радиус рендера трейсера пуль?", чтобы к примеру трейсера появлялись только в радиусе 50 метров
 

kyrtion

Известный
Автор темы
978
355
а возможно ли добавить в скрипт функцию "радиус рендера трейсера пуль?", чтобы к примеру трейсера появлялись только в радиусе 50 метров
Допустим, если я ушел понаблюдать игрока, то скорее всего я не могу узнать что там произошло дальше 50 метров.
По моему не очень идея. Но подумаю, если понадобится.
 

VanoKLR

Известный
879
488
Допустим, если я ушел понаблюдать игрока, то скорее всего я не могу узнать что там произошло дальше 50 метров.
По моему не очень идея. Но подумаю, если понадобится.
добавить возможность вкл/выкл + слайдер на регулировку дальности
 
  • Нравится
Реакции: kyrtion

kyrtion

Известный
Автор темы
978
355
типо такого?
Если не это, то я даже хз че оно тогда делает
Естественно. Я его считаю как дальность. Если будет ниже z с минусом в экране, то трейсер пуль просто превратит пол мира в зеркало. То есть не правильно отображается. Я добавил функцию для изменения координаты. Если попадается условия, то координаты просто сдвинут на дистанции по Z.

Напиши на английском, а то нихуя не понятно
Ну тогда, "Дать возможность трейсер руль попасть в экран камеры"
 

Traer

Известный
163
84
добавь режим отрисовки трассера только у отдельного игрока
 

AntonAnton123

Активный
165
82
свои трейсеры, когда сам стреляешь то норма, стоит в слежке игрокам стрельнуть сразу:

[ML] (error) KBulletTracers: D:\GTA San Andreas\moonloader\KBulletTracers-1.0.lua:561: attempt to index a nil value
stack traceback:
D:\GTA San Andreas\moonloader\KBulletTracers-1.0.lua:561: in function 'callback'
D:\GTA San Andreas\moonloader\lib\samp\events\core.lua:79: in function <D:\GTA San Andreas\moonloader\lib\samp\events\core.lua:53>
[ML] (error) KBulletTracers: Script died due to an error. (1625A2AC)

и потом через время может крашнуть
 

kyrtion

Известный
Автор темы
978
355
свои трейсеры, когда сам стреляешь то норма, стоит в слежке игрокам стрельнуть сразу:

[ML] (error) KBulletTracers: D:\GTA San Andreas\moonloader\KBulletTracers-1.0.lua:561: attempt to index a nil value
stack traceback:
D:\GTA San Andreas\moonloader\KBulletTracers-1.0.lua:561: in function 'callback'
D:\GTA San Andreas\moonloader\lib\samp\events\core.lua:79: in function <D:\GTA San Andreas\moonloader\lib\samp\events\core.lua:53>
[ML] (error) KBulletTracers: Script died due to an error. (1625A2AC)

и потом через время может крашнуть
скорее всего файл не создался, поэтому и так получилось. отпишусь в лс
upd: проблема оказывается что тип бывает и 4. Это как-то связано с объектом 3626, не понятно... Когда я попадаю его, динамический является. Если у игрока - совсем по другому так выглядит. кривая синхра(
 
Последнее редактирование:

bulba$h

Активный
327
92
свои трейсеры, когда сам стреляешь то норма, стоит в слежке игрокам стрельнуть сразу:

[ML] (error) KBulletTracers: D:\GTA San Andreas\moonloader\KBulletTracers-1.0.lua:561: attempt to index a nil value
stack traceback:
D:\GTA San Andreas\moonloader\KBulletTracers-1.0.lua:561: in function 'callback'
D:\GTA San Andreas\moonloader\lib\samp\events\core.lua:79: in function <D:\GTA San Andreas\moonloader\lib\samp\events\core.lua:53>
[ML] (error) KBulletTracers: Script died due to an error. (1625A2AC)

и потом через время может крашнуть
+, сталкиваюсь с такой же ошибкой
 

kyrtion

Известный
Автор темы
978
355
03.09.2023 | Версия: 1.1

! Исправлено, если цель-тип (4 и более) не включено в конфигурации и скрипт завершил работу
+ Добавлены 2 галочки "Сообщить в чате, если трейсер не распознан" и "Ограничить радиус"
 

kyrtion

Известный
Автор темы
978
355
хоть убейте, но я нихуя не понял
ок, тогда.
data.targetType - я его назову как "тип"
в скрипте есть функция для выделение цвета от 0 до 3. вчера тип на 4 я нашел, но оказывается это цвет динамический объект, в другом сервере проверил).
если нет такой тип в функции, то тогда будет заменен на фиолетовый и предупредит в чате (если активен) о том, что трейсер не распознан

 
  • Вау
Реакции: Corenale