←  Pytania dotyczące pluginów

AMXX.pl: Support AMX Mod X i SourceMod

»

Wyszukanie enta i jego destroy :)

  • +
  • -
Kewin. (ZeZ) - zdjęcie Kewin. (ZeZ) 17.07.2013

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 :D, 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.

Odpowiedz