ClanDoolittle Group Management

Figured I'd write this here.

Script works well on my test server. Need to upload it to the main server for proper testing.
Small problems I see with it, it's very bare bones. Players are going to have a shit fit after coming from DZGM to this.

  • Nametags don't show names just the colored square above their heads.
  • There is no marker on the map to show your player or your corpse, although you do see your group members.
  • Messages for invites received, etc., appear as hints in the top right corner of the screen instead of title text/system chat. If the debug is open players will not be able to see that they were invited.
Im sure all of this is exactly as Delpi intended for use on his server. And Im not complaining since this is his script, I'm glad he decides to release it. It's just the lack of those features specifically will cause untold amounts of whining on my server haha.
k5KR3tm.jpg
 
Last edited:
Well I successfully figured out the hints myself.. probably the extent of my skill lol

change any hints to something like this
Code:
 //hint "You are no longer in a group";
    [nil,nil,rTITLETEXT, format["You are no longer in a group"], "PLAIN", 0] call RE;

Also if you're using infistar you will need to add these filters to your publicvariable.txt
Code:
 !"CD_Groups_Group_Check_Call" !"CD_Groups_Group_Create_Call" !"CD_Groups_Group_Reject_Call" !"CD_Groups_MakeLeader_Call" !"CD_Groups_Group_Invite_Call" !"CD_Groups_Group_Join_Call" !"CD_Groups_Group_Leave_Call" !"CD_Groups_Group_Check_Call"
 
I might add some of those, let me think about it
The dead body thing is a bit of a novelty and I believe they can probably learn to live without it.. but the lack of a player name in the icon will definitely cause problems.
 
I had the names setup another section of my scripts, so I didn't build it here. Easy to do though.
 
DangerRuss,
Was there any other filters you changed? BTW, all you need to add is !CD_ instead of all that. I'll add to the install instructions.

So the missing features are:
names
ability to choose how the messages come across

For the dead bodies, I think i'll make a seperate subscript setup for that. Its been on my list of things to do for a different reason.
 
DangerRuss,
Was there any other filters you changed? BTW, all you need to add is !CD_ instead of all that. I'll add to the install instructions.

So the missing features are:
names
ability to choose how the messages come across

For the dead bodies, I think i'll make a seperate subscript setup for that. Its been on my list of things to do for a different reason.
No other filters were necessary. I dont mind adding the specific variables just in case someone creates a hack with a variable starting in !CD_ lol but yea no big deal. I don't use scripts.txt on my server so Im not sure if you need to filter anything there.

Yea the hints are a nice idea but the debug monitor overrides any hints so as soon as they appear they are instantly gone. I also have my missions display as hints so there are 2 things competing for hints. Was a quick fix to just change them to titletext.

The names are a big deal for sure because if you have a large group you want to be able to quickly direct a group member to your position if you're in a pinch. Im also going to play around with the size of the square as it's a bit tiny, but that is just personal preference and should be an easy fix.

Also you might want to consider adding an option to see your player location on the map along with your group mates. This will help newer players and its definitely more favorable for me than changing the difficulty because that also shows other non-group players on the map that are near your location.

So features I would like to see, personally.
  • Player names on nametags
  • Your player location on map
  • Your dead body location on map
  • Titletext/system chat instead of hints
 
I'm having a fit with the scripts.txt. It behaves weird. My current frustration is I changed everything to 1 instead of 5 and it is still kicking me. GRRRR.

I'll just put a option in the variables file to pick hint or titletext.

The square changes size based upon distance. Would be easy to increase size. I'll add a variable for it.

I'll add the player location as an option as well. That is something I have turned on in difficulty since it is easy to trick it into telling you location.

hmm, didn't notice seeing the other players nearby. is that when you hover over map with map they pop up?
 
I'm having a fit with the scripts.txt. It behaves weird. My current frustration is I changed everything to 1 instead of 5 and it is still kicking me. GRRRR.

I'll just put a option in the variables file to pick hint or titletext.

The square changes size based upon distance. Would be easy to increase size. I'll add a variable for it.

I'll add the player location as an option as well. That is something I have turned on in difficulty since it is easy to trick it into telling you location.

hmm, didn't notice seeing the other players nearby. is that when you hover over map with map they pop up?
Post what you're getting kicked for and I can help you filter them.

Yes I saw the minsize and maxsize.. I've changed the values but unfortunately I can't play around with it without another player on the test server.

On a lower difficulty if you set
Code:
map = 1;
Then you can see nearby vehicles, zombies, and players on your map.

I have altered the Map_Loop.sqf so that it should show the player location and dead body. I've just combined the bit from DZGM. It should work, although you might want to recode it to make it cleaner and using your own variables.
Code:
private ["_markerList"];
_markerList = [];

