HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > несколько вопросов
Страницы (78): « Первая ... « 58 59 60 61 [62] 63 64 65 66 » ... Последняя »   Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
FaL_DissecTor писал:
на что тогда влияет те движения что я делаю мышкой?

cl_viewangles.
Цитата:
FaL_DissecTor писал:
Если да, то почему так все сложно, отчего не использовать 1 вектор конкретно куда сейчас смотрит игрок а не плодить тысячу векторов для модели, для эмм панча?

Чтобы это понять, надо самому написать хотя бы один движок.
Без этого все разговоры неизбежно сведутся к злому умыслу и коварному заговору. Причём в любой области.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 09-08-2012 20:28
-
underworlddemon
Житель форума
Девойс

Дата регистрации: Jun 2011
Проживает: Россия/Москва
Сообщений: 469
Возраст: 38

Рейтинг



Цитата:
Shapirlic писал:
Была бы какая нить инструкция по написанию хорошего кода Ну там что то типа
1.Не употребляй непроинициилизированные указатели.
2.Обнуляй переменные... и тд.
По этой инструкции можно было бы проверить весь код ))

есть такая весЧь как статические анализаторы кода
но они малоэффективны на малых объёмах кода
если у тебя С++, то попробуй PVS-Studio
у них есть демовариант использования

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

Старое сообщение 10-08-2012 00:58
- За что?
CrazyRussian
ололо

Дата регистрации: Apr 2009
Проживает: Город-курорт Ессентуки
Сообщений: 790
Возраст: 32

Рейтинг



Награды
 
[1 награда]


Цитата:
Shapirlic писал:
Была бы какая нить инструкция по написанию хорошего кода Ну там что то типа
1.Не употребляй непроинициилизированные указатели.
2.Обнуляй переменные... и тд.
По этой инструкции можно было бы проверить весь код ))

Маниакальное использование ассерта и обнуление всех переменных. У меня так ILE пишется.

__________________
Трагическая новость: Пятеро инженеров Casio умерли от смеха, узнав что Samsung анонсировали часы с заявленным временем работы в 25 часов

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

Старое сообщение 10-08-2012 04:54
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



underworlddemon PVS-Studio не хочит работать с шестой студией.
Я пробывал ужо.

Добавлено 10-08-2012 в 09:39:

Цитата:
CrazyRussian писал:
Маниакальное использование ассерта и обнуление всех переменных. У меня так ILE пишется.

Но это не мешает ему переодически вылетать. Так что, не панацея.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 10-08-2012 05:39
-
Shapirlic
Житель форума

Дата регистрации: Feb 2011
Проживает: SPb
Сообщений: 357
Возраст: 31

Рейтинг



Спасибо парни за ответы.Ещё один вопрос -
Я пытаюсь на клиенте симулировать серверные пули. Сделал передачу через евент в оружии всех нужных параметров для пули.Осталось только одно - синхронизировать движение\полёт.
Как в общем случае описать движение\полёт? Как я понимаю,оригин меняется по такому закону -

C++ Source Code:
origin += velocity * frametime.
Ну и там трейс от оригина до получившегося вектора для проверки попал ли во что или нет.А как меняется скорость со временем? Точнее как меняется скорость от гравитации? Имеется скорость (velocity),гравитация самой ентити (pev->gravity) и серверная гравитация (sv_gravity).Как это всё связать? У меня написано что то типа
C++ Source Code:
velocity.z = velocity.z  - (gravity * frameT * (float)sv_grv);
Я точно знаю, что это не правильно,так как при стрельбе видно,что попадание серверной пули находится немного ниже,чем попадание клиентской.И там точно не линейная зависимость как у меня.Подскажите правильную формулу.

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

Старое сообщение 10-08-2012 07:36
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
Shapirlic писал:
Как в общем случае описать движение\полёт?

Используй корочи UTIL_ParametricRocket. Это как раз то самое, что тебе надо.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 10-08-2012 10:34
-
Shapirlic
Житель форума

Дата регистрации: Feb 2011
Проживает: SPb
Сообщений: 357
Возраст: 31

Рейтинг



Цитата:
Дядя Миша писал:
UTIL_ParametricRocket

Там ничего нету про гравитацию.Там только расчёт времени полёта и точки попадания. Мне же нужна формула изменения скорости полёта от гравитации со временем. Я в Ксаше порылся на этот счёт,но ничего не нашёл. Оно там стопудово есть,просто я просмотрел. Ты должен знать

Добавлено 10-08-2012 в 14:58:

И вы говорили про статичные анализаторы кода - я нашёл и заюзал CPPCheck. Несколько десятков ошибок и варнингов он выдал и был прав.Но были и ложные срабатывания.

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

Старое сообщение 10-08-2012 10:58
- За что?
KiQ
Житель форума

Дата регистрации: Aug 2010
Проживает: Смоленск, Москва
Сообщений: 2090

Рейтинг



Цитата:
Shapirlic писал:
Оно там стопудово есть,просто я просмотрел.


Это ты с чего взял?

__________________
-Brain is dead-

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

Старое сообщение 10-08-2012 11:09
- За что?
Shapirlic
Житель форума

Дата регистрации: Feb 2011
Проживает: SPb
Сообщений: 357
Возраст: 31

Рейтинг



Цитата:
KiQ писал:
Это ты с чего взял?

