fm_find_ent_by_owner - możliwe, że zwraca 0?
Najlepsza odpowiedź GwynBleidD 18.07.2015 23:01
Oczywiście, że może. Z logicznego punktu widzenia: pętla iteruje po bytach dopóki nie trafi na:
1. byt mający właściciela X
2. koniec listy bytów
Więc jeśli nie ma żadnego bytu spełniajacego kryteria (czyli bytu o klasie X mającego właściciela Y) to dostaniesz oczywiście zero.
I szczerze powiedziawszy jest to nienajlepsza metoda... W engine istnieje funkcja find_ent_by_owner, służy do tego samego i robi to ciut szybciej. Może też filtrować po czymś innym niż klasie bytu.
Przejdź do postu
Rivit
18.07.2015
Witam, czy jest możliwość, żeby ten stock zwracał zero? oO
stock fm_find_ent_by_owner(index, const classname[], owner) { ent = index; while ((ent = engfunc(EngFunc_FindEntityByString, ent, "classname", classname)) && pev(ent, pev_owner) != owner) {} return ent; }
MAGNET
18.07.2015
Wydaje mi się, że gdy robiłem grupy pod BaseBuildera, to próba odnalezienia właściciela ściany kończyła się zwróceniem zera.
Najlepsza odpowiedź
GwynBleidD
18.07.2015
Oczywiście, że może. Z logicznego punktu widzenia: pętla iteruje po bytach dopóki nie trafi na:
1. byt mający właściciela X
2. koniec listy bytów
Więc jeśli nie ma żadnego bytu spełniajacego kryteria (czyli bytu o klasie X mającego właściciela Y) to dostaniesz oczywiście zero.
I szczerze powiedziawszy jest to nienajlepsza metoda... W engine istnieje funkcja find_ent_by_owner, służy do tego samego i robi to ciut szybciej. Może też filtrować po czymś innym niż klasie bytu.
Rivit
19.07.2015
Głównie używam to do znalezienia broni u gracza, polecasz coś lepszego do tego? (mam id, CSW_, weapon_)