Crystallize
Житель форума
Дата регистрации : Jul 2007
Проживает : Новосибирск
Сообщений : 4571
Возраст: 35
Рейтинг
[кратко]
Пользователи:
5.0 (7 )
Нарушения:
-10.0 (? )
Сообщения:
0.5 (Метки )
Регистрация:
9.5
Непонятное поведение параметра static
У меня код начинается так:
(Это не новая функция, просто вставлено в конце CBasePlayer PreThink.)
code:
const unsigned int OFFRAIL=0, JUMPON=1, GRIND=2, JUMPOFF=3;
int IDEA_END=1, IDEA_POSTEND=2;
static int state;
static float fPolarizedSpeed;
if (pev->flags & FL_ONGROUND)
{
state = OFFRAIL;
fPolarizedSpeed = 0;
ALERT( at_console, "JUMP OFF: touched the ground\n" );
return;
}
pev->gravity = true;
edict_t *pStartEdict = INDEXENT( 1 );
CBaseEntity *pEndTmp;
unsigned int idStart, idEnd, idPostend, idPrestart;
Vector NEAREST = g_vecZero;
Vector up; UTIL_MakeVectorsPrivate( pev->angles, NULL, NULL, up ); Vector PLAYERFEET = pev->origin -(32+8)*up;
Прикол в том что если вторая строчка не static, то у игрока ломается прыжок с места и падение с обрыва(оно замедляется). Бегает нормально.
То же самое происходит если я свой код выделю в отдельную функцию и вызову её в самом конце этого PreThink.
Сообщить модератору | | IP: Записан
Сообщение: 218063