HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > "Удобные" гранаты
бросок грены на отдельную клавишу
Страницы (2): [1] 2 »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
[)r0n
Житель форума

Дата регистрации: Apr 2008
Проживает: (void)
Сообщений: 161

Рейтинг



"Удобные" гранаты

Решил сделать бросок гранаты на отдельную клавишу. Т.к. в С++ я чайник то решил сделать все это по примерно так:
Все что написано в PrimaryAttack я переместил в самое начало WeaponIdle, а PrimaryAttack просто удалил. Затем, в WeaponIdle вместо

C++ Source Code:
m_flNextPrimaryAttack = UTIL_WeaponTimeBase() + 0.5;


Я воткнул что-то вроде:
C++ Source Code:
m_pPlayer->m_flNextAttack = UTIL_WeaponTimeBase() + 0.5;


Теперь когда я нажимаю на клавишу выбора гранаты, она тут же бросается.

Теперь вопрос: Как сделать, чтобы после броска гранаты, выбиралось последнее оружие, которое было в руках у игрока?
Тоесть, держим мы в руках мп5, затем бросаем гранату, а после броска у нас оружие в руках вновь меняется на мп5.

Сообщить модератору | | IP: Записан
Сообщение: 40343

Старое сообщение 08-12-2008 05:51
- За что?
Scrama
СССР с интернетом и олигархами!

Дата регистрации: May 2006
Проживает: Прииртышье
Сообщений: 3737

Рейтинг



Награды
 
[1 награда]


[)r0n Привяжи бросок гранаты на какой-нибудь impulse - это правильнее.

Добавлено 08-12-2008 в 12:19:

А вообще можешь глянуть код, который выполняется по кнопочке "Last used weapon" и скопипастить его в конец твоего кода.

__________________
"Злобным гениям не нужна харизма." © 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

Сообщить модератору | | IP: Записан
Сообщение: 40344

Старое сообщение 08-12-2008 06:19
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32212
Нанёс повреждений: 392 ед.

Рейтинг



[)r0n тебе надо было alias написать - выбор гранат, кинуть гранату, переключится на последнее использованное оружие.
Кодить тут совершенно не нужно.

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 40350

Старое сообщение 08-12-2008 08:57
-
[)r0n
Житель форума

Дата регистрации: Apr 2008
Проживает: (void)
Сообщений: 161

Рейтинг



to Дядя Миша

Да если бы было б все так просто, я б тут вопрос не задавал. При написании вот такого Alias:

Alias grena “Slot5; +attack; lastinv”

Bind “5” “grena”

Вместо броска происходит такая картина: Чел переключается на гранаты, потом сразу переключается на предыдущее оружие, потом начинает из него безостановочно палить.
Короче, вариант с Alias у меня не прошел


to Scrama

Посмотрел я на действие кнопочки Last Used Weapon, попытался оттуда что-нить передрать, и… у меня ничего не вышло. Почему? Читай самое начало первого поста По этому я сейчас, честно говоря, в тупике.

В общем, самому мне там разобраться не удалось. По этому вся надежда на этот форум.

Сообщить модератору | | IP: Записан
Сообщение: 40376

Старое сообщение 08-12-2008 12:24
- За что?
BioHazard
Jess Liberty C++ за 21 день

Дата регистрации: Nov 2008
Проживает: (void)
Сообщений: 274

Рейтинг



Ну так конечно! Ты стрелять начал( +attack ) а останавливаться не захотел

code:
alias grenade "weapon_handgrenade; +attack; wait; -attack; lastinv"

Вот и все

Сообщить модератору | | IP: Записан
Сообщение: 40399

Старое сообщение 08-12-2008 21:18
- За что?
[)r0n
Житель форума

Дата регистрации: Apr 2008
Проживает: (void)
Сообщений: 161

Рейтинг



to BioHazard

Ты хоть сам-то проверял то, что предложил? Вариант с Alias – дохлый номер.

