Lua WRAITH.LUA - предупреждение что в вас кто-то целится

qrlk

Известный
Автор темы
Друг
411
928
Версия SA-MP
  1. 0.3.7 (R1)
  2. Любая

WRAITH.LUA​



Реализует пассивную способность Wraith из Apex Legends


Если в вашего персонажа/машину кто-то прицелится/выпустит пулю - вы получите уведомление и сможете среагировать на угрозу.
Скрипт никак не взаимодействует с сервером, так что его использование спалить практически невозможно.

1703101197235.png


Скрипт очень хорошо проработан, есть english localization и его можно гибко настроить под ваш вкус.
Например, вы сможете настроить отправку автосмс тому, кто в вас прицелился, чтобы отвлечь его внимание.




Пассивная способность - Голоса из Пустоты (Voices from the Void).

  • Функция предупредит вас об опасности, если кто-то начнет целиться из оружия в вашего персонажа или в вашу машину.
  • Это позволит вам избежать неожиданного нападения со спины, законтрить снайпера на другом конце карты и выиграть файт.
  • Столкновение с прицелом/пулей определяется либо по персонажу/машине, либо по настраиваемому хитбоксу-кубоиду.
  • Есть возможность предупреждать только о внезапной атаке (по кулдауну), либо при каждом срабатывании пули/прицела.
    • Есть опциональный трасер до угрозы, который просчитывает путь до угрозы даже если она не на экране (умный трасер).
    • Есть опциональный геймтекст, который показывает ник, айди и тип угрозы, а так же расстояние до неё.
    • Есть опциональный сампозвук чекпоинта, когда в вас кто-то пускает пулю/прицеливается/срабатывает 'внезапная атака'.
    • При желании можно оставить только звуковое предупреждение и на ваших откатах (если они без звука) не будет заметно, что вы читер.
    • Есть возможность настроить сообщение в чат как реакцию на 'внезапную атаку'. Можно либо забиндить анимацию, чтобы лечь, либо отправить атакующему смс, чтобы отвлечь например. Возможно заменить заготовленный текст под оружие/ник/id атакующего. Но тут легко спалиться, по умолчанию отключено.
1703101197235.png

  • Для большей точности были добавлены обработка линий пуль (для определения +с угроз) и проверка столкновения с хитбоксов-кубоидов (насколько сильно параноить можете настроить сами).
  • Для реализации этого функционала был разработан более точный рендер линий прицела, основанный на исследовании поведения aspectRatio в aimSync и его влияния на линию прицела на всех возможных соотношениях сторон игроков (раньше этого никто не делал).
    • Скрипт будет в фоне отслеживать aimSync игроков и пытаться воссоздать их линию прицела исходя из вида оружия и aspectRatio, указанного в aimSync.
    • Работает отслеживание линии прицела как на ногах, так и в машине (если персонаж целится с пассажирки через H).
    • Для реализации этого функционала был разработан более точный рендер линий прицела, основанный на aspectRatio в aimSync (раньше никто не использовал aspectRatio).
      • Этот рендер определяет все возможные соотношения сторон GTA SA как с установленным вайдскринфиксом, так и без.
      • Рендер искривляет линию прицела исходя из вида оружия и значений отклонения вектора, которые были вручную собраны для всех возможных комбинаций.



Для работы нужно: SA-MP 0.3.7, MoonLoader, CLEO 4+, SAMPFUNCS.

Для установки перенесите файл wraith.lua в папку moonloader:

  • wraith.lua поддерживает автообновление (+ аналитику использования), а так же отправку ошибок.
  • если вы хотите отключить sentry/автообновление, скачайте скрипт и в шапке скрипта замените true на false.
Меню: /wraith

 

Вложения

  • wraith.lua
    88.8 KB · Просмотры: 227
Последнее редактирование:

01EG

Известный
Проверенный
634
362

WRAITH.LUA​



Реализует 2 способности Wraith из Apex Legends






Вы будете трахать.

Пассивная способность - Голоса из Пустоты (Voices from the Void).

  • Скрипт предупредит вас об опасности, если кто-то начнет целиться из оружия в вашего персонажа или в вашу машину.
  • Это позволит вам избежать неожиданного нападения со спины, законтрить снайпера на другом конце карты и выиграть файт, вовремя воспользовавшись тактической способностью.
  • Пассивная способность никак не взаимодействует с сервером и на стороне сервера/других игроков её использование спалить нереально.


  • Скрипт будет в фоне отслеживать aimSync игроков и пытаться воссоздать их линию прицела исходя из вида оружия и aspectRatio, указанного в aimSync.
  • Работает отслеживание линии прицела как на ногах, так и в машине (если персонаж целится с пассажирки через H).
  • Если ваш персонаж или ваша машина столкнутся с этой линией прицела - вы получите явное уведомление и сможете вовремя среагировать на угрозу.
  • Реализовано три вида предупреждения: в вас целятся, в вас целятся из снайперской винтовки, в вашу машину целятся.
  • Опционально можно нарисовать временный трасер к противнику, который в вас целится и отобразить на экране его ник, ID и расстояние до персонажа (в момент активации).
  • У способности есть настраиваемый кулдаун - чтобы не засорять эфир.
  • При желании можно оставить только звуковое предупреждение и на ваших откатах (если они без звука) не будет заметно, что вы читер.

Тактическая способность - В Пустоту (Into The Void).

  • Попав в тяжелую ситуацию, вы сможете по нажатию комбинации клавиш (по стандарту: ALT+Q) на короткое время (~5 секунд) переместиться в Пустоту, чтобы изменить позицию и избежать урона.
  • Тактическую способность очень легко можно спалить, но из-за её краткосрочности шанс получить моментальное наказание незначителен.
  • Тактическая способность по умолчанию отключена в целях защиты от дурака, вам нужно включить её в /wraith, если вы хотите её использовать.

  • Во время активной 'фазы' координата вашего персонажа по высоте изменяется (вы тупа под землей), но бегать вы будете как обычно.
  • Во время активной 'фазы' ваш персонаж не сможет прыгать, брать в руки оружие и стрелять.
  • После окончания 'фазы' персонаж возьмет в руки оружие, которое у него было на момент старта 'фазы'.
  • Есть два режима активации:
    • По умолчанию, текущая Рэйф (после нерфа): фаза активируется через 2 секунды после активации функции, но вы можете отменить случайную активацию, удержав кнопку.
    • Опциональная, до нерфа: персонаж будет уходить в фазу почти моментально, но вы не сможете отменить случайную активацию
  • Кнопку активации можно изменить, так же можно выбрать нужно ли удерживать ALT для комбинации.
  • У способности есть настраиваемый кулдаун.


FOR ENGLISH PRESS 1 - wraith.lua is 100% translated into English.
  • The script menu and all its functions are fully translated into English. Audio resources are available in 10 languages.
  • To change the language from default (russian), enter /wraith into the chat and press the 'Swith language to English' button.
  • If you need more information, please use Google Translate to translate this topic!
Для разработчиков - дебаг функции.

  • В /wraith есть отдельный раздел с функциями для отладки, там есть интересные штуки, но с ними лучше не связываться простым игрокам.

  • рендер линии прицела у всех игроков с учётом их оружия и соотношения сторон
  • рендер LOS линии прицела у всех игроков с учётом их оружия и соотношения сторон
  • 3д текст над персонажами с соотношением сторон их игры, 'unknown' пишет обычно у мобилок, их вроде ваншотит с дигла, можно абузить
  • рендер линии прицела у вашего персонажа исходя из оружия и вашего соотношения сторон
  • рендер LOS линии прицела у вашего персонажа исходя из оружия и вашего соотношения сторон
  • рендер текста с текущей линией прицела, её aspectRatio и значений для коррекции линии прицела
  • возможность включить режим изменения значений (у каждого 'класса' своё: у м4, ак, рифлы своё, у снайперки своё, у остального своё).
  • возможность сохранить эти новые значения в ини файл


Для атмосферы - озвучка из Apex Legends.

  • Это эффекты 'Пустоты' и реплики на всех языках, которые сигнализируют об опасности.
  • Архив с ресурсами слишком большой для бластхака, их всегда можно скачать с GitHub - скачайте архив и перенесите папку resource из архива в папку moonloader с заменой.
  • Я достал 772 аудиофайла на всех возможных языках, чтобы играть за Wraith в SA:MP вам было приятнее.
  • При минимальных знаниях скриптинга мы сможете изменить код и настроить свои звуки.
  • Для функционирования скрипта звуки не обязательны, но их лучше всё же скачать - к тому же их можно потом отключить в /wraith.
  • Для экстракта ассетов использовался LegionPlus.
  • При выборе озвучки вы можете услышать как одна и та же фраза звучит на разных языках.
  • Доступные языки озвучки, сменить язык можно в /wraith:
    • Английский
    • Русский
    • Французский
    • Итальянский
    • Немецкий
    • Испанский
    • Японский
    • Корейский
    • Польский
    • Китайский


