Гарпун csdm

Сообщения
85
Реакции
8
Ищу плагин гарпуна который притягивает атакуемого к атакующему.
 
Сообщения
12
Реакции
0
Жертва будет притягиваться к атакующему каждый раз, когда получает урон. Можно дополнительно настроить силу притягивания, регулируя значения вектора скорости PULL_SPEED_MULTIPLIER .
Код:
#include <amxmodx>
#include <fakemeta>

// Коэффициент для регулировки скорости притягивания (меньше 1.0 замедлит, больше 1.0 ускорит)
#define PULL_SPEED_MULTIPLIER 0.5

// Инициализация плагина
public plugin_init() {
    register_plugin("Harpoon", "1.0", "YourName");

    // Регистрируем хук на событие нанесения урона
    register_event("Damage", "OnPlayerDamage", "b", "2!0", "3!0");
}

// Функция, вызываемая при нанесении урона
public OnPlayerDamage(victim, inflictor, attacker, Float:damage, damagebits) {
    // Проверяем, являются ли атакующий и жертва игроками
    if (is_user_connected(attacker) && is_user_alive(attacker) && is_user_connected(victim) && is_user_alive(victim)) {
        PullVictimToAttacker(victim, attacker);
    }
}

// Функция притягивания жертвы к атакующему
PullVictimToAttacker(victim, attacker) {
    // Получаем координаты атакующего и жертвы
    new Float:attackerOrigin[3];
    new Float:victimOrigin[3];
    
    pev(attacker, pev_origin, attackerOrigin); // Координаты атакующего
    pev(victim, pev_origin, victimOrigin); // Координаты жертвы

    // Вычисляем направление от жертвы к атакующему
    new Float:pullVector[3];
    pullVector[0] = (attackerOrigin[0] - victimOrigin[0]) * PULL_SPEED_MULTIPLIER;
    pullVector[1] = (attackerOrigin[1] - victimOrigin[1]) * PULL_SPEED_MULTIPLIER;
    pullVector[2] = (attackerOrigin[2] - victimOrigin[2]) * PULL_SPEED_MULTIPLIER;

    // Устанавливаем скорость жертвы, чтобы притянуть её к атакующему
    set_pev(victim, pev_velocity, pullVector);
}
 
Сообщения
85
Реакции
8
@soda,скажи это все без ресурсов работает? Как это реализовать?
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу