Вот что надо добавить с пушку. Пишу на Garry's Mod Lua, ну я думаю такое легко будет на С++ перенести.
code:
function SWEPeploy()
self.CanPrimaryFire = true
end
function SWEP:Reload()
self.CanPrimaryFire = true
end
function SWEPrimaryAttack()
if math.random(0,1) == 1 then
self.CanPrimaryFire = false
return
end
if !self.CanPrimaryFire then return end
end
Ну у math.random можно и побольше диапазон сделать, чтобы шанс был не 50/50, главное чтобы число целое было.
хз из реалистичных фич в игры надо добавить лишь несколько
1. появление глухоты при долгой стрельбе и статичные полупрозрачные бликов от вспышек при стрельбе и ярких объектов
2. проблемы выносливости от долгих прыжков, водоплавания, спусков, подъемов и бега
3. подбор выброшеного рожка и выбор\зарядка патронов в тихом уголке(?)
4. кровотечения при ранениях, создание пятен крови и повреждений на отдельных частях модели и эффекты помутнения взгляда
5. толчки и разного рода звуковые и прочие визуальные эффекты при попадании из оружия
6. наложение в ярком свете полупрозрачной с хромом светлой текстурки на модель поплававшего персонажа, и темной соответственно в тени
7. физику предметов и прочего )
Со звоном в ушах согласен. Жаль, что пока он встречается только от светошумовых гранат (реже — от взрывов) в играх . Накладывали хотя бы небольшой, когда выстреливаешь полный магазин зажимом.