HLFX.Ru Forum Страницы (2): [1] 2 »
Показать все 26 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Переключения оружия (https://hlfx.ru/forum/showthread.php?threadid=1258)


Отправлено Scrama 25-04-2008 в 03:34:

Question Переключения оружия

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

C++ Source Code:
1
case	221:
2
{
3
  ALERT (at_console, "I need glock!");
4
  CBasePlayerItem *pCheck;
5
  int i;
6
 
7
  for ( i = 0 ; i < MAX_ITEM_TYPES ; i++ )
8
  {
9
    ALERT (at_console, "i = %f", i);
10
    pCheck = m_rgpPlayerItems[ i ];
11
    if (pCheck->m_iId == WEAPON_GLOCK) SwitchWeapon(pCheck);
12
  }
13
}
14
break;
гдя я дурак?

Пока ввел переменную и выглядит это вот так:
C++ Source Code:
1
// в player.h, CBasePlayer
2
CBasePlayerItem *pGlock;
3
 
4
// в player.cpp, m_playerSaveData
5
DEFINE_FIELD( CBasePlayer, pGlock, FIELD_CLASSPTR ),
6
 
7
// в глоке, CGlock::AddToPlayer
8
pPlayer->pGlock = this;
9
 
10
// ну и в player.cpp, CBasePlayer::ImpulseCommands
11
case	221:
12
if (pGlock) SwitchWeapon(pGlock);
13
break;
Но это как-то неправильно, по-индусски, мне кажется...
К тому же в первом варианте можно было бы обобщить функцию для любого ствола, а так придется писать для каждого переменную, благо в К62 стволов не много...

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran


Отправлено Дядя Миша 25-04-2008 в 05:54:

code:
if (pCheck && pCheck->m_iId == WEAPON_GLOCK) SwitchWeapon(pCheck);

Вот так попробуй

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Scrama 25-04-2008 в 08:27:

Как жеж я сразу не догадался сам pCheck на наличие проверять!
Все работает, спасиб =)
Теперь у меня будет настоящее олдскульное оружие

Добавлено 25-04-2008 в 15:27:

тутортут:
http://scrama.3dn.ru/publ/1-1-0-11

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran


Отправлено Дядя Миша 25-04-2008 в 17:50:

Scrama а что в нем олдскульного-то?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Frest 27-04-2008 в 08:56:

Да.
Что там олдсульного-то??


Отправлено Scrama 27-04-2008 в 14:25:

И что же там олдскульного?
В старых играх оружие переключалось не выбором в HUD-меню из слотов, а простым нажатием клавиши. К примеру, в Quake под стволы были заняты импульсы с 1 по 8. Конечно, когда оружия очень много, запомнить все клавиши (да и просто разместить их а клавиатуре) проблематично, а вот в К62 будет максимум пять видов оружия, и вкупе с интенсивностью боя такое переключение вполне оправдано.

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran


Отправлено Дядя Миша 27-04-2008 в 16:37:

Цитата:
В старых играх оружие переключалось не выбором в HUD-меню из слотов

До этого только одна Вальва и догадалсь, больше нигде такого ужаса нету
Да и потом - достаточно набрать в консоли weapon_glock, чтобы игрок мгновенно переключился на глок - стоило огород городить?

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 27-04-2008 в 16:44:

Дядя Миша
Ну чтож ты валв ругаешь за ихний интерфейс ? Да технически он жутко неудобный , зато в игре смотрится красиво .

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Дядя Миша 27-04-2008 в 19:47:

-CJ- представь у тебя был бы красивый-красивый автомобиль, только бы он не ездил

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено Scrama 28-04-2008 в 01:49:

Цитата:
Дядя Миша писал:
достаточно набрать в консоли weapon_glock
Ну-ка, попробуй. Может, у меня консоль не от того производителя?
Цитата:
До этого только одна Вальва и догадалсь, больше нигде такого ужаса нету
На самом деле, много где есть. Тот же Unreal 2, но там не нужно на выстрел щелкать, досточно полсекунды подождать и оружие переключится. В Devastation абсолютно такой же алгоритм, как в ХЛ. Да много где, ты просто играешь не в те игры =)
Вот то что это ужас - это точно.

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran


Отправлено Brainiac2008 28-04-2008 в 07:10:

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


Отправлено FiEctro 28-04-2008 в 11:32:

Дядя Миша нуж я машины не перебераю , если работает отлично и безглючно , и ктомуже красиво и нетормозит почему бы и нет ?
Но вот возни с ним действительно больше ...
Да и вообще ленивые вы какието , переключение оружия в халфе просто скоростное по сравнению с реальным .

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Wargon 28-04-2008 в 11:41:

Цитата:
Дядя Миша писал:
достаточно набрать в консоли weapon_glock, чтобы игрок мгновенно переключился на глок

Не удивительно, что эта команда не работает. Потому что переключение на конкретную пушку в ХЛ - use weapon_***********.


Отправлено Scrama 29-04-2008 в 02:20:

-CJ- Я не представляю, чтоб в реале мне пришлось выбирать, что вытащить из кармана - штурмовую винтовку, дробовик или арбалет? А ведь в другом кармане еще лежат гаус, эгон, хорнетган и фауст-патрон...
Wargon Еще один кодер-знаток нашелся... Вы сначала пробуйте приминить свои советы с командами, а потом высказывайте. Ваши методы отлично работают в ку2 и ку3, но совершенно чужды ХЛ. Иначе я бы не мучился с этими импульсами.
Ладно дядя Миша - он в переключение оружия никогда не лазил, но ты-то его почти полностью переписал!

__________________
"Злобным гениям не нужна харизма." © Shooter__Andy
"Making stuff for an "old ugly game" can be ten times more fun than grinding on a map for a dull, next-gen title." © Lunaran


Отправлено Wargon 29-04-2008 в 05:26:

Scrama Только что специально установил HL 1.1.1.0 и проверил. Команда use там прекрасно работает. И, как ни странно, формат команды Дяди Мишы тоже работает. Очевидно, о нем я просто не знал... Ну да ладно. Может мне записать ролик?

Цитата:
Scrama писал:
он в переключение оружия никогда не лазил, но ты-то его почти полностью переписал!

Внимательно поищи мои комментарии в коде переключения оружий Паранойи - я там правил режим hud_fastswitch 1. Это так, к слову...


Временная зона GMT. Текущее время 11:08. Страницы (2): [1] 2 »
Показать все 26 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024