Ja widzę różne opcje:
- Zwiększ wymiary boxu strzały tak aby sięgały 30 unitów. Wtedy touchem wykryjesz. Opcja o tyle niedokładna, że zależnie od kąta nachylenia itd box bytu będzie większy także w niepotrzebnych wymiarach przez co może przelatywać obok func_breakable i go zniszczyć.
- Licz w częstym thinku tego bytu odległość od wszystkich func_breakable na mapie i jeśli jest odpowiednio mała to wywołuj obrażenia na func_breakable. Tutaj możesz się bawić do woli, zaleznie od kątu nachylenia liczysz odległość tylko w jednym kierunku, w którym leci strzała, w zasadzie ogranicza Cię tylko wiedza z matmy a dokładniej geometrii no i optymalność.
- Ostatni wydaje mi się najsensowniejszy. Nie wiem jaki movetype ma Twoja strzała, ale zakładam, że nie leci po linii prostej tylko działa nań grawitacja. Jeśli nie to nawet prościej będzie.
---Jeśli leci prosto to puszczasz traceline w kierunku gdzie leci. Jak traceline przetnie funca to Tworzysz nextthink na przybliżony czas kiedy doleci. Wzór na prędkość/drogę/czas znasz Wtedy w tym thinku sprawdzasz czy jest odpowiednio blisko żeby rozwalić 'kratkę', jeśli nie to tworzysz nextthink na bardzo krótki czas i sprawdzasz ponownie i tak do skutku. Jeśli na drodze nie ma żadnego func_breakable to nie ustawiasz thinka do sprawdzenia, bo i po co.
---Jeśli leci z lekką grawitacją to już trochę więcej zabawy, ale dalej da się przewidzieć gdzie poleci. Nie wiem jak to dokładnie zrobić, ale widziałem kiedys plugin DarkGL, który malował łukowatą linię wskazującą gdzie poleci granat po rzucie. Może tak znajdziesz sposób jak przewidzieć drogę strzały.