Возможность проверить если ли у игрока то или иное оружие .


Сегодня я расскажу как сделать проверку на доступность оружия которое находится у игрока на примере огнемета.

И так приступим : откроем файл Нud.cpp

Он находится в проекте : EntitiesMP/Source Files/Common sources/Нud.cpp.



Найдем вот такие строки :

struct WeaponInfo {
enum WeaponType wi_wtWeapon;
CTextureObject *wi_ptoWeapon;
struct AmmoInfo *wi_paiAmmo;
BOOL wi_bHasWeapon;
};

extern struct WeaponInfo _awiWeapons[18];

Копируем их - далее открываем файл Player.es (Он находится в проекте : EntitiesMP/Class Files/Players/Player.es.)

Открываем находим вот такое содержимое :


Теперь вставляем наши строчки , должно получиться вот так :



С вставкой закончили нужно условие и информацию в консоль.

В Player.es находим такие строчки которые отвечают за стрельбу оружия

вот Код :

if (ulNewButtons&PLACT_FIRE )
{

((CPlayerWeapons&)*m_penWeapons).SendEvent(EFireWeapon());
}

Сюда я вставлю информацию о том есть у меня огнемет или нет :

if (_awiWeapons[11].wi_bHasWeapon)
{
CPrintF("Yes !!.\n");

}
else
{
CPrintF("No!! .\n");

}

11 - это и есть наш огнемет

И получается вот так:



собираем игру ставим на карту огнемет ,

и проверяем

Теперь когда вы будете стрелять вам будет выводиться надпись No или Yes в

консоль



Комментарии   

[Материал]  |  № 4  |  22.02.2024  |  0  
Прикольно
Ответ Цитата

[Материал]  |  № 3  |  30.01.2024  |  0  
Пацаны, кто разбирается в публикации и разработке веб-страниц?
Ответ Цитата

[Материал]  |  № 2  |  23.12.2023  |  0  
спасибо
Ответ Цитата

[Материал]  |  № 1  |  05.05.2023  |  +1  
У класса CPlayerWeapons есть поле m_iAvailableWeapons. которое собственно и кодирует доступное оружие.

Если нужно проверить доступное оружие внутри энтити игрока, то достаточно:
Код
GetPlayerWeapons()->m_iAvailableWeapons & (1 << (wt - 1));

где wt - одно из значений enum WeaponType. Например WEAPON_FLAMER для огнемента.
Ответ Цитата

Оставьте комментарий

Мини-профиль

Гость

Вы в группе: Гости
Ваш IP: 13.58.252.8

Сейчас обсуждают

maximmoz2454
AzuNeko5
SeriousRoman27
BaBuinel41
Boffy1662
Boffy61
BaBuinel5
AzuNeko6
Ar2R-devil-PiNKy18
Ar2R-devil-PiNKy17

МЕМЫ

Файлы

PaniCer99
99 12 2

Ден
4340 1237 33

TiLDa
1963 959 18

--uGh--zAn--
3116 700 22

kurkin
2882 844 39

Категории раздела

Croteam [4]
Материалы по студии разработчика игр CroTeam.
Интервью с разработчиками [9]
Интервью с разработчиками, а также их издателями.
Serious Sam 1 [9]
Статьи о Serious Sam 1
Serious Sam 2 [6]
Статьи о Serious Sam 2
Serious Sam HD [4]
Статьи о HD-серии, ремейков классических версий Сэма.
Serious Sam 3: BFE [10]
Статьи о Serious Sam 3: BFE
Уроки по Serious Editor 1 [60]
Уроки по Serious Editor 2 [3]
Самое серьёзное редактирование, на русском!
Уроки по Serious Editor 3 [40]
Уроки по работе с редактором.
Serious Engine [6]
Описание возможностей всех движков компании Croteam
Разное [26]
Всё что не подошло не под одну из вышеупомянутых категорий.
Serious Sam: Revolution [1]
Материалы по SS: Revolution, серьёзном обновлении классических Крутых Сэмов.
Serious Sam 1.05/1.07 SDK [10]
SDK - набор исходников для Serious Sam: The Second Encounter 1.05/1.07.

Видео

Serious Lяп. Тридцать восьмой выпуск
165 5.0

Выживание в Затопленном Городе: Бесконечные перезапуски! - Aftermath (Serious Sam Map) №5
132 5.0

Обновлённый "Нож брутальным хватом"
207 5.0

Serious Sam Xbox - улучшенная классика
242 5.0

Взрывная поездка в прошлое - Aftermath (Serious Sam Map) №4
158 5.0

Статистика



На сайте: 15
Гостей: 14
Пользователей: 1
RAMPAGE2988