diff --git a/CHANGE LOG 1.0.6.txt b/CHANGE LOG 1.0.6.txt index f3061909b..ad7606084 100644 --- a/CHANGE LOG 1.0.6.txt +++ b/CHANGE LOG 1.0.6.txt @@ -50,7 +50,6 @@ [NEW] You may set the buying or selling price of any item to -1 to disallow the respective trading action, only with config traders and advanced trading @icomrade [NEW] Salvage can now be disabled on locked vehicles via DZE_salvageLocked variable. #1757 @oiad [NEW] You may now rearm pooks and other helicoper/vehicle pilot/driver weapons @icomrade -[NEW] Dogs can now be gutted and yield 2xFoodDogRaw @ebaydayz [NEW] Rewrote death messages to a PVEH instead of the unreliable MPHit. Added localization, more causes of death, systemChat and dynamicText killfeed options. @ebaydayz [NEW] Optional group system with database save. Group command bar is now hidden. @icomrade @ebaydayz diff --git a/SQF/dayz_code/groups/disbandGroup.sqf b/SQF/dayz_code/groups/disbandGroup.sqf index c66821061..aa6ad55af 100644 --- a/SQF/dayz_code/groups/disbandGroup.sqf +++ b/SQF/dayz_code/groups/disbandGroup.sqf @@ -13,4 +13,5 @@ dayz_groupDisbandThread = _group spawn { {[_x] joinSilent grpNull} count (units _this); deleteGroup _this; + dayz_myGroup = []; }; \ No newline at end of file diff --git a/SQF/dayz_code/groups/groupMarkers.sqf b/SQF/dayz_code/groups/groupMarkers.sqf index 1d411fd0d..3cf550a5a 100644 --- a/SQF/dayz_code/groups/groupMarkers.sqf +++ b/SQF/dayz_code/groups/groupMarkers.sqf @@ -1,5 +1,5 @@ // Two second loop -private ["_count","_found","_group","_hasGPS","_index","_marker","_markBody","_markGroup","_markSelf","_pos","_self","_vehicle"]; +private ["_count","_found","_group","_hasGPS","_index","_marker","_markBody","_markGroup","_markSelf","_pos","_self","_uid","_vehicle"]; _group = player call dayz_filterGroup; @@ -10,6 +10,14 @@ if (dayz_requireRadio && {count _group > 1} && {!("ItemRadio" in items player)}) localize "STR_EPOCH_RADIO_CONTACT_LOST" call dayz_rollingMessages; }; +{ + _uid = getPlayerUID _x; + if (!(_uid in dayz_myGroup) && _x != player) then { + dayz_myGroup set [count dayz_myGroup,_uid]; + systemChat format [localize "STR_EPOCH_PLAYER_JOINED",name _x]; + }; +} count _group; + if (visibleMap or !isNull findDisplay 88890) then { _hasGPS = "ItemGPS" in items player; _markBody = (dayz_markBody == 1 or (dayz_markBody == 2 && _hasGPS)); diff --git a/SQF/dayz_code/groups/init.sqf b/SQF/dayz_code/groups/init.sqf index e61ae0f82..990d98b37 100644 --- a/SQF/dayz_code/groups/init.sqf +++ b/SQF/dayz_code/groups/init.sqf @@ -1,4 +1,4 @@ -private "_oldGroup"; +private ["_leader","_oldGroup"]; if (count (units group player) > 1) then { [player] joinSilent grpNull; @@ -7,10 +7,12 @@ if (count (units group player) > 1) then { if (count dayz_myGroup > 1 && {!dayz_requireRadio or {dayz_requireRadio && "ItemRadio" in items player}}) then { { //Only auto join player into group if leader is in their savedGroup - if (getPlayerUID leader _x in dayz_myGroup) exitWith { + _leader = leader _x; + if (getPlayerUID _leader in dayz_myGroup) exitWith { _oldGroup = group player; [player] joinSilent _x; if (count (units _oldGroup) == 0) then {deleteGroup _oldGroup;}; + systemChat format [localize "STR_EPOCH_REJOINED_GROUP",name _leader]; // Update saved group in DB PVDZ_Server_UpdateGroup = [0,player]; diff --git a/SQF/dayz_code/groups/joinGroup.sqf b/SQF/dayz_code/groups/joinGroup.sqf index c173bf916..35d994397 100644 --- a/SQF/dayz_code/groups/joinGroup.sqf +++ b/SQF/dayz_code/groups/joinGroup.sqf @@ -27,6 +27,12 @@ if (!isNull _inviter) then { _oldGroup = group player; [player] joinSilent (group _inviter); if (count (units _oldGroup) == 0) then {deleteGroup _oldGroup;}; + { + _uid = getPlayerUID _x; + if !(_uid in dayz_myGroup) then { + dayz_myGroup set [count dayz_myGroup,_uid]; + }; + } count (units group player); // Update saved group in DB PVDZ_Server_UpdateGroup = [1,player]; diff --git a/SQF/dayz_code/groups/kickFromGroup.sqf b/SQF/dayz_code/groups/kickFromGroup.sqf index 5874ff2c5..9f39e1dc7 100644 --- a/SQF/dayz_code/groups/kickFromGroup.sqf +++ b/SQF/dayz_code/groups/kickFromGroup.sqf @@ -8,6 +8,7 @@ _target = _targetUID call dayz_getPlayer; if (isNull _target or _target == player or player != leader group player) exitWith {}; [_target] joinSilent grpNull; +dayz_myGroup = dayz_myGroup - [_targetUID]; PVDZ_Server_UpdateGroup = [2,player,_targetUID]; publicVariableServer "PVDZ_Server_UpdateGroup"; diff --git a/SQF/dayz_code/groups/leaveGroup.sqf b/SQF/dayz_code/groups/leaveGroup.sqf index 8f2a07d3d..b652a2a1c 100644 --- a/SQF/dayz_code/groups/leaveGroup.sqf +++ b/SQF/dayz_code/groups/leaveGroup.sqf @@ -11,4 +11,5 @@ dayz_groupLeaveThread = [] spawn { //Wait for response from server to confirm group finished updating in DB waitUntil {!isNil "dayz_groupLeft"}; [player] joinSilent grpNull; + dayz_myGroup = []; }; \ No newline at end of file diff --git a/SQF/dayz_code/stringtable.xml b/SQF/dayz_code/stringtable.xml index fbb72ad05..22dcc63b5 100644 --- a/SQF/dayz_code/stringtable.xml +++ b/SQF/dayz_code/stringtable.xml @@ -16357,6 +16357,12 @@ You invited %1 to join the group. + + %1 joined the group. + + + Rejoined %1's group + New group invite - Press F5 to view