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

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


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

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

incapped_pickup.smx incapped_pickup.sp

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

  • 4 месяца спустя...
  • Администратор

Скомпилировано на версии SourceMod 1.10.0.6497.

incapped_pickup.sp incapped_pickup.smx

Я не ищу ничего логичного, например денег. Меня нельзя купить, запугать, аргументировать или договориться со мной. Я просто хочу смотреть, как горит мир.

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

  • 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

Я не ищу ничего логичного, например денег. Меня нельзя купить, запугать, аргументировать или договориться со мной. Я просто хочу смотреть, как горит мир.

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

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

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

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

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

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

Войти

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

Войти
×
×
  • Создать...