Jump to content

Recommended Posts

Hello all,

Looking for the player overhead icons/tags from the Vanguard mode that came with Tanks DLC. I looked in functions viewer, found nothing. Tank DLC files are encrypted (EBO). Hopefully a BI dev can share how? We'll see, lol.

Share this post


Link to post
Share on other sites

Maybe they just used DrawIcon 3d

Share this post


Link to post
Share on other sites

Yes. They do, more than likely. Maybe I wasn't specific enough. I wanted to use the exact same ones. They have a nice fade effect, etc...

Share this post


Link to post
Share on other sites

There is this in the common description.ext shared by all Vangaurd missions.

 

class Params
{
	//#define WEATHER_DEFAULT			25
	//#define TIMEACCELERATION_DEFAULT	1
	#define DAYTIMEHOUR_DEFAULT			9
	#define DEBUGCONSOLE_DEFAULT		0
	#include "\a3\functions_f\Params\paramDaytimeHour.inc"
	#include "\a3\functions_f\Params\paramDebugConsole.inc"
	#include "\a3\functions_f\Params\paramWeather.inc"

	class WarmupTime
	{
		title = $STR_A3_TA_TanksMpFob_Description_BriefingTime;
		values[] = {-1,30,60,120,180,300};
		texts[] = {$STR_A3_missionDefault,"30","60","120","180","300"};
		default = -1;
	};
	class ZoneTime
	{
		title = $STR_A3_TA_TanksMpFob_Description_ZoneIntervalTime;
		values[] = {-1,60,120,180,240,300,360,420,480,540,600,660,720,780,840,900};
		texts[] = {$STR_A3_missionDefault,"1","2","3","4","5","6","7","8","9","10","11","12","13","14","15"};
		default = -1;
	};
	class EndTime
	{
		title = $STR_A3_ta_tanksmpfob_description_endgametimer;
		values[] = {-1, 60,600, 720, 900, 1500,1800, 10e10};
		texts[] = {$STR_A3_missionDefault,"1","10","12","15","20","30",$STR_A3_TA_Vanguard_Unlimited};
		default = -1;
	};
	class respawnOptions
	{
		title = $STR_A3_cfgvehicleclasses_respawn;
		values[] = {-1, 0, 1, 2};
		texts[] = {$STR_A3_missionDefault,$STR_A3_Param_Fog_0,$STR_A3_revive,$STR_A3_TA_Vanguard_RespawnIntoAI};
		default = -1;
	};
	class aiPerSide
	{
		title = $STR_A3_TA_Vanguard_useAI;
		values[] = {0, 2, 5, 10, 12, 15, 20};
		default = 10;
	};
	class fobRandomization
	{
		title = $STR_A3_TA_Vanguard_randomizeFob;
		values[] = {0, 1};
		texts[] = {$STR_A3_mp_groundsupport_modulemptypegroundsupport_disabled,$STR_A3_mp_groundsupport_modulemptypegroundsupport_enabled};
		default = 0;
	};
	class useNameTags
	{
		title = $STR_A3_TA_Vanguard_useNameTags;
		values[] = {0, 1};
		texts[] = {$STR_A3_mp_groundsupport_modulemptypegroundsupport_disabled,$STR_A3_mp_groundsupport_modulemptypegroundsupport_enabled};
		default = 1;
	};
};

I am pretty sure the useNameTags option is what you need.

Share this post


Link to post
Share on other sites

And I found this. DrawPlayerIcons.sqf

 

// Current Honza's version
waituntil {!isnil "BIS_rules_ended"};

// wait for transition
sleep 2;

// Show map markers
findDisplay 12 displayCtrl 51 ctrlAddEventHandler
["Draw",
{
	{
		_iconColor = [1,1,1,1];
		// Get icon type of units
		_iconShape = getText (configfile >> "CfgVehicles" >> typeOf (vehicle _x) >> "icon");

		// Switch color according a team
		switch (side group _x) do
		{
			case WEST:
			{_iconColor = [0,0.3,0.6,1]};
			case EAST:
			{_iconColor = [0.5,0,0,1]};
			case RESISTANCE:
			{_iconColor = [0,0.5,0,1]};
		};
		if  (_x getvariable "#leader") then {_iconShape = "a3\Ui_f\data\map\vehicleicons\iconManCommander_ca.paa"}; //  _iconShape = "a3\Ui_f\data\GUI\Cfg\Ranks\general_gs.paa
		//if (group _x == group player) then {_iconColor =[0.55,0.8,0.3,1]};//_iconColor = [1,0.75,0,1]};
		_text = "";

		private _vehicle = vehicle _x;
		if (_vehicle != _x && count ((crew _vehicle) select {alive _x}) > 1) then
		{
			_text = format ["%1%2%3",name _x," + ",(count ((crew (vehicle _X)) select {alive _X})-1)]
		} else {
			_text = format ["%1",name _x]
		};

		if (!isPlayer _x) then {
			_text = "AI";
			_iconColor set [3,0.5];
		};

		if (_x in BIS_ak_selectedUnits) then {
			_iconColor = [1,0.75,0.1,1];
		};

		_this select 0 drawIcon
		[
			_iconShape,
			_iconColor,
			visiblePosition vehicle _x,
			24,
			24,
			getDir vehicle _x,
			_text,
			1,
			0.035,
			'PuristaBold',
			'right'
		]
	} forEach (allUnits select {side _x == side group player && (vehicle _x == _x || (effectiveCommander (vehicle _X))== _x)});
}];

