mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-14 12:12:34 +03:00
Update compiles - 2 more files to do
fn_selfActions.sqf player_updateGui.sqf
This commit is contained in:
@@ -1,27 +1,47 @@
|
||||
private ["_weapons","_backpackWpn","_backpackMag","_currentWpn","_isWeapon","_backpackWpnTypes","_backpackWpnQtys","_countr","_class","_position","_dir","_currentAnim","_tagSetting","_playerUID","_countMags","_magazines","_primweapon","_secweapon","_newBackpackType","_muzzles","_oldUnit","_group","_newUnit","_playerObjName","_wpnType","_ismelee","_oldGroup"];
|
||||
if (gear_done) then {disableUserInput true;};
|
||||
_class = _this;
|
||||
_position = getPosATL player;
|
||||
_dir = getDir player;
|
||||
_currentAnim = animationState player;
|
||||
//private ["_class","_position","_dir","_group","_oldUnit","_newUnit","_currentWpn","_muzzles","_currentAnim","_playerUID","_weapons","_magazines","_primweapon","_secweapon","_newBackpackType","_backpackWpn","_backpackMag","_backpackWpnTypes","_backpackWpnQtys","_countr","_backpackmagTypes","_backpackmagQtys","_display","_createSafePos","_wpnType","_ismelee","_rndx","_rndy"];
|
||||
private ["_class","_position","_dir","_currentAnim","_playerUID","_weapons","_magazines","_primweapon","_secweapon","_newBackpackType","_backpackWpn","_backpackMag","_currentWpn","_muzzles","_display","_oldUnit","_newUnit","_backpackWpnTypes","_backpackWpnQtys","_countr","_createSafePos","_rndx","_rndy","_isWeapon","_idc","_switchUnit","_tagSetting","_countMags","_group"];
|
||||
_class = _this;
|
||||
_tagSetting = player getVariable["DZE_display_name",false];
|
||||
_playerUID = [player] call FNC_GetPlayerUID;
|
||||
_weapons = weapons player;
|
||||
_countMags = call player_countMagazines;
|
||||
_magazines = _countMags select 0;
|
||||
|
||||
if ((_playerUID == dayz_playerUID) && (count _magazines == 0) && (count (magazines player) > 0 )) exitWith {cutText [(localize "str_epoch_player_17"), "PLAIN DOWN"]};
|
||||
disableSerialization;
|
||||
//Old location system causes issues with players getting damaged during movement.
|
||||
//_position = getPosATL player;
|
||||
//New system testing needed.
|
||||
_position = player modeltoWorld [0,0,0];
|
||||
|
||||
_primweapon = primaryWeapon player;
|
||||
_secweapon = secondaryWeapon player;
|
||||
_dir = getDir player;
|
||||
_currentAnim = animationState player;
|
||||
//_currentCamera = cameraView;
|
||||
|
||||
if(!(_primweapon in _weapons) && _primweapon != "") then {
|
||||
_weapons set [(count _weapons), _primweapon];
|
||||
};
|
||||
|
||||
if(!(_secweapon in _weapons) && _secweapon != "") then {
|
||||
_weapons set [(count _weapons), _secweapon];
|
||||
};
|
||||
//Get PlayerID
|
||||
_playerUID = [player] call FNC_GetPlayerUID;
|
||||
|
||||
//BackUp Weapons and Mags
|
||||
_weapons = weapons player;
|
||||
_countMags = call player_countMagazines;
|
||||
_magazines = _countMags select 0;
|
||||
|
||||
if ( (_playerUID == dayz_playerUID) && (count _magazines == 0) && (count (magazines player) > 0 )) exitWith {cutText [localize "str_actions_switchmodel_fail", "PLAIN DOWN"]};
|
||||
|
||||
|
||||
//if ( count _magazines == 0 ) exitWith {cutText ["can't count magazines!", "PLAIN DOWN"]};
|
||||
|
||||
_primweapon = primaryWeapon player;
|
||||
_secweapon = secondaryWeapon player;
|
||||
|
||||
//Checks
|
||||
if(!(_primweapon in _weapons) && _primweapon != "") then {
|
||||
_weapons set [(count _weapons), _primweapon];
|
||||
};
|
||||
|
||||
if(!(_secweapon in _weapons) && _secweapon != "") then {
|
||||
_weapons set [(count _weapons), _secweapon];
|
||||
};
|
||||
|
||||
// if(count _magazines == 0) then {
|
||||
// _magazines = magazines player;
|
||||
// };
|
||||
|
||||
//BackUp Backpack
|
||||
dayz_myBackpack = unitBackpack player;
|
||||
@@ -37,24 +57,35 @@ _muzzles = getArray(configFile >> "cfgWeapons" >> _currentWpn >> "muzzles");
|
||||
if (count _muzzles > 1) then {
|
||||
_currentWpn = currentMuzzle player;
|
||||
};
|
||||
|
||||
//Secure Player for Transformation
|
||||
player setPosATL dayz_spawnPos;
|
||||
|
||||
//BackUp Player Object
|
||||
_oldUnit = player;
|
||||
_oldGroup = group player;
|
||||
//Debug Message
|
||||
// diag_log "Attempting to switch model";
|
||||
// diag_log str(_weapons);
|
||||
// diag_log str(_magazines);
|
||||
// diag_log (str(_backpackWpn));
|
||||
// diag_log (str(_backpackMag));
|
||||
|
||||
/**********************************/
|
||||
//DONT USE player AFTER THIS POINT//
|
||||
/**********************************/
|
||||
//Secure Player for Transformation
|
||||
//player setPosATL dayz_spawnPos;
|
||||
|
||||
//Prevent client crash...
|
||||
_display = findDisplay 106;
|
||||
_display closeDisplay 0;
|
||||
|
||||
//BackUp Player Object
|
||||
_oldUnit = player;
|
||||
|
||||
/***********************************/
|
||||
//DONT USE player AFTER THIS POINT
|
||||
/***********************************/
|
||||
|
||||
//Create New Character
|
||||
_group = createGroup west;
|
||||
_newUnit = _group createUnit [_class,dayz_spawnPos,[],0,"NONE"];
|
||||
//[player] joinSilent grpNull;
|
||||
_group = createGroup west;
|
||||
_newUnit = _group createUnit [_class,getMarkerPos "respawn_west",[],0,"NONE"];
|
||||
|
||||
_newUnit setPosATL _position;
|
||||
_newUnit setDir _dir;
|
||||
_newUnit setDir _dir;
|
||||
|
||||
_newUnit setVariable ["DZE_display_name", _tagSetting, true];
|
||||
|
||||
@@ -106,17 +137,8 @@ if (_primweapon == "MeleeFishingPole") then {
|
||||
if(_secweapon != (secondaryWeapon _newUnit) && _secweapon != "") then {
|
||||
_newUnit addWeapon _secweapon;
|
||||
};
|
||||
_switchUnit = {
|
||||
addSwitchableUnit _newUnit;
|
||||
setPlayable _newUnit;
|
||||
selectPlayer _newUnit;
|
||||
removeAllWeapons _oldUnit;
|
||||
{_oldUnit removeMagazine _x;} count magazines _oldUnit;
|
||||
deleteVehicle _oldUnit;
|
||||
if (count units _oldGroup < 1) then {deleteGroup _oldGroup;};
|
||||
if(_currentWpn != "") then {_newUnit selectWeapon _currentWpn;};
|
||||
};
|
||||
//Add && Fill BackPack
|
||||
|
||||
//Add and Fill BackPack
|
||||
if (!isNil "_newBackpackType") then {
|
||||
if (_newBackpackType != "") then {
|
||||
_newUnit addBackpack _newBackpackType;
|
||||
@@ -158,18 +180,52 @@ if (!isNil "_newBackpackType") then {
|
||||
(unitBackpack player) addWeaponCargoGlobal [_x,(_backpackWpnQtys select _countr)];
|
||||
_countr = _countr + 1;
|
||||
} count _backpackWpnTypes;
|
||||
} else { [] call _switchUnit; };
|
||||
} else { [] call _switchUnit; };
|
||||
[objNull, player, rSwitchMove,_currentAnim] call RE;
|
||||
player disableConversation true;
|
||||
if (_tagSetting) then {
|
||||
DZE_ForceNameTags = true;
|
||||
};
|
||||
};
|
||||
|
||||
_wpnType = primaryWeapon player;
|
||||
_ismelee = (gettext (configFile >> "CfgWeapons" >> _wpnType >> "melee"));
|
||||
if (_ismelee == "true") then {
|
||||
call dayz_meleeMagazineCheck;
|
||||
};
|
||||
//Debug Message
|
||||
//diag_log "Swichtable Unit Created. Equipment:";
|
||||
//diag_log str(weapons _newUnit);
|
||||
//diag_log str(magazines _newUnit);
|
||||
//diag_log str(getWeaponCargo unitBackpack _newUnit);
|
||||
//diag_log str(getMagazineCargo unitBackpack _newUnit);
|
||||
|
||||
{player reveal _x} count (nearestObjects [getPosATL player, dayz_reveal, 50]);
|
||||
//Make New Unit Playable (1 of these 3 commands causes crashes with gear dialog open)
|
||||
//_oldUnit setPosATL [_position select 0 + cos(_dir) * 2, _position select 1 + sin(_dir) * 2, _position select 2];
|
||||
addSwitchableUnit _newUnit;
|
||||
setPlayable _newUnit;
|
||||
selectPlayer _newUnit;
|
||||
|
||||
//Switch the units
|
||||
//_createSafePos = [(getMarkerPos "respawn_west"), 2, 100, 0, 1, 20, 0] call BIS_fnc_findSafePos;
|
||||
_createSafePos = getMarkerPos "respawn_west";
|
||||
_rndx = floor(random 100);
|
||||
_rndy = floor(random 100);
|
||||
_oldUnit setPosATL [(_createSafePos select 0) + _rndx, (_createSafePos select 1) + _rndy, 0];
|
||||
_newUnit setPosATL _position;
|
||||
|
||||
//Clear and delete old Unit
|
||||
removeAllWeapons _oldUnit;
|
||||
{_oldUnit removeMagazine _x;} forEach magazines _oldUnit;
|
||||
if !(isNull _oldUnit) then {deleteVehicle _oldUnit;};
|
||||
|
||||
// player switchCamera = _currentCamera;
|
||||
if(_currentWpn != "") then {_newUnit selectWeapon _currentWpn;};
|
||||
[objNull, player, rSwitchMove,_currentAnim] call RE;
|
||||
//dayz_originalPlayer attachTo [_newUnit];
|
||||
player disableConversation true;
|
||||
if (_tagSetting) then {
|
||||
DZE_ForceNameTags = true;
|
||||
};
|
||||
|
||||
// _playerUID=getPlayerUID player;
|
||||
// _playerObjName = format["player%1",_playerUID];
|
||||
// call compile format["%1 = player;",_playerObjName];
|
||||
// publicVariable _playerObjName;
|
||||
|
||||
//melee check
|
||||
call dayz_meleeMagazineCheck;
|
||||
|
||||
//reveal all near objects.
|
||||
{player reveal _x} count (nearestObjects [getPosATL player, dayz_reveal, 50]);
|
||||
//All is arbitrary and will need to be changed to ["AllVehicles","WeaponHolder","Land_A_tent"] ++ others (stashes etc.)
|
||||
|
||||
Reference in New Issue
Block a user