Hejter
xor ebx, ebx
- Сообщения
- 1,759
- Реакции
- 393
1. Возможно ли у флеш гранаты, убрать ослепление и заменить его на взрывную гранату с огнем?
2. Возможно ли у взрываной гранаты убрать свойство наносить урон и заменить на отталкивание.
Пример: Оффтопhttp://www.youtube.com/watch?v=ILVSZ_tKt-U
Если да, то как?
Куда проще поменять их местами. Взрывной просто поджигать противников при уроне (всего 1 событие + огненный хвост в полете, если требуется), а флешке убрать её свойства и добавить отталкивание.1. Возможно ли у флеш гранаты, убрать ослепление и заменить его на взрывную гранату с огнем?
2. Возможно ли у взрываной гранаты убрать свойство наносить урон и заменить на отталкивание.
Куда проще поменять их местами. Взрывной просто поджигать противников при уроне (всего 1 событие + огненный хвост в полете, если требуется), а флешке убрать её свойства и добавить отталкивание.
Чисто теоретически:
1. Убираем ослепление, создание env_explosion и env_fire, задаем им необходимые KeyValues, делаем перехват на flashbang_detinate и посылаем input Expode и ... (забыл у env_fire input)
Ну с практики я голову еще не чесал (
Очень просто так: это (альтернатива) + TeleportEntity(entity, const Float:origin[3], const Float:angles[3], const Float:velocity[3]); - меняешь последнее и получаешь отталкивание указанного игрока (вместо entity).как реализовать флешку?
В событии её детонации есть координаты.относительно гранаты
Очень просто так: это (альтернатива) + TeleportEntity(entity, const Float:origin[3], const Float:angles[3], const Float:velocity[3]); - меняешь последнее и получаешь отталкивание указанного игрока (вместо entity).
в радиусе действия его откинет
public Event_FlashgrenadeDetonate(Handle:event, const String:name[], bool:dontBroadcast)
{
decl Float:origin[3], Float:vector[3];
origin[0] = GetEventFloat(event, "x");
origin[1] = GetEventFloat(event, "y");
origin[2] = GetEventFloat(event, "z");
for (new i = 1; i <= MaxClients; i++)
{
if (IsClientInGame(i) && IsPlayerAlive(i))
{
GetClientAbsOrigin(i, vector);
if (GetVectorDistance(origin, vector) < 500.0)
{
//Расстояние от взрыва гранаты до игрока менее 500.0
}
}
}
}
new Float:Push[3];
MakeVectorFromPoints(grenadexyz, clientxyz, Push);
NormalizeVector(Push, Push);
Push[0] = (FloatMul(-50.0, Cosine(DegToRad(EyeAngles[1]))));
Push[1] = (FloatMul(-50.0, Sine(DegToRad(EyeAngles[1]))));
Push[2] = (FloatMul(-50.0, Sine(DegToRad(EyeAngles[0]))));
ScaleVector(Push, 50.0);
TeleportEntity(client, NULL_VECTOR, NULL_VECTOR, Push);
Правда сработает, даже если игрок за глухой стеной.PHP:public Event_FlashgrenadeDetonate(Handle:event, const String:name[], bool:dontBroadcast) { decl Float:origin[3], Float:vector[3]; origin[0] = GetEventFloat(event, "x"); origin[1] = GetEventFloat(event, "y"); origin[2] = GetEventFloat(event, "z"); for (new i = 1; i <= MaxClients; i++) { if (IsClientInGame(i) && IsPlayerAlive(i)) { GetClientAbsOrigin(i, vector); if (GetVectorDistance(origin, vector) < 500.0) { //Расстояние от взрыва гранаты до игрока менее 500.0 } } } }