←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Stary
Odporności itp.

Locked

  • +
  • -
kibilimater's Photo kibilimater 07.02.2011

Witam!

Proszę o jakiś poradnik jak dodać :

Klasy : odporną na miny,dynamity,rakiety (oczywiście może być razem, ale najlepiej osobno)
Klasy : posiadająca np 1/3 z awp

Będę bardzo wdzięczny !
Quote

  • +
  • -
Change's Photo Change 08.02.2011

public DotykRakiety(ent)
{
if ( !is_valid_ent(ent))
return;

new attacker = entity_get_edict(ent, EV_ENT_owner);

new Float:fOrigin[3], iOrigin[3];
entity_get_vector( ent, EV_VEC_origin, fOrigin);
iOrigin[0] = floatround(fOrigin[0]);
iOrigin[1] = floatround(fOrigin[1]);
iOrigin[2] = floatround(fOrigin[2]);

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); // scale
write_byte(20); // framerate
write_byte(0);// flags
message_end();

new entlist[34];
new numfound = find_sphere_class(ent, "player", 150.0, entlist, 32);

for (new i=0; i < numfound; i++)
{
new pid = entlist[i];

if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || informacje_przedmiotu_gracza[pid][0] == 24)
continue;
ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 55.0+float(inteligencja_gracza[attacker]) , 1);
}
remove_entity(ent);
}


zmień na

public DotykRakiety(ent)
{
if ( !is_valid_ent(ent))
return;

new attacker = entity_get_edict(ent, EV_ENT_owner);

new Float:fOrigin[3], iOrigin[3];
entity_get_vector( ent, EV_VEC_origin, fOrigin);
iOrigin[0] = floatround(fOrigin[0]);
iOrigin[1] = floatround(fOrigin[1]);
iOrigin[2] = floatround(fOrigin[2]);

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); // scale
write_byte(20); // framerate
write_byte(0);// flags
message_end();

new entlist[34];
new numfound = find_sphere_class(ent, "player", 150.0, entlist, 32);

for (new i=0; i < numfound; i++)
{
new pid = entlist[i];

if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || informacje_przedmiotu_gracza[pid][0] == 24 || klasa_gracza[pid] == KLASA ODPORNA NA RAKIETY)
continue;
ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 55.0+float(inteligencja_gracza[attacker]) , 1);
}
remove_entity(ent);
}


ad2.
w funkcji TakeDamage dodajesz

if(klasa_gracza[attacker] == KLASA) && random(2)==1)
damage = float(health);

Edited by Change, 08.02.2011 12:39.
Quote

  • +
  • -
kibilimater's Photo kibilimater 08.02.2011

Dziękuję !
Reput leci ;D
Quote
Locked