mirror of
https://github.com/EpochModTeam/DayZ-Epoch.git
synced 2025-12-13 19:52:38 +03:00
Add dayz_onBack to surrender
This commit is contained in:
47
SQF/dayz_code/actions/player_surrender.sqf
Normal file
47
SQF/dayz_code/actions/player_surrender.sqf
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
private ["_canDo","_iPos","_inVehicle","_item","_onLadder","_pistol","_primary","_removed"];
|
||||||
|
|
||||||
|
_inVehicle = (vehicle player != player);
|
||||||
|
_onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;
|
||||||
|
_canDo = (!r_drag_sqf && !r_player_unconscious && !_onLadder && !_inVehicle);
|
||||||
|
|
||||||
|
if (_canDo && !DZE_Surrender && !(player isKindOf "PZombie_VB")) then {
|
||||||
|
DZE_Surrender = true;
|
||||||
|
|
||||||
|
_primary = primaryWeapon player;
|
||||||
|
_pistol = "";
|
||||||
|
{
|
||||||
|
if (getNumber (configFile >> "CfgWeapons" >> _x >> "type") == 2) exitWith {
|
||||||
|
_pistol = _x;
|
||||||
|
};
|
||||||
|
} count (weapons player);
|
||||||
|
|
||||||
|
if (_primary != "" or _pistol != "" or dayz_onBack != "") then {
|
||||||
|
player playActionNow "PutDown";
|
||||||
|
_iPos = getPosATL player;
|
||||||
|
_item = createVehicle ["WeaponHolder", _iPos, [], 1, "CAN_COLLIDE"];
|
||||||
|
_item setposATL _iPos;
|
||||||
|
if (_primary != "") then {
|
||||||
|
_removed = ([player,_primary,1] call BIS_fnc_invRemove);
|
||||||
|
if (_removed == 1) then {
|
||||||
|
_item addWeaponCargoGlobal [_primary,1];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
if (_pistol != "") then {
|
||||||
|
_removed = ([player,_pistol,1] call BIS_fnc_invRemove);
|
||||||
|
if (_removed == 1) then {
|
||||||
|
_item addWeaponCargoGlobal [_pistol,1];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
if (dayz_onBack != "") then {
|
||||||
|
_item addWeaponCargoGlobal [dayz_onBack,1];
|
||||||
|
dayz_onBack = ""; // Remove from back
|
||||||
|
if (!isNull findDisplay 106) then {findDisplay 106 displayCtrl 1209 ctrlSetText "";};
|
||||||
|
};
|
||||||
|
player reveal _item;
|
||||||
|
};
|
||||||
|
|
||||||
|
// set publicvariable that allows other player to access gear
|
||||||
|
player setVariable ["DZE_Surrendered", true, true];
|
||||||
|
// surrender animation
|
||||||
|
player playMove "AmovPercMstpSsurWnonDnon";
|
||||||
|
};
|
||||||
@@ -105,54 +105,7 @@ if (isNil "keyboard_keys") then {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
_surrender = {
|
_surrender = {
|
||||||
_vehicle = vehicle player;
|
call player_surrender;
|
||||||
_inVehicle = (_vehicle != player);
|
|
||||||
_onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;
|
|
||||||
_canDo = (!r_drag_sqf && !r_player_unconscious && !_onLadder && !_inVehicle);
|
|
||||||
|
|
||||||
if (_canDo && !DZE_Surrender && !(player isKindOf "PZombie_VB")) then {
|
|
||||||
DZE_Surrender = true;
|
|
||||||
_dropPrimary = false;
|
|
||||||
_dropSecondary = false;
|
|
||||||
|
|
||||||
_primaryWeapon = primaryWeapon player;
|
|
||||||
if (_primaryWeapon != "") then {_dropPrimary = true;};
|
|
||||||
_secondaryWeapon = "";
|
|
||||||
{
|
|
||||||
if ((getNumber (configFile >> "CfgWeapons" >> _x >> "Type")) == 2) exitWith {
|
|
||||||
_secondaryWeapon = _x;
|
|
||||||
};
|
|
||||||
} count (weapons player);
|
|
||||||
if (_secondaryWeapon != "") then {_dropSecondary = true;};
|
|
||||||
|
|
||||||
if (_dropPrimary || _dropSecondary) then {
|
|
||||||
player playActionNow "PutDown";
|
|
||||||
_iPos = getPosATL player;
|
|
||||||
_radius = 1;
|
|
||||||
_item = createVehicle ["WeaponHolder", _iPos, [], _radius, "CAN_COLLIDE"];
|
|
||||||
_item setposATL _iPos;
|
|
||||||
if (_dropPrimary) then {
|
|
||||||
_iItem = _primaryWeapon;
|
|
||||||
_removed = ([player,_iItem,1] call BIS_fnc_invRemove);
|
|
||||||
if (_removed == 1) then {
|
|
||||||
_item addWeaponCargoGlobal [_iItem,1];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
if (_dropSecondary) then {
|
|
||||||
_iItem = _secondaryWeapon;
|
|
||||||
_removed = ([player,_iItem,1] call BIS_fnc_invRemove);
|
|
||||||
if (_removed == 1) then {
|
|
||||||
_item addWeaponCargoGlobal [_iItem,1];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
player reveal _item;
|
|
||||||
};
|
|
||||||
|
|
||||||
// set publicvariable that allows other player to access gear
|
|
||||||
player setVariable ["DZE_Surrendered", true, true];
|
|
||||||
// surrender animation
|
|
||||||
player playMove "AmovPercMstpSsurWnonDnon";
|
|
||||||
};
|
|
||||||
_handled = true;
|
_handled = true;
|
||||||
};
|
};
|
||||||
_gear = {
|
_gear = {
|
||||||
|
|||||||
@@ -69,4 +69,4 @@ while {(!isNull _display) && !r_player_dead} do {
|
|||||||
};
|
};
|
||||||
|
|
||||||
TimeOutDisplayed = false;
|
TimeOutDisplayed = false;
|
||||||
if (r_player_dead) exitWith {_btnAbort ctrlEnable true;};
|
if (r_player_dead) then {_btnAbort ctrlEnable true;};
|
||||||
@@ -184,6 +184,7 @@ if (!isDedicated) then {
|
|||||||
player_removeItems = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_removeItems.sqf";
|
player_removeItems = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_removeItems.sqf";
|
||||||
player_removeNearby = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_removeNearby.sqf";
|
player_removeNearby = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_removeNearby.sqf";
|
||||||
player_removeObject = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\remove.sqf";
|
player_removeObject = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\remove.sqf";
|
||||||
|
player_surrender = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_surrender.sqf";
|
||||||
player_traderCity = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_traderCity.sqf";
|
player_traderCity = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_traderCity.sqf";
|
||||||
player_unlockDoor = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_unlockDoor.sqf";
|
player_unlockDoor = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_unlockDoor.sqf";
|
||||||
player_unlockVault = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_unlockVault.sqf";
|
player_unlockVault = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_unlockVault.sqf";
|
||||||
|
|||||||
@@ -7534,7 +7534,7 @@
|
|||||||
<German>Du kannst dich nicht in der Nähe eines anderen Spielers ausloggen!</German>
|
<German>Du kannst dich nicht in der Nähe eines anderen Spielers ausloggen!</German>
|
||||||
</Key>
|
</Key>
|
||||||
<Key ID="str_abort_zedsclose">
|
<Key ID="str_abort_zedsclose">
|
||||||
<English>You cannot abort near Zombies!</English>
|
<English>You cannot abort near zombies!</English>
|
||||||
<Russian>Нельзя выходить находясь рядом с зомби!</Russian>
|
<Russian>Нельзя выходить находясь рядом с зомби!</Russian>
|
||||||
<Spanish>¡No puedes abortar cerca de zombies!</Spanish>
|
<Spanish>¡No puedes abortar cerca de zombies!</Spanish>
|
||||||
<Czech>Nemůžete ukončit hru, když jsou zombie poblíž.</Czech>
|
<Czech>Nemůžete ukončit hru, když jsou zombie poblíž.</Czech>
|
||||||
|
|||||||
Reference in New Issue
Block a user