// Show ranks and nametags if parameter is enabled
if (BIS_AK_useNameTags == 1) then
{
	addMissionEventHandler ["eachFrame",{[] call BIS_fnc_drawPlayerIcons}];
};

BIS_fnc_drawPlayerIcons = {
	_alphadistance = 20;
	{
		if (freelook) then {_alphadistance = 50};
		_dist = (player distance _x) / _alphadistance;
		_color = [1,1,1,1];
		_color2 = [1,0.75,0,1];
		_icon = format ["a3\Ui_f\data\GUI\Cfg\Ranks\%1_gs.paa",rank _x];

		if (_x getvariable "#leader") then
		{
			_color = [1,0.75,0,1];
			_color2 = [1,1,1,1];
			_icon = "a3\Ui_f\data\GUI\Cfg\Ranks\general_gs.paa";
		};

		if (_x getvariable "talking") then
		{
			_icon = selectrandom ["A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\voice_ca.paa"];
		};

		_color set [3, 1 - _dist];
		_color2 set [3, 1 - _dist];

		drawIcon3D [_icon, _color, [( visiblePosition _x) select 0, ( visiblePosition _x) select 1, 2.2] , 1, 1, 2,"", 1, 0.03, "PuristaMedium"];
		drawIcon3D
		[
		"",
		_color,
		[( visiblePosition _x) select 0, ( visiblePosition _x) select 1, 2.2],
		2,
		-1.40,
		0,
		name _x,
		1,
		0.05,
		"PuristaBold",
		"Right"
		];

		drawIcon3D
		[
		"",
		_color2,
		[( visiblePosition _x) select 0, ( visiblePosition _x) select 1, 2.2],
		2,
		0.20,
		0,
		getText (configfile >> "CfgVehicles" >> typeOf (vehicle _x) >> "displayName"),
		2,
		0.03,
		"PuristaBold",
		"Right"
		];
	} forEach ((allPlayers - [player]) select {alive _x && side group _x == side group player && (vehicle _x == _x || (effectiveCommander (vehicle _X))== _x)});
};

// If leader, draw lines to tasks
BIS_ak_drawTaskLines = {
	if (player getVariable ["#leader",false]) exitWith {};
	private _map = findDisplay 12 displayCtrl 51;
	{
		private _player = _x;
		{
			_map drawLine [getPos _x, [_x] call BIS_fnc_taskDestination, [1,1,1,0.7]];
		} forEach [_x] call BIS_fnc_tasksUnit;
	} forEach (allPlayers select {side group _x == side group player} - [player]);
};

Give this a go.

  • Like 1

Share this post


Link to post
Share on other sites

Actually, here is the working script, but it will only put markers on the map, that follow each player. But it works.

 

// Show map markers
findDisplay 12 displayCtrl 51 ctrlAddEventHandler
["Draw",
{
	{
		_iconColor = [1,1,1,1];
		// Get icon type of units
		_iconShape = getText (configfile >> "CfgVehicles" >> typeOf (vehicle _x) >> "icon");

		// Switch color according a team
		switch (side group _x) do
		{
			case WEST:
			{_iconColor = [0,0.3,0.6,1]};
			case EAST:
			{_iconColor = [0.5,0,0,1]};
			case RESISTANCE:
			{_iconColor = [0,0.5,0,1]};
		};
		if  (_x getvariable "#leader") then {_iconShape = "a3\Ui_f\data\map\vehicleicons\iconManCommander_ca.paa"}; //  _iconShape = "a3\Ui_f\data\GUI\Cfg\Ranks\general_gs.paa
		//if (group _x == group player) then {_iconColor =[0.55,0.8,0.3,1]};//_iconColor = [1,0.75,0,1]};
		_text = "";

		private _vehicle = vehicle _x;
		if (_vehicle != _x && count ((crew _vehicle) select {alive _x}) > 1) then
		{
			_text = format ["%1%2%3",name _x," + ",(count ((crew (vehicle _X)) select {alive _X})-1)]
		} else {
			_text = format ["%1",name _x]
		};

		if (!isPlayer _x) then {
			_text = "AI";
			_iconColor set [3,0.5];
		};

		if (_x in BIS_ak_selectedUnits) then {
			_iconColor = [1,0.75,0.1,1];
		};

		_this select 0 drawIcon
		[
			_iconShape,
			_iconColor,
			visiblePosition vehicle _x,
			24,
			24,
			getDir vehicle _x,
			_text,
			1,
			0.035,
			'PuristaBold',
			'right'
		]
	} forEach (allUnits select {side _x == side group player && (vehicle _x == _x || (effectiveCommander (vehicle _X))== _x)});
}];

// Show ranks and nametags if parameter is enabled

addMissionEventHandler ["eachFrame",{[] call BIS_fnc_drawPlayerIcons}];

BIS_fnc_drawPlayerIcons = {
	_alphadistance = 20;
	{
		if (freelook) then {_alphadistance = 50};
		_dist = (player distance _x) / _alphadistance;
		_color = [1,1,1,1];
		_color2 = [1,0.75,0,1];
		_icon = format ["a3\Ui_f\data\GUI\Cfg\Ranks\%1_gs.paa",rank _x];

		if (_x getvariable "#leader") then
		{
			_color = [1,0.75,0,1];
			_color2 = [1,1,1,1];
			_icon = "a3\Ui_f\data\GUI\Cfg\Ranks\general_gs.paa";
		};

		if (_x getvariable "talking") then
		{
			_icon = selectrandom ["A3\Ui_f\data\GUI\Rsc\RscDisplayArsenal\voice_ca.paa"];
		};

		_color set [3, 1 - _dist];
		_color2 set [3, 1 - _dist];

		drawIcon3D [_icon, _color, [( visiblePosition _x) select 0, ( visiblePosition _x) select 1, 2.2] , 1, 1, 2,"", 1, 0.03, "PuristaMedium"];
		drawIcon3D
		[
		"",
		_color,
		[( visiblePosition _x) select 0, ( visiblePosition _x) select 1, 2.2],
		2,
		-1.40,
		0,
		name _x,
		1,
		0.05,
		"PuristaBold",
		"Right"
		];

		drawIcon3D
		[
		"",
		_color2,
		[( visiblePosition _x) select 0, ( visiblePosition _x) select 1, 2.2],
		2,
		0.20,
		0,
		getText (configfile >> "CfgVehicles" >> typeOf (vehicle _x) >> "displayName"),
		2,
		0.03,
		"PuristaBold",
		"Right"
		];
	} forEach ((allPlayers - [player]) select {alive _x && side group _x == side group player && (vehicle _x == _x || (effectiveCommander (vehicle _X))== _x)});
};

// If leader, draw lines to tasks
BIS_ak_drawTaskLines = {
	if (player getVariable ["#leader",false]) exitWith {};
	private _map = findDisplay 12 displayCtrl 51;
	{
		private _player = _x;
		{
			_map drawLine [getPos _x, [_x] call BIS_fnc_taskDestination, [1,1,1,0.7]];
		} forEach [_x] call BIS_fnc_tasksUnit;
	} forEach (allPlayers select {side group _x == side group player} - [player]);

Put this in the initPlayerLocal.sqf file and you can have player markers on the map. Not sure about the 3d markers yet though. I only tested this from EDEN with AI, and it labelled them all on the map as "ai", but if you test it on actual MP, you should get the 3d markers for other players.

Share this post


Link to post
Share on other sites

Thanks. Where did you find all this? I thought everything was in the EBO files (protected).

Share this post


Link to post
Share on other sites
17 hours ago, HazJ said:

Thanks. Where did you find all this? I thought everything was in the EBO files (protected).

BI encryption leaves a lot to be desired. A child could break it. BIdecryptor you can find online breaks the encryption instantly. Converts to pbo.

Share this post


Link to post
Share on other sites

Yeah... I knew that people have easily gotten in them. Just wanted to sure you looked there and not elsewhere. Are we allowed to look inside to learn / see how certain things are done? Especially since you shared it on forum.

Share this post


Link to post
Share on other sites

I am sure it is fine. You are just now allowed to extract 3d models and edit them and make a mod with changed models or something like that. A bit of code should be fine.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×