Для запуска скрипта требуется: SA-MP 0.3.7-R1 (на других не проверял) и MoonLoader.
Зависимости: CLEO 4+, SAMPFUNCS, Imgui, Samp.Lua.

Для установки перенесите один из двух файлов в папку moonloader:

  • Первый файл поддерживает автообновление, аналитику (количество пользователей) и отправку краш репортов.
  • Во втором файле автообновление, аналитика и sentry отключены, но вы сами должны следить за актуальной версией в этой теме.
Если вам нужна озвучка:
  • Скачайте архив и перенесите папку resource из архива в папку moonloader с заменой.
Активация: /wraith

бля, я наверное далбайоб, но только что посмотрел 2-х минутное видео про нубоневедимку и какие-то трасеры и нихуя не понял
прочитал описание
интуитивно догадывался, что это трасера - слежки (кто-то навелся) и палит его тебе
по-поводу прятания под землю, если сойтись на том, что лаг какой-то для адмов, то пойдет
 

qrlk

Известный
Автор темы
Друг
411
928
бля, я наверное далбайоб, но только что посмотрел 2-х минутное видео про нубоневедимку и какие-то трасеры и нихуя не понял
прочитал описание
интуитивно догадывался, что это трасера - слежки (кто-то навелся) и палит его тебе
по-поводу прятания под землю, если сойтись на том, что лаг какой-то для адмов, то пойдет
Тестеры очень довольны, надо поиграть с этим, чтобы прочувствовать.

Этот скрипт в точности копирует устоявшийся кор геймплей луп самого пикаемого персонажа в одном из самых популярных батл роялей в мире. Это полностью ломает механику стрельбы в пользу читера и даёт ему огромное преимущество в игре (кор геймплей сампа - это стрельба).

1703105394479.png

По сути это единственный в своём роде нормально работающий рендер линий прицела всех игроков, который использован для самого прикладного случая - предупреждения о том что в игрока целятся. И если кто-то думает что это простая вещь - достаточно открыть код и посмотреть что там творится, полная разработка, ресерч и тестирование заняли 52 часа. Это так же единственный скрипт, который хоть как-то задействует и отображает соотношение сторон игры игроков, без чего корректное отображение линии прицела невозможно.

Игрок, у которого стоит wraith.lua с активной пассивной способностью будет всегда на шаг впереди, его невозможно будет застать врасплох, и он не сможет спалиться за читерством, потому что это пассивка. Полицейский сидит в машине, рядом в 100 метрах проезжает бандит с оружием на пассажирке и целится в машину. Доли секунды отделают от начала файта, исход которого определит кто кого застанет врасплох. С этим скриптом застать врасплох будет просто нереально, всегда будет хотя бы секунда на реакцию, если это не киберкотлета в гетто.

Тактическая способность более наглый чит, который легко спалить, но награда за его использование очень высока - возможность избежать смерти, застать врасплох оппонента (он даже не успеет понять что произошло, со стороны это выглядит будто чел оффнулся), релоцироваться и нанести удар из неожиданной позиции.
 
Последнее редактирование:
  • Нравится
Реакции: izicapt, gnoi и 01EG

Rei

Известный
Друг
1,616
1,674
Да как-то много чести для такой простой штуки, это ж самп, тут грани допустимого читерства очень размыты. Где андеграунд инвиз, там и вынос всего стрима дамагером. Такие способности - это чисто ради фана, посмотреть на реакцию игрока
33 sec

Пассивное предупреждение об облучении наведении полезная штука, но это те же самые лазеры, которые даже в кривом исполнении давали примерное понимании. Но хочу похвалить автора за рабочий алгоритм ( если он действительно корректно отрабатывает во всех ситуациях ), я бы даже украл его в свои проекты. Хотя я не уверен, что это действительно так сложно
 

Жоский поцик

Участник
115
15
[ML] (error) wraith.lua: C:\Program Files\Arizona\moonloader\wraith.lua:1301: 'struct AimSyncData' has no member named 'aspectRatio'
stack traceback:
C:\Program Files\Arizona\moonloader\wraith.lua:1301: in function 'callback'
...rogram Files\Arizona\moonloader\lib\samp\events\core.lua:82: in function <...rogram Files\Arizona\moonloader\lib\samp\events\core.lua:54>
[ML] (error) wraith.lua: Script died due to an error. (16DA0C2C)
шо делать?
 

qrlk

Известный
Автор темы
Друг
411
928
Да как-то много чести для такой простой штуки, это ж самп, тут грани допустимого читерства очень размыты.
Я думаю, что читерство это всегда risk - reward. Моей задачей было сделать ПОЛЕЗНЫЙ чит, который был бы логически завершен и полезен любому игроку - как готовому рисковать своим аккаунтом, так и тому, для которого выживание > наказание. Пассивка подойдет любому игроку. Тактическая способность более наглым читерам.

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

И тут мы лезем в интернет и узнаем, что за всё время существования сампа никто никогда ничего не делал с aspectRatio в aimSync (или я не нашел) и вообще это пустое поле и непонятно что делать. На форуме сампа ничего нет. Chatgpt прикидывается дураком. На бластхаке ничего нет, кроме вопросов 'а что это' без ответа. Начинаешь смотреть как идет твоя линия прицела откалиброванная под 21:9 в оконном режиме и во втором окне в 4:3, и охуеваешь от жизни.

Пытаешься сделать инструменты для отладки, чтобы понять что происходит, чтобы эмулировать камеру прицела первого игрока во втором окне с направлением и линией. В оконном режиме твой прицел начинает пидорасить, целишься в одно место, трасера летят в другое. Просто пиздец. Собираешь данные о всех возможных доступных разрешениях экрана, как они ведут себя при widescreenfix и без, с включенном, какие значения передаются в aspectRatio, пытаешься вычислить приблизительное соотношения сторон по этим данным. Смотришь как оно ведет себя в оконном режиме, пишешь определение примерного, а не точного соотношения сторон.

Пишешь кастомные скрипты для displayfusion чтобы хоть как-то взять контроль над ситуацией с окнами и соотношением сторон, находишь охуенный https://www.blast.hk/threads/123959/ и с включенным nospread упрощаешь себе задачу в разы. Наконец понимаешь принцип, собираешь данные о том какие данные репортит aimSync при ВСЕХ возможных соотношениях сторон. Калибруешь линию параллельно замедленному трасеру пули для каждого соотношения сторон на каждом классе оружия. Дебажишь в реальном мире. За два часа до релиза узнаешь, что в спину не работает, но быстро узнаешь что если пед целится со спины у него вообще другое значение по адресу.

Легко говорить, что всё просто, когда всё уже готово и лежат готовые результаты, скрытые под катом полезного для среднего игрока функционала. Вот я посмотрел твой проект и мне кажется что с теми же вводными я бы потратил на него в 2-3 раза меньше времени, чем было слито на wraith. Не хочу тебя обидеть, я очень люблю твой раксамп, просто не вижу в автодмщике ничего того над чем я бы сидел и чесал репу как тут, может при наведении на координаты потупил бы немного, но я уверен что есть уже готовый сниппет где-то и даже видел целую статью про это. Плюс я видел и раньше подобные видосы с такими приватными скриптами-ботами, но чуть попроще функционалом.

В этом проекте основная фича - принципиально новое (по моему мнению) костыльное, но работающее определение соотношения сторон игры другого игрока и исследование как сильно нужно отклонить линию камеры на каждом возможном разрешении экрана при каждом оружии, как с WSF, так и нет. Именно на поиск пути решения проблемы, исследование всей этой хуйни и написание нормальных дебаг инструментов для калибровки было убито больше всего времени.

Рэйф - просто обертка этого функционала для простых игроков, не буду говорить про 15-часовой экспорт 2кк ассетов, поиск реплик, реализацию тактической способности и поиск нужной погоды, это не так важно..

Ещё должен был быть её портал, но на него банально не хватило времени.

Но хочу похвалить автора за рабочий алгоритм ( если он действительно корректно отрабатывает во всех ситуациях ), я бы даже украл его в свои проекты. Хотя я не уверен, что это действительно так сложно

Соотношение сторон будет доступно в виде сниппета, сам рендер прицела уже вырезан в отдельный скрипт и будет опубликован как я его чуть доработаю под стабильную недебаг работу и пару фич добавлю. Когда будет ясно, что определение примерной линии работает у всех, будет опубликован и сниппет.


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


[ML] (error) wraith.lua: C:\Program Files\Arizona\moonloader\wraith.lua:1301: 'struct AimSyncData' has no member named 'aspectRatio'
stack traceback:
C:\Program Files\Arizona\moonloader\wraith.lua:1301: in function 'callback'
...rogram Files\Arizona\moonloader\lib\samp\events\core.lua:82: in function <...rogram Files\Arizona\moonloader\lib\samp\events\core.lua:54>
[ML] (error) wraith.lua: Script died due to an error. (16DA0C2C)
шо делать?
какая версия сампа, сервер?

UPD: у тебя старая версия samp.lua, надо обновиться. Скачай и в либ с заменой.

Снимок экрана 2023-12-21 в 19.09.05.png
 
Последнее редактирование:

Rei

Известный
Друг
1,616
1,674
Спасибо за развернутый ответ, интересно было почитать. Я точно помню, что видел что-то древнее на павне, использующее aspectratio, но не смог отыскать, поэтому сойдемся на том, что никто действительно не реализовал

Легко говорить, что всё просто, когда всё уже готово и лежат готовые результаты, скрытые под катом полезного для среднего игрока функционала. Вот я посмотрел твой проект и мне кажется что с теми же вводными я бы потратил на него в 2-3 раза меньше времени, чем было слито на wraith. Не хочу тебя обидеть, я очень люблю твой раксамп, просто не вижу в автодмщике ничего того над чем я бы сидел и чесал репу как тут, может при наведении на координаты потупил бы немного, но я уверен что есть уже готовый сниппет где-то и даже видел целую статью про это. Плюс я видел и раньше подобные видосы с такими приватными скриптами-ботами, но чуть попроще функционалом.
Да тоже самое, все строится вокруг навигационной сетки, на которую было потрачено наверное 90% времени разработки. Навмеш обычно закладываются разрабами еще на этапе разработки игры, мне же нужно было было сканить все в рантайме, еще и на луа, и чтоб игра сохраняла играбельный фпс ( хоть боту на и пох на это ). Гугл выдавал в основном материалы по юнити, поэтому я, плюнув на это дело, пошел придумывать собственный велосипед, но имея никаких знаний по этой теме. Спроектировать все до начала разработки не получалось, уж слишком петлявый алгоритм и каждый раз, когда я продвигался чуть дальше в его реализации, выяснялась фундаментальная ошибка, из-за которой приходилось всё переписывать заново. И так раз пять. А наводка на координаты просто взята из сниппетов, она говно, но пока сойдет
 

qrlk

Известный
Автор темы
Друг
411
928
Продолжается безумие в кроличьей норе: за сегодня выделил сок скрипта в два проекта с более приземленным функционалом.
Цель - более прикладная реализация наработок + отдебажить сниппеты предикта соотношения и точного LOS прицела.

  • wraith-aimline — рендер точных линий прицела игроков на основе aspectRatio.
  • wraith-xiaomi — определение пользователей сяоми на сервере (мобильных игроков), предикт соотношения сторон по aspectRatio.

Скрипты будут опубликованы в пятницу-субботу. Такое разделение позволит довести функционал предикта соотношения сторон по aspectRatio и рендера точной линии прицела игроков до покрытия максимального количества редких случаев, после чего эти сниппеты будут опубликованы и сам скрипт wraith.lua будет обновлен для бОльшей точности работы. Сейчас он уже закрывает 95%, но для сниппета надо точность повыше + сегодня появилось несколько новых идей.

Сначала хотел сделать только aimline, но почему-то в голове отложилось что игроков мобильной версии сампа ваншотит с дигла, и подумал что сейчас сделаю ультимативный радар рассыпающихся с одного выстрела игроков. Вроде бы этой фишки больше нет, но после такой реализации фишек wraith.lua обратного пути уже нет, придется делать два скрипта.

