Перейти к содержанию

[L4D / 2] Инкапсулированные предметы


KRUTIK

Рекомендуемые сообщения

Когда игрок находится в инкапе, он может лёжа взять предметы, оружие, аптечку, таблетки, адреналин.
Чтобы взять лежа предмет, нажмите клавишу E.

incapped_pickup.smx incapped_pickup.sp

Ссылка на комментарий
Поделиться на другие сайты
  • 4 месяца спустя...
  • 7 месяцев спустя...
  • Администратор

Замечена ошибка при включенной переменной scavenge items:

  • если вы нажмете E рядом с мусорным баком, рядом с ним появится другой, но красного цвета.

Немного повозившись с кодом, Marttt понял, что при нажатии клавиши «E» иногда запускается «GetItemOnFloor» для сущности «weapon_scavenge_item_spawn» вместо «weapon_gascan», и это вызывает еще одно появление газовой канистры.

Поэтому, чтобы исправить это, Marttt добавил еще одну проверку на «IsValidItemPickup».

Вот код на случай, если автор хочет включить его в плагин, или у кого-то возникла такая же проблема. Кажется, Marttt исправил эту ошибку.

bool IsValidItemPickup(int item){

    if(IsValidWeapon(item)){
        if (IsWeaponScavengeItemSpawn(item))
            return false;
        if(IsWeaponGascan(item) && (g_cvarScavengeItem.IntValue & 1)){
            return true;
        }else if(IsWeaponColaBottles(item) && (g_cvarScavengeItem.IntValue & 2)){
            return true;
        }else if(IsWeaponGascan(item) || IsWeaponColaBottles(item)){
            return false;
        }
        return true;

    }
    return false;
}

stock bool IsWeaponScavengeItemSpawn(int weapon){
    if(IsValidWeapon(weapon)){
        char class_name[64];
        GetEntityClassname(weapon, class_name, sizeof(class_name));
        return (strcmp(class_name, "weapon_scavenge_item_spawn") == 0);
    }
    return false;
}

 

l4d_incapped_pickup.sp l4d_incapped_pickup.smx

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...