Т.к в Ксаше есть летающие ентити. Как бы нетрудно догадаться что там просчёт полёта должен быть.Просто я просмотрел его.

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

Старое сообщение 10-08-2012 11:11
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
Shapirlic писал:
Там ничего нету про гравитацию

на пули не влияет гравитация, что это тебе - стрелы арбалета?
Тогда и поправку на ветер давай вводи. А то иш - одна гравитация.

Добавлено 10-08-2012 в 16:52:

Цитата:
Shapirlic писал:
Но были и ложные срабатывания.

Можно пример ложнова?

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 10-08-2012 12:52
-
Shapirlic
Житель форума

Дата регистрации: Feb 2011
Проживает: SPb
Сообщений: 357
Возраст: 31

Рейтинг



Насчёт пуль - я сто раз говорил что у меня в моде физика пуль другая.У меня пули - ентити.Они летят время,они падают со временем,теряют скорость,рикошетят,пробивают стены и другие ентити.Так что на них влияет гравитация.На сервере у меня невидимая ентитя пуля,которая дамажит,пробивает и всё остальное.А на клиенте трейсер,который имеет такие-же параметры,как и серверная ентитя.Поэтому мне нужно на клинете сделать симуляцию серверной физики.

А про ложные срабатывания - прога говорила -
This value is never used.
Но при детальном разборе оказывалось что это не так.
Зато она нашла одну плохую ошибку - выход за границы массива в одном месте.Это могло спровоцировать падение.

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

Старое сообщение 10-08-2012 13:09
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
Shapirlic писал:
У меня пули - ентити

Я понимаю. Но это никак не отменяет того факта, что на малых расстояниях влиянием гравитации можно пренебречь.
Цитата:
Shapirlic писал:
выход за границы массива в одном месте.Это могло спровоцировать падение.

Скорее зависание, если соседний участок памяти содержал бы в себе флоаты, а твой цикл там что-нибудь портил и в результате получался NAN.

PS. Скачал поглядел, забавная прожка. Вот на это место выдало
C++ Source Code:
1
if( pController )
2
{
3
  if( gpGlobals->time < m_flNextAttack )
4
    return;	// too early
5
 
6
  if( pController->pev->button & IN_ATTACK )
7
  {
8
    Vector forward;
9
    UTIL_MakeVectorsPrivate( GetAbsAngles(), forward, NULL, NULL );
10
 
11
    // to make sure the gun doesn't fire too many bullets
12
    m_fireLast = gpGlobals->time - (1.0f / m_fireRate ) - 0.01f;
13
 
14
    TryFire( BarrelPosition(), forward, pController->pev );
15
 
16
    if( pController && pController->IsPlayer() )
17
      ((CBasePlayer *)pController)->m_iWeaponVolume = LOUD_GUN_VOLUME;
18
 
19
    m_flNextAttack = gpGlobals->time + (1.0f / m_fireRate);
20
  }
21
  else
22
  {
23
    m_iState = STATE_ON;
24
  }
25
}

вот такую ошибку:
Цитата:
Possible null pointer dereference: pController - otherwise it is redundant to check if pController is null at line 791

Т.е. первую и главную проверку на валидность она уже благополучно забыла. И какими дешевыми трюками она проверяет валидность кода, спрашивается?
Допроверяю ксаш - отпишусь поподробнее, если кому-то интересно.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 10-08-2012 13:24
-
Shapirlic
Житель форума

Дата регистрации: Feb 2011
Проживает: SPb
Сообщений: 357
Возраст: 31

Рейтинг



Цитата:
Дядя Миша писал:
Я понимаю. Но это никак не отменяет того факта, что на малых расстояниях влиянием гравитации можно пренебречь.

На малых да.Но например в bounce или на других больших картах влияние гравитации заметно.Видно,что клиентский пулевой декал не совпадает с серверным на юнит-два.Конечно мелочи,но хотелось бы сделать точно.Для этого мне нужна формула гравитации или скорости,незнаю как назвать но думаю ты понял что я имею ввиду.

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

Старое сообщение 10-08-2012 13:27
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
Shapirlic писал:
Для этого мне нужна формула гравитации или скорости

velocity.z -= gravity * frametime
фреймтайм на клиенте можно получить отняв олдтайм от тайма, а гравитацию взять из мовеварсов.

Добавлено 10-08-2012 в 18:02:

Вообщем допроверял я ксаш-мод. Нашел пару непроинициализированных переменных, которые особо ни на что не влияли и одну ошибку с копированием векторов там, где можно было просто взять на них указатели, скорее стилистическое, нежели ошибка. Ерундовая программка вообщем. Но из плюсов я заметил работающий барнакль, да.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 10-08-2012 14:02
-
Shapirlic
Житель форума

Дата регистрации: Feb 2011
Проживает: SPb
Сообщений: 357
Возраст: 31

Рейтинг



Цитата:
Дядя Миша писал:
velocity.z -= gravity * frametime

gravity - то аналог серверной pev->gravity или sv_gravity? или что то другое?
Или ёе только из movevars можно взять?

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

Старое сообщение 10-08-2012 14:04
- За что?
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 09:54. Новая тема    Ответить
Страницы (78): « Первая ... « 58 59 60 61 [62] 63 64 65 66 » ... Последняя »   Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > несколько вопросов
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

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

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

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

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