О огнестреле

awl

Сообщения
40
Лучшие ответы
0
Реакции
6
Салам, любители кубиков :D
У меня собсна возник следующий вопрос. Допустим у меня есть предмет (под огнестрельное оружие), при нажатии ЛКМ после нужных проверок отправляется пакет, он активирует метод выстрела из класса оружия. В методе после всех проверок и т.п. спавниться энтити (т.е. пуля). Вопрос следующий, правильно ли это делается, как вообще сделать чтобы стрельба была на сервере, простой проверкой перед спавном энтити по типу if(этоСервер) или же как? Возможно я где-то что-то криво написал или сглупил, не пинайте :cautious:
Заранее благодарю за ответ ;)
 
Сообщения
45
Лучшие ответы
1
Реакции
4
Один я огнестрел делал без спавна пули? Просто беру вектор взгляда игрока и ищу ближайший хитбокс сущности, пересекающийся с вектором
 

awl

Сообщения
40
Лучшие ответы
0
Реакции
6
Один я огнестрел делал без спавна пули? Просто беру вектор взгляда игрока и ищу ближайший хитбокс сущности, пересекающийся с вектором
Ну ты выбрал вариант хитскана, он мне не подходит. Но суть от этого не меняется, мне важно понять как правильно сделать стрельбу чтобы никто ничего не считерил и не было косяков, чтобы стрельба была на сервере.
Хитскан и прожектиль — боевые механики в action-видеоиграх. Представляют собой два способа отображения атаки на дальнем расстоянии.

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

Просто беру вектор взгляда игрока и ищу ближайший хитбокс сущности, пересекающийся с вектором
Почему ты решил юзать этот вариант?
 
Сообщения
45
Лучшие ответы
1
Реакции
4
Почему ты решил юзать этот вариант?
Я посчитал, что можно будет так найти точное место попадания снаряда, чтобы потом нарисовать там небольшое углубление (как без этого :)), с помощью слоёв. На деле это оказалась крайне кровопотливая работа
 

tox1cozZ

aka Agravaine
Модератор
Сообщения
6,440
Лучшие ответы
370
Реакции
1,699
Нажал лкм, отправил пакет на сервер, заспавнил пулю. Проверку сделай только на кулдаун стрельбы и все.
 
  • Like
Реакции: awl

awl

Сообщения
40
Лучшие ответы
0
Реакции
6
Я посчитал, что можно будет так найти точное место попадания снаряда, чтобы потом нарисовать там небольшое углубление (как без этого :)), с помощью слоёв. На деле это оказалась крайне кровопотливая работа
Если ты имеешь ввиду декали от пулей, то ведь и энтити можно было посчитать и спавнить где надо какой-нибудь EntityFX, у Тимахи был тутор вроде или типо того.
 
Сообщения
45
Лучшие ответы
1
Реакции
4
Если ты имеешь ввиду декали от пулей, то ведь и энтити можно было посчитать и спавнить где надо какой-нибудь EntityFX, у Тимахи был тутор вроде или типо того.
Тогда я эту документацию еще не читал. А не решился при помощи сущности только потому, что это часто вызывает большое количество лагов, особенно на сервере
 
Сообщения
52
Лучшие ответы
1
Реакции
6
Я вообще сверхзразум, украл все из EggItem.
И по моему, все же использовать сущность в качестве пули лучше, тем более что скорость полета можно изменить.
 

awl

Сообщения
40
Лучшие ответы
0
Реакции
6
заспавнил пулю
Ну т.е. я отправляю пакет, в пакете юзается метод из класса оружия по типу
Java:
void shoot(...) {
    ...
    if(...){
// ну и с проверкой на сторону сервера конечно
        world.spawnEntityInWorld(bullet);
        ...
    }
    ...
}
И все тип топ?
 
Сообщения
45
Лучшие ответы
1
Реакции
4
Я вообще сверхзразум, украл все из EggItem.
И по моему, все же использовать сущность в качестве пули лучше, тем более что скорость полета можно изменить.
А для любителей физики: сопротивление воздуха, воздействие ветра, силу притяжение и всё в том духе. Но в чём суть: по стандарту начальная скорость снаряда=800м/с. Думаю, патрон и так незаметно пролетит :)
 

awl

Сообщения
40
Лучшие ответы
0
Реакции
6
А для любителей физики: сопротивление воздуха, воздействие ветра, силу притяжение и всё в том духе. Но в чём суть: по стандарту начальная скорость снаряда=800м/с. Думаю, патрон и так незаметно пролетит :)
У Тимахи вроде была пуля, где масса и скорость + эффекты. В сливах наверное.

Там и проверка не нужна, ты и так на сервере находишься в этот момент.
Можешь что-то посоветовать почитать про пакеты, желательно на 1.7?
 
Сообщения
52
Лучшие ответы
1
Реакции
6
А для любителей физики: сопротивление воздуха, воздействие ветра, силу притяжение и всё в том духе. Но в чём суть: по стандарту начальная скорость снаряда=800м/с. Думаю, патрон и так незаметно пролетит :)
Но в игре нет ветра!
начальная скорость снаряда=800м/с
А если это что то вроде ядра?
 
Сообщения
45
Лучшие ответы
1
Реакции
4
Но в игре нет ветра!
Но можно его добавить)) Мы же мододелы
А если это что то вроде ядра?
Уже зависит от КПД оружия и качества и массы пороха, у всех снарядов начальная скорость одинаковая. Я готовлюсь к большому проекту, планирую песочницу с огромными возможностями написать. И именно потому, что персонаж сам будет вытачивать патроны к огнестрелу, я занялся изучением баллистики
 
Последнее редактирование:
Сообщения
4,883
Лучшие ответы
145
Реакции
798
А как на счет высокоскоростных пуль, пролетающих через цели без детекции коллизий?
 

tox1cozZ

aka Agravaine
Модератор
Сообщения
6,440
Лучшие ответы
370
Реакции
1,699
А как насчет делать рейтрейс от posX/Y/Z до posX/Y/Z + motionX/Y/Z?
 
Сообщения
52
Лучшие ответы
1
Реакции
6
Насчет пуль я действительно сказал какой-то бред. И все таки, почему во флансе и прочих модах где использовались сущности в качестве пули урон проходил всегда?
 
Сверху