crash fixed for localplayer

This commit is contained in:
2023-01-08 21:53:11 +01:00
parent 3d88b189a6
commit 8bbdbd7027
2 changed files with 28 additions and 14 deletions

View File

@@ -6,6 +6,12 @@ using MelonLoader;
namespace DevourClient.Helpers namespace DevourClient.Helpers
{ {
public class BasePlayer
{
public GameObject p_GameObject { get; set; } = default!;
public string Name { get; set; } = default!;
public string Id { get; set; } = default!;
}
public class Player public class Player
{ {
public static bool IsInGame() public static bool IsInGame()
@@ -47,17 +53,12 @@ namespace DevourClient.Helpers
} }
} }
public class BasePlayer
{
public GameObject p_GameObject = default!;
public string Name = default!;
public string Id = default!;
}
public class Entities public class Entities
{ {
public static BasePlayer LocalPlayer_ = default!; public static BasePlayer LocalPlayer_ = new BasePlayer();
public static BasePlayer[] Players = default!; //public static BasePlayer[] Players = new BasePlayer[4];
public static GameObject[] Players = default!;
public static Il2Cpp.GoatBehaviour[] GoatsAndRats = default!; public static Il2Cpp.GoatBehaviour[] GoatsAndRats = default!;
public static Il2Cpp.SurvivalInteractable[] SurvivalInteractables = default!; public static Il2Cpp.SurvivalInteractable[] SurvivalInteractables = default!;
public static Il2Cpp.KeyBehaviour[] Keys = default!; public static Il2Cpp.KeyBehaviour[] Keys = default!;
@@ -90,6 +91,8 @@ namespace DevourClient.Helpers
{ {
for (;;) for (;;)
{ {
Players = GameObject.FindGameObjectsWithTag("Player");
/*
int i = 0; int i = 0;
foreach (GameObject p in GameObject.FindGameObjectsWithTag("Player")) foreach (GameObject p in GameObject.FindGameObjectsWithTag("Player"))
{ {
@@ -99,7 +102,6 @@ namespace DevourClient.Helpers
Il2Cpp.DissonancePlayerTracking dpt = p.gameObject.GetComponent<Il2Cpp.DissonancePlayerTracking>(); Il2Cpp.DissonancePlayerTracking dpt = p.gameObject.GetComponent<Il2Cpp.DissonancePlayerTracking>();
if (dpt != null) if (dpt != null)
{ {
MelonLogger.Msg(dpt.state.PlayerName + " | " + dpt.state.PlayerId.ToString());
player_name = dpt.state.PlayerName; player_name = dpt.state.PlayerName;
player_id = dpt.state.PlayerId; player_id = dpt.state.PlayerId;
} }
@@ -110,6 +112,7 @@ namespace DevourClient.Helpers
i++; i++;
} }
*/
// Wait 5 seconds before caching objects again. // Wait 5 seconds before caching objects again.
yield return new WaitForSeconds(5f); yield return new WaitForSeconds(5f);

View File

@@ -155,9 +155,9 @@ namespace DevourClient
{ {
if (this.player_esp || this.player_snapline) if (this.player_esp || this.player_snapline)
{ {
foreach (BasePlayer Bplayer in Helpers.Entities.Players) foreach (GameObject player in Helpers.Entities.Players)
{ {
GameObject player = Bplayer.p_GameObject; //GameObject player = Bplayer.p_GameObject;
if (player != null) if (player != null)
{ {
@@ -632,7 +632,18 @@ namespace DevourClient
if (Helpers.Map.GetActiveScene() != "") if (Helpers.Map.GetActiveScene() != "")
{ {
GUI.Label(new Rect(Settings.Settings.x + 10, Settings.Settings.y + 400, 200, 30), $"Functions for the map: {Helpers.Map.GetMapName(Helpers.Map.GetActiveScene())}"); GUI.Label(new Rect(Settings.Settings.x + 10, Settings.Settings.y + 400, 200, 30), $"Functions for the map: {Helpers.Map.GetMapName(Helpers.Map.GetActiveScene())}");
/*
if (Helpers.Map.GetActiveScene() != "Menu")
{
GUI.Label(new Rect(Settings.Settings.x + 580, Settings.Settings.y + 400, 150, 30), "Player list:");
int i = 0;
foreach (BasePlayer bp in Entities.Players)
{
GUI.Label(new Rect(Settings.Settings.x + 580, Settings.Settings.y + 430 + i, 150, 30), bp.Name);
i += 30;
}
}
*/
switch (Helpers.Map.GetActiveScene()) switch (Helpers.Map.GetActiveScene())
{ {
case "Menu": case "Menu":