Pewnie ktoś będzie wiedzial jak to zrobic, wiec napisze to tutaj i podam jak to mogloby wygladac, dla ulatwienia roboty.
Chodzi mi o wykrycie "nie swojego enta" i jego usuniecie.
Dokladnie to bedzie mina wroga
Od klasy, ktora stawia mine mamy kod, ktory po rundzie usuwa wszystkie miny.
new ent = find_ent_by_class(-1, "mine"); while(ent > 0) { remove_entity(ent); ent = find_ent_by_class(ent, "mine"); }
Teraz potrzebujemy to przerobić, aby klasa nad ktora pracujemy mogla te miny rozbroic(zniszczyc).
Aby zniszczyc, najpierw trzeba je widziec , wiec:
register_forward(FM_AddToFullPack, "widzenie", 1) & public widzenie(es_handle, e, ent, host, hostflags, player, pSet) { if(!is_user_connected(host)) return; if(!ma_perk[host]) return; if(!pev_valid(ent)) return; new classname[5]; pev(ent, pev_classname, classname, 4); if(equal(classname, "mine")) { set_es(es_handle, ES_RenderMode, kRenderTransAdd); set_es(es_handle, ES_RenderAmt, 255.0); } }
Teraz trzeba przerobic pierwszy kod, ktory podalem, by :
-sprawdzalo odleglosc gracza od miny w ktorej moze rozbroicc(zniszczyc) tą mine,
-no ale najpierw musi znalezc tą minę(enta nie swojego[wroga]).
Jak ktos ma taka wiedze, to zapraszam.