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


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

И так приступим : откроем файл Н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: 18.223.160.61

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

JustRick1667
Кто-то106
Кто-то41
HoBu4oK7
maximmoz2454
AzuNeko5
SeriousRoman27
BaBuinel41
Boffy61
BaBuinel5

МЕМЫ

Файлы

Boffy
137 15 0

Antroid
3469 1058 23

Tenshi
2932 933 23

Оборотень
2447 692 21

Van0SS
2403 967 7

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

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.

Видео

FINAL - HERO
103 5.0

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

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

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

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

Статистика



На сайте: 10
Гостей: 10
Пользователей: 0