The function is also in efficient in that the order of operations for example is not optimized which is critical for a function that runs constantly.
Note that in this code we are waiting to check if the client is even supposed to be restricted at the very end within a loop! Also any check that can be done outside of a loop needs to for performance.Code:if (G_bConfigLoaded && !G_bRoundTransition && IsValidEdict(trigger)) { for (new index = 0; index < entArraySize; index++) { if (entArray[index][ent_hammerid] == Entity_GetHammerID(trigger)) { if (entArray[index][ent_trigger] == 1) { if (G_bRestricted[client] || G_bTemp[client]) { if (entArray[index][ent_torient] == 0) { CPrintToChat(client, "\x07%s[entWatch] \x07%s%t", color_tag, color_warning, "status restricted"); TeleportEntity(client, NULL_VECTOR, NULL_VECTOR, straight); return Plugin_Handled; } else if (entArray[index][ent_torient] == 1) { CPrintToChat(client, "\x07%s[entWatch] \x07%s%t", color_tag, color_warning, "status restricted"); TeleportEntity(client, NULL_VECTOR, NULL_VECTOR, left); return Plugin_Handled; } else if (entArray[index][ent_torient] == 2) { CPrintToChat(client, "\x07%s[entWatch] \x07%s%t", color_tag, color_warning, "status restricted"); TeleportEntity(client, NULL_VECTOR, NULL_VECTOR, right); return Plugin_Handled; } else if (entArray[index][ent_torient] == 3) { CPrintToChat(client, "\x07%s[entWatch] \x07%s%t", color_tag, color_warning, "status restricted"); TeleportEntity(client, NULL_VECTOR, NULL_VECTOR, back); return Plugin_Handled; } } } } } }





Register To Reply
