Сообщения о необычных убийствах

Сообщения о необычных убийствах 0.3 Beta (Тестовая)

Саша Шеин

Кому костылей?
Сообщения
1,697
Реакции
621
  • Автор ресурса
  • #1
Пользователь Саша Шеин разместил новый ресурс:

Сообщения о необычных убийствах - Выводит сообщения о убийствах Без прицела, и др.

Плагин сообщает игрокам о необычных убийствах.
Список доступных убийств:
PHP:
jump        - Убийство в прыжке
run         - Убийство на ходу
penetrated  - Убийство прострелом через препятствие
noscope     - Убийство от бедра (без прицела)
flash       - Убийство в ослепленном состоянии (m_flFlashDuration > 0.0)
В планах:
  • Добавить статистику по необычным убийствам
  • Добавить новые типы убийств, например:
    Убийство взрывом гранаты;
    Убийство попаданием гранаты (-1hp);...

Узнать больше об этом ресурсе...
 
Последнее редактирование:

Саша Шеин

Кому костылей?
Сообщения
1,697
Реакции
621
  • Автор ресурса
  • #2
Последнее редактирование:
  • Мне нравится
Реакции: All

Саша Шеин

Кому костылей?
Сообщения
1,697
Реакции
621
  • Автор ресурса
  • #3
Оффтоп
Специально для соблюдения всех норм современного русского языка, исправлю. А так, это было сделано специально, чтобы человек заметил, вот тебе ресурс может не очень интересен, но название зацепило:)
 
  • Мне нравится
Реакции: All

teran

Участник
Сообщения
207
Реакции
44
"sound_path" "music/uk/flash.mp3" и тд
В архив будут добавлены звуки?
 

All

Random
Сообщения
553
Реакции
228
Очень интересная задумка. 5/5 за идею. Реализацию оценим завтра...
 

Черная вдова

Участник
Сообщения
2,795
Реакции
670
Было бы отлично, если бы подкинул код или идею :)
Сохраняешь позицию дымки которая находится в onsmokedetonate
Удалять позицию можно onsmokeexpired
Кажется это когда дым начинает рассеиваться а не полностью рассеился
Дальше надо провести исследования по радиусу дымовойгранаты (какой радиус считать что убил через дым)
Ну и определить проходит ли вектортор выстрела которым убил через ПЛОСКОСТЬ дымовой гранаты радиусом в центре дыма (позиция дыма+ какое то значение центра дыма надо определить в исследовании)
Ну с разворотом еще проще, сохраняешь углы игроков в повторяющемся таймере чем чаще тем точнее, и когда убил сравниваешь с сохраненным значением которое было допустим 0.3 сек назад (это вы уж сами решайте какое время вы считаете хорошим)
--- Добавлено позже ---
Помимо проверки с плоскостью также наверно надо проверить была ли victim не за дымом а в самом дыму, это надосравнивать getclientabsorigin с позицией дымовой
--- Добавлено позже ---
Ну или возможно проще будет проверять проходит ли вектор не плоскость а шар, в любом случае для начала я бы поискал формулу для этого в интернете
 
Последнее редактирование:

Boeing 767

заскамили мамонта ни за что, ни про что
Сообщения
524
Реакции
913
Сохраняешь позицию дымки которая находится в onsmokedetonate
Удалять позицию можно onsmokeexpired
Кажется это когда дым начинает рассеиваться а не полностью рассеился
Дальше надо провести исследования по радиусу дымовойгранаты (какой радиус считать что убил через дым)
Ну и определить проходит ли вектортор выстрела которым убил через ПЛОСКОСТЬ дымовой гранаты радиусом в центре дыма (позиция дыма+ какое то значение центра дыма надо определить в исследовании)
Ну с разворотом еще проще, сохраняешь углы игроков в повторяющемся таймере чем чаще тем точнее, и когда убил сравниваешь с сохраненным значением которое было допустим 0.3 сек назад (это вы уж сами решайте какое время вы считаете хорошим)
--- Добавлено позже ---
Помимо проверки с плоскостью также наверно надо проверить была ли victim не за дымом а в самом дыму, это надосравнивать getclientabsorigin с позицией дымовой
--- Добавлено позже ---
Ну или возможно проще будет проверять проходит ли вектор не плоскость а шар, в любом случае для начала я бы поискал формулу для этого в интернете
Есть варианты чутка попроще с созданием ентити trigger_multiple и последующим хуком OnTouch в месте детонации смока, но чтобы точно подобрать размеры создаваемой зоны нужно поэкспериментировать. При входе в эту зону bool переменной игрока ставится true при выходе false и таким образом проверять убили игрока в смоку или же нет. После окончания действия смока удалять trigger_multiple . Насчет определения убийства через смок , чуть посложнее нужно запоминать позиции умершего игрока и убийцы и проводить трассировку и если луч проходит через эту зону, то игрок убил через смок.
 

Саша Шеин

Кому костылей?
Сообщения
1,697
Реакции
621
  • Автор ресурса
  • #15
Идеи конечно хорошие, сам тоже думал об этом, но. Это дополнительные объекты на сервер, сначала постараюсь без них сделать.
 

Islam Cherkess

Там мля о мля
Сообщения
1,504
Реакции
895
Похоже на подсчёт убийств как в Warface,но всё равно круто)
 

-->KENT<--

На квартале
Сообщения
246
Реакции
50
Вчера поставил этот плагин и сервер начал падать, щас убрал посмотрю что будет.
 

Саша Шеин

Кому костылей?
Сообщения
1,697
Реакции
621
  • Автор ресурса
  • #18
Вчера поставил этот плагин и сервер начал падать, щас убрал посмотрю что будет.
Можно более подробно? (Какой сервер CS:GO, Какой SM, Дамп краша)
--- Добавлено позже ---
По просьбе @Гексорал добавил поддержку других игр.
Что изменил в плагине:
  • Добавил библиотеку multicolors.inc, чтобы чат можно было раскрасить в других играх, а не только в CS:GO.
    - Для корректного отображения цветов в играх, отличных от CS:GO, необходимо изменить цвета в файле перевода
    - Хотя некоторые цвета в multicolors.inc совпадают с цветами в csgo_colors.inc, точнее их коды
    - Возможно потом буду использовать другую библиотеку
  • Заметил такую проблему в CS:S: После первого ослепления, параметр m_flFlashDuration не меняется к первоначальному (0.0)
    - Для исправления этой проблемы добавил в hook события player_blind и таймер на обнуление m_flFlashDuration
    - Только для игр отличных от CS:GO
  • В CS:S при проверке плагина была выявлена ошибка: Property "m_bIsScoped" not found (entity 1/player)
    - Для исправления ошибки в играх отличных от CS:GO начал использовать m_iFOV и m_iDefaultFOV для проверки NoScope
  • Чтобы перенести все функции плагина в игры отличные от CS:GO добавил ф-ю GetPenetrate
    - Функцию взял и перевел на новый синтаксис из плагина Obstacle Kill by wS / Schmidt Оффтоп
В данный момент занимаюсь поиском готовых решений для проверки убийства через дым, если таковые не будут найдены сделаю как предлагали выше.

Архив временно убрал, завтра будет переработан чат. И если хоть кто-нибудь прикрепить логи краша, постараюсь исправить.
 
Последнее редактирование:

-->KENT<--

На квартале
Сообщения
246
Реакции
50
Можно более подробно? (Какой сервер CS:GO, Какой SM, Дамп краша)
CSGO, Сервер MiniGame. Я вот убрал плагин и уже сервер не падал 4 часа, дампа у меня нету. Краш тогда произошел в начале нового раунда.
Оффтоп
 

Саша Шеин

Кому костылей?
Сообщения
1,697
Реакции
621
  • Автор ресурса
  • #20
В любой работе бывают недочёты. И вновь голые слова. Хоть напишите какие недочёты, мил человек.
Падения сервера
Во время тестирования не наблюдал падений, можете прикрепить логи/ид краша?
<multicolors> А где CPrintToChat
Несовсем понял, что не так? И открывался ли исходник..
Используйте ThrowError вместо SetFailState, будет более разумно в вашем случае.
В каком именно случае?
 

Похожие темы

Сверху Снизу