Auto select main weapon after throwing

Also added to gear unload so player will auto select pistol if picking
one up with flares in their hands.

Vanilla commit:

08449fdfda
This commit is contained in:
ebaydayz
2016-09-06 16:36:45 -04:00
parent bbf0ac583d
commit 771284a297
4 changed files with 27 additions and 1 deletions

View File

@@ -7,7 +7,7 @@ class RscDisplayGear
//onLoad = "[] spawn object_monitorGear; {player removeMagazines _x} count MeleeMagazines; call gear_ui_init; call ui_gear_sound; if (isNil('IGUI_GEAR_activeFilter')) then { IGUI_GEAR_activeFilter = 0;}; [_this,'onLoad'] execVM '\z\addons\dayz_code\system\handleGear.sqf'";/* diag_log 'RscDisplayGear : : onLoad'; */ //onLoad = "[] spawn object_monitorGear; {player removeMagazines _x} count MeleeMagazines; call gear_ui_init; call ui_gear_sound; if (isNil('IGUI_GEAR_activeFilter')) then { IGUI_GEAR_activeFilter = 0;}; [_this,'onLoad'] execVM '\z\addons\dayz_code\system\handleGear.sqf'";/* diag_log 'RscDisplayGear : : onLoad'; */
//onUnload = "{player removeMagazines _x} count MeleeMagazines; call player_forceSave; call dayz_meleeMagazineCheck;"; /* diag_log 'RscDisplayGear : : onunLoad'; */ //onUnload = "{player removeMagazines _x} count MeleeMagazines; call player_forceSave; call dayz_meleeMagazineCheck;"; /* diag_log 'RscDisplayGear : : onunLoad'; */
onLoad = "setMousePosition [0.5, 0.5];_this call fn_gearMenuChecks; false call dz_fn_meleeMagazines; [] spawn object_monitorGear; call gear_ui_init; call ui_gear_sound; if (isNil 'IGUI_GEAR_activeFilter') then {IGUI_GEAR_activeFilter = 0}; [_this, 'onLoad'] execVM '\z\addons\dayz_code\system\handleGear.sqf'"; onLoad = "setMousePosition [0.5, 0.5];_this call fn_gearMenuChecks; false call dz_fn_meleeMagazines; [] spawn object_monitorGear; call gear_ui_init; call ui_gear_sound; if (isNil 'IGUI_GEAR_activeFilter') then {IGUI_GEAR_activeFilter = 0}; [_this, 'onLoad'] execVM '\z\addons\dayz_code\system\handleGear.sqf'";
onUnload = "true call dz_fn_meleeMagazines; call player_forceSave;"; onUnload = "true call dz_fn_meleeMagazines; call player_selectWeapon; call player_forceSave;";
onMouseMoving = "[] call gear_ui_hide;"; onMouseMoving = "[] call gear_ui_hide;";
onMouseHolding = "[] call gear_ui_hide;"; onMouseHolding = "[] call gear_ui_hide;";

View File

@@ -98,5 +98,8 @@ if ((_ammo isKindOf "SmokeShell") or (_ammo isKindOf "GrenadeHandTimedWest") or
publicVariable "PVDZ_obj_RoadFlare"; publicVariable "PVDZ_obj_RoadFlare";
[_this] spawn player_throwObject; [_this] spawn player_throwObject;
}; };
//Auto select main weapon after throwing
call player_selectWeapon;
}; };
}; };

View File

@@ -0,0 +1,22 @@
/*
Call this function to select primary or pistol (if no primary)
when the player's currently selected weapon is a throwable.
*/
private ["_main","_muzzle"];
if (currentWeapon player == "Throw") then {
_main = primaryWeapon player;
if (_main == "") then {
{
if (getNumber (configFile >> "CfgWeapons" >> _x >> "type") == 2) then {_main = _x;};
} count (weapons player);
};
_muzzle = getArray (configFile >> "CfgWeapons" >> _main >> "muzzles");
if (count _muzzle > 1) then {
player selectWeapon (_muzzle select 0);
} else {
player selectWeapon _main;
};
};

View File

@@ -126,6 +126,7 @@ if (!isDedicated) then {
//ui //ui
player_toggleSoundMute = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_toggleSoundMute.sqf"; player_toggleSoundMute = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_toggleSoundMute.sqf";
player_selectSlot = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\ui_selectSlot.sqf"; player_selectSlot = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\ui_selectSlot.sqf";
player_selectWeapon = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_selectWeapon.sqf";
player_gearSet = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_gearSet.sqf"; player_gearSet = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_gearSet.sqf";
ui_changeDisplay = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\ui_changeDisplay.sqf"; ui_changeDisplay = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\ui_changeDisplay.sqf";
ui_gear_sound = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\ui_gear_sound.sqf"; ui_gear_sound = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\ui_gear_sound.sqf";