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

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

Нет прав для скачивания

Саша Шеин

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

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

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

Саша Шеин

Кому костылей?
Сообщения
1,573
Реакции
444
Последнее редактирование:
  • Like
Реакции: All

Саша Шеин

Кому костылей?
Сообщения
1,573
Реакции
444
Оффтоп
Специально для соблюдения всех норм современного русского языка, исправлю. А так, это было сделано специально, чтобы человек заметил, вот тебе ресурс может не очень интересен, но название зацепило:)
 
  • Like
Реакции: All
Сообщения
202
Реакции
31
"sound_path" "music/uk/flash.mp3" и тд
В архив будут добавлены звуки?
 

All

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

Boeing 676

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

Саша Шеин

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

Dmitry Ahipov

Казалось бы,причём тут html
Сообщения
796
Реакции
305
Похоже на подсчёт убийств как в Warface,но всё равно круто)
 

-->KENT<--

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

Саша Шеин

Кому костылей?
Сообщения
1,573
Реакции
444
Вчера поставил этот плагин и сервер начал падать, щас убрал посмотрю что будет.
Можно более подробно? (Какой сервер 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<--

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

Саша Шеин

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