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

[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

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

В данный момент, на Sourcemod 1.11 при попытке запустить данный плагин я получаю следующую ошибку:

L 07/11/2022 - 19:25:27: [SM] Blaming: l4d_incapped_pickup.smx
L 07/11/2022 - 19:25:27: [SM] Call stack trace:
L 07/11/2022 - 19:25:27: [SM]   [0] SetFailState
L 07/11/2022 - 19:25:27: [SM]   [1] Line 113, D:\sm111\addons\sourcemod\scripting\l4d_incapped_pickup.sp::vLoadGameData
L 07/11/2022 - 19:25:27: [SM]   [2] Line 44, D:\sm111\addons\sourcemod\scripting\l4d_incapped_pickup.sp::OnPluginStart

Нужно будет разобраться.

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

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

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

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

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

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

Войти

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

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

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