Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Bullet Camera Script: bulletcam.sqf
- Created By: Big Dawg KS 2/14/2011 ARMA 2 v 1.2
- Updated By: Cobra4v320 3/26/2013 ARMA 3 v 1.3
- Description:
- Shows the path of the bullet in slowmotion until it hits a target or another object.
- Parameter(s):
- * To exit the camera ingame (while in flight), press the key for ironsights/optics (zero on numberpad)
- * To add supported weapons, add MUZZLE classnames to _list (note: classnames are CASE SENSITIVE)
- * To disable bullet cam, set BDKS_DisableBulletCam = true
- * To disable blur effects, set BDKS_BulletCamNoBlur = true
- * To disable particle effects, set BDKS_BulletCamNoParticleFX = true
- * To change FOV (zoom), change the value of BDKS_BulletCamFOV (default 0.05). Ex: BDKS_BulletCamFOV = 0.3
- * To change time acceleration, change the value of BDKS_BulletCamAccTime (default 0.5). Ex: BDKS_BulletCamAccTime = 0.2 (Note: AccTime only works in Singleplayer)
- * To make another unit's (other than local player) bullet cam show for the local player, set unit variable BDKS_ShowBulletCamToPlayer = true, ex: if(local Spotter)then{Sniper setVariable ["BDKS_ShowBulletCamToPlayer",true]}
- Example(s):
- this addEventHandler ["fired",{_this call compile preprocessFileLineNumbers "bulletCam.sqf"}]
- */
- _projectile = nearestObject [_this select 0,_this select 4];
- if (count _this >= 7) then {_projectile = _this select 6};
- if (call {if (isNil "BDKS_DisableBulletCam") then {true} else {!BDKS_DisableBulletCam}}) then {
- if ((_this select 0) == vehicle player || call {if (isNil {(_this select 0) getVariable "BDKS_ShowBulletCamToPlayer"}) then {false} else {(_this select 0) getVariable "BDKS_ShowBulletCamToPlayer"}})then {
- // Add more weapons here
- _list = ["srifle_EBR_F","launch_RPG7_F","arifle_MXM_F","launch_NLAW_F","launch_RPG32_F","GL_3GL_F","EGLM","mortar_82mm","cannon_125mm","cannon_105mm","cannon_120mm"];
- _type = getText (configFile >> "CfgAmmo" >> (_this select 4) >> "simulation");
- _relPos = [0,0,0.05];
- _fov = 0.01;
- _accTime = 0.1;
- if (!isNil "BDKS_BulletCamFOV") then {_fov = BDKS_BulletCamFOV};
- if (_type == "shotMissile" || _type == "shotRocket") then {_relPos = [4,-8,4]; _fov = 0.6; _accTime = 0.1};
- if (_type == "shotShell") then {_relPos = [0,0,0]; _fov = 0.6; _accTime = 0.1};
- _disablePP = false;
- if (call {if (isNil "BDKS_BulletCamNoBlur")then{false} else {BDKS_DisableBulletCam}}) then {_disablePP = true};
- if (!isNil "BDKS_BulletCamAccTime") then {_accTime = BDKS_BulletCamAccTime};
- _enableParticles = true;
- if (call {if(isNil "BDKS_BulletCamNoParticleFX")then{false}else{BDKS_BulletCamNoParticleFX}}) then {_enableParticles = false};
- if ((_this select 2) in _list && !(isNull _projectile)) then {
- setAccTime _accTime;
- _camera = "camera" camCreate (getPos _projectile);
- _camera cameraEffect ["INTERNAL","back"];
- showCinemaBorder false;
- cutText ["","BLACK IN",0.2];
- _pSource = objNull;
- if (_enableParticles && _type == "ShotBullet") then {
- _pShape = ["\a3\data_f\ParticleEffects\Universal\Universal.p3d", 16, 13, 3, 0];
- _pSize = [0.01,0.05];
- _pColor = [[1,1,1,0.08],[1,1,1,0.16],[1,1,1,0.03],[1,1,1,0]];
- _pSource = "#particlesource" createVehicleLocal (getPos _projectile);
- _pSource attachTo [_projectile,[0,0,0]];
- _pSource setParticleParams [_pShape,"","Billboard",1,0.3,[0,0,0],[0,0,0],0,1,0.79,0.18,_pSize,_pColor,[1000],100,0.01,"","",_projectile,360];
- _pSource setDropInterval 0.001;
- };
- [_projectile,_camera,_relPos,_fov,_pSource,_disablePP] spawn {
- _projectile = _this select 0;
- _camera = _this select 1;
- _relPos = _this select 2;
- _fov = _this select 3;
- _pSource = _this select 4;
- _disablePP = _this select 5;
- _cancel = false;
- while {alive _projectile && alive _camera && !_cancel} do {
- _camera camSetTarget _projectile;
- _camera camSetRelPos _relPos;
- _camera camSetFOV _fov;
- _camera camSetFocus [600,2];
- _camera camCommit 0;
- "RadialBlur" ppEffectAdjust [0.02,0.02,0.1,0.1];
- "RadialBlur" ppEffectCommit 0.01;
- if (!_disablePP) then {"RadialBlur" ppEffectEnable true};
- if (inputAction "optics" != 0) then {_cancel = true};
- sleep 0.001;
- };
- if (alive _camera && !_cancel) then {
- _camera camSetFocus [-(_relPos select 1),1];
- _camera camSetFOV (_fov * 1.6);
- _camera camCommit 1.5;
- "RadialBlur" ppEffectAdjust [0,0,1,1];
- "RadialBlur" ppEffectCommit 0.7;
- sleep 1.39;
- };
- cutText ["","BLACK OUT",0.1];
- sleep 0.11;
- setAccTime 1;
- "RadialBlur" ppEffectEnable false;
- _camera cameraEffect ["TERMINATE","BACK"];
- camDestroy _camera;
- if (!isNull _pSource) then {deleteVehicle _pSource};
- cutText ["","BLACK IN",0.6];
- };
- };
- };
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement