В первой функции есть параметр right который говорит что гильза летит направо. Это значение мы получаем из функции AngleVectors, которая по воле случая (кажись) не возвращает левый вектор относительно угла игрока.
Я делал так
C++ Source Code:
1
vec3_t left; //обьявляем наш левый вектор
2
....тут остальые обьявления
3
AngleVectors( angles, forward, right, up );//после того как получили векторы
4
5
left=-right;//сделаем наш вектр наоборот
6
....остальной код
7
EV_GetDefaultShellInfo( args, origin, velocity, ShellVelocity, ShellOrigin, forward, left, up, 20, -12, 4 ); //Позиция откуда будут вылетать и лететь гильзы.
Это всего лишь ещё один способ сделать это
__________________
Хотелось бы, чтобы не только хотелось...
Кодингом- врядли. А моделлингом можно как у дробовика, т.е. сделать гильзу, анимацию вылета гильзы из пушки на модели пушки. Приделать эту анимацию в анимации выстрела. Потом кодингом кидать такую же гильзу под ноги, якобы это та самая.
Но зачем ? Хорошо регулировать вылет гильзы на стволе это отдельное искусство настройщика
__________________
Хотелось бы, чтобы не только хотелось...
но компилятор начинал ругаться так:
sdk\Multiplayer Source\cl_dll\ev_hldm.cpp(834) : error C2660: 'EV_GetDefaultShellInfo' : function does not take 10 parameters
Да, правильно function does not take 10 parameters
Означеет что функции не достаточно 10 пораметров которые уже есть. Но я незнаю что из этого получится. Я всегда делал деление параметра на число.
__________________
Хотелось бы, чтобы не только хотелось...
моделингом также можно обойтись даж без анимации посмотрите как это сделано в файр армсе **********
$sequence "fire1" "fire1" fps 30 {
{ event 5001 0 "21" }
{ event 5001 0 "33" }
{ event 5005 1 "models/shell556.mdl 3 200" }
****************
но заработает ли в самом хл ХЗ...
rocksTaa ну естественно в файрармсе есть эвент 5005 который выбрасывает специальную гильзу. Как сделать такое - изучай исходный код Xash 0.39 и модели к нему.
Это значение мы получаем из функции AngleVectors, которая по воле случая (кажись) не возвращает левый вектор относительно угла игрока.
Есть две основных системы координат left-handed и right-handed.
В хл используется правосторонняя.
левый вектор можно получить соответственно с помощью AngleVectorsFLU