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

KRUTIK
Перейти к решению Решено KRUTIK,

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

Когда игрок находится в инкапе, он может лёжа взять предметы, оружие, аптечку, таблетки, адреналин.
Чтобы взять лежа предмет, нажмите клавишу 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

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

Мир изменился, он стал другим!

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

  • 1 год спустя...
  • Решение

Incapped Pickup Items

Просмотр файла

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

Конфиг:

// 0:Disable, 1:Enable plugin
// -
// Default: "1"
// Minimum: "0.000000"
// Maximum: "1.000000"
l4d_incapped_pickup "1"

// Use pickup distance limit (player_use_radius = 96) 
// -
// Default: "96.0"
// Minimum: "1.000000"
l4d_incapped_pickup_distance "96.0"

// 0:Disable pickup scavenge items, 1:Allow pickup gascans, 2: Allow pickup colas, 3:All
// -
// Default: "0"
// Minimum: "0.000000"
// Maximum: "3.000000"
l4d_incapped_pickup_scavenge "0"

// 0:Disable, 1:Allow pickup carryable items (gnome, propanetank, etc)
// -
// Default: "0"
// Minimum: "0.000000"
// Maximum: "1.000000"
l4d_incapped_pickup_carryable "0" 

 


 

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

  • Лучшие авторы

    На этой неделе никто репутацию не получал

  • Последние достижения

    • Blacky получил значок
      Подмастерье
    • GAMADA повысил звание
      Lvl 1
    • Darya повысил звание
      Lvl 14
    • Mad.Eagle повысил звание
      Lvl 5
    • Mad.Eagle повысил звание
      Lvl 4
×
×
  • Создать...