HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashXT > Непонятное поведение параметра static
  Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4571
Возраст: 35

Рейтинг



Непонятное поведение параметра 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

Старое сообщение 03-12-2023 12:57
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32682
Нанёс повреждений: 392 ед.

Рейтинг



static это не параметр, а модификатор.

Превращает любую переменную в статичную и единственную, даже если она была объявлена внутри функции. Если вне функции, то особого смысла так делать нет, т.к. любая переменная, объявленная вне функции и не член класса, уже и так статик.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 218066

Старое сообщение 03-12-2023 14:03
-
Crystallize
Житель форума

Дата регистрации: Jul 2007
Проживает: Новосибирск
Сообщений: 4571
Возраст: 35

Рейтинг



Дядя Миша Дело в том что я эту переменную даже не читаю и не пишу. Но почему-то она ломает мне код просто тем что она есть.

Сообщить модератору | | IP: Записан
Сообщение: 218072

Старое сообщение 03-12-2023 17:28
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32682
Нанёс повреждений: 392 ед.

Рейтинг



Наверное где-то порча памяти.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'

Сообщить модератору | | IP: Записан
Сообщение: 218074

Старое сообщение 03-12-2023 18:09
-
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 23:14. Новая тема    Ответить
  Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Разработка игр > Наши проекты > XashXT > Непонятное поведение параметра static
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

На основе vBulletin
Авторское право © 2000 - 2002, Jelsoft Enterprises Limited.
Дизайн и программирование: Crystice Softworks © 2005 - 2024