HLFX.Ru Forum
профиль •  правила •  регистрация •  календарь •  народ •  FAQ •  поиск •  новое •  сутки •  главная •  выход  
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Получение кол-ва патронов на клиенте
  Предыдущая тема   Следующая тема
Автор
Тема Новая тема    Ответить
Alex_Gordon
Добрых дел мастер

Группа: Неопытный
Дата регистрации: Mar 2010
Проживает: Екатеринбург
Сообщений: 651
Возраст: 34

Рейтинг



Получение кол-ва патронов на клиенте

Помогите пожалуйста.
Пытаюсь получить кол-во патронов на клиенте. Написал для этого такую функцию:

C++ Source Code:
1
int getAmmoCount()
2
{
3
  if( gHUD.m_Ammo.m_pWeapon )
4
  {
5
    return gHUD.m_Ammo.m_pWeapon->iClip;
6
  }
7
  else
8
  {
9
    return 0;
10
  }
11
}


Но компилятро выдает ошибки:
C++ Source Code:
C:\src\cl_dll\tri.cpp(356) : error C2248: 'm_pWeapon' : cannot access private member declared in class 'CHudAmmo'
C:\src\cl_dll\hud.h(145) : see declaration of 'm_pWeapon'


Подскажите, как получить это количество?

__________________
Ха, тюремный автомобиль!!!

Ιερά λάμδα

Quisque moritur Gordon sinistram. Alex Gordon.


Сообщить модератору | | IP: Записан
Сообщение: 80171

Старое сообщение 14-07-2011 09:36
- За что?
 Дядя Миша
racing for fish

Дата регистрации: Oct 2005
Проживает: Кубань
Сообщений: 32212
Нанёс повреждений: 392 ед.

Рейтинг



Alex_Gordon в hud.h

C++ Source Code:
1
class CHudAmmo: public CHudBase
2
{
3
public:
4
  int Init( void );
5
  int VidInit( void );
6
  int Draw(float flTime);
7
  void Think(void);
8
  void Reset(void);
9
  int DrawWList(float flTime);
10
  int MsgFunc_CurWeapon(const char *pszName, int iSize, void *pbuf);
11
  int MsgFunc_WeaponList(const char *pszName, int iSize, void *pbuf);
12
  int MsgFunc_AmmoX(const char *pszName, int iSize, void *pbuf);
13
  int MsgFunc_AmmoPickup( const char *pszName, int iSize, void *pbuf );
14
  int MsgFunc_WeapPickup( const char *pszName, int iSize, void *pbuf );
15
  int MsgFunc_ItemPickup( const char *pszName, int iSize, void *pbuf );
16
  int MsgFunc_HideWeapon( const char *pszName, int iSize, void *pbuf );
17
 
18
  void SlotInput( int iSlot );
19
  void _cdecl UserCmd_Slot1( void );
20
  void _cdecl UserCmd_Slot2( void );
21
  void _cdecl UserCmd_Slot3( void );
22
  void _cdecl UserCmd_Slot4( void );
23
  void _cdecl UserCmd_Slot5( void );
24
  void _cdecl UserCmd_Slot6( void );
25
  void _cdecl UserCmd_Slot7( void );
26
  void _cdecl UserCmd_Slot8( void );
27
  void _cdecl UserCmd_Slot9( void );
28
  void _cdecl UserCmd_Slot10( void );
29
  void _cdecl UserCmd_Close( void );
30
  void _cdecl UserCmd_NextWeapon( void );
31
  void _cdecl UserCmd_PrevWeapon( void );
32
 
33
  int getAmmoCount()
34
  {
35
    if( m_pWeapon )
36
      return m_pWeapon->iClip;
37
    return 0;
38
  }
39
 
40
private:
41
  float m_fFade;
42
  RGBA  m_rgba;
43
  WEAPON *m_pWeapon;
44
  int	m_HUD_bucket0;
45
  int m_HUD_selection;
46
 
47
};

Вызывать, например так:
C++ Source Code:
gEngfuncs.Con_Printf( "cur ammo %i\n", gHUD.m_Ammo.getAmmoCount());

Правда сложно?

__________________
My Projects: download page

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

Цитата:

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

Сообщить модератору | | IP: Записан
Сообщение: 80172

Старое сообщение 14-07-2011 10:43
-
KiQ
Житель форума

Дата регистрации: Aug 2010
Проживает: Смоленск, Москва
Сообщений: 2088

Рейтинг



Хм. А если сделать m_pWeapon public?

__________________
-Brain is dead-

Сообщить модератору | | IP: Записан
Сообщение: 80232

Старое сообщение 16-07-2011 09:36
- За что?
Alex_Gordon
Добрых дел мастер

Группа: Неопытный
Дата регистрации: Mar 2010
Проживает: Екатеринбург
Сообщений: 651
Возраст: 34

Рейтинг



Дядя Миша, KiQ, буквально через 10 минут после того, как я создал тему, я разобрался. Спасибо всем.

__________________
Ха, тюремный автомобиль!!!

Ιερά λάμδα

Quisque moritur Gordon sinistram. Alex Gordon.


Сообщить модератору | | IP: Записан
Сообщение: 80233

Старое сообщение 16-07-2011 10:16
- За что?
 XaeroX
Crystice Softworks

Дата регистрации: Oct 2005
Проживает: Торонто
Сообщений: 34527
Нанёс повреждений: 514 ед.
Возраст: 37

Рейтинг



Награды
 
[1 награда]


Alex_Gordon
Надеюсь, в будущем, перед тем, как создавать тему, ты будешь выжидать как минимум 10 минут.

__________________

Сообщить модератору | | IP: Записан
Сообщение: 80234

Старое сообщение 16-07-2011 10:34
-
Тема: (Опционально)
Ваш ответ:



Переводчик транслита


[проверить длину сообщения]
Опции: Автоматическое формирование ссылок: автоматически добавлять [url] и [/url] вокруг интернет адресов.
Уведомление по E-Mail: отправить вам уведомление, если кто-то ответил в тему (только для зарегистрированных пользователей).
Отключить смайлики в сообщении: не преобразовывать текстовые смайлики в картинки.
Показать подпись: добавить вашу подпись в конец сообщения (только зарегистрированные пользователи могут иметь подписи).

Временная зона GMT. Текущее время 16:14. Новая тема    Ответить
  Предыдущая тема   Следующая тема
HLFX.Ru Forum HLFX.Ru Forum > Теория и практика > Half-Life SDK > Получение кол-ва патронов на клиенте
Версия для печати | Отправить тему по E-Mail | Подписаться на эту тему

Быстрый переход:
Оцените эту тему:

Правила Форума:
Вы not можете создавать новые темы
Вы not можете отвечать в темы
Вы not можете прикреплять вложения
Вы not можете редактировать ваши сообщения
HTML Код ВЫКЛ
vB Код ВКЛ
Смайлики ВКЛ
[IMG] Код ВКЛ
 

< Обратная связь - HLFX.ru >

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