![]() |
Показать все 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)
Частота вызова PrimaryAttack
Что-то не то с частотой вызова PrimaryAttack у оружия
Мне нужно уменьшить частоту вызовов, сделать 1 раз в 3 секунды.
сделал m_flNextPrimaryAttack = UTIL_WeaponTimeBase() + 30.3;
но эффекта нет
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
Один раз в три секунды - это +3, а не +30.3.
Добавлено 26-01-2010 в 22:33:
У тебя m_flNextPrimaryAttack присваивается в случае выполнения кучи условий. А должно быть независимо от того, как именно произошел выстрел. Проще говоря, в конец PrimaryAttack надо поставить.
__________________
XaeroX, все равно скорость вызова осталась кране высокой.
так, что это не сработало
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
fire64 а ты клиент перекомпиливаешь?
__________________
Заменил
code:
m_flNextPrimaryAttack = UTIL_WeaponTimeBase() + 3;
code:
m_flNextPrimaryAttack = gpGlobals->time + 3;
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, я опять делаю серверную модификацию.
Ок, сейчас проверю
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
Столкнулся с новой проблемой.
Какими параметрами должен обладать звук. что бы NPC шевелили губами при разговоре.
я использую код
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 | } |
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
fire64
Звук должен быть 8-битный.
__________________
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
fire64
C:/Windows/System32/sndrec32.exe - это самое простое, но качество будет ну ой.
Лучше взять что-то типа SoundForge.
__________________
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
fire64 а ты думал! Всю жизнь вот так мучаемся ради раскрывания ртов.
На самом деле тебя спасет качественный микрофон + хороший звуковой редактор.
__________________
Теперь еще один вопрос, как развернуть объект на 180 градусов по горизонтали, а то NPC создается спиной к игроку
С разворотом тела разобрался через
pSqueak->pev->angles.y -= 180;
Теперь вопрос, как развернуть голову NPC, а то она у нее смотрит налево. а не прямо
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
fire64
Чтобы голова смотрела прямо, надо вызвать чтото типа:
SetController(0,0);
__________________
Ок, спасибо, на данный момент проблем не осталось.
п.с.
результат в теме "Рация и джин"
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
fire64 для работы со звуком лучше использовать GoldWave. Дистрибутив маленький и многофункциональный. Но в некоторых случаях без СаундФордж не обойтись, например если хочешь зациклить звук.
З.Ы. Кстати в КС: Кондишн Зеро Удалённые Сцены некоторые звуки платформ (sound/plats) не зациклены А ведь мод-то коммерческий, гарантия качества, блин.
__________________
Ku2zoff я тебя научу. Метки зацикливания, расставленные в саунд форже работать не будут. Только метки из кулэдита - будут.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Народ, никто не знает где достать исходники AM ?
Я хочу глянуть, на код ученого с монтировкой.
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
Держи:
__________________
Base Defense on Steam, ModDB
PLut, спасибо.
Правилен ли этот код ?
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 | } |
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
fire64
А что он должен делать?
Если что-то крепить к чему-то - то неправильный. Это надо делать на клиенте, там и интерполяция, и все дела.
__________________
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'
Ну вообщем-то да.
Я хотел получить координаты костим модели объекта и назначить другому объекту те же координаты, через UTIL_SetOrigin.
Так как оба объекты статичны, я считал, что возможно реализовать это на сервере.
Дядя Миша, скорей модельный телевизор, со спрайтовым экраном.
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Да.
ИТ все же возможно ли приаттачить спрайт к неподвижному объекту только серверными методами.
__________________
Вся сила лысого кощея,
Сокрыта в башне из костей
Воздвигнутой, под небесами
На месте похорон людей
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
>>все же возможно ли приаттачить спрайт к неподвижному объекту только серверными методами
>>но я не помню как выбрать аттачмент
Да хоть и к подвижному. В своё время я цеплял динамик_лайт в паранойе к xen_plantlight.
>>В ксаше можно.
В спирите и в ксаше куча возможностей для этого, взять хотя-бы спиритовский locus_position.
Нужно получить координаты аттачмента и присвоить их вектору. Вроде-бы в коде Гаргантюа это есть (координаты рук-огнемётов, т.е. "сопла", из которых исходит огонь). Ну и обновлять в тчинке "родительской" энтити позицию спрайта, естественно.
__________________
Временная зона GMT. Текущее время 15:13. | Показать все 31 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024