HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > cl_lw
  Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
ILZM
LAW

Дата регистрации: Oct 2011
Проживает: Mega City One
Сообщений: 301

Рейтинг



cl_lw

Привет всем!
Допустим есть такой код:

C++ Source Code:
1
#ifndef CLIENT_DLL
2
CBaseEntity *pSatchel = Create( "monster_satchel", vecSrc, Vector( 0, 0, 0), m_pPlayer->edict() );
3
 
4
pSatchel->pev->velocity = vecThrow;
5
pSatchel->pev->avelocity.y = 400;
6
 
7
m_pPlayer->pev->viewmodel = MAKE_STRING("models/v_satchel_radio.mdl");
8
m_pPlayer->pev->weaponmodel = MAKE_STRING("models/p_satchel_radio.mdl");
9
#else
10
LoadVModel ( "models/v_satchel_radio.mdl", m_pPlayer );
11
#endif
12
 
13
SendWeaponAnim( SATCHEL_RADIO_DRAW );

Почему SendWeaponAnim не стоит в условии? Ведь отправлять анимацию лучше, когда cl_lw 0 стоит. Или же в SendWeaponAnim дальше идет условие? (Если что, это не понятно и вопрос мб глупый)) И ищо можно на клиенте сразу ставить P модель?

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

Старое сообщение 28-08-2013 15:51
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



Цитата:
ILZM писал:
Почему SendWeaponAnim не стоит в условии?

C++ Source Code:
1
void CBasePlayerWeapon::SendWeaponAnim( int iAnim, int skiplocal, int body )
2
{
3
  if ( UseDecrement() )
4
    skiplocal = 1;
5
  else
6
    skiplocal = 0;
7
 
8
  m_pPlayer->pev->weaponanim = iAnim;
9
 
10
#if defined( CLIENT_WEAPONS )
11
  if ( skiplocal && ENGINE_CANSKIP( m_pPlayer->edict() ) )
12
    return;
13
#endif
14
 
15
  MESSAGE_BEGIN( MSG_ONE, SVC_WEAPONANIM, NULL, m_pPlayer->pev );
16
  WRITE_BYTE( iAnim );						// sequence number
17
  WRITE_BYTE( pev->body );					// weaponmodel bodygroup.
18
  MESSAGE_END();
19
}

Видишь функцию с дурацким названием ENGINE_CANSKIP?
А теперь открывай сорцы ксаша и смотри что она делает.

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 28-08-2013 16:07
-
ILZM
LAW

Дата регистрации: Oct 2011
Проживает: Mega City One
Сообщений: 301

Рейтинг



Цитата:
Там корочи такая тема. Функция g_engfuncs.pfnCanSkipPlayer проверяет, является ли текущий игрок локальным и включена ли у него опция cl_lw.

Аааа) А почему, если вот так сделать, то анимация третьего лица играется(квар thirdperson), а деплой у детонатора не играет при cl_lw 0
C++ Source Code:
1
#ifndef CLIENT_DLL
2
CBaseEntity *pSatchel = Create( "monster_satchel", vecSrc, Vector( 0, 0, 0), m_pPlayer->edict() );
3
 
4
pSatchel->pev->velocity = vecThrow;
5
pSatchel->pev->avelocity.y = 400;
6
 
7
m_pPlayer->pev->viewmodel = MAKE_STRING("models/v_satchel_radio.mdl");
8
m_pPlayer->pev->weaponmodel = MAKE_STRING("models/p_satchel_radio.mdl");
9
 
10
SendWeaponAnim( SATCHEL_RADIO_DRAW );
11
 
12
// player "shoot" animation
13
m_pPlayer->SetAnimation( PLAYER_ATTACK1 );
14
#else
15
LoadVModel ( "models/v_satchel_radio.mdl", m_pPlayer );
16
#endif

И ищо почему этот код без условий
C++ Source Code:
1
void CSatchelCharge :: Spawn( void )
2
{
3
  Precache( );
4
 
5
  // motor
6
 
7
  pev->movetype = MOVETYPE_BOUNCE;
8
  pev->solid = SOLID_BBOX;
9
 
10
  SET_MODEL(ENT(pev), "models/w_satchel.mdl");
11
  //UTIL_SetSize(pev, Vector( -16, -16, -4), Vector(16, 16, 32));	// Old box -- size of headcrab monsters/players get blocked by this
12
  UTIL_SetSize(pev, Vector( -4, -4, -4), Vector(4, 4, 4));	// Uses point-sized, and can be stepped over
13
  UTIL_SetOrigin( pev, pev->origin );
14
 
15
  SetTouch( &CSatchelCharge :: SatchelSlide );
16
  SetUse( &CSatchelCharge :: DetonateUse );
17
  SetThink( &CSatchelCharge :: SatchelThink );
18
  pev->nextthink = gpGlobals->time + 0.1;
19
 
20
  pev->gravity = 0.5;
21
  pev->friction = 0.8;
22
 
23
  pev->dmg = gSkillData.plrDmgSatchel;
24
  // ResetSequenceInfo( );
25
  pev->sequence = 1;
26
}

Т. е. и на клиенте, и на сервере.

Добавлено 28-08-2013 в 20:49:

C++ Source Code:
void CGrenade::BounceSound( void ) { }
void CGrenade::Explode( Vector, Vector ) { }
void CGrenade::Explode( TraceResult *, int ) { }
void CGrenade::Killed( entvars_t *, int ) { }
void CGrenade::Spawn( void ) { }

Может из-за этой заглушки? Ведь CSatchelCharge : public CGrenade. И если это не срабатывает на клиенте, то и
C++ Source Code:
void CSatchelCharge::SatchelSlide( CBaseEntity *pOther )
тоже, не так ли?))

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

Старое сообщение 28-08-2013 16:49
- За что?
 Дядя Миша
racing for fish

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

Рейтинг



ILZM не юзай тэг CODE. Для код есть тэг cpp.
Я утомился переправлять за тобой. Ну ты что не видишь, как его разносит?

Добавлено 28-08-2013 в 21:05:

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

__________________
My Projects: download page

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

Цитата:

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

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

Старое сообщение 28-08-2013 17:05
-
Тема: (Опционально)
Ваш ответ:



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


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

Временная зона GMT. Текущее время 08:42. Новая тема    Ответить
  Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > cl_lw
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

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

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

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

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