Сообщить модератору | | IP: Записан
Сообщение: 40401

Старое сообщение 09-12-2008 02:01
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32212
Нанёс повреждений: 392 ед.

Рейтинг



[)r0n ну значит надо не 1 wait поставить, а штук 20-30.

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 40404

Старое сообщение 09-12-2008 10:28
-
[)r0n
Житель форума

Дата регистрации: Apr 2008
Проживает: (void)
Сообщений: 161

Рейтинг



40 wait не хватает, перс даже не успевает выдернуть чеку, а при большем количестве Wait игра отказывается биндить этот Alias на клавишу.

Также пытался вместо просто Wait писать в Alias что-то вроде “Wait 1”, но тогда Wait врубается, и больше не выключается. Т.е. игрок берет в руки гранату, дергает чеку, а гранату не кидает… Совсем.

Появился такой вопрос: а можно ли из кода оружия вызвать консольную команду?

Сообщить модератору | | IP: Записан
Сообщение: 40409

Старое сообщение 09-12-2008 12:27
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34526
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
[)r0n писал:
а можно ли из кода оружия вызвать консольную команду?

Конечно, можно.

__________________

Сообщить модератору | | IP: Записан
Сообщение: 40410

Старое сообщение 09-12-2008 13:33
-
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32212
Нанёс повреждений: 392 ед.

Рейтинг



Цитата:
вместо просто Wait писать в Alias что-то вроде “Wait 1”,

эта фишка работает только для Quake3 к сожалению.
Ну значит я неправ, пиши код.
Цитата:
а можно ли из кода оружия вызвать консольную команду?

можно через SERVER_COMMAND, и ловить её в client.cpp
в void ClientCommand( edict_t *pEntity )
как-то так.

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 40415

Старое сообщение 09-12-2008 13:45
-
BioHazard
Jess Liberty C++ за 21 день

Дата регистрации: Nov 2008
Проживает: (void)
Сообщений: 274

Рейтинг



С чего ты вял что мой алиас работать не будет? Я по этим делам уже поднатаскался

Сообщить модератору | | IP: Записан
Сообщение: 40417

Старое сообщение 09-12-2008 14:14
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34526
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


BioHazard с того, что граната бросается не при нажатии атаки, а через некоторое время, в функции WeaponIdle.

__________________

Сообщить модератору | | IP: Записан
Сообщение: 40425

Старое сообщение 09-12-2008 17:43
-
FaL_DissecTor
Let the killing begin

Дата регистрации: Aug 2008
Проживает: Россия
Сообщений: 178
Возраст: 34

Рейтинг



Эмм а зачем primmary attack удалил? просто бы в idle primaryattack(); написал бы и все.
Что касается алиаса, в кс я написал такой:

alias "+dropgrenade" "weapon_flashbang;wait;+attack"
alias "-dropgrenade" "-attack;wait;lastin

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

p.s. А нет исходников teamfortress? там было что-то подобное, только без анимации.

__________________
Такие дела...

Сообщить модератору | | IP: Записан
Сообщение: 40433

Старое сообщение 09-12-2008 19:17
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34526
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Цитата:
FaL_DissecTor писал:
А нет исходников teamfortress?

Увы, нет.

__________________

Сообщить модератору | | IP: Записан
Сообщение: 40435

Старое сообщение 09-12-2008 19:22
-
FaL_DissecTor
Let the killing begin

Дата регистрации: Aug 2008
Проживает: Россия
Сообщений: 178
Возраст: 34

Рейтинг



Или даже не в idle а в deploy - то есть он не достает а сразу кидает.

__________________
Такие дела...

Сообщить модератору | | IP: Записан
Сообщение: 40436

Старое сообщение 09-12-2008 19:22
- За что?
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 14:43. Новая тема    Ответить
Страницы (2): [1] 2 »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > "Удобные" гранаты
бросок грены на отдельную клавишу
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

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