HLFX.Ru Forum Страницы (2): [1] 2 »
Показать все 21 сообщений этой темы на одной странице

HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- error EV_playback 0 (https://hlfx.ru/forum/showthread.php?threadid=2388)


Отправлено KiQ 19-10-2010 в 06:48:

Post error EV_playback 0

В общем создал я нож на основе монтировки, класс задекларировал в weapons.h, основной код разместил в crowbar.cpp,также в клиенте все задекларировал.Однако при попытке ударить воздух,возникает ошибка EV_playback 0 и анимация удара не воспроизводится. Но стоит приблизится к какому либо объекту(стене, зомби, ученому, трупу), как анимация чудесным образом работает. Что это может быть, и как исправить? Лопата (монтировка) работает нормально, я в ней только модель поменял.

__________________
-Brain is dead-


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

Эвент для ножа ты прекешировал с помощью PRECACHE_EVENT?

__________________

xaerox on Vivino


Отправлено KiQ 19-10-2010 в 07:47:

эээ... Да, с помощью этого. Эвент лежит где надо, скопировал с монтировки.

__________________
-Brain is dead-


Отправлено XaeroX 19-10-2010 в 07:55:

Ну а на клиенте ты его захукал?

__________________

xaerox on Vivino


Отправлено KiQ 19-10-2010 в 08:13:

Вроде да, в каком файле, напомни пожалуйста? Кстати если эвент не прекешить а наследовать от монтировки, то тоже такая фигня(

__________________
-Brain is dead-


Отправлено Ku2zoff 19-10-2010 в 08:45:

KiQ попробуй сделать нож чисто на сервере, без эвентов.


Отправлено KiQ 19-10-2010 в 08:59:

Но если я его наследую от монтировки, то клиентская часть должна быть по любому? Или нет?

__________________
-Brain is dead-


Отправлено Ku2zoff 19-10-2010 в 10:08:

KiQ если наследуешь, то да. Но можно все анимации и звуки играть на сервере. Конечно, с эвентами для mp лучше. Но если делаешь сингл, то разницы нет.


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

KiQ покажи код вызова эвента.

__________________
My Projects: download page

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

Цитата:

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


Отправлено KiQ 19-10-2010 в 10:24:

Ku2zoff то есть сначала нужно наследовать в public метод PrimaryAttack, и затем куда нибудь в начало этого метода вписать SetWeaponAnim(CROWBAR_ATTACK1)? Все анимации берутся из enum gauss_e.

Добавлено 19-10-2010 в 14:24:

Дядя Миша я сейчас не дома

__________________
-Brain is dead-


Отправлено Ku2zoff 19-10-2010 в 11:08:

KiQ да. Только enum желательно свой забацать.


Отправлено Дядя Миша 19-10-2010 в 12:57:

KiQ ну как домой вернешься - покажи. Мы никуда не торопимся.

__________________
My Projects: download page

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

Цитата:

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


Отправлено KiQ 23-10-2010 в 17:54:

Так. Во первых хочу уточнить ошибку. EV_playback out of range 0. Во вторых, почему то когда я делаю хук эвента на клиенте (cl_dll/hl/hl_events.cpp",почему то клиент компилируется с нулевым map и отсутствием собственно dll. В процессе компиляции ошибок не возникало О_О Где еще надо декларировать название эвента,вот у меня оно EV_Knife. На всякий случай говорю, что юзаю батниковый компилятор, а не студию..// Теперь вопрос по другой теме.Я переделал модель барни для своего мода и прилепил ему дробовик вместо пистолета. Но осталось две проблемы - во первых мазлфлэш остался на месте несуществующего пистолета, во вторых я никак не могу поменять то,чем он стреляет. Я менял тип патронов в наследованом классе на PLAYER_SHOTGUN, но стреляет он все равно пистолетом 'О_о.

__________________
-Brain is dead-


Отправлено XaeroX 23-10-2010 в 17:56:

KiQ
Покажи код серверной и клиентской части ножа.

__________________

xaerox on Vivino


Отправлено KiQ 23-10-2010 в 18:00:

минутку...

Сервер

C++ Source Code:
1
LINK_ENTITY_TO_CLASS( weapon_knife, CKnife );
2
void CKnife::Spawn( ) {
3
  Precache( );
4
  m_iId = WEAPON_KNIFE;
5
  SET_MODEL(ENT(pev), "models/w_knife.mdl");
6
  m_iClip = -1;
7
  FallInit();// get ready to fall down.
8
}
9
void CKnife::Precache( void ) { 	PRECACHE_MODEL("models/v_knife.mdl"); 	PRECACHE_MODEL("models/w_knife.mdl"); 	PRECACHE_MODEL("models/p_knife.mdl");
10
PRECACHE_EVENT("events/knife.sc");
11
}
12
int CKnife::GetItemInfo(ItemInfo *p) {
13
  p->pszName = STRING(pev->classname);
14
  p->pszAmmo1 = NULL;
15
  p->iMaxAmmo1 = -1;
16
  p->pszAmmo2 = NULL;
17
  p->iMaxAmmo2 = -1;
18
  p->iMaxClip = WEAPON_NOCLIP;
19
  p->iSlot = 0; 	p->iPosition = 1;
20
  p->iId = WEAPON_KNIFE;
21
  p->iWeight = CROWBAR_WEIGHT;
22
  return 1;
23
}
24
BOOL CKnife::Deploy( ) {
25
  return DefaultDeploy( "models/v_knife.mdl", "models/p_knife.mdl", CROWBAR_DRAW, "crowbar" );
26
}


weapons.h:

C++ Source Code:
1
class CKnife : public CCrowbar {
2
public:
3
  void Spawn( void );
4
  void Precache( void );
5
  int GetItemInfo(ItemInfo *p);
6
  BOOL Deploy( void );
7
};


Клиент

C++ Source Code:
void EV_KnifeFire( struct event_args_s *args  );


C++ Source Code:
CKnife g_Knife;


C++ Source Code:
HUD_PrepEntity( &g_Knife,&player );


C++ Source Code:
case WEAPON_KNIFE: 			pWeapon = &g_Knife; 			break;


hl_events:

C++ Source Code:
void EV_KnifeFire( struct event_args_s *args );


C++ Source Code:
gEngfuncs.pfnHookEvent( "events/knife.sc",				EV_KnifeFire );



Вроде ничего не забыл. Извиняюсь за кашу в коде клиента, но там так все раскидано...

__________________
-Brain is dead-


Временная зона GMT. Текущее время 17:34. Страницы (2): [1] 2 »
Показать все 21 сообщений этой темы на одной странице

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