Ru/Acttable t: Difference between revisions
< Ru
Jump to navigation
Jump to search
mNo edit summary |
m (Setting bug notice hidetested=1 param on page where the bug might not need tested in param specified) |
||
(5 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{lang|Acttable t}} | ||
| | |||
}} | '''<code>acttable_t</code>''' дефайны транслируются между общими {{L|Activity|activities}} генерируя в {{L|PlayerAnimState}} объект в одном экземпляре конкретного оружия. | ||
'''<code>acttable_t</code>''' дефайны транслируются между общими | Например, <code>ACT_MP_STAND_IDLE</code> может быть отправлен как <code>ACT_DOD_STAND_AIM_RIFLE</code> для одного оружия. | ||
Если оружие не имеет ActTable, или имеет неполную таблицу, вы скорее всего увидите вашу модель оружия с "jesus pose" анимацией в некоторых случаях. | Если оружие не имеет ActTable, или имеет неполную таблицу, вы скорее всего увидите вашу модель оружия с "jesus pose" анимацией в некоторых случаях. | ||
{{bug|<code> | {{bug|hidetested=1|<code>{{L|CBaseCombatWeapon}}::ActivityOverride()</code>, с выполнением в ActTable, не вызывается на базовом коде. Смотрите [[m_PlayerAnimState#Implementation]] чтобы это исправить.}} | ||
== Реализация == | == Реализация == | ||
Добавте <code>DECLARE_ACTTABLE()</code> в оба, клиент и сервер, класса. Затем, в | Добавте <code>DECLARE_ACTTABLE()</code> в оба, клиент и сервер, класса. Затем, в {{L|shared code}}: | ||
<source lang=cpp> | <source lang=cpp> | ||
Line 26: | Line 26: | ||
Третье значение показывает будет ли использоваться анимация или нет. {{todo|Запомните это.}} | Третье значение показывает будет ли использоваться анимация или нет. {{todo|Запомните это.}} | ||
{{ACategory|Weapons programming}}{{ACategory|Structures}} {{DISPLAYTITLE:acttable_t}} | |||
Latest revision as of 07:16, 20 May 2025
acttable_t
дефайны транслируются между общими activities генерируя в PlayerAnimState объект в одном экземпляре конкретного оружия.
Например, ACT_MP_STAND_IDLE
может быть отправлен как ACT_DOD_STAND_AIM_RIFLE
для одного оружия.
Если оружие не имеет ActTable, или имеет неполную таблицу, вы скорее всего увидите вашу модель оружия с "jesus pose" анимацией в некоторых случаях.

CBaseCombatWeapon ::ActivityOverride()
, с выполнением в ActTable, не вызывается на базовом коде. Смотрите m_PlayerAnimState#Implementation чтобы это исправить.Реализация
Добавте DECLARE_ACTTABLE()
в оба, клиент и сервер, класса. Затем, в shared code :
acttable_t CMyWeapon::m_acttable[] =
{
{ ACT_MP_STAND_IDLE, ACT_MYMOD_STAND_AIM_MYWEAPON, false },
{ ACT_MP_CROUCH_IDLE, ACT_MYMOD_CROUCH_AIM_MYWEAPON, false },
{ ACT_MP_RUN, ACT_MYMOD_RUN_MYWEAPON, false },
// и т.д.
};
IMPLEMENT_ACTTABLE( CMyWeapon );
Третье значение показывает будет ли использоваться анимация или нет.
Нужно сделать: Запомните это.
Warning: Display title "acttable_t" overrides earlier display title "Acttable t".