Ru/Acttable t: Difference between revisions

From Valve Developer Community
< Ru
Jump to navigation Jump to search
(fixed. На будущее. указывай свое авторство перевода только у себя в профиле.)
m (Setting bug notice hidetested=1 param on page where the bug might not need tested in param specified)
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{otherlang2
{{lang|Acttable t}}
|en=Acttable_t
 
}}
'''<code>acttable_t</code>''' дефайны транслируются между общими {{L|Activity|activities}} генерируя в {{L|PlayerAnimState}} объект в одном экземпляре конкретного оружия.  
'''<code>acttable_t</code>''' дефайны транслируются между общими [[Activity|activities]] генерируя в [[PlayerAnimState]] объект в одном экземпляре конкретного оружия.  
Например, <code>ACT_MP_STAND_IDLE</code> может быть отправлен как <code>ACT_DOD_STAND_AIM_RIFLE</code> для одного оружия.
Например, <code>ACT_MP_STAND_IDLE</code> может быть отправлен как <code>ACT_DOD_STAND_AIM_RIFLE</code> для одного оружия.


Если оружие не имеет ActTable, или имеет неполную таблицу, вы скорее всего увидите вашу модель оружия с "jesus pose" анимацией в некоторых случаях.
Если оружие не имеет ActTable, или имеет неполную таблицу, вы скорее всего увидите вашу модель оружия с "jesus pose" анимацией в некоторых случаях.


{{bug|<code>[[CBaseCombatWeapon]]::ActivityOverride()</code>, с выполнением в ActTable, не вызывается на базовом коде. Смотрите [[m_PlayerAnimState#Implementation]] чтобы это исправить.}}
{{bug|hidetested=1|<code>{{L|CBaseCombatWeapon}}::ActivityOverride()</code>, с выполнением в ActTable, не вызывается на базовом коде. Смотрите [[m_PlayerAnimState#Implementation]] чтобы это исправить.}}


== Реализация ==
== Реализация ==


Добавте <code>DECLARE_ACTTABLE()</code> в оба, клиент и сервер, класса. Затем, в [[shared code]]:
Добавте <code>DECLARE_ACTTABLE()</code> в оба, клиент и сервер, класса. Затем, в {{L|shared code}}:


<source lang=cpp>
<source lang=cpp>
Line 27: Line 26:
Третье значение показывает будет ли использоваться анимация или нет. {{todo|Запомните это.}}
Третье значение показывает будет ли использоваться анимация или нет. {{todo|Запомните это.}}


[[Category:Weapons programming:ru]][[Category:Structures:ru]] {{DISPLAYTITLE:acttable_t}}
{{ACategory|Weapons programming}}{{ACategory|Structures}} {{DISPLAYTITLE:acttable_t}}

Latest revision as of 07:16, 20 May 2025

English (en)Русский (ru)Translate (Translate)

acttable_t дефайны транслируются между общими activities(en) генерируя в PlayerAnimState(en) объект в одном экземпляре конкретного оружия. Например, ACT_MP_STAND_IDLE может быть отправлен как ACT_DOD_STAND_AIM_RIFLE для одного оружия.

Если оружие не имеет ActTable, или имеет неполную таблицу, вы скорее всего увидите вашу модель оружия с "jesus pose" анимацией в некоторых случаях.

Icon-Bug.pngБаг:CBaseCombatWeapon(en)::ActivityOverride(), с выполнением в ActTable, не вызывается на базовом коде. Смотрите m_PlayerAnimState#Implementation чтобы это исправить.

Реализация

Добавте DECLARE_ACTTABLE() в оба, клиент и сервер, класса. Затем, в shared code(en):

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".