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"
 
  

0 коммент.: