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


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

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

консоль



Комментарии   

[Материал]  |  № 3  |  22.02.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: 216.73.216.69

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

Bebralot22813
Fallgor6907
zorgpro1
Mercenary_37501694
Mercenary_375033
hecu92456
geodeutschTV3
Neominigan67
JustRick9
Fallgor0

МЕМЫ

Файлы

Nollopa
914 53 9

SeriousAlexej
6004 1432 55

Denil
8341 572 23

Bomenemies
2415 901 8

МегаМозг
1963 641 15

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

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 Sam: The Sequel (demo v.1.1) | #2
137 5.0

Враги из HALO во Fusion
109 0.0

Serious Sam Fusion | карта «Ahead Of Speed: The Stone Island»
112 5.0

Serious Sam: Siberian Mayhem - Аддон от фанатов для фанатов
241 4.9

ТРЕТЬЕ ПРИШЕСТВИЕ? | Serious Sam: The Sequel (demo v.1.1) | #1
298 5.0

Статистика



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