←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

Repliki nie zabieraja hp

  • +
  • -
FarGoosiek - zdjęcie FarGoosiek 02.02.2014

Otóż mam problem odnoscie replik, która po dostaniu dmg powinna zwracać takie dmg jakie otrzymała a wogóle tego nie robi i tak się już mecze troszku z tym, może ktoś z was mi powie co jest źle ?:D

public replikadmg(this, idinflictor, idattacker, Float:damage, damagebits)
{
	if(!is_user_alive(idattacker))
		return HAM_IGNORED;
	
	new classname[33];
	entity_get_string(this, EV_SZ_classname, classname, 32);
	
	if(!equal(classname, "Kukla"))
		return HAM_IGNORED;
	
	new owner = entity_get_int(this, EV_INT_iuser1);
	
	if(get_user_team(owner) == get_user_team(idattacker))
		return HAM_SUPERCEDE;
	
	new bool:bez_obrazen = get_user_weapon(idattacker) == CSW_KNIFE && damagebits & DMG_BULLET
	
	if(!bez_obrazen)
		ExecuteHamB(Ham_TakeDamage,owner, idattacker, damage, 0.3, this, damagebits);
	
	new Float:fOrigin[3], iOrigin[3];
	
	entity_get_vector(this, EV_VEC_origin, fOrigin);
	
	FVecIVec(fOrigin, iOrigin);
	
	if(damage > entity_get_float(this, EV_FL_health))
	{
		if(!bez_obrazen)
		{
			new entlist[33];
			new numfound = find_sphere_class(this, "player", 190.0, entlist, 32);
			
			for (new i=0; i < numfound; i++)
			{
				new pid = entlist[i];
				
				if (!is_user_alive(pid) || get_user_team(owner) == get_user_team(pid))
					continue;
				ExecuteHamB(Ham_TakeDamage, pid, 70.0, 0.3, this, (1<<24));
			}
		}
		
		message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
		write_byte(TE_EXPLOSION);
		write_coord(iOrigin[0]);
		write_coord(iOrigin[1]);
		write_coord(iOrigin[2]);
		write_short(sprite_blast);
		write_byte(32);
		write_byte(20);
		write_byte(0);
		message_end();
	}
	
	return HAM_IGNORED;
}
Odpowiedz

GT Team - zdjęcie GT Team 06.02.2014

zwracała komu, czemu? :D

jak ma zwracać to coś takiego :
 

return Float:damage;

hmm? xD

 

Jesli się mylę, to napisz o co ci dokładniej chodzi, bo ja jakoś logicznie nie dojdę do tego :D

Odpowiedz

  • +
  • -
FarGoosiek - zdjęcie FarGoosiek 06.02.2014

zwracała komu, czemu? :D

jak ma zwracać to coś takiego :
 

return Float:damage;

hmm? xD

 

Jesli się mylę, to napisz o co ci dokładniej chodzi, bo ja jakoś logicznie nie dojdę do tego :D

 

 

Opisze ci dokładnie o co chodzi Gracz ma 3 repliki, które moze wykorzystać podczas rundy. 

Postawione repliki mają 200hp, gdy replika dostanie dmg to działa to na zasadzie lustrzanego pocisku 

oddaje atakujacemu dmg :D 

Czyli dosdniej Atakujesz replike trafiasz jej heda to ty dostaje heda xD

JEZU JAK TO CIĘŻKO WYTŁUMACZYĆ xDDD

 

I właśnie mam ten problem że replika nie oddaje tego dmg ;X

i czy mógłby ktoś sprawdzić dlaczego?:P

Odpowiedz