Hello, thank you for helping me out but i have one anoying problem and dont now how to fix it any more. I try with GUIBackup color etc... but nothing worked out for me why am i try to fix this? Becauss cant play game my screen start be black and scopes are fck up all inside scope is black like when am go in inventory, here is official error:
<pre>System.NullReferenceException: Object reference not set to an instance of an object
at Absolutly.Abso.DrawPlayers () [0x00072] in <9854d861ae0d247c498e2782f3e1d916>:0
And here is code for drawplayers.
<pre> private void DrawPlayers()
{
foreach (var player in _playerInfo)
{
try
{
if (player == null || !player.IsVisible || player.Profile.Info.Nickname == string.Empty) continue;
Vector3 playerPos = player.Transform.position;
float distanceToObject = Vector3.Distance(camPos, player.Transform.position);
Vector3 playerBoundingVector = Camera.main.WorldToScreenPoint(playerPos);
if (distanceToObject <= _viewdistance && playerBoundingVector.z > 0.01)
{
Vector3 playerHeadVector = Camera.main.WorldToScreenPoint(player.PlayerBones.Head.position);
Gizmos.DrawCube(playerPos, new Vector3(1, 1, 2));
float boxVectorX = playerBoundingVector.x;
float boxVectorY = playerHeadVector.y + 10f;
float boxHeight = Math.Abs(playerHeadVector.y - playerBoundingVector.y) + 10f;
float boxWidth = boxHeight * 0.65f;
var IsAI = player.Profile.Info.RegistrationDate <= 0;
var playerColor = player.HealthController.IsAlive ? GetPlayerColor(player.Side) : Color.gray;
Vlcrpc.DrawBox(boxVectorX - boxWidth / 2f, Screen.height - boxVectorY, boxWidth, boxHeight, playerColor);
Vlcrpc.DrawLine(new Vector2(playerHeadVector.x - 2f, Screen.height - playerHeadVector.y), new Vector2(playerHeadVector.x + 2f, Screen.height - playerHeadVector.y), playerColor);
Vlcrpc.DrawLine(new Vector2(playerHeadVector.x, Screen.height - playerHeadVector.y - 2f), new Vector2(playerHeadVector.x, Screen.height - playerHeadVector.y + 2f), playerColor);
var playerName = IsAI ? "[BOT]" : player.Profile.Info.Nickname;
string playerText = player.HealthController.IsAlive ? playerName : (playerName + " [MRTAV]");
string playerTextDraw = string.Format("{0} [{1}]", playerText, (int)distanceToObject);
var playerTextVector = GUI.skin.GetStyle(playerText).CalcSize(new GUIContent(playerText));
GUI.Label(new Rect(playerBoundingVector.x - playerTextVector.x / 2f, Screen.height - boxVectorY - 20f, 300f, 50f), playerTextDraw);
}
}
catch (NullReferenceException ex)
{
File.AppendAllText(@"C:\exeptionseft\DrawPlay.txt", ex.ToString() + Environment.NewLine);
}
}
}
Thank you all for help and you time.
What I have tried:
GUI.color = backup;
I try to go with just drawboxex but nothing
and for end i try to remove all thinks and just leave nicknames but didnt help same error again.