Я отказываюсь отвечать на этот вопрос. Скорее всего после него последует какая-то провакация в мой адрес в виде обвинения меня в упоротости и картинки на пол экрана и кучи смайлов а оно мне надо? Нет не надо.
Cybermax писал: GioHAUS0n скажи у тебя есть справка из пнд гласящая о том что ты нормальный?
- Есть в РесВК и РВК. Может вам сначала провериться, там?
- Это самая безвредная картинка. Вас тошнило или пропал аппетит на рагу?
- Не всегда хотел быть патологоанатомом, но думал об этом. Чтобы быть рядом с реальностью, а не иллюзией или манией величия.
Вот вам ещё одна версия. Эта мне больше нравится. Внимание! Не использует типы пуль, только урон. Типы пуль можно добавить, через них регулировать всякие там "шансы" рикошета, и индивидуальную пробивную силу.
C++ Source Code:
1
Vector CBaseEntity::FireBulletsPlayer(ULONG cShots, Vector vecSrc, Vector vecDirShooting, Vector vecSpread, float flDistance, int iBulletType, int iTracerFreq, int iDamage, entvars_t *pevAttacker, int shared_rand)
return Vector( x * vecSpread.x, y * vecSpread.y, 0.0 );
103
}
Добавлено 24-11-2014 в 10:49:
Эта реализация, кстати, рикошетит правильно, как гаусс, а так же отнимает правильно урон, только один раз в случае с дробовиком, а не на каждую пульку, как было в предыдущей. Есть один недостаток: эффект рикошета рисуется, и стенка простреливается, когда урон меньше 1/10, но после рикошета и прострела в конце новой трассы не ставится декаль и не наносится урон. Но это легко поправить.
Да вроде бы всё в норме. Кстати, вылет обнаружился. Уже исправлено. Но сюда не выложу. Кому надо, сами догадаются
Цитата:
~ X ~ писал: не исправлена ошибка, которая вызывает self-headshot.
а я как раз с ней столкнулся в процессе написания этого кода. Только вот уже не припомню, в каком случае она возникала. То ли при переназначении vecSrc после рикошета, то ли vecDir. Причём застрелиться можно было АБСОЛЮТНО ВСЕГДА, а не так как с гауссом, при выстреле под 90 градусов в глухую стенку.
Добавлено 24-11-2014 в 20:09:
Цитата:
~ X ~ писал: Не забываем, что в гауссе до сих пор официально не исправлена ошибка
Опять всплыло, кстати. Беспорядочные какие-то рикошеты появились. То рикошетит в ту же точку, куда попало первый раз, то в игрока. А почему это возникает? Я заметил, что всегда проявляется в каком-то определённом месте на карте, при попадании в определённую стенку под определённым углом.
Ещё раз переписал, избавился от одной неприятной вещи, когда при простреле сам прострел не делался, а новая трасса попадала в первую точку попадания (всегда проявляется в каком-то определённом месте на карте, при попадании в определённую стенку под определённым углом), и получалось, что один выстрел наносил урона раз в 20-30 больше положенного. Избавился от селф-хедшота, правда рикошеты теперь не как у гаусса, а строго под 90 градусов от первоначальной трассы. Ну может оно и к лучшему, можно стрелять за угол