UPD: в игроков SAMP LAUNCHER проходит х2 урон с любого оружия, wraith.lua и wraith-xiaomi способны их детектить. Будет бимба.

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

1703204732901.png



----

Информация про aspectRatio в aimSync.

1703206726213.png


AIMSYNC значение по сути является остатком от соотношения сторон.
Сегодня пытался найти ошибку в структуре в самп.луа (от отчаяния), может там где-то целая часть завалялась, но её там нет: возможно просто никто не думал о том, что в самп будут играть в разрешениях кроме 4:3 и 16:9. Либо я чего-то не понимаю.

1703207239283.png


Сампу нет разницы насколько широкий у игрока монитор (это если стоит вайдскринфикс) - его интересует только дробная часть. Это затрудняет определение сторон в оконном режиме, но в целом есть куда улучшить перед публикацией сниппетов. Надо же и линию прицела сампюка с Oddysey g9 определить, 2024 год скоро.

----

Да тоже самое, все строится вокруг навигационной сетки, на которую было потрачено наверное 90% времени разработки. Навмеш обычно закладываются разрабами еще на этапе разработки игры, мне же нужно было было сканить все в рантайме, еще и на луа, и чтоб игра сохраняла играбельный фпс ( хоть боту на и пох на это ). Гугл выдавал в основном материалы по юнити, поэтому я, плюнув на это дело, пошел придумывать собственный велосипед, но имея никаких знаний по этой теме. Спроектировать все до начала разработки не получалось, уж слишком петлявый алгоритм и каждый раз, когда я продвигался чуть дальше в его реализации, выяснялась фундаментальная ошибка, из-за которой приходилось всё переписывать заново. И так раз пять. А наводка на координаты просто взята из сниппетов, она говно, но пока сойдет

У меня такие простые навмешы ассоциируются с нулевыми и кс 1.6, но я понимаю, что это база и их генерация в реальном времени это непростая задача. Оглядываясь назад я бы хотел разбираться с такой более интересной задачей, где на базе песочницы без правил можно было бы реализовать то, что десятки тысяч людей уже используют в других проектах (сможет ли chatgpt написать динамические навмешы в сампе?), чем пытаться разобраться в скучных незадокументированных штуках и натыкаться на каловые мины. Но зато теперь можно предъявлять людям за сяоми и смотреть куда люди целятся.

UPD
Перезалил видео, добавил титры с комментариями и пару новых сцен.

Ночью опубликую wraith-aimline, если будет время.
Хотелось бы добавить в него пару прикладных штук, вроде рендера только одному игроку для админов (чтобы в реконе сидеть) и бОльшую кастомизацию.

Кому не терпится на гитхабе уже он есть:

У этого скрипта поддержка будет пару месяцев, но фичами я его перегружать не буду, только улучшение алгоритмов определения реального соотношения и доработка aimline на основе отзывов. Возможно хитбокс сделаю коробкой вместо персонажа/машины для параноиков точности.


UPD проблема с устаревшей версией samp.lua очень распространена, будет обход проблемы.

---

UPD Добавлена поддержка старых версий samp lua

---

UPD


Опубликовал wraith-aimline: https://www.blast.hk/threads/198312/

Осталось только опциональный хитбокс на playerPed коробкой запилить в wraith.lua, ну и доработать xiaomi и aimline до сниппетов.
 
Последнее редактирование:
  • Нравится
Реакции: 01EG и MLycoris

qrlk

Известный
Автор темы
Друг
411
928
Обновление v31.12.2023-rc4

1704023329690.png


Список изменений:
  • Была доработана пассивная способность (предупреждение что в вас целятся).
    • Теперь есть как бы два типа триггера: прицеливание и 'внезапная атака'.
      • 'Прицеливание' - это тип, который срабатывает каждый раз, когда скрипт регистрирует что в вас целятся. Продлевает трасер и кулдаун, очень помогает играть от укрытия. Может пикать.
      • 'Внезапной атакой' считается прицеливание, которое произошло после кулдауна с предыдущего прицеливания. Если прошло больше кулдауна - будет срабатывание, но простое прицеливание всегда продлевает кулдаун, чтобы не было ложных срабатываний во время файта. Короче теперь внезапная атака точно будет внезапной. И скрипт может гудок делать, типо туууу, тебя щас убьют.
      • 1704023549340.png
    • Добавлена возможность использовать внутриигровые звуки вместо/в дополнении к звукам апекса: короткий пик для прицеливания, и гудок для реагирования на внезапную атаку.
    • Добавлена возможность настроить сообщение в чат как реакцию на 'внезапную атаку'. Можно либо забиндить анимацию, чтобы лечь, либо отправить атакующему смс, чтобы отвлечь например. Возможно заменить заготовленный текст под оружие/ник/id атакующего. Но тут легко спалиться.
    • Добавлена поддержка отрисовки нескольких трасеров до угроз одновременно.
  • Убрана зависимость от imgui. Меню было воссоздано на submenus_show c кучей костылей. Даже слайдеры на диалогах есть.
    • 1704023329690.png
      1704023549340.png
      1704025667911.png
      1704025683441.png
      1704024007491.png
      1704023833020.png
      1704025732145.png
  • Убрана зависимость от samp.lua.Теперь для работы нужен только moonloader, SAMPFUNCS и cleo (?).
    • В целом было решено избавиться от всего лишнего, чтобы упростить неопытным юзерам жизнь.
    • Добавлена обработка случаев, когда у юзера нет cleo/sampfuncs/старый мунлоадер.
      • Если нет клео, будет выгружаться, попросив поставить клео.
      • Если нет sampfuncs, будет выгружаться, попросив поставить сампфанкс.
      • Если только старый мун, то будет запускаться, но попросит поставить более свежий.
      • В теории даже на 18й версии муна скрипт дойдет до просьбы поставить более новой версии.
  • Добавлена возможность включать/выключать выбор радио в машине.
    • Это чтобы не было желания выключать громкость радио в настройках, что влияет на возможность воспроизводить звуки.
    • Такая настройка была и раньше, но приходилось перезапускать игру, а тут тогл.
  • Дефолтный для пользователя язык (ру/en) теперь должен определяется автоматически.
  • Пара фиксов для тактической способности, вроде с возвратом погоды что-то делал.
  • Возможно изменились границы кулдаунов.
  • Улучшена обработка случаев, когда юзер выключил радио/не имеет папки ресурсов со звуками.
  • Теперь можно выключить весь звуковой функционал одной настройкой.
  • Вырезаны все дебаг функции, используйте отдельные wraith-xiaomi и wraith-aimline.


Что ещё пока не работает, но есть наработки:
  • Добавлены закомментированные эксперименты с BulletSync. Потому что если от человека летит пуля в вашу сторону, то это вполне можно считать как угрозу и обрабатывать как линию прицела. Но там есть свои ньюансы, с которыми я пока не успел разобраться.
  • Добавлена настройка куба для машины/персонажа, в котором потом надо тоже считать 'столкновение' с линией прицела и соответственно триггерить пассивную способность. Сейчас триггер срабатывает только если линия прицела идёт в персонажа/машину, что уже хорошо, но можно лучше.
    • 1704023694204.png


Что есть в идеях, но нет времени сейчас реализовать:
  • Собственно нормальная обработка трасера пуль, чтобы он мог работать аналогично трасеру линии прицела. Не так сложно, но времени нет.
  • Определение что трасер пули/прицела столкнулся/попал в настроенную коробку хитбокса и триггер. Не так сложно, но времени нет.
  • Трасера назад - чтобы можно было вне фова строить трасер к угрозе, тупо линию трасера резать пока она не скроется за экран. Не так сложно, но времени нет.
  • Допилить сниппет определения соотношения сторон и линии до 100% точности вместо 90-95.
  • Пофиксить dry кое где и может оптимизировать просчет линии, если она направлена в другую сторону и вообще не нужна.
Не знаю когда я смогу это сделать и смогу ли вообще, потому что ресурс свободного времени исчерпан.



Для разработчиков:
  • Весь прикольный функционал, связанный с построением линий прицела по соотношению сторон, был вынесен в отдельную кринж-библиотеку, которая интегрирована прямо в скрипт. Но лучше не использовать это решение, потому что оно всё ещё не доработано до конца и у меня нет ресурсов на поддержку библиотеки. И всё же в теории wraith.lua можно подгрузить прямо через require, но лучше не надо. Я даже не проверял - вот какой уровень поддержки здесь будет.
    • Lua:
      local aimline = require 'wraith' 
      aimline.init()
      aimline.addEventHandler(function(res)
          if cfg.passive.enable then
              local result, colPoint = processLineOfSight(res.aimline.p1x, res.aimline.p1y, res.aimline.p1z, res.aimline.p2x, res.aimline.p2y, res.aimline.p2z, true, true, true, true, true, true, true, true)
              if result then
                  if colPoint.entityType == 3 and colPoint.entity == getCharPointer(playerPed) then
                      passiveCharBeingAimedByChar(playerPed, res.char, res.weapon)
                  end
                  if colPoint.entityType == 2 and isCharInAnyCar(playerPed) and car == getCarPointer(storeCarCharIsInNoSave(playerPed)) then
                      passiveVehicleBeingAimedByChar(colPoint.entity, res.char, res.weapon)
                  end
              end
          end
      end)
 
  • Нравится
Реакции: kyrtion, ARMOR и Cosmo

mama12345

Известный
13
0
Если можно , то сделать функцию , отключение трасера и включение упоминания в чате что кто то в вас целится
 

qrlk

Известный
Автор темы
Друг
411
928
Обновление 15.01.2024

Обработка линий пуль и хитбоксов-кубоидов приводит к максимально быстрой и точной регистрации случаев, когда по вам кто-то планирует пострелять:
  • Если рядом с вами пролетит пуля (даже в +с) - скрипт покажет кто её отправил и где он находится.
  • Если линия прицела другого игрока заденет настраиваемый хитбокс-кубоид - вы узнаете об этом заранее и успеете среагировать.



Список изменений:
  • Добавлена логика обработки пуль (похожа на линию прицела).
  • Добавлена логика определения линии прицела/пули в хитбоксе-кубоиде персонажа/машины.
    • Прицеливание/пуля регистрируются в настраиваемом хитбоксе, что в бесконечно раз улучшает точность срабатывания.
  • Исправлен импорт скрипта как модуля.
  • Тактическая способность вырезана в отдельный скрипт - wraith-tactical.
  • Функционал аудиореплик частично либо удален, либо перенесен в wraith-tactical.
    • Больше нет реплик о предупреждении, только звуки сампа. Реплики слишком долгие и слишком усложняют код.
  • Мелкие фиксы.
Зачем вырезать в wraith-tactical?
  • После добавления обработки пуль и просчёта хитбоксов-кубоидов скрипт разросся до 3к строк и в целом стал слишком сложным.
  • Я решил вырезать аудиорепликовый функционал из пассивки и в целом тактическую способность, поскольку она может отпугнуть аккуратных юзеров.
  • Мне не нравится что скрипт сейчас нахуй никому не нужен и я поставил целью максимально его упростить, чтобы даже самые сампюки нашли в нём пользу для своего геймплея.
Состояние скрипта.
  • По функционалу скрипт уже на финальной версии, всё что я задумывал сделать было сделано.
  • Было желание доработать модуль для использования в других скриптах (по типу регистрации обработки событий когда кто-то в кого-то целится), но судя по тому что никто не написал про косяк с импортом я сомневаюсь что этим кто-то будет пользоваться и желание тратить время на хуйню полностью пропало, так что модуль поддерживает только event точного аимлайна и других приколов не будет.
  • С проработкой логики хитбоксов пропало желание разбираться с точностью и редкими случаями, когда линия может немного отклонится от курса.
Шапка пока не обновлена, чуть позже обновлю, для текущих юзеров автообновлением прилетит актуальная версия.



Если можно , то сделать функцию , отключение трасера и включение упоминания в чате что кто то в вас целится
В /wraith уже можно отключать трасер, насчёт упоминания в чате я не вижу смысла в этой функции, можно в чат сервера отправлять)



upd:
обновил шапку, не хотел сильно копаться, но тему ушла на премодерацию из-за чего-то и решил сразу переделать шапку полностью и перезалить сам скрипт.
проще сделать описание просто нереально
может когда-нибудь там будет видос, но я в самп не играю, так что с этим проблематично.
 
Последнее редактирование:

VictorTrok

Новичок
6
2
And the opposite of that, when you aim at someone, the person's name appears in the chat, is that possible? I play on a server that takes people's nicknames, that's horrible.