Skocz do zawartości

Nowy szablon forum

mygo.pl

Stworzyliśmy dla Was nowy wygląd forum. Z pewnością znajdziesz rzeczy, które wg Ciebie mogą zostać zmienione - wspomnij o tym w specjalnym wątku.

Czytaj więcej

Jak założyć własną sieć

serwerów CS

Zastanawiasz się nad prowadzeniem własnej sieci serwerów? Przeczytaj podstawowe informacje, na które należy zwrócić uwagę, przy takim projekcie.

Czytaj więcej

Tworzymy spis sieci

dodaj swoją

Dodaj sieć do której należysz, pozwoli to na promocję i budowę ogólnopolskiej bazy sieci CS.

Czytaj więcej

RSSAsk for help


MYGO.pl
 Udostępnij

Rekomendowane odpowiedzi

  • RSSy
Request master repair SMA, thank you




new cvar_pump_active;
new cvar_pump_force;
Float:operator*(Float:,_:)(Float:oper1, oper2)
{
return floatmul(oper1, float(oper2));
}

Float:operator/(Float:,_:)(Float:oper1, oper2)
{
return floatdiv(oper1, float(oper2));
}

bool:operator>(Float:,Float:)(Float:oper1, Float:oper2)
{
return 0 < floatcmp(oper1, oper2);
}

bool:operator<=(Float:,Float:)(Float:oper1, Float:oper2)
{
return 0 >= floatcmp(oper1, oper2);
}

get_entity_distance(ent1, ent2)
{
new Float:orig1[3] = 0.0;
new Float:orig2[3] = 0.0;
entity_get_vector(ent1, cvar_pump_active, orig1);
entity_get_vector(ent2, cvar_pump_active, orig2);
return floatround(get_distance_f(orig1, orig2), cvar_pump_active);
}

set_user_velocity(entity, Float:vec[3])
{
return entity_set_vector(entity, 2, vec);
}

get_user_velocity(entity, Float:vec[3])
{
return entity_get_vector(entity, 2, vec);
}

public plugin_init()
{
register_plugin("Pump Knockback (when shot by one)", "1.0", "v3x & Chronic");
register_event("Damage", "event_Damage", 296, "2>0");
cvar_pump_active = register_cvar("pump_knockback", 380, cvar_pump_active, cvar_pump_active);
cvar_pump_force = register_cvar("pump_force", "10", cvar_pump_active, cvar_pump_active);
return 0;
}

public event_Damage(id)
{
if (!get_pcvar_num(cvar_pump_active))
{
return 0;
}
if (!is_user_alive(id))
{
return 0;
}
new weapon;
new attacker = get_user_attacker(id, weapon);
if (!is_user_alive(attacker))
{
return 0;
}
if (weapon == 21)
{
new Float:vec[3] = 0.0;
new Float:oldvelo[3] = 0.0;
get_user_velocity(id, oldvelo);
create_velocity_vector(id, attacker, vec);
vec[0] = floatadd(vec[0], oldvelo[0]);
new var1 = vec[1];
var1 = floatadd(var1, oldvelo[1]);
set_user_velocity(id, vec);
}
return 0;
}

create_velocity_vector(victim, attacker, Float:velocity[3])
{
new var1;
if (!is_user_alive(victim) || !is_user_alive(attacker))
{
return 0;
}
new Float:vicorigin[3] = 0.0;
new Float:attorigin[3] = 0.0;
entity_get_vector(victim, cvar_pump_active, vicorigin);
entity_get_vector(attacker, cvar_pump_active, attorigin);
new Float:origin2[3] = 0.0;
origin2[0] = floatsub(vicorigin[0], attorigin[0]);
origin2[1] = floatsub(vicorigin[1], attorigin[1]);
new Float:largestnum = 0.0;
if (floatabs(origin2[0]) > largestnum)
{
largestnum = floatabs(origin2[0]);
}
if (floatabs(origin2[1]) > largestnum)
{
largestnum = floatabs(origin2[1]);
}
origin2[0] = floatdiv(origin2[0], largestnum);
new var3 = origin2[1];
var3 = floatdiv(var3, largestnum);
velocity[0] = floatmul(origin2[0], get_pcvar_float(cvar_pump_force) * 3000) / get_entity_distance(victim, attacker);
velocity[1] = floatmul(origin2[1], get_pcvar_float(cvar_pump_force) * 3000) / get_entity_distance(victim, attacker);
new var2;
if (velocity[0] <= 20.0 || velocity[1] <= 20.0)
{
velocity[2] = random_float(1128792064, 1133084672);
}
return 1;
}

Przeczytaj cały wpis

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
 Udostępnij

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...