HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- рандомный выбор модели игрока (https://hlfx.ru/forum/showthread.php?threadid=945)
Отправлено fire64 18-10-2007 в 12:53:
рандомный выбор модели игрока
как сделать что бы модель игрока в мультиплеере выбиралась рандомно ?
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
Отправлено XaeroX 18-10-2007 в 14:05:
просканировать папку models, построить список моделей в ней, выбирать рандомом из списка и менять модель командой "model xxx" через CLIENT_COMMAND.
__________________
Отправлено fire64 18-10-2007 в 15:35:
ясно
тут я уже разобрался
теперь другой вопрос
как профиксить отсутствие звуков у оружия, при использовании не стандартной клиентской библиотеки ?
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
Отправлено Дядя Миша 18-10-2007 в 17:54:
fire64 сделать оружие чисто серверным 
Отправлено Тренсфер 18-10-2007 в 18:08:
Да, сделать только серверным
Для этого надо избавится отклиентских пушек и убрать евенты с сервера. Например на http://sharaw.deagle.ru/articles.htm описаны некоторые пушки без эветов на клиент.
__________________
Хотелось бы, чтобы не только хотелось...
Отправлено fire64 19-10-2007 в 11:12:
Цитата:
Тренсфер писал:
Да, сделать только серверным
Для этого надо избавится отклиентских пушек и убрать евенты с сервера. Например на http://sharaw.deagle.ru/articles.htm описаны некоторые пушки без эветов на клиент.
а нельзя по подробней объяснить как отключить эвенты ?
желательно показать как надо редактировать код, что бы я им пользовался как образцом__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
Отправлено Дядя Миша 19-10-2007 в 16:16:
fire64 читай мой тутор про XashWeaponSystem часть 2 
искать - в разделе туторы на этом форуме
Отправлено fire64 19-10-2007 в 18:48:
Цитата:
Дядя Миша писал:
fire64 читай мой тутор про XashWeaponSystem часть 2 
искать - в разделе туторы на этом форуме
прочитал, весьма интересно,
но у меня вопрос
я пользуюсь батниками а не шестой студией
как мне быть ?__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
Отправлено Тренсфер 20-10-2007 в 05:57:
Скачать студию
7м.
Могу сказать где. По этому вопросу мне в приват или в асю.
Хотя и блокнотом обойтись можно, но это мега изврат.
XashWeaponSystem отключает клиентские пушки, делает новую систему предсказания, сохраняет боди, скины и много чего ещё. Там же описано обращение с эвентами. Но вот полностью от них отказывать ся прийдётся самому, т.к для каждой пушки это индивидуалаьно, во например кусок кода лома (точнее ножа но принцип один и тот же) без эвентов
C++ Source Code:
1 | int CKnife::Swing( int fFirst ) |
9 | UTIL_MakeVectors (m_pPlayer->pev->v_angle); |
10 | Vector vecSrc = m_pPlayer->GetGunPosition( ); |
11 | Vector vecEnd = vecSrc + gpGlobals->v_forward * 32; |
13 | UTIL_TraceLine( vecSrc, vecEnd, dont_ignore_monsters, ENT( m_pPlayer->pev ), &tr ); |
16 | if ( tr.flFraction >= 1.0 ) |
18 | UTIL_TraceHull( vecSrc, vecEnd, dont_ignore_monsters, head_hull, ENT( m_pPlayer->pev ), &tr ); |
20 | if ( tr.flFraction < 1.0 ) |
22 | CBaseEntity *pHit = CBaseEntity::Instance( tr.pHit ); |
23 | if ( !pHit || pHit->IsBSPModel() ) |
24 | FindHullIntersection2( vecSrc, tr, VEC_DUCK_HULL_MIN, VEC_DUCK_HULL_MAX, m_pPlayer->edict() ); |
25 | vecEnd = tr.vecEndPos; |
30 | if ( tr.flFraction >= 1.0 ) |
36 | switch((m_iSwing++) % 3 ) |
39 | SendWeaponAnim( KNIFE_ATTACK1MISS ); break; |
41 | SendWeaponAnim( KNIFE_ATTACK2MISS ); break; |
43 | SendWeaponAnim( KNIFE_ATTACK3MISS ); break; |
45 | m_flNextPrimaryAttack = UTIL_WeaponTimeBase() + 0.5; |
48 | switch( RANDOM_LONG(0,2) ) |
51 | EMIT_SOUND(ENT(m_pPlayer->pev), CHAN_WEAPON, "weapons/knife1.wav", 1, ATTN_NORM); |
54 | EMIT_SOUND(ENT(m_pPlayer->pev), CHAN_WEAPON, "weapons/knife2.wav", 1, ATTN_NORM); |
57 | EMIT_SOUND(ENT(m_pPlayer->pev), CHAN_WEAPON, "weapons/knife3.wav", 1, ATTN_NORM); |
61 | m_pPlayer->SetAnimation( PLAYER_ATTACK1 ); |
71 | CBaseEntity *pEntity = CBaseEntity::Instance(tr.pHit); |
73 | switch( ((m_iSwing++) % 2) + 1 ) |
76 | SendWeaponAnim( KNIFE_ATTACK1HIT ); break; |
78 | SendWeaponAnim( KNIFE_ATTACK2HIT ); break; |
80 | SendWeaponAnim( KNIFE_ATTACK3HIT ); break; |
84 | m_pPlayer->SetAnimation( PLAYER_ATTACK1 ); |
88 | if ( (m_flNextPrimaryAttack + 1 < gpGlobals->time) || g_pGameRules->IsMultiplayer()) |
90 | pEntity->TraceAttack(m_pPlayer->pev, gSkillData.plrDmgCrowbar, gpGlobals->v_forward, &tr, DMG_CLUB ); |
95 | pEntity->TraceAttack(m_pPlayer->pev, gSkillData.plrDmgCrowbar / 2, gpGlobals->v_forward, &tr, DMG_CLUB ); |
97 | ApplyMultiDamage( m_pPlayer->pev, m_pPlayer->pev ); |
98 | m_flNextPrimaryAttack = UTIL_WeaponTimeBase() + 0.25; |
101 | int fHitWorld = TRUE; |
105 | if ( pEntity->Classify() != CLASS_NONE && pEntity->Classify() != CLASS_MACHINE ) |
108 | switch( RANDOM_LONG(0,1) ) |
111 | EMIT_SOUND(ENT(m_pPlayer->pev), CHAN_ITEM, "weapons/knife_hit_flesh1.wav", 1, ATTN_NORM); break; |
113 | EMIT_SOUND(ENT(m_pPlayer->pev), CHAN_ITEM, "weapons/knife_hit_flesh2.wav", 1, ATTN_NORM); break; |
115 | m_pPlayer->m_iWeaponVolume = KNIFE_BODYHIT_VOLUME; |
116 | if ( !pEntity->IsAlive() ) |
128 | float fvolbar = TEXTURETYPE_PlaySound(&tr, vecSrc, vecSrc + (vecEnd-vecSrc)*2, BULLET_PLAYER_CROWBAR); |
130 | if ( g_pGameRules->IsMultiplayer() ) |
136 | switch( RANDOM_LONG(0,1) ) |
139 | EMIT_SOUND_DYN(ENT(m_pPlayer->pev), CHAN_ITEM, "weapons/knife_hit_wall1.wav", fvolbar, ATTN_NORM, 0, 98 + RANDOM_LONG(0,3)); |
142 | EMIT_SOUND_DYN(ENT(m_pPlayer->pev), CHAN_ITEM, "weapons/knife_hit_wall2.wav", fvolbar, ATTN_NORM, 0, 98 + RANDOM_LONG(0,3)); |
149 | pev->nextthink = UTIL_WeaponTimeBase() + 0.2; |
150 | m_pPlayer->m_iWeaponVolume = flVol * KNIFE_WALLHIT_VOLUME; |
Как видно все события (анимация, звук текстуры...) происходят на сервере, и этот нож не создаёт глюк с гибсованием трупов.__________________
Хотелось бы, чтобы не только хотелось...
Отправлено fire64 20-10-2007 в 06:50:
Тренсфер ты не понял, у меня есть шестая студия, просто я компилю через батники а не через студию
студией я пользуюсь для редактирования кода
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
Отправлено Тренсфер 20-10-2007 в 06:54:
Ну так компиль с помощью студии или в ней компилы не работают? У тебя случайно не Microsoft Visual Studio .NET 200х? Им не получится.
__________________
Хотелось бы, чтобы не только хотелось...
Отправлено Дядя Миша 20-10-2007 в 07:01:
fire64 ну и чего? я тоже студию на дух не переношу, компилю батниками, а код пишу в Asm_Ed.
Студию юзаю, только когда надо заняться отладкой (и то BC есть).
Отправлено fire64 20-10-2007 в 07:06:
теперь следующий вопрос
как профиксить ошибку
Host_Error: CL_ParseServerMessage: Illegible server message - svc_bad
такая ошибка происходит когда у некоторых пользователей зашедших на мой сервер
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
Отправлено XaeroX 20-10-2007 в 07:53:
Цитата:
fire64 писал:
как профиксить ошибку
Host_Error: CL_ParseServerMessage: Illegible server message - svc_bad
Ууу, да причин может быть тысяча. Например, пустое имя модели. Да много чего.
Еще проверь, соответствуют ли версии хл у них и у тебя.__________________
Отправлено fire64 20-10-2007 в 10:57:
как профиксить застревание трупов игров, внутри стен ?
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей