Выбрасывание на drop (button F) гранат, ножа , и других дополнительных итемов

Сообщения
77
Реакции
-1
Предупреждения
30
Помог
1 раз(а)
В модуле hamsandwich есть метод для выбрасывания нестандартных предметов инвентаря игрока такие как нож, гранаты.
Код:
RegisterHam(Ham_CS_Item_CanDrop, "weapon_hegrenade", "Enable_Drop")
RegisterHam(Ham_CS_Item_CanDrop, "weapon_flashbang", "Enable_Drop")
RegisterHam(Ham_CS_Item_CanDrop, "weapon_smokegrenade", "Enable_Drop")
RegisterHam(Ham_CS_Item_CanDrop, "weapon_knife", "Enable_Drop")

public Enable_Drop( iEnt )
{
    SetHamReturnInteger(1)
    return HAM_SUPERCEDE
}

Но реализовано это "на коленке", тоесть сама физика выбрасывания не проработана, нельзя прицелом форсировать место дропа и направление, итем просто создаётся рядом с игроком. Нож выбрасывается вообще очень неприятно. При выбрасывании он левитирует в воздухе (не ложиться на поверхность пола) а также его может подобрать любой игрок уже имеющий нож, соответственно двух ножей не будет у игрока, но вы свой уже не вернёте.

Хочется чтоб выбрасывание итемов было идентичным как и стандартных итемов: автоматов, пистолетов, бомбы.

Есть ли альтернативный метод в ReGame или в ReHLDS для нормального выбрасывания дополнительных итемов ? Если нет, то может в следующих релизах добавить квар настройки выбрасывания итемов игрока. например так: mp_dropweapon и дальше флаги (abcd и тд) тех итемов что можно выбрасывать (по умолчанию расставить в кваре флаги тех итемов как в оригинальном движке" если же кто то захочет добавить выбрасывания ножа он допишет флаг ножа в эту квару, также с гранатами. А если какой то итем игрок не хочет чтобы выбрасывался, он просто уберёт флаг и игрок получит при попытке сбросить оружие "The weapon cannot be dropped" Так можно будет даже блокировать стандартный дроп оружия, с4 , и тд. Спасибо.
 
Сообщения
1,701
Реакции
1,512
Помог
26 раз(а)
Какая ужасная стилистика: public можно заменить на @
 
Сообщения
857
Реакции
532
Помог
13 раз(а)
В модуле hamsandwich есть метод для выбрасывания нестандартных предметов инвентаря игрока такие как нож, гранаты.
Код:
RegisterHam(Ham_CS_Item_CanDrop, "weapon_hegrenade", "Enable_Drop")
RegisterHam(Ham_CS_Item_CanDrop, "weapon_flashbang", "Enable_Drop")
RegisterHam(Ham_CS_Item_CanDrop, "weapon_smokegrenade", "Enable_Drop")
RegisterHam(Ham_CS_Item_CanDrop, "weapon_knife", "Enable_Drop")

public Enable_Drop( iEnt )
{
    SetHamReturnInteger(1)
    return HAM_SUPERCEDE
}

Но реализовано это "на коленке", тоесть сама физика выбрасывания не проработана, нельзя прицелом форсировать место дропа и направление, итем просто создаётся рядом с игроком. Нож выбрасывается вообще очень неприятно. При выбрасывании он левитирует в воздухе (не ложиться на поверхность пола) а также его может подобрать любой игрок уже имеющий нож, соответственно двух ножей не будет у игрока, но вы свой уже не вернёте.

Хочется чтоб выбрасывание итемов было идентичным как и стандартных итемов: автоматов, пистолетов, бомбы.

Есть ли альтернативный метод в ReGame или в ReHLDS для нормального выбрасывания дополнительных итемов ? Если нет, то может в следующих релизах добавить квар настройки выбрасывания итемов игрока. например так: mp_dropweapon и дальше флаги (abcd и тд) тех итемов что можно выбрасывать (по умолчанию расставить в кваре флаги тех итемов как в оригинальном движке" если же кто то захочет добавить выбрасывания ножа он допишет флаг ножа в эту квару, также с гранатами. А если какой то итем игрок не хочет чтобы выбрасывался, он просто уберёт флаг и игрок получит при попытке сбросить оружие "The weapon cannot be dropped" Так можно будет даже блокировать стандартный дроп оружия, с4 , и тд. Спасибо.
физика не относится к данному хуку
все что он делает - разрешает/не разрешает выкидывать оружие
физику можно обработать при ham_spawn'е класса оружия weaponbox'а

в остальном - код открыт
 
Сообщения
1,055
Реакции
212
Предупреждения
9
Помог
6 раз(а)
Нож в воздухе, потому что сама модель в воздухе сделана....

На просторах интернета есть фикс этой модели
 
Сообщения
264
Реакции
132
Помог
13 раз(а)
Может потому что нету единого "правильного" во всех нюансах решения, потому оставили так как есть , и к чему уже все за столько лет привыкли.
А вообще наработок на тему дропа довольно много, как пример брошу несколько вариантов про которые вспомнил когда интересовался данной темой.


Коррекция углов расположения оружия после дропа :
1. Lie Flat Optimized https://dev-cs.ru/resources/50/
2. WeaponBoxAngles https://dev-cs.ru/resources/50/

Различные варианты реализации дропа :
1. https://dev-cs.ru/threads/21667/ (пост о дропе денег от MayroN)
2. https://dev-cs.ru/threads/33242/ (пост об анимации рук при дропе от MayroN)
3. https://dev-cs.ru/threads/2262/page-4#post-46812 (пост о дропе оружия от SergeyShorokhov , реализация кастомного дропа)
4. https://dev-cs.ru/threads/2262/page-4#post-46831 (реализация дропа как в CS GO от fl0wer)
5. https://dev-cs.ru/threads/20008/#post-121794 (пример как выглядит HL Weapon Physics + Real Weapon Drop от medusa)

Так же HL Weapon Physics https://dev-cs.ru/threads/546/ (Еще помню в нем можно включить фишку при выбросе оружия с зажатой "E" то оружие в разы сильнее бросается и за ним треил, да и таким способом там можно добить игрока если у него мало хп... )

Еще вроде по умолчанию button F это фонарик , а дроп это button G
 
Сообщения
678
Реакции
580
Предупреждения
8
Помог
9 раз(а)
Вообще не понятно зачем дропать нож и гранату?
 

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

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