Вообще, я делаю Star Wars-мод, и самое сложное для меня - это как раз кодинг
Особенно сложный, связаный с физикой.
Вообщем, что надо сделать: при нажатии на определенную клавишу запускается функция, которая в зависимости от времени нажатия увеличивает силу отталкивания обьекта. При удерживании клавиши передвижение и перемещение обзора игрока блокируются. При отпускании обьект, на который направлен прицел, отправляется в полет с N-ной силой
Алогоритм:
1) создаем в меню настройки клавиатуры новый пункт (файлы config_default.cfg, kb_act.lst) - легко
2) Идем в client.cpp, и дописываем дополнительную команду static ConCommand Force_pull("Force_pull", <Название процедуры>,"<описание процедуры>" ) - тоже реализуемо.
3) Описываем процедуру Force_pull, только хз где конкретно, вроде в Server\hl2\hl2_player.cpp, не забывая указать в hl2_player.h ссылку на нее. - вот это уже трудно
Сама процедура, тоже алгоритм:
Цикл
Если клавиша нажата и мы смотрим на физический обьект, то:
- Заблокировать передвижение и перемещение обзора игрока (кстати, какая команда за это отвечает?
)
- Установить определенную анимацию для игрока (в моде вид будет от 3-го лица)
- Увеличить силу удара
- Воспроизвести звук
- Ждать Х секунд
иначе
- прервать цикл
- Воспроизвести вторую анимацию для игрока
- Воспроизвести 2-й звук
- Запульнуть обьект, на который смотрел игрок с N-ной силой
- Вернуть игроку контроль над персонажем
Вообщем, помогите кому не лень пожалуйста, а то я так за неделю не сделаю сам ничего
Или хотя бы оцените алгоритм, и помогите с определение его местоположения
Так-то можно спереть от гравипушки много чего )