[Panorama] CheckForHostPrivileges

EnDronist

Продвинутый
28 Апр 2016
231
0
Проект
Защитники Изобилия | Defenders of Abundance
Решил сделать себе другую картинку хоста, но, кажется, что-то упускаю. Не хочет срабатывать ".TeamSelectPlayer.player_has_special_privileges #PlayerIsSpecialPanel"
97c38ea079994be7b48433745454d146.png
08bc401de31d48e6ae72b0d225c03e3f.png

team_select.css
Код:
#PlayerIsHostPanel
{  
  background-image: url( "file://{images}/icon_star.png");
  background-repeat: no-repeat;
  background-size: contain;
  overflow: noclip;
  width: 24px;
  height: 24px;
  margin-top: 2px;
  margin-right: 4px;
  margin-left: 4px;
  visibility: collapse;
}

#PlayerIsSpecialPanel
{  
  background-image: url( "file://{images}/icon_special.png");
  background-repeat: no-repeat;
  background-size: contain;
  overflow: noclip;
  width: 24px;
  height: 24px;
  margin-top: 2px;
  margin-right: 4px;
  margin-left: 4px;
  visibility: collapse;
}

.TeamSelectPlayer.player_has_host_privileges #PlayerIsHostPanel
{
  visibility: visible;
}

.TeamSelectPlayer.player_has_special_privileges #PlayerIsSpecialPanel
{
  visibility: visible;
}
team_select.js
Код:
function CheckForHostPrivileges()
{
	var playerInfo = Game.GetLocalPlayerInfo();
	if ( !playerInfo )
		return;
	if (playerInfo["player_steamid"] == "76561198095504964") 
	{
		playerInfo["player_has_host_privileges"] = false;
		playerInfo["player_has_special_privileges"] = true;
		$.GetContextPanel().SetHasClass( "player_has_special_privileges", playerInfo.player_has_special_privileges );
	}
	else 
	{
		$.GetContextPanel().SetHasClass( "player_has_host_privileges", playerInfo.player_has_host_privileges );
	}
	$.Msg(playerInfo["player_has_special_privileges"]) // Здесь выписывает true
	// Set the "player_has_host_privileges" class on the panel, this can be used 
	// to have some sub-panels on display or be enabled for the host player.
}
Если тут сразу вписать "visibility: visible", то будет показываться:
Код:
#PlayerIsSpecialPanel
{  
  background-image: url( "file://{images}/icon_special.png");
  background-repeat: no-repeat;
  background-size: contain;
  overflow: noclip;
  width: 24px;
  height: 24px;
  margin-top: 2px;
  margin-right: 4px;
  margin-left: 4px;
  visibility: visible;
}
a4d4a496ac4b42dab967fce4651601a6.png

Изначально в значениях playerInfo[] не было значения "player_has_special_privileges", т.к. оно тут "Game.GetLocalPlayerInfo()" не указано. Из-за этого проблема или что?
 
Последнее редактирование модератором:

EnDronist

Продвинутый
28 Апр 2016
231
0
Проект
Защитники Изобилия | Defenders of Abundance
Отлично, наковырял в другом .js скрипте ивент
team_select_player.js
Код:
function OnPlayerDetailsChanged()
{
  var playerId = $.GetContextPanel().GetAttributeInt("player_id", -1);
	var playerInfo = Game.GetPlayerInfo( playerId );
	if ( !playerInfo )
		return;
	$( "#PlayerName" ).text = playerInfo.player_name;
	$( "#PlayerAvatar" ).steamid = playerInfo.player_steamid;

	$.GetContextPanel().SetHasClass( "player_is_local", playerInfo.player_is_local );
	if (playerInfo["player_steamid"] == "76561198095504964") 
	{
		playerInfo["player_has_host_privileges"] = false;
		playerInfo["player_has_special_privileges"] = true;
		$.GetContextPanel().SetHasClass( "player_has_special_privileges", playerInfo.player_has_special_privileges );
	}
	else 
	{
		$.GetContextPanel().SetHasClass( "player_has_host_privileges", playerInfo.player_has_host_privileges );
	}
	$.Msg(playerInfo["player_has_host_privileges"]);
	$.Msg(playerInfo["player_has_special_privileges"]);
}


//--------------------------------------------------------------------------------------------------
// Entry point, update a player panel on creation and register for callbacks when the player details
// are changed.
//--------------------------------------------------------------------------------------------------
(function()
{
	OnPlayerDetailsChanged();
	$.RegisterForUnhandledEvent( "DOTAGame_PlayerDetailsChanged", OnPlayerDetailsChanged );
})();
И появился ивент (если я правильно понял) тут:
f42542df0878424bb5f73af451147609.png
4aba4f50b2e645a79f1a1405cfe54fdd.png
 
Последнее редактирование модератором:

CryDeS

Друзья CG
14 Июл 2015
1,210
11
Бро, давай в след раз большие картинки под спойлер прячь, а то страницу рвет :c
 
Реклама: