QuakeC:приседание
Написано: четверг, 5 апреля 2012 г. автор st1x51
0
Приседание[QuakeC]
Думал сегодня ничего не писать,ну да ладно.Начнем.
1)Создаем файл crouch.qc и попируем туда этот код:
.float crouch, attemptcrouch;
float (entity targ) crouchcheck =
{
makevectors (self.v_angle);
tracebox (self.origin, VEC_HULL_MIN, VEC_HULL_MAX, self.origin + '0 0 16', FALSE, self);
/*
vector VEC_HULL_MIN = '-16 -16 -24';
vector VEC_HULL_MAX = '16 16 32';
*/
if (trace_fraction == 1) //hits nothing go ahead
return TRUE;
if (!trace_ent.takedamage) //hits world or nondamagable object
return FALSE;
return FALSE;
};
void() crouch_on =
{
if ((!self.crouch) && (!self.velocity_z)) //crouch down
{
setsize (self, '-16 -16 -8', '16 16 8');
self.crouch = 1;
self.view_ofs = '0 0 14';
self.attemptcrouch = 1;
return;
}
self.attemptcrouch = 0;
};
void() crouch_off =
{
if (self.crouch && (!self.velocity_z) && (crouchcheck(self))) //get up
{
setsize (self, VEC_HULL_MIN, VEC_HULL_MAX);
self.crouch = 0;
self.origin_z = self.origin_z + 16;
self.view_ofs = '0 0 22';
self.attemptcrouch = 0;
return;
}
self.attemptcrouch = 1;
};
2) Добавляем эти строки в ImpulseCommands в weapons.qc:
if (self.impulse == 33) crouch_on (); if (self.impulse == 34) crouch_off ();
3) Добавьте crouch.qc в progs.src после строки weapons.qc и можете компилировать.
4) Добавьте в autoexec.cfg(если нету,то создать) в папке id1 / или в папке вашего мода эти строки: alias +crouch_on "impulse 33"
alias -crouch_on "impulse 34" вы можете забиндить команду +crouch_on, например: Добавив в autoexec.cfg bind ctrl "+crouch_on"