/** * Checks if two zones intersect (overlap). * * @param fCheck First zone (8 given points). * @param fSource Second zone (8 given points). * @return True if they intersect, false otherwise. */
stock bool:ZonesIntersect(Float:fCheck[8][3], Float:fSource[8][3]) { if (fCheck[0][0] > fSource[4][0] || // fCheck is right of fSource fCheck[4][0] < fSource[0][0] || // fCheck is left of fSource fCheck[1][2] < fSource[0][2] || // fCheck is below fSource fCheck[0][2] > fSource[1][2] || // fCheck is above fSource fCheck[3][1] < fSource[1][1] || // fCheck is behind fSource fCheck[1][1] > fSource[3][1]) { // fCheck is in front fSource return false; }