HLFX.Ru Forum
Показать все 31 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Частота вызова PrimaryAttack (https://hlfx.ru/forum/showthread.php?threadid=2077)


Отправлено fire64 26-01-2010 в 16:25:

Частота вызова PrimaryAttack

Что-то не то с частотой вызова PrimaryAttack у оружия
Мне нужно уменьшить частоту вызовов, сделать 1 раз в 3 секунды.

сделал m_flNextPrimaryAttack = UTIL_WeaponTimeBase() + 30.3;
но эффекта нет

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено XaeroX 26-01-2010 в 16:33:

Один раз в три секунды - это +3, а не +30.3.

Добавлено 26-01-2010 в 22:33:

У тебя m_flNextPrimaryAttack присваивается в случае выполнения кучи условий. А должно быть независимо от того, как именно произошел выстрел. Проще говоря, в конец PrimaryAttack надо поставить.

__________________

xaerox on Vivino


Отправлено fire64 26-01-2010 в 16:45:

XaeroX, все равно скорость вызова осталась кране высокой.
так, что это не сработало

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено XaeroX 26-01-2010 в 17:00:

fire64 а ты клиент перекомпиливаешь?

__________________

xaerox on Vivino


Отправлено fire64 26-01-2010 в 17:17:

Заменил

code:
m_flNextPrimaryAttack = UTIL_WeaponTimeBase() + 3;


на

code:
m_flNextPrimaryAttack = gpGlobals->time + 3;


теперь работает.

еще одна проблема, monster_mag (клон гмана), создается под наклоном и не имеет колизию, хотя у него выстановленно

pev->solid = SOLID_SLIDEBOX;

code:
TraceResult tr; UTIL_MakeVectors( m_pPlayer->pev->v_angle ); Vector trace_origin; // HACK HACK: Ugly hacks to handle change in origin based on new physics code for players // Move origin up if crouched and start trace a bit outside of body ( 20 units instead of 16 ) trace_origin = m_pPlayer->pev->origin; if ( m_pPlayer->pev->flags & FL_DUCKING ) { trace_origin = trace_origin - ( VEC_HULL_MIN - VEC_DUCK_HULL_MIN ); } // find place to toss monster UTIL_TraceLine( trace_origin + gpGlobals->v_forward * 20, trace_origin + gpGlobals->v_forward * 64, dont_ignore_monsters, NULL, &tr ); EMIT_SOUND_DYN( ENT(pev), CHAN_WEAPON, "mag/helpcall.wav", 1.0, ATTN_NORM, 0, 80 ); if ( tr.fAllSolid == 0 && tr.fStartSolid == 0 && tr.flFraction > 0.25 ) { // player "shoot" animation m_pPlayer->SetAnimation( PLAYER_ATTACK1 ); SendWeaponAnim( CMAGCOLL_USE ); CBaseEntity *pSqueak = CBaseEntity::Create( "monster_mag", tr.vecEndPos, m_pPlayer->pev->v_angle, m_pPlayer->edict() ); pSqueak->pev->velocity = gpGlobals->v_forward * 200 + m_pPlayer->pev->velocity; m_pPlayer->m_iWeaponVolume = QUIET_GUN_VOLUME; m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType]--; } }

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено XaeroX 26-01-2010 в 17:34:

Цитата:
fire64 писал:
теперь работает.

Так нельзя делать, тогда на клиенте оружие не скомпилится.
Да ты похоже вообще на клиенте его не регистрируешь.
Цитата:
fire64 писал:
и не имеет колизию, хотя у него выстановленно

А ты делал UTIL_SetSize и UTIL_SetOrigin?
Порядок должен быть такой:

SET_MODEL
UTIL_SetSize
UTIL_SetOrigin

__________________

xaerox on Vivino


Отправлено fire64 26-01-2010 в 17:40:

XaeroX, я опять делаю серверную модификацию.
Ок, сейчас проверю

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено fire64 27-01-2010 в 12:44:

Столкнулся с новой проблемой.
Какими параметрами должен обладать звук. что бы NPC шевелили губами при разговоре.

я использую код



C++ Source Code:
1
void CMag :: FollowThink( void  )
2
{
3
  pev->sequence = LookupSequence( "pondering" );
4
 
5
  EMIT_SOUND_DYN( ENT(pev), CHAN_VOICE, "mag/menyzovut.wav", 1.0, ATTN_NORM, 0, 80 );
6
}


и звук в архиве, если я использую стандартный звук, то все ок, а если свой, то звук проигрывается, но NPC не шевелит ртом.

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено XaeroX 27-01-2010 в 12:50:

fire64
Звук должен быть 8-битный.

__________________

xaerox on Vivino


Отправлено fire64 27-01-2010 в 12:53:

Цитата:
XaeroX писал:
fire64
Звук должен быть 8-битный.

хм, Audacity сохраняет только в 16 битном формате.

Не подскажешь, чем сконвертировать ?

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено XaeroX 27-01-2010 в 12:58:

fire64
C:/Windows/System32/sndrec32.exe - это самое простое, но качество будет ну ой.
Лучше взять что-то типа SoundForge.

__________________

xaerox on Vivino


Отправлено fire64 27-01-2010 в 13:03:

Цитата:
XaeroX писал:
но качество будет ну ой.

Да. качество, просто кошмар.
Очень много шума.

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено XaeroX 27-01-2010 в 13:08:

fire64 а ты думал! Всю жизнь вот так мучаемся ради раскрывания ртов.
На самом деле тебя спасет качественный микрофон + хороший звуковой редактор.

__________________

xaerox on Vivino


Отправлено fire64 27-01-2010 в 14:14:

Теперь еще один вопрос, как развернуть объект на 180 градусов по горизонтали, а то NPC создается спиной к игроку

С разворотом тела разобрался через

pSqueak->pev->angles.y -= 180;

Теперь вопрос, как развернуть голову NPC, а то она у нее смотрит налево. а не прямо

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено XaeroX 27-01-2010 в 20:26:

fire64
Чтобы голова смотрела прямо, надо вызвать чтото типа:
SetController(0,0);

__________________

xaerox on Vivino


Отправлено fire64 27-01-2010 в 21:42:

Ок, спасибо, на данный момент проблем не осталось.

п.с.
результат в теме "Рация и джин"

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено Ku2zoff 28-01-2010 в 03:36:

fire64 для работы со звуком лучше использовать GoldWave. Дистрибутив маленький и многофункциональный. Но в некоторых случаях без СаундФордж не обойтись, например если хочешь зациклить звук.
З.Ы. Кстати в КС: Кондишн Зеро Удалённые Сцены некоторые звуки платформ (sound/plats) не зациклены А ведь мод-то коммерческий, гарантия качества, блин.


Отправлено XaeroX 28-01-2010 в 07:06:

Цитата:
Ku2zoff писал:
Но в некоторых случаях без СаундФордж не обойтись, например если хочешь зациклить звук.

Честно говоря, даже не представляю, как зацикливать звуки в SoundForge. Всегда именно для этой операции имел под рукой CoolEdit.

__________________

xaerox on Vivino


Отправлено Дядя Миша 28-01-2010 в 08:08:

Ku2zoff я тебя научу. Метки зацикливания, расставленные в саунд форже работать не будут. Только метки из кулэдита - будут.

__________________
My Projects: download page

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

Цитата:

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


Отправлено fire64 29-01-2010 в 10:59:

Народ, никто не знает где достать исходники AM ?
Я хочу глянуть, на код ученого с монтировкой.

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено PLut 29-01-2010 в 15:13:

Держи:

__________________
Base Defense on Steam, ModDB


Отправлено fire64 29-01-2010 в 18:49:

PLut, спасибо.

Правилен ли этот код ?

C++ Source Code:
1
void CPropTVScreen :: Think( void )
2
{
3
 
4
  Vector origin, angles;
5
 
6
  CBaseEntity *pTV = NULL;
7
 
8
  pTV = UTIL_FindEntityByClassname( NULL, "prop_tv" );
9
 
10
  if (pTV)
11
  {
12
    GET_BONE_POSITION( ENT(pTV->pev), 0, origin, angles );
13
  }
14
}

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено XaeroX 29-01-2010 в 19:32:

fire64
А что он должен делать?
Если что-то крепить к чему-то - то неправильный. Это надо делать на клиенте, там и интерполяция, и все дела.

__________________

xaerox on Vivino


Отправлено Дядя Миша 29-01-2010 в 19:53:

fire64 ты решил создать проксю для hltv ?

__________________
My Projects: download page

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

Цитата:

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


Отправлено fire64 29-01-2010 в 19:53:

Ну вообщем-то да.
Я хотел получить координаты костим модели объекта и назначить другому объекту те же координаты, через UTIL_SetOrigin.

Так как оба объекты статичны, я считал, что возможно реализовать это на сервере.

Дядя Миша, скорей модельный телевизор, со спрайтовым экраном.

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено Ku2zoff 01-02-2010 в 06:10:

Цитата:
Дядя Миша писал:
Ku2zoff я тебя научу. Метки зацикливания, расставленные в саунд форже работать не будут. Только метки из кулэдита - будут.

когда я в саундфордже делал, у меня всё работало


Отправлено Дядя Миша 01-02-2010 в 09:29:

Цитата:
Ku2zoff писал:
когда я в саундфордже делал, у меня всё работало

Значит неправильно делал. Они не должны работать.
Поищи более старую версию саундфорджа.
Цитата:
fire64 писал:
Дядя Миша, скорей модельный телевизор, со спрайтовым экраном.

Это чтоб джин такой наколдовывал?

__________________
My Projects: download page

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

Цитата:

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


Отправлено fire64 01-02-2010 в 15:23:

Да.
ИТ все же возможно ли приаттачить спрайт к неподвижному объекту только серверными методами.

__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей


Отправлено Дядя Миша 01-02-2010 в 15:57:

Цитата:
fire64 писал:
ИТ все же возможно ли приаттачить спрайт к неподвижному объекту только серверными методами.

в ксаше - точно можно, в хл по идее можно через MOVETYPE_FOLLOW, но я не помню как выбрать аттачмент.

__________________
My Projects: download page

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

Цитата:

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


Отправлено Ku2zoff 03-02-2010 в 05:36:

>>все же возможно ли приаттачить спрайт к неподвижному объекту только серверными методами
>>но я не помню как выбрать аттачмент
Да хоть и к подвижному. В своё время я цеплял динамик_лайт в паранойе к xen_plantlight.
>>В ксаше можно.
В спирите и в ксаше куча возможностей для этого, взять хотя-бы спиритовский locus_position.

Нужно получить координаты аттачмента и присвоить их вектору. Вроде-бы в коде Гаргантюа это есть (координаты рук-огнемётов, т.е. "сопла", из которых исходит огонь). Ну и обновлять в тчинке "родительской" энтити позицию спрайта, естественно.


Отправлено XaeroX 03-02-2010 в 06:28:

Цитата:
Ku2zoff писал:
Вроде-бы в коде Гаргантюа это есть (координаты рук-огнемётов, т.е. "сопла", из которых исходит огонь). Ну и обновлять в тчинке "родительской" энтити позицию спрайта, естественно.

Там используюся аттачи, т.е. клиентская привязка, а не смена позиции через тчинк.

__________________

xaerox on Vivino


Временная зона GMT. Текущее время 15:13.
Показать все 31 сообщений этой темы на одной странице

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