diff --git a/_Hide/scripting/Hide_TransmitManager.sp b/_Hide/scripting/Hide_TransmitManager.sp index 274728a..91758fe 100644 --- a/_Hide/scripting/Hide_TransmitManager.sp +++ b/_Hide/scripting/Hide_TransmitManager.sp @@ -105,7 +105,6 @@ public Action UpdateHide(Handle timer) if (!g_hCVar_HideEnabled.BoolValue) return Plugin_Continue; - bool CheckedEachOtherDistance[MAXPLAYERS + 1][MAXPLAYERS + 1]; g_iLeader = Leader_CurrentLeader(); for (int client = 1; client <= MaxClients; client++) @@ -161,22 +160,22 @@ public Action UpdateHide(Handle timer) } g_bHasTobeVisible[client] = true; } - //but the human leader and human item users may still want to hide the remaining human players. (one direction) + //but the human leader and human item users may still want to hide the remaining human players. if (ClientIsAlive && ClientIsHuman && (g_iLeader == client || ClientHasItem)) { - DoTheTargetCheck(client, true, CheckedEachOtherDistance); + DoTheTargetCheck(client); } continue; } g_bHasTobeVisible[client] = false; //all the remaining checks for clients with hide enabled that are alive humans and not leaders or item users. - DoTheTargetCheck(client, false, CheckedEachOtherDistance); //(both directions) + DoTheTargetCheck(client); } return Plugin_Continue; } -public void DoTheTargetCheck(int client, bool OneDirectional, bool[][] CheckedEachOtherDistance) +public void DoTheTargetCheck(int client) { float fOriginClient[3]; float fOriginTarget[3]; @@ -190,13 +189,6 @@ public void DoTheTargetCheck(int client, bool OneDirectional, bool[][] CheckedEa continue; } - if (!OneDirectional && CheckedEachOtherDistance[client][target]) - { - //the distance between these two Alive humans is already calculated. - //They both are not leader and have no items and they both have hide enabled. - continue; - } - //the target is not the leader, has no item, is alive and is a human. so consider him for the distance check. if (g_iLeader != target && !EW_ClientHasItem(target) && IsPlayerAlive(target) && ZR_IsClientHuman(target) && target != client) { @@ -209,23 +201,9 @@ public void DoTheTargetCheck(int client, bool OneDirectional, bool[][] CheckedEa //the client here cannot be a fakeclient. thats already checked. TransmitManager_SetEntityState(target, client, false); //the player is hiding the teammate due to distance g_bHidePlayers[client][target] = true; - //client it not a leader, not an item user and target has hide enabled - if (!OneDirectional && g_iHideRange[target] != DISABLED) - { - //the target here could be a fakeclient. so check that its not. - if (!IsFakeClient(target)) - { - TransmitManager_SetEntityState(client, target, false); //the teammate is hiding the player due to distance - } - g_bHidePlayers[target][client] = true; - } + //LogMessage("client: %N is %s. target: %N is %s", client, ZR_IsClientHuman(client) ? "Human" : "Zombie", target, ZR_IsClientHuman(target) ? "Human" : "Zombie"); } g_bHasSomebodyToHide[client] = true; //theres at least one target to hide for the player, the teammate - //client it not a leader, not an item user and target has hide enabled - if (!OneDirectional && g_iHideRange[target] != DISABLED) - { - g_bHasSomebodyToHide[target] = true; //theres at least one target to hide for the teammate, the player - } } else { @@ -234,21 +212,8 @@ public void DoTheTargetCheck(int client, bool OneDirectional, bool[][] CheckedEa { TransmitManager_SetEntityState(target, client, true); //the player is seeing the teammate due to distance g_bHidePlayers[client][target] = false; - //client it not a leader, not an item user and target has hide enabled - if (!OneDirectional && g_iHideRange[target] != DISABLED) - { - TransmitManager_SetEntityState(target, client, true); //the teammate is seeing the player due to distance - g_bHidePlayers[target][client] = false; - } } } - - //client it not a leader, not an item user and target has hide enabled - if (!OneDirectional && g_iHideRange[target] != DISABLED) - { - CheckedEachOtherDistance[client][target] = true; - CheckedEachOtherDistance[target][client] = true; - } } } }