Nie mogę znaleźć dobrego przykładu.
Sprawa wygląda tak:
Na mapie tworzy się jakaś liczba entity 'info_target' ze zmienionym stringiem 'classname', na koniec rundy usuwam w pętli enty z tym 'classname' i wszystko jest ok.
Teraz chcę napisać funkcję która usunie mi mój entity np. 5 sekund po jego spawnie, myślałem że to proste będzie ale coś jest bardzo nie tak ![]()
Moment utworzenia entity:
new ent = create_entity("info_target")
entity_set_string(ent, EV_SZ_classname, "w_box")
No i tu dałem taska za 5 sekund, a funkcja którą uruchamiał to coś takiego:
public killBox(ent)
{
if(is_valid_ent(ent))
{
remove_entity(ent);
}
}
Funkcja usuwała wybranego enta który "uruchomił" task, ale np. w losowym momencie (ok. 1-2 minut od startu mapy) crash serwera, brak logów a w konsoli serwera tylko 'Segmentation Fault'.
Jeszcze raz w skrócie, tworzę enta (create_entity), nadaję mu swój classname (w_box) i nakazuje mu za 5 sekund (set_task) zniknąć z mapy (remove_entity)
Jak to wykonać? ![]()


Dodatki SourceMod




Temat jest zamknięty