while {true} do {  
    // Delete Current Markers
    {
        deleteMarkerLocal _x;
    } forEach _markerList;
    // Reset List
    _markerList = [];      
    if (visibleMap and (count (units group player) > 1)) then {  
        // Cycle through group
        {      
            if (isPlayer _x and _x != player) then {
                private ["_marker","_name","_markerName"];
                _name = name _x;
                _markerName = format ["CD_Groups_%1",_name];
                _marker = createMarkerLocal [_markerName,getPos _x];
                _markerList = _markerList + [_markerName];
                _marker setMarkerTypeLocal "DestroyedVehicle";
                _marker setMarkerTextLocal format ["%1",_name];
            };
        } forEach (units group player);  
    };
    uiSleep 1;


//Copied from DZGM

    {
        if ((!isNull _x) && {isPlayer _x} && {(driver (vehicle _x)) == _x}) then {
            _name = name _x;
            if (group _x == group player) then {
                _pPos = getPosATL _x;
                if (surfaceIsWater _pPos) then {_pPos = getPosASL _x;};
                if (_name == name player) then {_name = "I am here";};
                deleteMarkerLocal _name;
                _mrkr = createMarkerLocal [_name,_pPos];
                _mrkr setMarkerTypeLocal "DestroyedVehicle";
                _mrkr setMarkerTextLocal format ["%1",_name];
            } else {
                deleteMarkerLocal _name;
            };
        };
    } count playableUnits;
  
    {
        if (!isNull _x) then {
            _name = _x getVariable["bodyName","unknown"];
            if (_name == name player) then {_name = "My body";};
            _pPos = getPosATL _x;
            _nameID = _name + str(_pPos);
            if (_name == "My body") then {
                deleteMarkerLocal _nameID;
                _mrkr = createMarkerLocal [_nameID,_pPos];
                _mrkr setMarkerTypeLocal "DestroyedVehicle";
                _mrkr setMarkerTextLocal format ["%1",_name];
                _mrkr setMarkerColorLocal "ColorRed";
            } else {
                deleteMarkerLocal _nameID;
            };
        };
    } count allDead;
};
 
I'll send you something on the script.txt thing tonight.

hmm, I've never used map = 1. I don't remember the variable, but it was something else that put a marker for the player there. I'll have to look tonight.

Yeh, I'll do something else. Probably this with the variable 'CD_Groups_MarkSelf' and I never noticed this before, but should probably be 'getPos (vehicle _x)' instead of 'getPos _x'. However, i've never noticed a problem when the player was in a vehicle though.

Code:
// Delete Current Markers
    {
        deleteMarkerLocal _x;
    } forEach _markerList;
    // Reset List
    _markerList = [];     
    if (visibleMap and (count (units group player) > 1)) then { 
        // Cycle through group
        {     
            if (isPlayer _x and (_x != player or CD_Groups_MarkSelf)) then {
                private ["_marker","_name","_markerName"];
                _name = name _x;
                _markerName = format ["CD_Groups_%1",_name];
                _marker = createMarkerLocal [_markerName,getPos (vehicle _x)];
                _markerList = _markerList + [_markerName];
                _marker setMarkerTypeLocal "DestroyedVehicle";
                _marker setMarkerTextLocal format ["%1",_name];
            };
        } forEach (units group player); 
    };
    uiSleep 1;
 
what about player names on the actual icons? That's one I can't figure out because yours and ebay's are coded so much differently...
Im assuming the change would need to be made in Screen_loop.sqf?
 
I'm at work so I can't really test any of this. However, I 'think' the following will work.

If you modify Screen_loop.sqf as follows the name will be there.

Change
Code:
_screenText = format ["<img size='%2' align='left' image='%1'/>",_icon,_size];

To
Code:
_screenText = format ["<img size='%2' align='left' image='%1'/> %3",_icon,_size,name _x];



If you want the size to stay big:

Change
Code:
if (_distanceCheck > 10) then {

To
Code:
if (_distanceCheck > 10 and false) then {


I should be able to put all the changes up tonight with a more graceful setup, none of them will take me more than a few minutes once I'm at my home rig with everything setup on it.


I tend to program differently than most. Its just a style issue. I've jumped back and forth in too many languages including weird process control stuff. Add to that, I'm completely self taught. The guys from Minecraft Forge gripe all the time about it, but they constantly ask how to do stuff. I get a laugh out of it at this point.
 
I'm at work so I can't really test any of this. However, I 'think' the following will work.

If you modify Screen_loop.sqf as follows the name will be there.

Change
Code:
_screenText = format ["<img size='%2' align='left' image='%1'/>",_icon,_size];

To
Code:
_screenText = format ["<img size='%2' align='left' image='%1'/> %3",_icon,_size,name _x];



If you want the size to stay big:

Change
Code:
if (_distanceCheck > 10) then {

To
Code:
if (_distanceCheck > 10 and false) then {


I should be able to put all the changes up tonight with a more graceful setup, none of them will take me more than a few minutes once I'm at my home rig with everything setup on it.


I tend to program differently than most. Its just a style issue. I've jumped back and forth in too many languages including weird process control stuff. Add to that, I'm completely self taught. The guys from Minecraft Forge gripe all the time about it, but they constantly ask how to do stuff. I get a laugh out of it at this point.

Well I can't code to save my life so Im not passing judgement haha.
I'll try this out.
 
Also Im not so worried about the size "staying" big but as you can see in my above picture even if you're close to the person it's quite tiny.
I imagine that's just changing the numbers at the top
Code:
_sizeMax = 2.00;
_sizeMin = 2.00;
 
Back
Top